The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::Kafka::CreateCluster - Arguments for method CreateCluster on Paws::Kafka

DESCRIPTION

This class represents the parameters used for calling the method CreateCluster on the Managed Streaming for Kafka service. Use the attributes of this class as arguments to method CreateCluster.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateCluster.

SYNOPSIS

my $kafka = Paws->service('Kafka');
my $CreateClusterResponse = $kafka->CreateCluster(
  BrokerNodeGroupInfo => {
    ClientSubnets        => [ 'My__string', ... ],
    InstanceType         => 'My__stringMin5Max32',    # min: 5, max: 32
    BrokerAZDistribution => 'DEFAULT',    # values: DEFAULT; OPTIONAL
    SecurityGroups       => [ 'My__string', ... ],
    StorageInfo          => {
      EbsStorageInfo => {
        VolumeSize => 1,                  # min: 1, max: 16384; OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
  },
  ClusterName          => 'My__stringMin1Max64',
  KafkaVersion         => 'My__stringMin1Max128',
  NumberOfBrokerNodes  => 1,
  ClientAuthentication => {
    Sasl => {
      Iam => {
        Enabled => 1,    # OPTIONAL
      },    # OPTIONAL
      Scram => {
        Enabled => 1,    # OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
    Tls => { CertificateAuthorityArnList => [ 'My__string', ... ], }
    ,     # OPTIONAL
  },    # OPTIONAL
  ConfigurationInfo => {
    Arn      => 'My__string',
    Revision => 1,

  },    # OPTIONAL
  EncryptionInfo => {
    EncryptionAtRest => {
      DataVolumeKMSKeyId => 'My__string',

    },    # OPTIONAL
    EncryptionInTransit => {
      ClientBroker =>
        'TLS',    # values: TLS, TLS_PLAINTEXT, PLAINTEXT; OPTIONAL
      InCluster => 1,    # OPTIONAL
    },    # OPTIONAL
  },    # OPTIONAL
  EnhancedMonitoring => 'DEFAULT',    # OPTIONAL
  LoggingInfo        => {
    BrokerLogs => {
      CloudWatchLogs => {
        Enabled  => 1,              # OPTIONAL
        LogGroup => 'My__string',
      },    # OPTIONAL
      Firehose => {
        Enabled        => 1,              # OPTIONAL
        DeliveryStream => 'My__string',
      },    # OPTIONAL
      S3 => {
        Enabled => 1,              # OPTIONAL
        Bucket  => 'My__string',
        Prefix  => 'My__string',
      },    # OPTIONAL
    },

  },    # OPTIONAL
  OpenMonitoring => {
    Prometheus => {
      JmxExporter => {
        EnabledInBroker => 1,    # OPTIONAL

      },    # OPTIONAL
      NodeExporter => {
        EnabledInBroker => 1,    # OPTIONAL

      },    # OPTIONAL
    },

  },    # OPTIONAL
  Tags => { 'My__string' => 'My__string', },    # OPTIONAL
);

# Results:
my $ClusterArn  = $CreateClusterResponse->ClusterArn;
my $ClusterName = $CreateClusterResponse->ClusterName;
my $State       = $CreateClusterResponse->State;

# Returns a L<Paws::Kafka::CreateClusterResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/kafka/CreateCluster

ATTRIBUTES

REQUIRED BrokerNodeGroupInfo => Paws::Kafka::BrokerNodeGroupInfo

Information about the broker nodes in the cluster.

ClientAuthentication => Paws::Kafka::ClientAuthentication

Includes all client authentication related information.

REQUIRED ClusterName => Str

The name of the cluster.

ConfigurationInfo => Paws::Kafka::ConfigurationInfo

Represents the configuration that you want MSK to use for the brokers in a cluster.

EncryptionInfo => Paws::Kafka::EncryptionInfo

Includes all encryption-related information.

EnhancedMonitoring => Str

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.

Valid values are: "DEFAULT", "PER_BROKER", "PER_TOPIC_PER_BROKER", "PER_TOPIC_PER_PARTITION"

REQUIRED KafkaVersion => Str

The version of Apache Kafka.

LoggingInfo => Paws::Kafka::LoggingInfo

REQUIRED NumberOfBrokerNodes => Int

The number of broker nodes in the cluster.

OpenMonitoring => Paws::Kafka::OpenMonitoringInfo

The settings for open monitoring.

Tags => Paws::Kafka::__mapOf__string

Create tags when creating the cluster.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateCluster in Paws::Kafka

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues