Documentation
¶
Overview ¶
The CDK Construct Library for AWS::MSK
Index ¶
- func Cluster_IsConstruct(x interface{}) *bool
- func Cluster_IsResource(construct constructs.IConstruct) *bool
- func NewCluster_Override(c Cluster, scope constructs.Construct, id *string, props *ClusterProps)
- type BrokerLogging
- type ClientAuthentication
- type ClientBrokerEncryption
- type Cluster
- type ClusterConfigurationInfo
- type ClusterMonitoringLevel
- type ClusterProps
- type EbsStorageInfo
- type EncryptionInTransitConfig
- type ICluster
- type KafkaVersion
- func KafkaVersion_Of(version *string) KafkaVersion
- func KafkaVersion_V1_1_1() KafkaVersion
- func KafkaVersion_V2_2_1() KafkaVersion
- func KafkaVersion_V2_3_1() KafkaVersion
- func KafkaVersion_V2_4_1_1() KafkaVersion
- func KafkaVersion_V2_5_1() KafkaVersion
- func KafkaVersion_V2_6_0() KafkaVersion
- func KafkaVersion_V2_6_1() KafkaVersion
- func KafkaVersion_V2_6_2() KafkaVersion
- func KafkaVersion_V2_6_3() KafkaVersion
- func KafkaVersion_V2_7_0() KafkaVersion
- func KafkaVersion_V2_7_1() KafkaVersion
- func KafkaVersion_V2_7_2() KafkaVersion
- func KafkaVersion_V2_8_0() KafkaVersion
- func KafkaVersion_V2_8_1() KafkaVersion
- type MonitoringConfiguration
- type S3LoggingConfiguration
- type SaslAuthProps
- type TlsAuthProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Cluster_IsConstruct ¶
func Cluster_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Cluster_IsResource ¶
func Cluster_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func NewCluster_Override ¶
func NewCluster_Override(c Cluster, scope constructs.Construct, id *string, props *ClusterProps)
Experimental.
Types ¶
type BrokerLogging ¶
type BrokerLogging struct { // The CloudWatch Logs group that is the destination for broker logs. // Experimental. CloudwatchLogGroup awslogs.ILogGroup `json:"cloudwatchLogGroup"` // The Kinesis Data Firehose delivery stream that is the destination for broker logs. // Experimental. FirehoseDeliveryStreamName *string `json:"firehoseDeliveryStreamName"` // Details of the Amazon S3 destination for broker logs. // Experimental. S3 *S3LoggingConfiguration `json:"s3"` }
Configuration details related to broker logs.
TODO: EXAMPLE
Experimental.
type ClientAuthentication ¶
type ClientAuthentication interface { SaslProps() *SaslAuthProps TlsProps() *TlsAuthProps }
Configuration properties for client authentication.
TODO: EXAMPLE
Experimental.
func ClientAuthentication_Sasl ¶
func ClientAuthentication_Sasl(props *SaslAuthProps) ClientAuthentication
SASL authentication. Experimental.
func ClientAuthentication_Tls ¶
func ClientAuthentication_Tls(props *TlsAuthProps) ClientAuthentication
TLS authentication. Experimental.
type ClientBrokerEncryption ¶
type ClientBrokerEncryption string
Indicates the encryption setting for data in transit between clients and brokers.
TODO: EXAMPLE
Experimental.
const ( ClientBrokerEncryption_TLS ClientBrokerEncryption = "TLS" ClientBrokerEncryption_TLS_PLAINTEXT ClientBrokerEncryption = "TLS_PLAINTEXT" ClientBrokerEncryption_PLAINTEXT ClientBrokerEncryption = "PLAINTEXT" )
type Cluster ¶
type Cluster interface { awscdk.Resource ICluster BootstrapBrokers() *string BootstrapBrokersSaslScram() *string BootstrapBrokersTls() *string ClusterArn() *string ClusterName() *string Connections() awsec2.Connections Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string SaslScramAuthenticationKey() awskms.IKey Stack() awscdk.Stack ZookeeperConnectionString() *string ZookeeperConnectionStringTls() *string AddUser(usernames ...*string) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
Create a MSK Cluster.
TODO: EXAMPLE
Experimental.
func NewCluster ¶
func NewCluster(scope constructs.Construct, id *string, props *ClusterProps) Cluster
Experimental.
type ClusterConfigurationInfo ¶
type ClusterConfigurationInfo struct { // 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. // Experimental. Arn *string `json:"arn"` // The revision of the Amazon MSK configuration to use. // Experimental. Revision *float64 `json:"revision"` }
The Amazon MSK configuration to use for the cluster.
Note: There is currently no Cloudformation Resource to create a Configuration
TODO: EXAMPLE
Experimental.
type ClusterMonitoringLevel ¶
type ClusterMonitoringLevel string
The level of monitoring for the MSK cluster. See: https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html#metrics-details
Experimental.
const ( ClusterMonitoringLevel_DEFAULT ClusterMonitoringLevel = "DEFAULT" ClusterMonitoringLevel_PER_BROKER ClusterMonitoringLevel = "PER_BROKER" ClusterMonitoringLevel_PER_TOPIC_PER_BROKER ClusterMonitoringLevel = "PER_TOPIC_PER_BROKER" ClusterMonitoringLevel_PER_TOPIC_PER_PARTITION ClusterMonitoringLevel = "PER_TOPIC_PER_PARTITION" )
type ClusterProps ¶
type ClusterProps struct { // The physical name of the cluster. // Experimental. ClusterName *string `json:"clusterName"` // The version of Apache Kafka. // Experimental. KafkaVersion KafkaVersion `json:"kafkaVersion"` // Defines the virtual networking environment for this cluster. // // Must have at least 2 subnets in two different AZs. // Experimental. Vpc awsec2.IVpc `json:"vpc"` // Configuration properties for client authentication. // // MSK supports using private TLS certificates or SASL/SCRAM to authenticate the identity of clients. // Experimental. ClientAuthentication ClientAuthentication `json:"clientAuthentication"` // The Amazon MSK configuration to use for the cluster. // Experimental. ConfigurationInfo *ClusterConfigurationInfo `json:"configurationInfo"` // Information about storage volumes attached to MSK broker nodes. // Experimental. EbsStorageInfo *EbsStorageInfo `json:"ebsStorageInfo"` // Config details for encryption in transit. // Experimental. EncryptionInTransit *EncryptionInTransitConfig `json:"encryptionInTransit"` // The EC2 instance type that you want Amazon MSK to use when it creates your brokers. // See: https://docs.aws.amazon.com/msk/latest/developerguide/msk-create-cluster.html#broker-instance-types // // Experimental. InstanceType awsec2.InstanceType `json:"instanceType"` // Configure your MSK cluster to send broker logs to different destination types. // Experimental. Logging *BrokerLogging `json:"logging"` // Cluster monitoring configuration. // Experimental. Monitoring *MonitoringConfiguration `json:"monitoring"` // Number of Apache Kafka brokers deployed in each Availability Zone. // Experimental. NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes"` // What to do when this resource is deleted from a stack. // Experimental. RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"` // The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. // Experimental. SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"` // Where to place the nodes within the VPC. // // Amazon MSK distributes the broker nodes evenly across the subnets that you specify. // The subnets that you specify must be in distinct Availability Zones. // Client subnets can't be in Availability Zone us-east-1e. // Experimental. VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets"` }
Properties for a MSK Cluster.
TODO: EXAMPLE
Experimental.
type EbsStorageInfo ¶
type EbsStorageInfo struct { // The AWS KMS key for encrypting data at rest. // Experimental. EncryptionKey awskms.IKey `json:"encryptionKey"` // The size in GiB of the EBS volume for the data drive on each broker node. // Experimental. VolumeSize *float64 `json:"volumeSize"` }
EBS volume information.
TODO: EXAMPLE
Experimental.
type EncryptionInTransitConfig ¶
type EncryptionInTransitConfig struct { // Indicates the encryption setting for data in transit between clients and brokers. // Experimental. ClientBroker ClientBrokerEncryption `json:"clientBroker"` // Indicates that data communication among the broker nodes of the cluster is encrypted. // Experimental. EnableInCluster *bool `json:"enableInCluster"` }
The settings for encrypting data in transit.
TODO: EXAMPLE
See: https://docs.aws.amazon.com/msk/latest/developerguide/msk-encryption.html#msk-encryption-in-transit
Experimental.
type ICluster ¶
type ICluster interface { awsec2.IConnectable awscdk.IResource // The ARN of cluster. // Experimental. ClusterArn() *string // The physical name of the cluster. // Experimental. ClusterName() *string }
Represents a MSK Cluster. Experimental.
func Cluster_FromClusterArn ¶
Reference an existing cluster, defined outside of the CDK code, by name. Experimental.
type KafkaVersion ¶
type KafkaVersion interface {
Version() *string
}
Kafka cluster version.
TODO: EXAMPLE
Experimental.
func KafkaVersion_Of ¶
func KafkaVersion_Of(version *string) KafkaVersion
Custom cluster version. Experimental.
func KafkaVersion_V1_1_1 ¶
func KafkaVersion_V1_1_1() KafkaVersion
func KafkaVersion_V2_2_1 ¶
func KafkaVersion_V2_2_1() KafkaVersion
func KafkaVersion_V2_3_1 ¶
func KafkaVersion_V2_3_1() KafkaVersion
func KafkaVersion_V2_4_1_1 ¶
func KafkaVersion_V2_4_1_1() KafkaVersion
func KafkaVersion_V2_5_1 ¶
func KafkaVersion_V2_5_1() KafkaVersion
func KafkaVersion_V2_6_0 ¶
func KafkaVersion_V2_6_0() KafkaVersion
func KafkaVersion_V2_6_1 ¶
func KafkaVersion_V2_6_1() KafkaVersion
func KafkaVersion_V2_6_2 ¶
func KafkaVersion_V2_6_2() KafkaVersion
func KafkaVersion_V2_6_3 ¶
func KafkaVersion_V2_6_3() KafkaVersion
func KafkaVersion_V2_7_0 ¶
func KafkaVersion_V2_7_0() KafkaVersion
func KafkaVersion_V2_7_1 ¶
func KafkaVersion_V2_7_1() KafkaVersion
func KafkaVersion_V2_7_2 ¶
func KafkaVersion_V2_7_2() KafkaVersion
func KafkaVersion_V2_8_0 ¶
func KafkaVersion_V2_8_0() KafkaVersion
func KafkaVersion_V2_8_1 ¶
func KafkaVersion_V2_8_1() KafkaVersion
type MonitoringConfiguration ¶
type MonitoringConfiguration struct { // Specifies the level of monitoring for the MSK cluster. // Experimental. ClusterMonitoringLevel ClusterMonitoringLevel `json:"clusterMonitoringLevel"` // Indicates whether you want to enable or disable the JMX Exporter. // Experimental. EnablePrometheusJmxExporter *bool `json:"enablePrometheusJmxExporter"` // Indicates whether you want to enable or disable the Prometheus Node Exporter. // // You can use the Prometheus Node Exporter to get CPU and disk metrics for the broker nodes. // Experimental. EnablePrometheusNodeExporter *bool `json:"enablePrometheusNodeExporter"` }
Monitoring Configuration.
TODO: EXAMPLE
Experimental.
type S3LoggingConfiguration ¶
type S3LoggingConfiguration struct { // The S3 bucket that is the destination for broker logs. // Experimental. Bucket awss3.IBucket `json:"bucket"` // The S3 prefix that is the destination for broker logs. // Experimental. Prefix *string `json:"prefix"` }
Details of the Amazon S3 destination for broker logs.
TODO: EXAMPLE
Experimental.
type SaslAuthProps ¶
type SaslAuthProps struct { // Enable IAM access control. // Experimental. Iam *bool `json:"iam"` // KMS Key to encrypt SASL/SCRAM secrets. // // You must use a customer master key (CMK) when creating users in secrets manager. // You cannot use a Secret with Amazon MSK that uses the default Secrets Manager encryption key. // Experimental. Key awskms.IKey `json:"key"` // Enable SASL/SCRAM authentication. // Experimental. Scram *bool `json:"scram"` }
SASL authentication properties.
TODO: EXAMPLE
Experimental.
type TlsAuthProps ¶
type TlsAuthProps struct { // List of ACM Certificate Authorities to enable TLS authentication. // Experimental. CertificateAuthorities *[]awsacmpca.ICertificateAuthority `json:"certificateAuthorities"` }
TLS authentication properties.
TODO: EXAMPLE
Experimental.