CfnCluster¶
-
class
aws_cdk.aws_msk.
CfnCluster
(scope, id, *, broker_node_group_info, cluster_name, kafka_version, number_of_broker_nodes, client_authentication=None, configuration_info=None, current_version=None, encryption_info=None, enhanced_monitoring=None, logging_info=None, open_monitoring=None, tags=None)¶ Bases:
aws_cdk.core.CfnResource
A CloudFormation
AWS::MSK::Cluster
.The
AWS::MSK::Cluster
resource creates an Amazon MSK cluster . For more information, see What Is Amazon MSK? in the Amazon MSK Developer Guide .- CloudformationResource
AWS::MSK::Cluster
- Link
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk cfn_cluster = msk.CfnCluster(self, "MyCfnCluster", broker_node_group_info=msk.CfnCluster.BrokerNodeGroupInfoProperty( client_subnets=["clientSubnets"], instance_type="instanceType", # the properties below are optional broker_az_distribution="brokerAzDistribution", connectivity_info=msk.CfnCluster.ConnectivityInfoProperty( public_access=msk.CfnCluster.PublicAccessProperty( type="type" ) ), security_groups=["securityGroups"], storage_info=msk.CfnCluster.StorageInfoProperty( ebs_storage_info=msk.CfnCluster.EBSStorageInfoProperty( provisioned_throughput=msk.CfnCluster.ProvisionedThroughputProperty( enabled=False, volume_throughput=123 ), volume_size=123 ) ) ), cluster_name="clusterName", kafka_version="kafkaVersion", number_of_broker_nodes=123, # the properties below are optional client_authentication=msk.CfnCluster.ClientAuthenticationProperty( sasl=msk.CfnCluster.SaslProperty( iam=msk.CfnCluster.IamProperty( enabled=False ), scram=msk.CfnCluster.ScramProperty( enabled=False ) ), tls=msk.CfnCluster.TlsProperty( certificate_authority_arn_list=["certificateAuthorityArnList"], enabled=False ), unauthenticated=msk.CfnCluster.UnauthenticatedProperty( enabled=False ) ), configuration_info=msk.CfnCluster.ConfigurationInfoProperty( arn="arn", revision=123 ), current_version="currentVersion", encryption_info=msk.CfnCluster.EncryptionInfoProperty( encryption_at_rest=msk.CfnCluster.EncryptionAtRestProperty( data_volume_kms_key_id="dataVolumeKmsKeyId" ), encryption_in_transit=msk.CfnCluster.EncryptionInTransitProperty( client_broker="clientBroker", in_cluster=False ) ), enhanced_monitoring="enhancedMonitoring", logging_info=msk.CfnCluster.LoggingInfoProperty( broker_logs=msk.CfnCluster.BrokerLogsProperty( cloud_watch_logs=msk.CfnCluster.CloudWatchLogsProperty( enabled=False, # the properties below are optional log_group="logGroup" ), firehose=msk.CfnCluster.FirehoseProperty( enabled=False, # the properties below are optional delivery_stream="deliveryStream" ), s3=msk.CfnCluster.S3Property( enabled=False, # the properties below are optional bucket="bucket", prefix="prefix" ) ) ), open_monitoring=msk.CfnCluster.OpenMonitoringProperty( prometheus=msk.CfnCluster.PrometheusProperty( jmx_exporter=msk.CfnCluster.JmxExporterProperty( enabled_in_broker=False ), node_exporter=msk.CfnCluster.NodeExporterProperty( enabled_in_broker=False ) ) ), tags={ "tags_key": "tags" } )
Create a new
AWS::MSK::Cluster
.- Parameters
scope (
Construct
) –scope in which this resource is defined.
id (
str
) –scoped id of the resource.
broker_node_group_info (
Union
[BrokerNodeGroupInfoProperty
,Dict
[str
,Any
],IResolvable
]) – The setup to be used for brokers in the cluster. AWS CloudFormation may replace the cluster when you update certainBrokerNodeGroupInfo
properties. To understand the update behavior for your use case, you should review the child properties for`BrokerNodeGroupInfo
<https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#aws-properties-msk-cluster-brokernodegroupinfo-properties>`_ .cluster_name (
str
) – The name of the cluster.kafka_version (
str
) – The version of Apache Kafka. For more information, see Supported Apache Kafka versions in the Amazon MSK Developer Guide.number_of_broker_nodes (
Union
[int
,float
]) – The number of broker nodes you want in the Amazon MSK cluster. You can submit an update to increase the number of broker nodes in a cluster.client_authentication (
Union
[IResolvable
,ClientAuthenticationProperty
,Dict
[str
,Any
],None
]) – Includes information related to client authentication.configuration_info (
Union
[IResolvable
,ConfigurationInfoProperty
,Dict
[str
,Any
],None
]) – The Amazon MSK configuration to use for the cluster.current_version (
Optional
[str
]) – The version of the cluster that you want to update.encryption_info (
Union
[IResolvable
,EncryptionInfoProperty
,Dict
[str
,Any
],None
]) – Includes all encryption-related information.enhanced_monitoring (
Optional
[str
]) – Specifies the level of monitoring for the MSK cluster. The possible values areDEFAULT
,PER_BROKER
, andPER_TOPIC_PER_BROKER
.logging_info (
Union
[IResolvable
,LoggingInfoProperty
,Dict
[str
,Any
],None
]) – You can configure your Amazon MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.open_monitoring (
Union
[IResolvable
,OpenMonitoringProperty
,Dict
[str
,Any
],None
]) – The settings for open monitoring.tags (
Optional
[Mapping
[str
,str
]]) – A map of key:value pairs to apply to this resource. Both key and value are of type String.
Methods
-
add_deletion_override
(path)¶ Syntactic sugar for
addOverride(path, undefined)
.- Parameters
path (
str
) – The path of the value to delete.- Return type
None
-
add_depends_on
(target)¶ Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
- Parameters
target (
CfnResource
) –- Return type
None
-
add_metadata
(key, value)¶ Add a value to the CloudFormation Resource Metadata.
- Parameters
key (
str
) –value (
Any
) –
- See
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- Return type
None
-
add_override
(path, value)¶ Adds an override to the synthesized CloudFormation resource.
To add a property override, either use
addPropertyOverride
or prefixpath
with “Properties.” (i.e.Properties.TopicName
).If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
To include a literal
.
in the property name, prefix with a\
. In most programming languages you will need to write this as"\\."
because the\
itself will need to be escaped.For example:
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"]) cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")
would add the overrides Example:
"Properties": { "GlobalSecondaryIndexes": [ { "Projection": { "NonKeyAttributes": [ "myattribute" ] ... } ... }, { "ProjectionType": "INCLUDE" ... }, ] ... }
The
value
argument toaddOverride
will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.- Parameters
path (
str
) –The path of the property, you can use dot notation to override values in complex types. Any intermdediate keys will be created as needed.
value (
Any
) –The value. Could be primitive or complex.
- Return type
None
-
add_property_deletion_override
(property_path)¶ Adds an override that deletes the value of a property from the resource definition.
- Parameters
property_path (
str
) – The path to the property.- Return type
None
-
add_property_override
(property_path, value)¶ Adds an override to a resource property.
Syntactic sugar for
addOverride("Properties.<...>", value)
.- Parameters
property_path (
str
) – The path of the property.value (
Any
) – The value.
- Return type
None
-
apply_removal_policy
(policy=None, *, apply_to_update_replace_policy=None, default=None)¶ Sets the deletion policy of the resource based on the removal policy specified.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
).- Parameters
policy (
Optional
[RemovalPolicy
]) –apply_to_update_replace_policy (
Optional
[bool
]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: truedefault (
Optional
[RemovalPolicy
]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resoure, please consult that specific resource’s documentation.
- Return type
None
-
get_att
(attribute_name)¶ Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g.
resource.arn
), but this can be used for future compatibility in case there is no generated attribute.- Parameters
attribute_name (
str
) – The name of the attribute.- Return type
-
get_metadata
(key)¶ Retrieve a value value from the CloudFormation Resource Metadata.
- Parameters
key (
str
) –- See
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- Return type
Any
-
inspect
(inspector)¶ Examines the CloudFormation resource and discloses attributes.
- Parameters
inspector (
TreeInspector
) –tree inspector to collect and process attributes.
- Return type
None
-
override_logical_id
(new_logical_id)¶ Overrides the auto-generated logical ID with a specific ID.
- Parameters
new_logical_id (
str
) – The new logical ID to use for this stack element.- Return type
None
-
to_string
()¶ Returns a string representation of this construct.
- Return type
str
- Returns
a string representation of this resource
Attributes
-
CFN_RESOURCE_TYPE_NAME
= 'AWS::MSK::Cluster'¶
-
attr_arn
¶ Arn
- Type
cloudformationAttribute
- Return type
str
-
broker_node_group_info
¶ The setup to be used for brokers in the cluster.
AWS CloudFormation may replace the cluster when you update certain
BrokerNodeGroupInfo
properties. To understand the update behavior for your use case, you should review the child properties for`BrokerNodeGroupInfo
<https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#aws-properties-msk-cluster-brokernodegroupinfo-properties>`_ .
-
cfn_options
¶ Options for this resource, such as condition, update policy etc.
- Return type
-
cfn_resource_type
¶ AWS resource type.
- Return type
str
-
client_authentication
¶ Includes information related to client authentication.
-
cluster_name
¶ The name of the cluster.
-
configuration_info
¶ The Amazon MSK configuration to use for the cluster.
-
creation_stack
¶ return:
the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.
- Return type
List
[str
]
-
current_version
¶ The version of the cluster that you want to update.
- Link
- Return type
Optional
[str
]
-
encryption_info
¶ Includes all encryption-related information.
-
enhanced_monitoring
¶ Specifies the level of monitoring for the MSK cluster.
The possible values are
DEFAULT
,PER_BROKER
, andPER_TOPIC_PER_BROKER
.
-
kafka_version
¶ The version of Apache Kafka.
For more information, see Supported Apache Kafka versions in the Amazon MSK Developer Guide.
-
logging_info
¶ You can configure your Amazon MSK cluster to send broker logs to different destination types.
This is a container for the configuration details related to broker logs.
-
logical_id
¶ The logical ID for this CloudFormation stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use
overrideLogicalId(newLogicalId)
.- Return type
str
- Returns
the logical ID as a stringified token. This value will only get resolved during synthesis.
-
node
¶ The construct tree node associated with this construct.
- Return type
-
number_of_broker_nodes
¶ The number of broker nodes you want in the Amazon MSK cluster.
You can submit an update to increase the number of broker nodes in a cluster.
- Link
- Return type
Union
[int
,float
]
-
open_monitoring
¶ The settings for open monitoring.
-
ref
¶ Return a string that will be resolved to a CloudFormation
{ Ref }
for this element.If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through
Lazy.any({ produce: resource.ref })
.- Return type
str
-
stack
¶ The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
- Return type
value pairs to apply to this resource.
Both key and value are of type String.
- Link
- Type
A map of key
- Return type
Static Methods
-
classmethod
is_cfn_element
(x)¶ Returns
true
if a construct is a stack element (i.e. part of the synthesized cloudformation template).Uses duck-typing instead of
instanceof
to allow stack elements from different versions of this library to be included in the same stack.- Parameters
x (
Any
) –- Return type
bool
- Returns
The construct as a stack element or undefined if it is not a stack element.
-
classmethod
is_cfn_resource
(construct)¶ Check whether the given construct is a CfnResource.
- Parameters
construct (
IConstruct
) –- Return type
bool
-
classmethod
is_construct
(x)¶ Return whether the given object is a Construct.
- Parameters
x (
Any
) –- Return type
bool
BrokerLogsProperty¶
-
class
CfnCluster.
BrokerLogsProperty
(*, cloud_watch_logs=None, firehose=None, s3=None)¶ Bases:
object
You can configure your Amazon MSK cluster to send broker logs to different destination types.
This configuration specifies the details of these destinations.
- Parameters
cloud_watch_logs (
Union
[IResolvable
,CloudWatchLogsProperty
,Dict
[str
,Any
],None
]) – Details of the CloudWatch Logs destination for broker logs.firehose (
Union
[IResolvable
,FirehoseProperty
,Dict
[str
,Any
],None
]) – Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.s3 (
Union
[IResolvable
,S3Property
,Dict
[str
,Any
],None
]) – Details of the Amazon MSK destination for broker logs.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk broker_logs_property = msk.CfnCluster.BrokerLogsProperty( cloud_watch_logs=msk.CfnCluster.CloudWatchLogsProperty( enabled=False, # the properties below are optional log_group="logGroup" ), firehose=msk.CfnCluster.FirehoseProperty( enabled=False, # the properties below are optional delivery_stream="deliveryStream" ), s3=msk.CfnCluster.S3Property( enabled=False, # the properties below are optional bucket="bucket", prefix="prefix" ) )
Attributes
-
cloud_watch_logs
¶ Details of the CloudWatch Logs destination for broker logs.
-
firehose
¶ Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.
-
s3
¶ Details of the Amazon MSK destination for broker logs.
BrokerNodeGroupInfoProperty¶
-
class
CfnCluster.
BrokerNodeGroupInfoProperty
(*, client_subnets, instance_type, broker_az_distribution=None, connectivity_info=None, security_groups=None, storage_info=None)¶ Bases:
object
The setup to be used for brokers in the cluster.
- Parameters
client_subnets (
Sequence
[str
]) – The list of subnets to connect to in the client virtual private cloud (VPC). Amazon creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Specify exactly two subnets if you are using the US West (N. California) Region. For other Regions where Amazon MSK is available, you can specify either two or three subnets. The subnets that you specify must be in distinct Availability Zones. When you create a cluster, Amazon MSK distributes the broker nodes evenly across the subnets that you specify. Client subnets can’t occupy the Availability Zone with IDuse1-az3
.instance_type (
str
) – The type of Amazon EC2 instances to use for brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, and kafka.m5.24xlarge.broker_az_distribution (
Optional
[str
]) – This parameter is currently not in use.connectivity_info (
Union
[IResolvable
,ConnectivityInfoProperty
,Dict
[str
,Any
],None
]) – Information about the cluster’s connectivity setting.security_groups (
Optional
[Sequence
[str
]]) – The security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don’t specify a security group, Amazon MSK uses the default security group associated with the VPC. If you specify security groups that were shared with you, you must ensure that you have permissions to them. Specifically, you need theec2:DescribeSecurityGroups
permission.storage_info (
Union
[IResolvable
,StorageInfoProperty
,Dict
[str
,Any
],None
]) – Contains information about storage volumes attached to MSK broker nodes.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk broker_node_group_info_property = msk.CfnCluster.BrokerNodeGroupInfoProperty( client_subnets=["clientSubnets"], instance_type="instanceType", # the properties below are optional broker_az_distribution="brokerAzDistribution", connectivity_info=msk.CfnCluster.ConnectivityInfoProperty( public_access=msk.CfnCluster.PublicAccessProperty( type="type" ) ), security_groups=["securityGroups"], storage_info=msk.CfnCluster.StorageInfoProperty( ebs_storage_info=msk.CfnCluster.EBSStorageInfoProperty( provisioned_throughput=msk.CfnCluster.ProvisionedThroughputProperty( enabled=False, volume_throughput=123 ), volume_size=123 ) ) )
Attributes
-
broker_az_distribution
¶ This parameter is currently not in use.
-
client_subnets
¶ The list of subnets to connect to in the client virtual private cloud (VPC).
Amazon creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data.
Specify exactly two subnets if you are using the US West (N. California) Region. For other Regions where Amazon MSK is available, you can specify either two or three subnets. The subnets that you specify must be in distinct Availability Zones. When you create a cluster, Amazon MSK distributes the broker nodes evenly across the subnets that you specify.
Client subnets can’t occupy the Availability Zone with ID
use1-az3
.
-
connectivity_info
¶ Information about the cluster’s connectivity setting.
-
instance_type
¶ The type of Amazon EC2 instances to use for brokers.
The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, and kafka.m5.24xlarge.
-
security_groups
¶ The security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster.
If you don’t specify a security group, Amazon MSK uses the default security group associated with the VPC. If you specify security groups that were shared with you, you must ensure that you have permissions to them. Specifically, you need the
ec2:DescribeSecurityGroups
permission.
-
storage_info
¶ Contains information about storage volumes attached to MSK broker nodes.
ClientAuthenticationProperty¶
-
class
CfnCluster.
ClientAuthenticationProperty
(*, sasl=None, tls=None, unauthenticated=None)¶ Bases:
object
Includes information related to client authentication.
- Parameters
sasl (
Union
[IResolvable
,SaslProperty
,Dict
[str
,Any
],None
]) – Details for ClientAuthentication using SASL.tls (
Union
[IResolvable
,TlsProperty
,Dict
[str
,Any
],None
]) – Details for client authentication using TLS.unauthenticated (
Union
[IResolvable
,UnauthenticatedProperty
,Dict
[str
,Any
],None
]) – Details for ClientAuthentication using no authentication.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk client_authentication_property = msk.CfnCluster.ClientAuthenticationProperty( sasl=msk.CfnCluster.SaslProperty( iam=msk.CfnCluster.IamProperty( enabled=False ), scram=msk.CfnCluster.ScramProperty( enabled=False ) ), tls=msk.CfnCluster.TlsProperty( certificate_authority_arn_list=["certificateAuthorityArnList"], enabled=False ), unauthenticated=msk.CfnCluster.UnauthenticatedProperty( enabled=False ) )
Attributes
-
sasl
¶ Details for ClientAuthentication using SASL.
-
tls
¶ Details for client authentication using TLS.
-
unauthenticated
¶ Details for ClientAuthentication using no authentication.
CloudWatchLogsProperty¶
-
class
CfnCluster.
CloudWatchLogsProperty
(*, enabled, log_group=None)¶ Bases:
object
Details of the CloudWatch Logs destination for broker logs.
- Parameters
enabled (
Union
[bool
,IResolvable
]) – Specifies whether broker logs get sent to the specified CloudWatch Logs destination.log_group (
Optional
[str
]) – The CloudWatch Logs group that is the destination for broker logs.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk cloud_watch_logs_property = msk.CfnCluster.CloudWatchLogsProperty( enabled=False, # the properties below are optional log_group="logGroup" )
Attributes
-
enabled
¶ Specifies whether broker logs get sent to the specified CloudWatch Logs destination.
-
log_group
¶ The CloudWatch Logs group that is the destination for broker logs.
ConfigurationInfoProperty¶
-
class
CfnCluster.
ConfigurationInfoProperty
(*, arn, revision)¶ Bases:
object
Specifies the Amazon MSK configuration to use for the brokers.
- Parameters
arn (
str
) – The Amazon Resource Name (ARN) of the MSK configuration to use. For example,arn:aws:kafka:us-east-1:123456789012:configuration/example-configuration-name/abcdabcd-1234-abcd-1234-abcd123e8e8e-1
.revision (
Union
[int
,float
]) – The revision of the Amazon MSK configuration to use.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk configuration_info_property = msk.CfnCluster.ConfigurationInfoProperty( arn="arn", revision=123 )
Attributes
-
arn
¶ The Amazon Resource Name (ARN) of the MSK configuration to use.
For example,
arn:aws:kafka:us-east-1:123456789012:configuration/example-configuration-name/abcdabcd-1234-abcd-1234-abcd123e8e8e-1
.
-
revision
¶ The revision of the Amazon MSK configuration to use.
ConnectivityInfoProperty¶
-
class
CfnCluster.
ConnectivityInfoProperty
(*, public_access=None)¶ Bases:
object
Specifies whether the cluster’s brokers are publicly accessible.
By default, they are not.
- Parameters
public_access (
Union
[IResolvable
,PublicAccessProperty
,Dict
[str
,Any
],None
]) – Specifies whether the cluster’s brokers are accessible from the internet. Public access is off by default.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk connectivity_info_property = msk.CfnCluster.ConnectivityInfoProperty( public_access=msk.CfnCluster.PublicAccessProperty( type="type" ) )
Attributes
-
public_access
¶ Specifies whether the cluster’s brokers are accessible from the internet.
Public access is off by default.
EBSStorageInfoProperty¶
-
class
CfnCluster.
EBSStorageInfoProperty
(*, provisioned_throughput=None, volume_size=None)¶ Bases:
object
Contains information about the EBS storage volumes attached to brokers.
- Parameters
provisioned_throughput (
Union
[IResolvable
,ProvisionedThroughputProperty
,Dict
[str
,Any
],None
]) – Specifies whether provisioned throughput is turned on and the volume throughput target.volume_size (
Union
[int
,float
,None
]) – The size in GiB of the EBS volume for the data drive on each broker node.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk e_bSStorage_info_property = msk.CfnCluster.EBSStorageInfoProperty( provisioned_throughput=msk.CfnCluster.ProvisionedThroughputProperty( enabled=False, volume_throughput=123 ), volume_size=123 )
Attributes
-
provisioned_throughput
¶ Specifies whether provisioned throughput is turned on and the volume throughput target.
-
volume_size
¶ The size in GiB of the EBS volume for the data drive on each broker node.
- Link
- Return type
Union
[int
,float
,None
]
EncryptionAtRestProperty¶
-
class
CfnCluster.
EncryptionAtRestProperty
(*, data_volume_kms_key_id)¶ Bases:
object
The data volume encryption details.
- Parameters
data_volume_kms_key_id (
str
) – The ARN of the Amazon KMS key for encrypting data at rest. If you don’t specify a KMS key, MSK creates one for you and uses it on your behalf.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk encryption_at_rest_property = msk.CfnCluster.EncryptionAtRestProperty( data_volume_kms_key_id="dataVolumeKmsKeyId" )
Attributes
-
data_volume_kms_key_id
¶ The ARN of the Amazon KMS key for encrypting data at rest.
If you don’t specify a KMS key, MSK creates one for you and uses it on your behalf.
EncryptionInTransitProperty¶
-
class
CfnCluster.
EncryptionInTransitProperty
(*, client_broker=None, in_cluster=None)¶ Bases:
object
The settings for encrypting data in transit.
- Parameters
client_broker (
Optional
[str
]) – Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values. -TLS
means that client-broker communication is enabled with TLS only. -TLS_PLAINTEXT
means that client-broker communication is enabled for both TLS-encrypted, as well as plain text data. -PLAINTEXT
means that client-broker communication is enabled in plain text only. The default value isTLS
.in_cluster (
Union
[bool
,IResolvable
,None
]) – When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plain text. The default value is true.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk encryption_in_transit_property = msk.CfnCluster.EncryptionInTransitProperty( client_broker="clientBroker", in_cluster=False )
Attributes
-
client_broker
¶ Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.
TLS
means that client-broker communication is enabled with TLS only.TLS_PLAINTEXT
means that client-broker communication is enabled for both TLS-encrypted, as well as plain text data.PLAINTEXT
means that client-broker communication is enabled in plain text only.
The default value is
TLS
.
-
in_cluster
¶ When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted.
When set to false, the communication happens in plain text. The default value is true.
EncryptionInfoProperty¶
-
class
CfnCluster.
EncryptionInfoProperty
(*, encryption_at_rest=None, encryption_in_transit=None)¶ Bases:
object
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.
- Parameters
encryption_at_rest (
Union
[IResolvable
,EncryptionAtRestProperty
,Dict
[str
,Any
],None
]) – The data-volume encryption details.encryption_in_transit (
Union
[IResolvable
,EncryptionInTransitProperty
,Dict
[str
,Any
],None
]) – The details for encryption in transit.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk encryption_info_property = msk.CfnCluster.EncryptionInfoProperty( encryption_at_rest=msk.CfnCluster.EncryptionAtRestProperty( data_volume_kms_key_id="dataVolumeKmsKeyId" ), encryption_in_transit=msk.CfnCluster.EncryptionInTransitProperty( client_broker="clientBroker", in_cluster=False ) )
Attributes
-
encryption_at_rest
¶ The data-volume encryption details.
-
encryption_in_transit
¶ The details for encryption in transit.
FirehoseProperty¶
-
class
CfnCluster.
FirehoseProperty
(*, enabled, delivery_stream=None)¶ Bases:
object
Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.
- Parameters
enabled (
Union
[bool
,IResolvable
]) – Specifies whether broker logs get sent to the specified Kinesis Data Firehose delivery stream.delivery_stream (
Optional
[str
]) – The Kinesis Data Firehose delivery stream that is the destination for broker logs.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk firehose_property = msk.CfnCluster.FirehoseProperty( enabled=False, # the properties below are optional delivery_stream="deliveryStream" )
Attributes
-
delivery_stream
¶ The Kinesis Data Firehose delivery stream that is the destination for broker logs.
-
enabled
¶ Specifies whether broker logs get sent to the specified Kinesis Data Firehose delivery stream.
IamProperty¶
-
class
CfnCluster.
IamProperty
(*, enabled)¶ Bases:
object
Details for IAM access control.
- Parameters
enabled (
Union
[bool
,IResolvable
]) – Whether IAM access control is enabled.- Link
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-iam.html
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk iam_property = msk.CfnCluster.IamProperty( enabled=False )
Attributes
-
enabled
¶ Whether IAM access control is enabled.
JmxExporterProperty¶
-
class
CfnCluster.
JmxExporterProperty
(*, enabled_in_broker)¶ Bases:
object
Indicates whether you want to enable or disable the JMX Exporter.
- Parameters
enabled_in_broker (
Union
[bool
,IResolvable
]) – Indicates whether you want to enable or disable the JMX Exporter.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk jmx_exporter_property = msk.CfnCluster.JmxExporterProperty( enabled_in_broker=False )
Attributes
-
enabled_in_broker
¶ Indicates whether you want to enable or disable the JMX Exporter.
LoggingInfoProperty¶
-
class
CfnCluster.
LoggingInfoProperty
(*, broker_logs)¶ Bases:
object
You can configure your Amazon MSK cluster to send broker logs to different destination types.
This is a container for the configuration details related to broker logs.
- Parameters
broker_logs (
Union
[IResolvable
,BrokerLogsProperty
,Dict
[str
,Any
]]) – You can configure your Amazon MSK cluster to send broker logs to different destination types. This configuration specifies the details of these destinations.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk logging_info_property = msk.CfnCluster.LoggingInfoProperty( broker_logs=msk.CfnCluster.BrokerLogsProperty( cloud_watch_logs=msk.CfnCluster.CloudWatchLogsProperty( enabled=False, # the properties below are optional log_group="logGroup" ), firehose=msk.CfnCluster.FirehoseProperty( enabled=False, # the properties below are optional delivery_stream="deliveryStream" ), s3=msk.CfnCluster.S3Property( enabled=False, # the properties below are optional bucket="bucket", prefix="prefix" ) ) )
Attributes
-
broker_logs
¶ You can configure your Amazon MSK cluster to send broker logs to different destination types.
This configuration specifies the details of these destinations.
NodeExporterProperty¶
-
class
CfnCluster.
NodeExporterProperty
(*, enabled_in_broker)¶ Bases:
object
Indicates whether you want to enable or disable the Node Exporter.
- Parameters
enabled_in_broker (
Union
[bool
,IResolvable
]) – Indicates whether you want to enable or disable the Node Exporter.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk node_exporter_property = msk.CfnCluster.NodeExporterProperty( enabled_in_broker=False )
Attributes
-
enabled_in_broker
¶ Indicates whether you want to enable or disable the Node Exporter.
OpenMonitoringProperty¶
-
class
CfnCluster.
OpenMonitoringProperty
(*, prometheus)¶ Bases:
object
JMX and Node monitoring for the MSK cluster.
- Parameters
prometheus (
Union
[IResolvable
,PrometheusProperty
,Dict
[str
,Any
]]) – Prometheus exporter settings.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk open_monitoring_property = msk.CfnCluster.OpenMonitoringProperty( prometheus=msk.CfnCluster.PrometheusProperty( jmx_exporter=msk.CfnCluster.JmxExporterProperty( enabled_in_broker=False ), node_exporter=msk.CfnCluster.NodeExporterProperty( enabled_in_broker=False ) ) )
Attributes
-
prometheus
¶ Prometheus exporter settings.
PrometheusProperty¶
-
class
CfnCluster.
PrometheusProperty
(*, jmx_exporter=None, node_exporter=None)¶ Bases:
object
Prometheus settings for open monitoring.
- Parameters
jmx_exporter (
Union
[IResolvable
,JmxExporterProperty
,Dict
[str
,Any
],None
]) – Indicates whether you want to enable or disable the JMX Exporter.node_exporter (
Union
[IResolvable
,NodeExporterProperty
,Dict
[str
,Any
],None
]) – Indicates whether you want to enable or disable the Node Exporter.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk prometheus_property = msk.CfnCluster.PrometheusProperty( jmx_exporter=msk.CfnCluster.JmxExporterProperty( enabled_in_broker=False ), node_exporter=msk.CfnCluster.NodeExporterProperty( enabled_in_broker=False ) )
Attributes
-
jmx_exporter
¶ Indicates whether you want to enable or disable the JMX Exporter.
-
node_exporter
¶ Indicates whether you want to enable or disable the Node Exporter.
ProvisionedThroughputProperty¶
-
class
CfnCluster.
ProvisionedThroughputProperty
(*, enabled=None, volume_throughput=None)¶ Bases:
object
Specifies whether provisioned throughput is turned on and the volume throughput target.
- Parameters
enabled (
Union
[bool
,IResolvable
,None
]) – Specifies whether provisioned throughput is turned on for the cluster.volume_throughput (
Union
[int
,float
,None
]) – The provisioned throughput rate in MiB per second.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk provisioned_throughput_property = msk.CfnCluster.ProvisionedThroughputProperty( enabled=False, volume_throughput=123 )
Attributes
-
enabled
¶ Specifies whether provisioned throughput is turned on for the cluster.
-
volume_throughput
¶ The provisioned throughput rate in MiB per second.
PublicAccessProperty¶
-
class
CfnCluster.
PublicAccessProperty
(*, type=None)¶ Bases:
object
Specifies whether the cluster’s brokers are accessible from the internet.
Public access is off by default.
- Parameters
type (
Optional
[str
]) – Set toDISABLED
to turn off public access or toSERVICE_PROVIDED_EIPS
to turn it on. Public access if off by default.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk public_access_property = msk.CfnCluster.PublicAccessProperty( type="type" )
Attributes
-
type
¶ Set to
DISABLED
to turn off public access or toSERVICE_PROVIDED_EIPS
to turn it on.Public access if off by default.
S3Property¶
-
class
CfnCluster.
S3Property
(*, enabled, bucket=None, prefix=None)¶ Bases:
object
The details of the Amazon S3 destination for broker logs.
- Parameters
enabled (
Union
[bool
,IResolvable
]) – Specifies whether broker logs get sent to the specified Amazon S3 destination.bucket (
Optional
[str
]) – The name of the S3 bucket that is the destination for broker logs.prefix (
Optional
[str
]) – The S3 prefix that is the destination for broker logs.
- Link
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk s3_property = msk.CfnCluster.S3Property( enabled=False, # the properties below are optional bucket="bucket", prefix="prefix" )
Attributes
-
bucket
¶ The name of the S3 bucket that is the destination for broker logs.
- Link
- Return type
Optional
[str
]
-
enabled
¶ Specifies whether broker logs get sent to the specified Amazon S3 destination.
-
prefix
¶ The S3 prefix that is the destination for broker logs.
- Link
- Return type
Optional
[str
]
SaslProperty¶
-
class
CfnCluster.
SaslProperty
(*, iam=None, scram=None)¶ Bases:
object
Details for client authentication using SASL.
To turn on SASL, you must also turn on
EncryptionInTransit
by settinginCluster
to true. You must setclientBroker
to eitherTLS
orTLS_PLAINTEXT
. If you chooseTLS_PLAINTEXT
, then you must also setunauthenticated
to true.- Parameters
iam (
Union
[IResolvable
,IamProperty
,Dict
[str
,Any
],None
]) – Details for IAM access control.scram (
Union
[IResolvable
,ScramProperty
,Dict
[str
,Any
],None
]) – Details for SASL/SCRAM client authentication.
- Link
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk sasl_property = msk.CfnCluster.SaslProperty( iam=msk.CfnCluster.IamProperty( enabled=False ), scram=msk.CfnCluster.ScramProperty( enabled=False ) )
Attributes
-
iam
¶ Details for IAM access control.
-
scram
¶ Details for SASL/SCRAM client authentication.
ScramProperty¶
-
class
CfnCluster.
ScramProperty
(*, enabled)¶ Bases:
object
Details for SASL/SCRAM client authentication.
- Parameters
enabled (
Union
[bool
,IResolvable
]) – SASL/SCRAM authentication is enabled or not.- Link
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk scram_property = msk.CfnCluster.ScramProperty( enabled=False )
Attributes
-
enabled
¶ SASL/SCRAM authentication is enabled or not.
StorageInfoProperty¶
-
class
CfnCluster.
StorageInfoProperty
(*, ebs_storage_info=None)¶ Bases:
object
Contains information about storage volumes attached to MSK broker nodes.
- Parameters
ebs_storage_info (
Union
[IResolvable
,EBSStorageInfoProperty
,Dict
[str
,Any
],None
]) – EBS volume information.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk storage_info_property = msk.CfnCluster.StorageInfoProperty( ebs_storage_info=msk.CfnCluster.EBSStorageInfoProperty( provisioned_throughput=msk.CfnCluster.ProvisionedThroughputProperty( enabled=False, volume_throughput=123 ), volume_size=123 ) )
Attributes
-
ebs_storage_info
¶ EBS volume information.
TlsProperty¶
-
class
CfnCluster.
TlsProperty
(*, certificate_authority_arn_list=None, enabled=None)¶ Bases:
object
Details for client authentication using TLS.
- Parameters
certificate_authority_arn_list (
Optional
[Sequence
[str
]]) – List of ACM Certificate Authority ARNs.enabled (
Union
[bool
,IResolvable
,None
]) – TLS authentication is enabled or not.
- Link
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk tls_property = msk.CfnCluster.TlsProperty( certificate_authority_arn_list=["certificateAuthorityArnList"], enabled=False )
Attributes
List of ACM Certificate Authority ARNs.
- Link
- Return type
Optional
[List
[str
]]
-
enabled
¶ TLS authentication is enabled or not.
- Link
- Return type
Union
[bool
,IResolvable
,None
]
UnauthenticatedProperty¶
-
class
CfnCluster.
UnauthenticatedProperty
(*, enabled)¶ Bases:
object
Details for allowing no client authentication.
- Parameters
enabled (
Union
[bool
,IResolvable
]) – Unauthenticated is enabled or not.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_msk as msk unauthenticated_property = msk.CfnCluster.UnauthenticatedProperty( enabled=False )
Attributes
-
enabled
¶ Unauthenticated is enabled or not.