awsmsk

package
v1.140.0-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2022 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnCluster_CFN_RESOURCE_TYPE_NAME

func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string

func CfnCluster_IsCfnElement

func CfnCluster_IsCfnElement(x interface{}) *bool

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.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnCluster_IsCfnResource

func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnCluster_IsConstruct

func CfnCluster_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func Cluster_IsConstruct

func Cluster_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func Cluster_IsResource

func Cluster_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewCfnCluster_Override

func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)

Create a new `AWS::MSK::Cluster`.

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" yaml:"cloudwatchLogGroup"`
	// The Kinesis Data Firehose delivery stream that is the destination for broker logs.
	// Experimental.
	FirehoseDeliveryStreamName *string `json:"firehoseDeliveryStreamName" yaml:"firehoseDeliveryStreamName"`
	// Details of the Amazon S3 destination for broker logs.
	// Experimental.
	S3 *S3LoggingConfiguration `json:"s3" yaml:"s3"`
}

Configuration details related to broker logs.

TODO: EXAMPLE

Experimental.

type CfnCluster

type CfnCluster interface {
	awscdk.CfnResource
	awscdk.IInspectable
	BrokerNodeGroupInfo() interface{}
	SetBrokerNodeGroupInfo(val interface{})
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ClientAuthentication() interface{}
	SetClientAuthentication(val interface{})
	ClusterName() *string
	SetClusterName(val *string)
	ConfigurationInfo() interface{}
	SetConfigurationInfo(val interface{})
	CreationStack() *[]*string
	EncryptionInfo() interface{}
	SetEncryptionInfo(val interface{})
	EnhancedMonitoring() *string
	SetEnhancedMonitoring(val *string)
	KafkaVersion() *string
	SetKafkaVersion(val *string)
	LoggingInfo() interface{}
	SetLoggingInfo(val interface{})
	LogicalId() *string
	Node() awscdk.ConstructNode
	NumberOfBrokerNodes() *float64
	SetNumberOfBrokerNodes(val *float64)
	OpenMonitoring() interface{}
	SetOpenMonitoring(val interface{})
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::MSK::Cluster`.

The `AWS::MSK::Cluster` resource creates an Amazon MSK cluster . For more information, see [What Is Amazon MSK?](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) in the *Amazon MSK Developer Guide* .

TODO: EXAMPLE

func NewCfnCluster

func NewCfnCluster(scope awscdk.Construct, id *string, props *CfnClusterProps) CfnCluster

Create a new `AWS::MSK::Cluster`.

type CfnClusterProps

type CfnClusterProps struct {
	// The setup to be used for brokers in the cluster.
	BrokerNodeGroupInfo interface{} `json:"brokerNodeGroupInfo" yaml:"brokerNodeGroupInfo"`
	// The name of the cluster.
	ClusterName *string `json:"clusterName" yaml:"clusterName"`
	// The version of Apache Kafka.
	//
	// For more information, see [Supported Apache Kafka versions](https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html) in the Amazon MSK Developer Guide.
	KafkaVersion *string `json:"kafkaVersion" yaml:"kafkaVersion"`
	// 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.
	NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes" yaml:"numberOfBrokerNodes"`
	// Includes information related to client authentication.
	ClientAuthentication interface{} `json:"clientAuthentication" yaml:"clientAuthentication"`
	// The Amazon MSK configuration to use for the cluster.
	ConfigurationInfo interface{} `json:"configurationInfo" yaml:"configurationInfo"`
	// Includes all encryption-related information.
	EncryptionInfo interface{} `json:"encryptionInfo" yaml:"encryptionInfo"`
	// Specifies the level of monitoring for the MSK cluster.
	//
	// The possible values are `DEFAULT` , `PER_BROKER` , and `PER_TOPIC_PER_BROKER` .
	EnhancedMonitoring *string `json:"enhancedMonitoring" yaml:"enhancedMonitoring"`
	// 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.
	LoggingInfo interface{} `json:"loggingInfo" yaml:"loggingInfo"`
	// The settings for open monitoring.
	OpenMonitoring interface{} `json:"openMonitoring" yaml:"openMonitoring"`
	// A map of key:value pairs to apply to this resource.
	//
	// Both key and value are of type String.
	Tags interface{} `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnCluster`.

TODO: EXAMPLE

type CfnCluster_BrokerLogsProperty

type CfnCluster_BrokerLogsProperty struct {
	// Details of the CloudWatch Logs destination for broker logs.
	CloudWatchLogs interface{} `json:"cloudWatchLogs" yaml:"cloudWatchLogs"`
	// Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.
	Firehose interface{} `json:"firehose" yaml:"firehose"`
	// Details of the Amazon MSK destination for broker logs.
	S3 interface{} `json:"s3" yaml:"s3"`
}

You can configure your Amazon MSK cluster to send broker logs to different destination types.

This configuration specifies the details of these destinations.

TODO: EXAMPLE

type CfnCluster_BrokerNodeGroupInfoProperty

type CfnCluster_BrokerNodeGroupInfoProperty struct {
	// 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 be in Availability Zone us-east-1e.
	ClientSubnets *[]*string `json:"clientSubnets" yaml:"clientSubnets"`
	// 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.
	InstanceType *string `json:"instanceType" yaml:"instanceType"`
	// This parameter is currently not in use.
	BrokerAzDistribution *string `json:"brokerAzDistribution" yaml:"brokerAzDistribution"`
	// Information about the cluster's connectivity setting.
	ConnectivityInfo interface{} `json:"connectivityInfo" yaml:"connectivityInfo"`
	// 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.
	SecurityGroups *[]*string `json:"securityGroups" yaml:"securityGroups"`
	// Contains information about storage volumes attached to MSK broker nodes.
	StorageInfo interface{} `json:"storageInfo" yaml:"storageInfo"`
}

The setup to be used for brokers in the cluster.

TODO: EXAMPLE

type CfnCluster_ClientAuthenticationProperty

type CfnCluster_ClientAuthenticationProperty struct {
	// Details for ClientAuthentication using SASL.
	Sasl interface{} `json:"sasl" yaml:"sasl"`
	// Details for client authentication using TLS.
	Tls interface{} `json:"tls" yaml:"tls"`
	// Details for ClientAuthentication using no authentication.
	Unauthenticated interface{} `json:"unauthenticated" yaml:"unauthenticated"`
}

Includes information related to client authentication.

TODO: EXAMPLE

type CfnCluster_CloudWatchLogsProperty

type CfnCluster_CloudWatchLogsProperty struct {
	// Specifies whether broker logs get sent to the specified CloudWatch Logs destination.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
	// The CloudWatch Logs group that is the destination for broker logs.
	LogGroup *string `json:"logGroup" yaml:"logGroup"`
}

Details of the CloudWatch Logs destination for broker logs.

TODO: EXAMPLE

type CfnCluster_ConfigurationInfoProperty

type CfnCluster_ConfigurationInfoProperty 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` .
	Arn *string `json:"arn" yaml:"arn"`
	// The revision of the Amazon MSK configuration to use.
	Revision *float64 `json:"revision" yaml:"revision"`
}

Specifies the Amazon MSK configuration to use for the brokers.

TODO: EXAMPLE

type CfnCluster_ConnectivityInfoProperty

type CfnCluster_ConnectivityInfoProperty struct {
	// Specifies whether the cluster's brokers are accessible from the internet.
	//
	// Public access is off by default.
	PublicAccess interface{} `json:"publicAccess" yaml:"publicAccess"`
}

Specifies whether the cluster's brokers are publicly accessible.

By default, they are not.

TODO: EXAMPLE

type CfnCluster_EBSStorageInfoProperty

type CfnCluster_EBSStorageInfoProperty struct {
	// The size in GiB of the EBS volume for the data drive on each broker node.
	VolumeSize *float64 `json:"volumeSize" yaml:"volumeSize"`
}

Contains information about the EBS storage volumes attached to brokers.

TODO: EXAMPLE

type CfnCluster_EncryptionAtRestProperty

type CfnCluster_EncryptionAtRestProperty struct {
	// 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.
	DataVolumeKmsKeyId *string `json:"dataVolumeKmsKeyId" yaml:"dataVolumeKmsKeyId"`
}

The data volume encryption details.

TODO: EXAMPLE

type CfnCluster_EncryptionInTransitProperty

type CfnCluster_EncryptionInTransitProperty struct {
	// 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` .
	ClientBroker *string `json:"clientBroker" yaml:"clientBroker"`
	// 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.
	InCluster interface{} `json:"inCluster" yaml:"inCluster"`
}

The settings for encrypting data in transit.

TODO: EXAMPLE

type CfnCluster_EncryptionInfoProperty

type CfnCluster_EncryptionInfoProperty struct {
	// The data-volume encryption details.
	EncryptionAtRest interface{} `json:"encryptionAtRest" yaml:"encryptionAtRest"`
	// The details for encryption in transit.
	EncryptionInTransit interface{} `json:"encryptionInTransit" yaml:"encryptionInTransit"`
}

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.

TODO: EXAMPLE

type CfnCluster_FirehoseProperty

type CfnCluster_FirehoseProperty struct {
	// Specifies whether broker logs get sent to the specified Kinesis Data Firehose delivery stream.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
	// The Kinesis Data Firehose delivery stream that is the destination for broker logs.
	DeliveryStream *string `json:"deliveryStream" yaml:"deliveryStream"`
}

Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.

TODO: EXAMPLE

type CfnCluster_IamProperty

type CfnCluster_IamProperty struct {
	// Whether IAM access control is enabled.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
}

Details for IAM access control.

TODO: EXAMPLE

type CfnCluster_JmxExporterProperty

type CfnCluster_JmxExporterProperty struct {
	// Indicates whether you want to enable or disable the JMX Exporter.
	EnabledInBroker interface{} `json:"enabledInBroker" yaml:"enabledInBroker"`
}

Indicates whether you want to enable or disable the JMX Exporter.

TODO: EXAMPLE

type CfnCluster_LoggingInfoProperty

type CfnCluster_LoggingInfoProperty struct {
	// You can configure your Amazon MSK cluster to send broker logs to different destination types.
	//
	// This configuration specifies the details of these destinations.
	BrokerLogs interface{} `json:"brokerLogs" yaml:"brokerLogs"`
}

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.

TODO: EXAMPLE

type CfnCluster_NodeExporterProperty

type CfnCluster_NodeExporterProperty struct {
	// Indicates whether you want to enable or disable the Node Exporter.
	EnabledInBroker interface{} `json:"enabledInBroker" yaml:"enabledInBroker"`
}

Indicates whether you want to enable or disable the Node Exporter.

TODO: EXAMPLE

type CfnCluster_OpenMonitoringProperty

type CfnCluster_OpenMonitoringProperty struct {
	// Prometheus exporter settings.
	Prometheus interface{} `json:"prometheus" yaml:"prometheus"`
}

JMX and Node monitoring for the MSK cluster.

TODO: EXAMPLE

type CfnCluster_PrometheusProperty

type CfnCluster_PrometheusProperty struct {
	// Indicates whether you want to enable or disable the JMX Exporter.
	JmxExporter interface{} `json:"jmxExporter" yaml:"jmxExporter"`
	// Indicates whether you want to enable or disable the Node Exporter.
	NodeExporter interface{} `json:"nodeExporter" yaml:"nodeExporter"`
}

Prometheus settings for open monitoring.

TODO: EXAMPLE

type CfnCluster_PublicAccessProperty

type CfnCluster_PublicAccessProperty struct {
	// Set to `DISABLED` to turn off public access or to `SERVICE_PROVIDED_EIPS` to turn it on.
	//
	// Public access if off by default.
	Type *string `json:"type" yaml:"type"`
}

Specifies whether the cluster's brokers are accessible from the internet.

Public access is off by default.

TODO: EXAMPLE

type CfnCluster_S3Property

type CfnCluster_S3Property struct {
	// Specifies whether broker logs get sent to the specified Amazon S3 destination.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
	// The name of the S3 bucket that is the destination for broker logs.
	Bucket *string `json:"bucket" yaml:"bucket"`
	// The S3 prefix that is the destination for broker logs.
	Prefix *string `json:"prefix" yaml:"prefix"`
}

The details of the Amazon S3 destination for broker logs.

TODO: EXAMPLE

type CfnCluster_SaslProperty

type CfnCluster_SaslProperty struct {
	// Details for IAM access control.
	Iam interface{} `json:"iam" yaml:"iam"`
	// Details for SASL/SCRAM client authentication.
	Scram interface{} `json:"scram" yaml:"scram"`
}

Details for client authentication using SASL.

To turn on SASL, you must also turn on `EncryptionInTransit` by setting `inCluster` to true. You must set `clientBroker` to either `TLS` or `TLS_PLAINTEXT` . If you choose `TLS_PLAINTEXT` , then you must also set `unauthenticated` to true.

TODO: EXAMPLE

type CfnCluster_ScramProperty

type CfnCluster_ScramProperty struct {
	// SASL/SCRAM authentication is enabled or not.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
}

Details for SASL/SCRAM client authentication.

TODO: EXAMPLE

type CfnCluster_StorageInfoProperty

type CfnCluster_StorageInfoProperty struct {
	// EBS volume information.
	EbsStorageInfo interface{} `json:"ebsStorageInfo" yaml:"ebsStorageInfo"`
}

Contains information about storage volumes attached to MSK broker nodes.

TODO: EXAMPLE

type CfnCluster_TlsProperty

type CfnCluster_TlsProperty struct {
	// List of ACM Certificate Authority ARNs.
	CertificateAuthorityArnList *[]*string `json:"certificateAuthorityArnList" yaml:"certificateAuthorityArnList"`
	// TLS authentication is enabled or not.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
}

Details for client authentication using TLS.

TODO: EXAMPLE

type CfnCluster_UnauthenticatedProperty

type CfnCluster_UnauthenticatedProperty struct {
	// Unauthenticated is enabled or not.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
}

Details for allowing no client authentication.

TODO: EXAMPLE

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() awscdk.ConstructNode
	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
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*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" yaml:"arn"`
	// The revision of the Amazon MSK configuration to use.
	// Experimental.
	Revision *float64 `json:"revision" yaml:"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" yaml:"clusterName"`
	// The version of Apache Kafka.
	// Experimental.
	KafkaVersion KafkaVersion `json:"kafkaVersion" yaml:"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" yaml:"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" yaml:"clientAuthentication"`
	// The Amazon MSK configuration to use for the cluster.
	// Experimental.
	ConfigurationInfo *ClusterConfigurationInfo `json:"configurationInfo" yaml:"configurationInfo"`
	// Information about storage volumes attached to MSK broker nodes.
	// Experimental.
	EbsStorageInfo *EbsStorageInfo `json:"ebsStorageInfo" yaml:"ebsStorageInfo"`
	// Config details for encryption in transit.
	// Experimental.
	EncryptionInTransit *EncryptionInTransitConfig `json:"encryptionInTransit" yaml:"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" yaml:"instanceType"`
	// Configure your MSK cluster to send broker logs to different destination types.
	// Experimental.
	Logging *BrokerLogging `json:"logging" yaml:"logging"`
	// Cluster monitoring configuration.
	// Experimental.
	Monitoring *MonitoringConfiguration `json:"monitoring" yaml:"monitoring"`
	// Number of Apache Kafka brokers deployed in each Availability Zone.
	// Experimental.
	NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes" yaml:"numberOfBrokerNodes"`
	// What to do when this resource is deleted from a stack.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy" yaml:"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" yaml:"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" yaml:"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" yaml:"encryptionKey"`
	// The size in GiB of the EBS volume for the data drive on each broker node.
	// Experimental.
	VolumeSize *float64 `json:"volumeSize" yaml:"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" yaml:"clientBroker"`
	// Indicates that data communication among the broker nodes of the cluster is encrypted.
	// Experimental.
	EnableInCluster *bool `json:"enableInCluster" yaml:"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

func Cluster_FromClusterArn(scope constructs.Construct, id *string, clusterArn *string) ICluster

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" yaml:"clusterMonitoringLevel"`
	// Indicates whether you want to enable or disable the JMX Exporter.
	// Experimental.
	EnablePrometheusJmxExporter *bool `json:"enablePrometheusJmxExporter" yaml:"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" yaml:"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" yaml:"bucket"`
	// The S3 prefix that is the destination for broker logs.
	// Experimental.
	Prefix *string `json:"prefix" yaml:"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" yaml:"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" yaml:"key"`
	// Enable SASL/SCRAM authentication.
	// Experimental.
	Scram *bool `json:"scram" yaml:"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" yaml:"certificateAuthorities"`
}

TLS authentication properties.

TODO: EXAMPLE

Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL