Source code for troposphere.msk

# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, integer


[docs]class BatchScramSecret(AWSObject): """ `BatchScramSecret <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html>`__ """ resource_type = "AWS::MSK::BatchScramSecret" props: PropsDictType = { "ClusterArn": (str, True), "SecretArnList": ([str], False), }
[docs]class PublicAccess(AWSProperty): """ `PublicAccess <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-publicaccess.html>`__ """ props: PropsDictType = { "Type": (str, False), }
[docs]class VpcConnectivityIam(AWSProperty): """ `VpcConnectivityIam <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityiam.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), }
[docs]class VpcConnectivityScram(AWSProperty): """ `VpcConnectivityScram <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityscram.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), }
[docs]class VpcConnectivitySasl(AWSProperty): """ `VpcConnectivitySasl <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitysasl.html>`__ """ props: PropsDictType = { "Iam": (VpcConnectivityIam, False), "Scram": (VpcConnectivityScram, False), }
[docs]class VpcConnectivityTls(AWSProperty): """ `VpcConnectivityTls <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitytls.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), }
[docs]class VpcConnectivityClientAuthentication(AWSProperty): """ `VpcConnectivityClientAuthentication <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityclientauthentication.html>`__ """ props: PropsDictType = { "Sasl": (VpcConnectivitySasl, False), "Tls": (VpcConnectivityTls, False), }
[docs]class VpcConnectivity(AWSProperty): """ `VpcConnectivity <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivity.html>`__ """ props: PropsDictType = { "ClientAuthentication": (VpcConnectivityClientAuthentication, False), }
[docs]class ConnectivityInfo(AWSProperty): """ `ConnectivityInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-connectivityinfo.html>`__ """ props: PropsDictType = { "PublicAccess": (PublicAccess, False), "VpcConnectivity": (VpcConnectivity, False), }
[docs]class ProvisionedThroughput(AWSProperty): """ `ProvisionedThroughput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), "VolumeThroughput": (integer, False), }
[docs]class EBSStorageInfo(AWSProperty): """ `EBSStorageInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html>`__ """ props: PropsDictType = { "ProvisionedThroughput": (ProvisionedThroughput, False), "VolumeSize": (integer, False), }
[docs]class StorageInfo(AWSProperty): """ `StorageInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html>`__ """ props: PropsDictType = { "EBSStorageInfo": (EBSStorageInfo, False), }
[docs]class BrokerNodeGroupInfo(AWSProperty): """ `BrokerNodeGroupInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html>`__ """ props: PropsDictType = { "BrokerAZDistribution": (str, False), "ClientSubnets": ([str], True), "ConnectivityInfo": (ConnectivityInfo, False), "InstanceType": (str, True), "SecurityGroups": ([str], False), "StorageInfo": (StorageInfo, False), }
[docs]class Iam(AWSProperty): """ `Iam <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-serverlesscluster-iam.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), }
[docs]class Scram(AWSProperty): """ `Scram <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), }
[docs]class Sasl(AWSProperty): """ `Sasl <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html>`__ """ props: PropsDictType = { "Iam": (Iam, False), "Scram": (Scram, False), }
[docs]class Tls(AWSProperty): """ `Tls <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html>`__ """ props: PropsDictType = { "CertificateAuthorityArnList": ([str], False), "Enabled": (boolean, False), }
[docs]class Unauthenticated(AWSProperty): """ `Unauthenticated <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-unauthenticated.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), }
[docs]class ClientAuthentication(AWSProperty): """ `ClientAuthentication <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html>`__ """ props: PropsDictType = { "Sasl": (Sasl, False), "Tls": (Tls, False), "Unauthenticated": (Unauthenticated, False), }
[docs]class ConfigurationInfo(AWSProperty): """ `ConfigurationInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html>`__ """ props: PropsDictType = { "Arn": (str, True), "Revision": (integer, True), }
[docs]class EncryptionAtRest(AWSProperty): """ `EncryptionAtRest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionatrest.html>`__ """ props: PropsDictType = { "DataVolumeKMSKeyId": (str, True), }
[docs]class EncryptionInTransit(AWSProperty): """ `EncryptionInTransit <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html>`__ """ props: PropsDictType = { "ClientBroker": (str, False), "InCluster": (boolean, False), }
[docs]class EncryptionInfo(AWSProperty): """ `EncryptionInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html>`__ """ props: PropsDictType = { "EncryptionAtRest": (EncryptionAtRest, False), "EncryptionInTransit": (EncryptionInTransit, False), }
[docs]class CloudWatchLogs(AWSProperty): """ `CloudWatchLogs <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), "LogGroup": (str, False), }
[docs]class Firehose(AWSProperty): """ `Firehose <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html>`__ """ props: PropsDictType = { "DeliveryStream": (str, False), "Enabled": (boolean, True), }
[docs]class S3(AWSProperty): """ `S3 <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html>`__ """ props: PropsDictType = { "Bucket": (str, False), "Enabled": (boolean, True), "Prefix": (str, False), }
[docs]class BrokerLogs(AWSProperty): """ `BrokerLogs <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html>`__ """ props: PropsDictType = { "CloudWatchLogs": (CloudWatchLogs, False), "Firehose": (Firehose, False), "S3": (S3, False), }
[docs]class LoggingInfo(AWSProperty): """ `LoggingInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html>`__ """ props: PropsDictType = { "BrokerLogs": (BrokerLogs, True), }
[docs]class JmxExporter(AWSProperty): """ `JmxExporter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html>`__ """ props: PropsDictType = { "EnabledInBroker": (boolean, True), }
[docs]class NodeExporter(AWSProperty): """ `NodeExporter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html>`__ """ props: PropsDictType = { "EnabledInBroker": (boolean, True), }
[docs]class Prometheus(AWSProperty): """ `Prometheus <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html>`__ """ props: PropsDictType = { "JmxExporter": (JmxExporter, False), "NodeExporter": (NodeExporter, False), }
[docs]class OpenMonitoring(AWSProperty): """ `OpenMonitoring <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html>`__ """ props: PropsDictType = { "Prometheus": (Prometheus, True), }
[docs]class Cluster(AWSObject): """ `Cluster <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html>`__ """ resource_type = "AWS::MSK::Cluster" props: PropsDictType = { "BrokerNodeGroupInfo": (BrokerNodeGroupInfo, True), "ClientAuthentication": (ClientAuthentication, False), "ClusterName": (str, True), "ConfigurationInfo": (ConfigurationInfo, False), "CurrentVersion": (str, False), "EncryptionInfo": (EncryptionInfo, False), "EnhancedMonitoring": (str, False), "KafkaVersion": (str, True), "LoggingInfo": (LoggingInfo, False), "NumberOfBrokerNodes": (integer, True), "OpenMonitoring": (OpenMonitoring, False), "StorageMode": (str, False), "Tags": (dict, False), }
[docs]class ClusterPolicy(AWSObject): """ `ClusterPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html>`__ """ resource_type = "AWS::MSK::ClusterPolicy" props: PropsDictType = { "ClusterArn": (str, True), "Policy": (dict, True), }
[docs]class LatestRevision(AWSProperty): """ `LatestRevision <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-configuration-latestrevision.html>`__ """ props: PropsDictType = { "CreationTime": (str, False), "Description": (str, False), "Revision": (integer, False), }
[docs]class Configuration(AWSObject): """ `Configuration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html>`__ """ resource_type = "AWS::MSK::Configuration" props: PropsDictType = { "Description": (str, False), "KafkaVersionsList": ([str], False), "LatestRevision": (LatestRevision, False), "Name": (str, True), "ServerProperties": (str, True), }
[docs]class AmazonMskCluster(AWSProperty): """ `AmazonMskCluster <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-amazonmskcluster.html>`__ """ props: PropsDictType = { "MskClusterArn": (str, True), }
[docs]class KafkaClusterClientVpcConfig(AWSProperty): """ `KafkaClusterClientVpcConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-kafkaclusterclientvpcconfig.html>`__ """ props: PropsDictType = { "SecurityGroupIds": ([str], False), "SubnetIds": ([str], True), }
[docs]class KafkaCluster(AWSProperty): """ `KafkaCluster <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-kafkacluster.html>`__ """ props: PropsDictType = { "AmazonMskCluster": (AmazonMskCluster, True), "VpcConfig": (KafkaClusterClientVpcConfig, True), }
[docs]class ConsumerGroupReplication(AWSProperty): """ `ConsumerGroupReplication <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-consumergroupreplication.html>`__ """ props: PropsDictType = { "ConsumerGroupsToExclude": ([str], False), "ConsumerGroupsToReplicate": ([str], True), "DetectAndCopyNewConsumerGroups": (boolean, False), "SynchroniseConsumerGroupOffsets": (boolean, False), }
[docs]class ReplicationStartingPosition(AWSProperty): """ `ReplicationStartingPosition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationstartingposition.html>`__ """ props: PropsDictType = { "Type": (str, False), }
[docs]class TopicReplication(AWSProperty): """ `TopicReplication <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-topicreplication.html>`__ """ props: PropsDictType = { "CopyAccessControlListsForTopics": (boolean, False), "CopyTopicConfigurations": (boolean, False), "DetectAndCopyNewTopics": (boolean, False), "StartingPosition": (ReplicationStartingPosition, False), "TopicsToExclude": ([str], False), "TopicsToReplicate": ([str], True), }
[docs]class ReplicationInfo(AWSProperty): """ `ReplicationInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationinfo.html>`__ """ props: PropsDictType = { "ConsumerGroupReplication": (ConsumerGroupReplication, True), "SourceKafkaClusterArn": (str, True), "TargetCompressionType": (str, True), "TargetKafkaClusterArn": (str, True), "TopicReplication": (TopicReplication, True), }
[docs]class Replicator(AWSObject): """ `Replicator <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html>`__ """ resource_type = "AWS::MSK::Replicator" props: PropsDictType = { "CurrentVersion": (str, False), "Description": (str, False), "KafkaClusters": ([KafkaCluster], True), "ReplicationInfoList": ([ReplicationInfo], True), "ReplicatorName": (str, True), "ServiceExecutionRoleArn": (str, True), "Tags": (Tags, False), }
[docs]class VpcConfig(AWSProperty): """ `VpcConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-serverlesscluster-vpcconfig.html>`__ """ props: PropsDictType = { "SecurityGroups": ([str], False), "SubnetIds": ([str], True), }
[docs]class ServerlessCluster(AWSObject): """ `ServerlessCluster <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html>`__ """ resource_type = "AWS::MSK::ServerlessCluster" props: PropsDictType = { "ClientAuthentication": (ClientAuthentication, True), "ClusterName": (str, True), "Tags": (dict, False), "VpcConfigs": ([VpcConfig], True), }
[docs]class VpcConnection(AWSObject): """ `VpcConnection <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html>`__ """ resource_type = "AWS::MSK::VpcConnection" props: PropsDictType = { "Authentication": (str, True), "ClientSubnets": ([str], True), "SecurityGroups": ([str], True), "Tags": (dict, False), "TargetClusterArn": (str, True), "VpcId": (str, True), }