aws-cdk-lib.aws_msk.CfnClusterProps

interface CfnClusterProps

LanguageType name
.NETAmazon.CDK.AWS.MSK.CfnClusterProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsmsk#CfnClusterProps
Javasoftware.amazon.awscdk.services.msk.CfnClusterProps
Pythonaws_cdk.aws_msk.CfnClusterProps
TypeScript aws-cdk-lib » aws_msk » CfnClusterProps

Properties for defining a CfnCluster.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_msk as msk } from 'aws-cdk-lib';
const cfnClusterProps: msk.CfnClusterProps = {
  brokerNodeGroupInfo: {
    clientSubnets: ['clientSubnets'],
    instanceType: 'instanceType',

    // the properties below are optional
    brokerAzDistribution: 'brokerAzDistribution',
    connectivityInfo: {
      publicAccess: {
        type: 'type',
      },
      vpcConnectivity: {
        clientAuthentication: {
          sasl: {
            iam: {
              enabled: false,
            },
            scram: {
              enabled: false,
            },
          },
          tls: {
            enabled: false,
          },
        },
      },
    },
    securityGroups: ['securityGroups'],
    storageInfo: {
      ebsStorageInfo: {
        provisionedThroughput: {
          enabled: false,
          volumeThroughput: 123,
        },
        volumeSize: 123,
      },
    },
  },
  clusterName: 'clusterName',
  kafkaVersion: 'kafkaVersion',
  numberOfBrokerNodes: 123,

  // the properties below are optional
  clientAuthentication: {
    sasl: {
      iam: {
        enabled: false,
      },
      scram: {
        enabled: false,
      },
    },
    tls: {
      certificateAuthorityArnList: ['certificateAuthorityArnList'],
      enabled: false,
    },
    unauthenticated: {
      enabled: false,
    },
  },
  configurationInfo: {
    arn: 'arn',
    revision: 123,
  },
  currentVersion: 'currentVersion',
  encryptionInfo: {
    encryptionAtRest: {
      dataVolumeKmsKeyId: 'dataVolumeKmsKeyId',
    },
    encryptionInTransit: {
      clientBroker: 'clientBroker',
      inCluster: false,
    },
  },
  enhancedMonitoring: 'enhancedMonitoring',
  loggingInfo: {
    brokerLogs: {
      cloudWatchLogs: {
        enabled: false,

        // the properties below are optional
        logGroup: 'logGroup',
      },
      firehose: {
        enabled: false,

        // the properties below are optional
        deliveryStream: 'deliveryStream',
      },
      s3: {
        enabled: false,

        // the properties below are optional
        bucket: 'bucket',
        prefix: 'prefix',
      },
    },
  },
  openMonitoring: {
    prometheus: {
      jmxExporter: {
        enabledInBroker: false,
      },
      nodeExporter: {
        enabledInBroker: false,
      },
    },
  },
  storageMode: 'storageMode',
  tags: {
    tagsKey: 'tags',
  },
};

Properties

NameTypeDescription
brokerNodeGroupInfoIResolvable | BrokerNodeGroupInfoPropertyInformation about the broker nodes in the cluster.
clusterNamestringThe name of the cluster.
kafkaVersionstringThe version of Apache Kafka.
numberOfBrokerNodesnumberThe number of broker nodes in the cluster.
clientAuthentication?IResolvable | ClientAuthenticationPropertyIncludes all client authentication related information.
configurationInfo?IResolvable | ConfigurationInfoPropertyRepresents the configuration that you want MSK to use for the cluster.
currentVersion?stringThe version of the cluster that you want to update.
encryptionInfo?IResolvable | EncryptionInfoPropertyIncludes all encryption-related information.
enhancedMonitoring?stringSpecifies the level of monitoring for the MSK cluster.
loggingInfo?IResolvable | LoggingInfoPropertyLogging Info details.
openMonitoring?IResolvable | OpenMonitoringPropertyThe settings for open monitoring.
storageMode?stringThis controls storage mode for supported storage tiers.
tags?{ [string]: string }Create tags when creating the cluster.

brokerNodeGroupInfo

Type: IResolvable | BrokerNodeGroupInfoProperty

Information about the broker nodes in the cluster.


clusterName

Type: string

The name of the cluster.


kafkaVersion

Type: string

The version of Apache Kafka.

You can use Amazon MSK to create clusters that use Apache Kafka versions 1.1.1 and 2.2.1.


numberOfBrokerNodes

Type: number

The number of broker nodes in the cluster.


clientAuthentication?

Type: IResolvable | ClientAuthenticationProperty (optional)

Includes all client authentication related information.


configurationInfo?

Type: IResolvable | ConfigurationInfoProperty (optional)

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


currentVersion?

Type: string (optional)

The version of the cluster that you want to update.


encryptionInfo?

Type: IResolvable | EncryptionInfoProperty (optional)

Includes all encryption-related information.


enhancedMonitoring?

Type: string (optional)

Specifies the level of monitoring for the MSK cluster.

The possible values are DEFAULT , PER_BROKER , and PER_TOPIC_PER_BROKER .


loggingInfo?

Type: IResolvable | LoggingInfoProperty (optional)

Logging Info details.


openMonitoring?

Type: IResolvable | OpenMonitoringProperty (optional)

The settings for open monitoring.


storageMode?

Type: string (optional)

This controls storage mode for supported storage tiers.


tags?

Type: { [string]: string } (optional)

Create tags when creating the cluster.