class Aws::Kafka::Types::CreateClusterRequest

Creates a cluster.

@note When making an API call, you may pass CreateClusterRequest

data as a hash:

    {
      broker_node_group_info: { # required
        broker_az_distribution: "DEFAULT", # accepts DEFAULT
        client_subnets: ["__string"], # required
        instance_type: "__stringMin5Max32", # required
        security_groups: ["__string"],
        storage_info: {
          ebs_storage_info: {
            volume_size: 1,
          },
        },
      },
      client_authentication: {
        sasl: {
          scram: {
            enabled: false,
          },
          iam: {
            enabled: false,
          },
        },
        tls: {
          certificate_authority_arn_list: ["__string"],
          enabled: false,
        },
        unauthenticated: {
          enabled: false,
        },
      },
      cluster_name: "__stringMin1Max64", # required
      configuration_info: {
        arn: "__string", # required
        revision: 1, # required
      },
      encryption_info: {
        encryption_at_rest: {
          data_volume_kms_key_id: "__string", # required
        },
        encryption_in_transit: {
          client_broker: "TLS", # accepts TLS, TLS_PLAINTEXT, PLAINTEXT
          in_cluster: false,
        },
      },
      enhanced_monitoring: "DEFAULT", # accepts DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, PER_TOPIC_PER_PARTITION
      kafka_version: "__stringMin1Max128", # required
      logging_info: {
        broker_logs: { # required
          cloud_watch_logs: {
            enabled: false, # required
            log_group: "__string",
          },
          firehose: {
            delivery_stream: "__string",
            enabled: false, # required
          },
          s3: {
            bucket: "__string",
            enabled: false, # required
            prefix: "__string",
          },
        },
      },
      number_of_broker_nodes: 1, # required
      open_monitoring: {
        prometheus: { # required
          jmx_exporter: {
            enabled_in_broker: false, # required
          },
          node_exporter: {
            enabled_in_broker: false, # required
          },
        },
      },
      tags: {
        "__string" => "__string",
      },
    }

@!attribute [rw] broker_node_group_info

Information about the brokers.
@return [Types::BrokerNodeGroupInfo]

@!attribute [rw] client_authentication

Includes all client authentication related information.
@return [Types::ClientAuthentication]

@!attribute [rw] cluster_name

The name of the cluster.
@return [String]

@!attribute [rw] configuration_info

Represents the configuration that you want MSK to use for the
cluster.
@return [Types::ConfigurationInfo]

@!attribute [rw] encryption_info

Includes all encryption-related information.
@return [Types::EncryptionInfo]

@!attribute [rw] enhanced_monitoring

Specifies the level of monitoring for the MSK cluster. The possible
values are DEFAULT, PER\_BROKER, PER\_TOPIC\_PER\_BROKER, and
PER\_TOPIC\_PER\_PARTITION.
@return [String]

@!attribute [rw] kafka_version

The version of Apache Kafka.
@return [String]

@!attribute [rw] logging_info

LoggingInfo details.
@return [Types::LoggingInfo]

@!attribute [rw] number_of_broker_nodes

The number of Kafka broker nodes in the Amazon MSK cluster.
@return [Integer]

@!attribute [rw] open_monitoring

The settings for open monitoring.
@return [Types::OpenMonitoringInfo]

@!attribute [rw] tags

Create tags when creating the cluster.
@return [Hash<String,String>]

@see docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateClusterRequest AWS API Documentation

Constants

SENSITIVE