awsmsk

package
v1.124.0-devpreview Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2021 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"`
	// 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. 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`.

func NewCfnCluster

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

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

type CfnClusterProps

type CfnClusterProps struct {
	// `AWS::MSK::Cluster.BrokerNodeGroupInfo`.
	BrokerNodeGroupInfo interface{} `json:"brokerNodeGroupInfo"`
	// `AWS::MSK::Cluster.ClusterName`.
	ClusterName *string `json:"clusterName"`
	// `AWS::MSK::Cluster.KafkaVersion`.
	KafkaVersion *string `json:"kafkaVersion"`
	// `AWS::MSK::Cluster.NumberOfBrokerNodes`.
	NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes"`
	// `AWS::MSK::Cluster.ClientAuthentication`.
	ClientAuthentication interface{} `json:"clientAuthentication"`
	// `AWS::MSK::Cluster.ConfigurationInfo`.
	ConfigurationInfo interface{} `json:"configurationInfo"`
	// `AWS::MSK::Cluster.EncryptionInfo`.
	EncryptionInfo interface{} `json:"encryptionInfo"`
	// `AWS::MSK::Cluster.EnhancedMonitoring`.
	EnhancedMonitoring *string `json:"enhancedMonitoring"`
	// `AWS::MSK::Cluster.LoggingInfo`.
	LoggingInfo interface{} `json:"loggingInfo"`
	// `AWS::MSK::Cluster.OpenMonitoring`.
	OpenMonitoring interface{} `json:"openMonitoring"`
	// `AWS::MSK::Cluster.Tags`.
	Tags interface{} `json:"tags"`
}

Properties for defining a `AWS::MSK::Cluster`.

type CfnCluster_BrokerLogsProperty

type CfnCluster_BrokerLogsProperty struct {
	// `CfnCluster.BrokerLogsProperty.CloudWatchLogs`.
	CloudWatchLogs interface{} `json:"cloudWatchLogs"`
	// `CfnCluster.BrokerLogsProperty.Firehose`.
	Firehose interface{} `json:"firehose"`
	// `CfnCluster.BrokerLogsProperty.S3`.
	S3 interface{} `json:"s3"`
}

type CfnCluster_BrokerNodeGroupInfoProperty

type CfnCluster_BrokerNodeGroupInfoProperty struct {
	// `CfnCluster.BrokerNodeGroupInfoProperty.ClientSubnets`.
	ClientSubnets *[]*string `json:"clientSubnets"`
	// `CfnCluster.BrokerNodeGroupInfoProperty.InstanceType`.
	InstanceType *string `json:"instanceType"`
	// `CfnCluster.BrokerNodeGroupInfoProperty.BrokerAZDistribution`.
	BrokerAzDistribution *string `json:"brokerAzDistribution"`
	// `CfnCluster.BrokerNodeGroupInfoProperty.SecurityGroups`.
	SecurityGroups *[]*string `json:"securityGroups"`
	// `CfnCluster.BrokerNodeGroupInfoProperty.StorageInfo`.
	StorageInfo interface{} `json:"storageInfo"`
}

type CfnCluster_ClientAuthenticationProperty

type CfnCluster_ClientAuthenticationProperty struct {
	// `CfnCluster.ClientAuthenticationProperty.Sasl`.
	Sasl interface{} `json:"sasl"`
	// `CfnCluster.ClientAuthenticationProperty.Tls`.
	Tls interface{} `json:"tls"`
}

type CfnCluster_CloudWatchLogsProperty

type CfnCluster_CloudWatchLogsProperty struct {
	// `CfnCluster.CloudWatchLogsProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnCluster.CloudWatchLogsProperty.LogGroup`.
	LogGroup *string `json:"logGroup"`
}

type CfnCluster_ConfigurationInfoProperty

type CfnCluster_ConfigurationInfoProperty struct {
	// `CfnCluster.ConfigurationInfoProperty.Arn`.
	Arn *string `json:"arn"`
	// `CfnCluster.ConfigurationInfoProperty.Revision`.
	Revision *float64 `json:"revision"`
}

type CfnCluster_EBSStorageInfoProperty

type CfnCluster_EBSStorageInfoProperty struct {
	// `CfnCluster.EBSStorageInfoProperty.VolumeSize`.
	VolumeSize *float64 `json:"volumeSize"`
}

type CfnCluster_EncryptionAtRestProperty

type CfnCluster_EncryptionAtRestProperty struct {
	// `CfnCluster.EncryptionAtRestProperty.DataVolumeKMSKeyId`.
	DataVolumeKmsKeyId *string `json:"dataVolumeKmsKeyId"`
}

type CfnCluster_EncryptionInTransitProperty

type CfnCluster_EncryptionInTransitProperty struct {
	// `CfnCluster.EncryptionInTransitProperty.ClientBroker`.
	ClientBroker *string `json:"clientBroker"`
	// `CfnCluster.EncryptionInTransitProperty.InCluster`.
	InCluster interface{} `json:"inCluster"`
}

type CfnCluster_EncryptionInfoProperty

type CfnCluster_EncryptionInfoProperty struct {
	// `CfnCluster.EncryptionInfoProperty.EncryptionAtRest`.
	EncryptionAtRest interface{} `json:"encryptionAtRest"`
	// `CfnCluster.EncryptionInfoProperty.EncryptionInTransit`.
	EncryptionInTransit interface{} `json:"encryptionInTransit"`
}

type CfnCluster_FirehoseProperty

type CfnCluster_FirehoseProperty struct {
	// `CfnCluster.FirehoseProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnCluster.FirehoseProperty.DeliveryStream`.
	DeliveryStream *string `json:"deliveryStream"`
}

type CfnCluster_IamProperty

type CfnCluster_IamProperty struct {
	// `CfnCluster.IamProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
}

type CfnCluster_JmxExporterProperty

type CfnCluster_JmxExporterProperty struct {
	// `CfnCluster.JmxExporterProperty.EnabledInBroker`.
	EnabledInBroker interface{} `json:"enabledInBroker"`
}

type CfnCluster_LoggingInfoProperty

type CfnCluster_LoggingInfoProperty struct {
	// `CfnCluster.LoggingInfoProperty.BrokerLogs`.
	BrokerLogs interface{} `json:"brokerLogs"`
}

type CfnCluster_NodeExporterProperty

type CfnCluster_NodeExporterProperty struct {
	// `CfnCluster.NodeExporterProperty.EnabledInBroker`.
	EnabledInBroker interface{} `json:"enabledInBroker"`
}

type CfnCluster_OpenMonitoringProperty

type CfnCluster_OpenMonitoringProperty struct {
	// `CfnCluster.OpenMonitoringProperty.Prometheus`.
	Prometheus interface{} `json:"prometheus"`
}

type CfnCluster_PrometheusProperty

type CfnCluster_PrometheusProperty struct {
	// `CfnCluster.PrometheusProperty.JmxExporter`.
	JmxExporter interface{} `json:"jmxExporter"`
	// `CfnCluster.PrometheusProperty.NodeExporter`.
	NodeExporter interface{} `json:"nodeExporter"`
}

type CfnCluster_S3Property

type CfnCluster_S3Property struct {
	// `CfnCluster.S3Property.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnCluster.S3Property.Bucket`.
	Bucket *string `json:"bucket"`
	// `CfnCluster.S3Property.Prefix`.
	Prefix *string `json:"prefix"`
}

type CfnCluster_SaslProperty

type CfnCluster_SaslProperty struct {
	// `CfnCluster.SaslProperty.Iam`.
	Iam interface{} `json:"iam"`
	// `CfnCluster.SaslProperty.Scram`.
	Scram interface{} `json:"scram"`
}

type CfnCluster_ScramProperty

type CfnCluster_ScramProperty struct {
	// `CfnCluster.ScramProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
}

type CfnCluster_StorageInfoProperty

type CfnCluster_StorageInfoProperty struct {
	// `CfnCluster.StorageInfoProperty.EBSStorageInfo`.
	EbsStorageInfo interface{} `json:"ebsStorageInfo"`
}

type CfnCluster_TlsProperty

type CfnCluster_TlsProperty struct {
	// `CfnCluster.TlsProperty.CertificateAuthorityArnList`.
	CertificateAuthorityArnList *[]*string `json:"certificateAuthorityArnList"`
}

type ClientAuthentication

type ClientAuthentication interface {
	SaslProps() *SaslAuthProps
	TlsProps() *TlsAuthProps
}

Configuration properties for client authentication. 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. 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. 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 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. 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. 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. 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. 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_7_0

func KafkaVersion_V2_7_0() KafkaVersion

func KafkaVersion_V2_8_0

func KafkaVersion_V2_8_0() 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. 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. 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. Experimental.

type TlsAuthProps

type TlsAuthProps struct {
	// List of ACM Certificate Authorities to enable TLS authentication.
	// Experimental.
	CertificateAuthorities *[]awsacmpca.ICertificateAuthority `json:"certificateAuthorities"`
}

TLS authentication properties. Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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