Class CfnCluster
- All Implemented Interfaces:
IConstruct
,IDependable
,IInspectable
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
AWS::MSK::Cluster
.
Creates a new MSK cluster. The following Python 3.6 examples shows how you can create a cluster that's distributed over two Availability Zones. Before you run this Python script, replace the example subnet and security-group IDs with the IDs of your subnets and security group. When you create an MSK cluster, its brokers get evenly distributed over a number of Availability Zones that's equal to the number of subnets that you specify in the BrokerNodeGroupInfo
parameter. In this example, you can add a third subnet to get a cluster that's distributed over three Availability Zones.
import boto3 client = boto3.client('kafka') response = client.create_cluster( BrokerNodeGroupInfo={ 'BrokerAZDistribution': 'DEFAULT', 'ClientSubnets': [ 'subnet-012345678901fedcba', 'subnet-9876543210abcdef01' ], 'InstanceType': 'kafka.m5.large', 'SecurityGroups': [ 'sg-012345abcdef789789' ] }, ClusterName='SalesCluster', EncryptionInfo={ 'EncryptionInTransit': { 'ClientBroker': 'TLS_PLAINTEXT', 'InCluster': True } }, EnhancedMonitoring='PER_TOPIC_PER_BROKER', KafkaVersion='2.2.1', NumberOfBrokerNodes=2 ) print(response)
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import software.amazon.awscdk.services.msk.*; CfnCluster cfnCluster = CfnCluster.Builder.create(this, "MyCfnCluster") .brokerNodeGroupInfo(BrokerNodeGroupInfoProperty.builder() .clientSubnets(List.of("clientSubnets")) .instanceType("instanceType") // the properties below are optional .brokerAzDistribution("brokerAzDistribution") .connectivityInfo(ConnectivityInfoProperty.builder() .publicAccess(PublicAccessProperty.builder() .type("type") .build()) .vpcConnectivity(VpcConnectivityProperty.builder() .clientAuthentication(VpcConnectivityClientAuthenticationProperty.builder() .sasl(VpcConnectivitySaslProperty.builder() .iam(VpcConnectivityIamProperty.builder() .enabled(false) .build()) .scram(VpcConnectivityScramProperty.builder() .enabled(false) .build()) .build()) .tls(VpcConnectivityTlsProperty.builder() .enabled(false) .build()) .build()) .build()) .build()) .securityGroups(List.of("securityGroups")) .storageInfo(StorageInfoProperty.builder() .ebsStorageInfo(EBSStorageInfoProperty.builder() .provisionedThroughput(ProvisionedThroughputProperty.builder() .enabled(false) .volumeThroughput(123) .build()) .volumeSize(123) .build()) .build()) .build()) .clusterName("clusterName") .kafkaVersion("kafkaVersion") .numberOfBrokerNodes(123) // the properties below are optional .clientAuthentication(ClientAuthenticationProperty.builder() .sasl(SaslProperty.builder() .iam(IamProperty.builder() .enabled(false) .build()) .scram(ScramProperty.builder() .enabled(false) .build()) .build()) .tls(TlsProperty.builder() .certificateAuthorityArnList(List.of("certificateAuthorityArnList")) .enabled(false) .build()) .unauthenticated(UnauthenticatedProperty.builder() .enabled(false) .build()) .build()) .configurationInfo(ConfigurationInfoProperty.builder() .arn("arn") .revision(123) .build()) .currentVersion("currentVersion") .encryptionInfo(EncryptionInfoProperty.builder() .encryptionAtRest(EncryptionAtRestProperty.builder() .dataVolumeKmsKeyId("dataVolumeKmsKeyId") .build()) .encryptionInTransit(EncryptionInTransitProperty.builder() .clientBroker("clientBroker") .inCluster(false) .build()) .build()) .enhancedMonitoring("enhancedMonitoring") .loggingInfo(LoggingInfoProperty.builder() .brokerLogs(BrokerLogsProperty.builder() .cloudWatchLogs(CloudWatchLogsProperty.builder() .enabled(false) // the properties below are optional .logGroup("logGroup") .build()) .firehose(FirehoseProperty.builder() .enabled(false) // the properties below are optional .deliveryStream("deliveryStream") .build()) .s3(S3Property.builder() .enabled(false) // the properties below are optional .bucket("bucket") .prefix("prefix") .build()) .build()) .build()) .openMonitoring(OpenMonitoringProperty.builder() .prometheus(PrometheusProperty.builder() .jmxExporter(JmxExporterProperty.builder() .enabledInBroker(false) .build()) .nodeExporter(NodeExporterProperty.builder() .enabledInBroker(false) .build()) .build()) .build()) .storageMode("storageMode") .tags(Map.of( "tagsKey", "tags")) .build();
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
The broker logs configuration for this MSK cluster.static interface
Describes the setup to be used for the broker nodes in the cluster.static final class
A fluent builder forCfnCluster
.static interface
Includes all client authentication information.static interface
Details of the CloudWatch Logs destination for broker logs.static interface
Specifies the configuration to use for the brokers.static interface
Broker access controls.static interface
Contains information about the EBS storage volumes attached to the broker nodes.static interface
The data-volume encryption details.static interface
Includes encryption-related information, such as the Amazon KMS key used for encrypting data at rest and whether you want MSK to encrypt your data in transit.static interface
The settings for encrypting data in transit.static interface
Firehose details for BrokerLogs.static interface
Details for SASL/IAM client authentication.static interface
Indicates whether you want to enable or disable the JMX Exporter.static interface
You can configure your MSK cluster to send broker logs to different destination types.static interface
Indicates whether you want to enable or disable the Node Exporter.static interface
JMX and Node monitoring for the MSK cluster.static interface
Prometheus settings for open monitoring.static interface
Contains information about provisioned throughput for EBS storage volumes attached to kafka broker nodes.static interface
Broker access controls.static interface
The details of the Amazon S3 destination for broker logs.static interface
Details for client authentication using SASL.static interface
Details for SASL/SCRAM client authentication.static interface
Contains information about storage volumes attached to Amazon MSK broker nodes.static interface
Details for client authentication using TLS.static interface
Details for allowing no client authentication.static interface
Includes all client authentication information for VpcConnectivity.static interface
Details for SASL/IAM client authentication for VpcConnectivity.static interface
VPC connection control settings for brokers.static interface
Details for client authentication using SASL for VpcConnectivity.static interface
Details for SASL/SCRAM client authentication for vpcConnectivity.static interface
Details for client authentication using TLS for vpcConnectivity.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The CloudFormation resource type name for this resource class. -
Constructor Summary
ModifierConstructorDescriptionCfnCluster
(Construct scope, String id, CfnClusterProps props) Create a newAWS::MSK::Cluster
.protected
CfnCluster
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
CfnCluster
(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionInformation about the broker nodes in the cluster.Includes all client authentication related information.The name of the cluster.Represents the configuration that you want MSK to use for the cluster.The version of the cluster that you want to update.Includes all encryption-related information.Specifies the level of monitoring for the MSK cluster.The version of Apache Kafka.Logging Info details.The number of broker nodes in the cluster.The settings for open monitoring.This controls storage mode for supported storage tiers.getTags()
Create tags when creating the cluster.void
inspect
(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties
(Map<String, Object> props) void
Information about the broker nodes in the cluster.void
Information about the broker nodes in the cluster.void
Includes all client authentication related information.void
Includes all client authentication related information.void
setClusterName
(String value) The name of the cluster.void
setConfigurationInfo
(IResolvable value) Represents the configuration that you want MSK to use for the cluster.void
Represents the configuration that you want MSK to use for the cluster.void
setCurrentVersion
(String value) The version of the cluster that you want to update.void
setEncryptionInfo
(IResolvable value) Includes all encryption-related information.void
Includes all encryption-related information.void
setEnhancedMonitoring
(String value) Specifies the level of monitoring for the MSK cluster.void
setKafkaVersion
(String value) The version of Apache Kafka.void
setLoggingInfo
(IResolvable value) Logging Info details.void
Logging Info details.void
setNumberOfBrokerNodes
(Number value) The number of broker nodes in the cluster.void
setOpenMonitoring
(IResolvable value) The settings for open monitoring.void
The settings for open monitoring.void
setStorageMode
(String value) This controls storage mode for supported storage tiers.Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validateProperties
Methods inherited from class software.amazon.awscdk.core.CfnRefElement
getRef
Methods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnCluster
protected CfnCluster(software.amazon.jsii.JsiiObjectRef objRef) -
CfnCluster
protected CfnCluster(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnCluster
@Stability(Stable) public CfnCluster(@NotNull Construct scope, @NotNull String id, @NotNull CfnClusterProps props) Create a newAWS::MSK::Cluster
.- Parameters:
scope
-- scope in which this resource is defined.
id
-- scoped id of the resource.
props
-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspect
in interfaceIInspectable
- Parameters:
inspector
-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderProperties
in classCfnResource
- Parameters:
props
- This parameter is required.
-
getAttrArn
-
getCfnProperties
- Overrides:
getCfnProperties
in classCfnResource
-
getTags
Create tags when creating the cluster. -
getBrokerNodeGroupInfo
Information about the broker nodes in the cluster. -
setBrokerNodeGroupInfo
@Stability(Stable) public void setBrokerNodeGroupInfo(@NotNull CfnCluster.BrokerNodeGroupInfoProperty value) Information about the broker nodes in the cluster. -
setBrokerNodeGroupInfo
Information about the broker nodes in the cluster. -
getClusterName
The name of the cluster. -
setClusterName
The name of the cluster. -
getKafkaVersion
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.
-
setKafkaVersion
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.
-
getNumberOfBrokerNodes
The number of broker nodes in the cluster. -
setNumberOfBrokerNodes
The number of broker nodes in the cluster. -
getClientAuthentication
Includes all client authentication related information. -
setClientAuthentication
Includes all client authentication related information. -
setClientAuthentication
@Stability(Stable) public void setClientAuthentication(@Nullable CfnCluster.ClientAuthenticationProperty value) Includes all client authentication related information. -
getConfigurationInfo
Represents the configuration that you want MSK to use for the cluster. -
setConfigurationInfo
Represents the configuration that you want MSK to use for the cluster. -
setConfigurationInfo
@Stability(Stable) public void setConfigurationInfo(@Nullable CfnCluster.ConfigurationInfoProperty value) Represents the configuration that you want MSK to use for the cluster. -
getCurrentVersion
The version of the cluster that you want to update. -
setCurrentVersion
The version of the cluster that you want to update. -
getEncryptionInfo
Includes all encryption-related information. -
setEncryptionInfo
Includes all encryption-related information. -
setEncryptionInfo
Includes all encryption-related information. -
getEnhancedMonitoring
Specifies the level of monitoring for the MSK cluster.The possible values are
DEFAULT
,PER_BROKER
, andPER_TOPIC_PER_BROKER
. -
setEnhancedMonitoring
Specifies the level of monitoring for the MSK cluster.The possible values are
DEFAULT
,PER_BROKER
, andPER_TOPIC_PER_BROKER
. -
getLoggingInfo
Logging Info details. -
setLoggingInfo
Logging Info details. -
setLoggingInfo
Logging Info details. -
getOpenMonitoring
The settings for open monitoring. -
setOpenMonitoring
The settings for open monitoring. -
setOpenMonitoring
The settings for open monitoring. -
getStorageMode
This controls storage mode for supported storage tiers. -
setStorageMode
This controls storage mode for supported storage tiers.
-