// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package kafka

// Client-broker encryption in transit setting.
type Broker string

// Enum values for Broker
const (
	BrokerTls          Broker = "TLS"
	BrokerTlsPlaintext Broker = "TLS_PLAINTEXT"
	BrokerPlaintext    Broker = "PLAINTEXT"
)

func (enum Broker) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum Broker) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

// The distribution of broker nodes across Availability Zones. By default, broker
// nodes are distributed among the Availability Zones of your Region. Currently,
// the only supported value is DEFAULT. You can either specify this value explicitly
// or leave it out.
type BrokerAZDistribution string

// Enum values for BrokerAZDistribution
const (
	BrokerAZDistributionDefault BrokerAZDistribution = "DEFAULT"
)

func (enum BrokerAZDistribution) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum BrokerAZDistribution) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

// The state of a Kafka cluster.
type ClusterState string

// Enum values for ClusterState
const (
	ClusterStateActive   ClusterState = "ACTIVE"
	ClusterStateCreating ClusterState = "CREATING"
	ClusterStateUpdating ClusterState = "UPDATING"
	ClusterStateDeleting ClusterState = "DELETING"
	ClusterStateFailed   ClusterState = "FAILED"
)

func (enum ClusterState) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum ClusterState) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

// Specifies which metrics are gathered for the MSK cluster. This property has
// three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For
// a list of the metrics associated with each of these three levels of monitoring,
// see Monitoring (https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html).
type EnhancedMonitoring string

// Enum values for EnhancedMonitoring
const (
	EnhancedMonitoringDefault           EnhancedMonitoring = "DEFAULT"
	EnhancedMonitoringPerBroker         EnhancedMonitoring = "PER_BROKER"
	EnhancedMonitoringPerTopicPerBroker EnhancedMonitoring = "PER_TOPIC_PER_BROKER"
)

func (enum EnhancedMonitoring) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum EnhancedMonitoring) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

// The broker or Zookeeper node.
type NodeType string

// Enum values for NodeType
const (
	NodeTypeBroker NodeType = "BROKER"
)

func (enum NodeType) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum NodeType) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}
