Documentation ¶
Index ¶
- func CfnBatchScramSecret_CFN_RESOURCE_TYPE_NAME() *string
- func CfnBatchScramSecret_IsCfnElement(x interface{}) *bool
- func CfnBatchScramSecret_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnBatchScramSecret_IsConstruct(x interface{}) *bool
- func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCluster_IsCfnElement(x interface{}) *bool
- func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCluster_IsConstruct(x interface{}) *bool
- func CfnConfiguration_CFN_RESOURCE_TYPE_NAME() *string
- func CfnConfiguration_IsCfnElement(x interface{}) *bool
- func CfnConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnConfiguration_IsConstruct(x interface{}) *bool
- func CfnServerlessCluster_CFN_RESOURCE_TYPE_NAME() *string
- func CfnServerlessCluster_IsCfnElement(x interface{}) *bool
- func CfnServerlessCluster_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnServerlessCluster_IsConstruct(x interface{}) *bool
- func Cluster_IsConstruct(x interface{}) *bool
- func Cluster_IsResource(construct awscdk.IConstruct) *bool
- func NewCfnBatchScramSecret_Override(c CfnBatchScramSecret, scope awscdk.Construct, id *string, ...)
- func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)
- func NewCfnConfiguration_Override(c CfnConfiguration, scope awscdk.Construct, id *string, ...)
- func NewCfnServerlessCluster_Override(c CfnServerlessCluster, scope awscdk.Construct, id *string, ...)
- func NewCluster_Override(c Cluster, scope constructs.Construct, id *string, props *ClusterProps)
- type BrokerLogging
- type CfnBatchScramSecret
- type CfnBatchScramSecretProps
- type CfnCluster
- type CfnClusterProps
- type CfnCluster_BrokerLogsProperty
- type CfnCluster_BrokerNodeGroupInfoProperty
- type CfnCluster_ClientAuthenticationProperty
- type CfnCluster_CloudWatchLogsProperty
- type CfnCluster_ConfigurationInfoProperty
- type CfnCluster_ConnectivityInfoProperty
- type CfnCluster_EBSStorageInfoProperty
- type CfnCluster_EncryptionAtRestProperty
- type CfnCluster_EncryptionInTransitProperty
- type CfnCluster_EncryptionInfoProperty
- type CfnCluster_FirehoseProperty
- type CfnCluster_IamProperty
- type CfnCluster_JmxExporterProperty
- type CfnCluster_LoggingInfoProperty
- type CfnCluster_NodeExporterProperty
- type CfnCluster_OpenMonitoringProperty
- type CfnCluster_PrometheusProperty
- type CfnCluster_ProvisionedThroughputProperty
- type CfnCluster_PublicAccessProperty
- type CfnCluster_S3Property
- type CfnCluster_SaslProperty
- type CfnCluster_ScramProperty
- type CfnCluster_StorageInfoProperty
- type CfnCluster_TlsProperty
- type CfnCluster_UnauthenticatedProperty
- type CfnCluster_VpcConnectivityClientAuthenticationProperty
- type CfnCluster_VpcConnectivityIamProperty
- type CfnCluster_VpcConnectivityProperty
- type CfnCluster_VpcConnectivitySaslProperty
- type CfnCluster_VpcConnectivityScramProperty
- type CfnCluster_VpcConnectivityTlsProperty
- type CfnConfiguration
- type CfnConfigurationProps
- type CfnServerlessCluster
- type CfnServerlessClusterProps
- type CfnServerlessCluster_ClientAuthenticationProperty
- type CfnServerlessCluster_IamProperty
- type CfnServerlessCluster_SaslProperty
- type CfnServerlessCluster_VpcConfigProperty
- 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 CfnBatchScramSecret_CFN_RESOURCE_TYPE_NAME ¶
func CfnBatchScramSecret_CFN_RESOURCE_TYPE_NAME() *string
func CfnBatchScramSecret_IsCfnElement ¶
func CfnBatchScramSecret_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 CfnBatchScramSecret_IsCfnResource ¶
func CfnBatchScramSecret_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnBatchScramSecret_IsConstruct ¶
func CfnBatchScramSecret_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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 CfnConfiguration_CFN_RESOURCE_TYPE_NAME ¶
func CfnConfiguration_CFN_RESOURCE_TYPE_NAME() *string
func CfnConfiguration_IsCfnElement ¶
func CfnConfiguration_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 CfnConfiguration_IsCfnResource ¶
func CfnConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnConfiguration_IsConstruct ¶
func CfnConfiguration_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnServerlessCluster_CFN_RESOURCE_TYPE_NAME ¶
func CfnServerlessCluster_CFN_RESOURCE_TYPE_NAME() *string
func CfnServerlessCluster_IsCfnElement ¶
func CfnServerlessCluster_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 CfnServerlessCluster_IsCfnResource ¶
func CfnServerlessCluster_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnServerlessCluster_IsConstruct ¶
func CfnServerlessCluster_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 NewCfnBatchScramSecret_Override ¶
func NewCfnBatchScramSecret_Override(c CfnBatchScramSecret, scope awscdk.Construct, id *string, props *CfnBatchScramSecretProps)
Create a new `AWS::MSK::BatchScramSecret`.
func NewCfnCluster_Override ¶
func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)
Create a new `AWS::MSK::Cluster`.
func NewCfnConfiguration_Override ¶
func NewCfnConfiguration_Override(c CfnConfiguration, scope awscdk.Construct, id *string, props *CfnConfigurationProps)
Create a new `AWS::MSK::Configuration`.
func NewCfnServerlessCluster_Override ¶
func NewCfnServerlessCluster_Override(c CfnServerlessCluster, scope awscdk.Construct, id *string, props *CfnServerlessClusterProps)
Create a new `AWS::MSK::ServerlessCluster`.
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 `field:"optional" json:"cloudwatchLogGroup" yaml:"cloudwatchLogGroup"` // The Kinesis Data Firehose delivery stream that is the destination for broker logs. // Experimental. FirehoseDeliveryStreamName *string `field:"optional" json:"firehoseDeliveryStreamName" yaml:"firehoseDeliveryStreamName"` // Details of the Amazon S3 destination for broker logs. // Experimental. S3 *S3LoggingConfiguration `field:"optional" json:"s3" yaml:"s3"` }
Configuration details related to broker logs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var bucket bucket var logGroup logGroup brokerLogging := &brokerLogging{ cloudwatchLogGroup: logGroup, firehoseDeliveryStreamName: jsii.String("firehoseDeliveryStreamName"), s3: &s3LoggingConfiguration{ bucket: bucket, // the properties below are optional prefix: jsii.String("prefix"), }, }
Experimental.
type CfnBatchScramSecret ¶
type CfnBatchScramSecret interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // The Amazon Resource Name (ARN) of the MSK cluster. ClusterArn() *string SetClusterArn(val *string) // Returns: 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. // Experimental. CreationStack() *[]*string // 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)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // A list of Amazon Secrets Manager secret ARNs. SecretArnList() *[]*string SetSecretArnList(val *[]*string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // 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. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // 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. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` 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, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // 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`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // 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. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::MSK::BatchScramSecret`.
Represents a secret stored in the Amazon Secrets Manager that can be used to authenticate with a cluster using a user name and a password.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnBatchScramSecret := awscdk.Aws_msk.NewCfnBatchScramSecret(this, jsii.String("MyCfnBatchScramSecret"), &cfnBatchScramSecretProps{ clusterArn: jsii.String("clusterArn"), // the properties below are optional secretArnList: []*string{ jsii.String("secretArnList"), }, })
func NewCfnBatchScramSecret ¶
func NewCfnBatchScramSecret(scope awscdk.Construct, id *string, props *CfnBatchScramSecretProps) CfnBatchScramSecret
Create a new `AWS::MSK::BatchScramSecret`.
type CfnBatchScramSecretProps ¶
type CfnBatchScramSecretProps struct { // The Amazon Resource Name (ARN) of the MSK cluster. ClusterArn *string `field:"required" json:"clusterArn" yaml:"clusterArn"` // A list of Amazon Secrets Manager secret ARNs. SecretArnList *[]*string `field:"optional" json:"secretArnList" yaml:"secretArnList"` }
Properties for defining a `CfnBatchScramSecret`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnBatchScramSecretProps := &cfnBatchScramSecretProps{ clusterArn: jsii.String("clusterArn"), // the properties below are optional secretArnList: []*string{ jsii.String("secretArnList"), }, }
type CfnCluster ¶
type CfnCluster interface { awscdk.CfnResource awscdk.IInspectable AttrArn() *string // 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) . BrokerNodeGroupInfo() interface{} SetBrokerNodeGroupInfo(val interface{}) // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Includes information related to client authentication. ClientAuthentication() interface{} SetClientAuthentication(val interface{}) // The name of the cluster. ClusterName() *string SetClusterName(val *string) // The Amazon MSK configuration to use for the cluster. ConfigurationInfo() interface{} SetConfigurationInfo(val interface{}) // Returns: 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. // Experimental. CreationStack() *[]*string // The version of the cluster that you want to update. CurrentVersion() *string SetCurrentVersion(val *string) // Includes all encryption-related information. EncryptionInfo() interface{} SetEncryptionInfo(val interface{}) // Specifies the level of monitoring for the MSK cluster. // // The possible values are `DEFAULT` , `PER_BROKER` , and `PER_TOPIC_PER_BROKER` . EnhancedMonitoring() *string SetEnhancedMonitoring(val *string) // 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 SetKafkaVersion(val *string) // 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{} SetLoggingInfo(val interface{}) // 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)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 SetNumberOfBrokerNodes(val *float64) // The settings for open monitoring. OpenMonitoring() interface{} SetOpenMonitoring(val interface{}) // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // This controls storage mode for supported storage tiers. StorageMode() *string SetStorageMode(val *string) // A map of key:value pairs to apply to this resource. // // Both key and value are of type String. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // 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. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // 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. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` 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, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // 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`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // 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. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCluster := awscdk.Aws_msk.NewCfnCluster(this, jsii.String("MyCfnCluster"), &cfnClusterProps{ brokerNodeGroupInfo: &brokerNodeGroupInfoProperty{ clientSubnets: []*string{ jsii.String("clientSubnets"), }, instanceType: jsii.String("instanceType"), // the properties below are optional brokerAzDistribution: jsii.String("brokerAzDistribution"), connectivityInfo: &connectivityInfoProperty{ publicAccess: &publicAccessProperty{ type: jsii.String("type"), }, vpcConnectivity: &vpcConnectivityProperty{ clientAuthentication: &vpcConnectivityClientAuthenticationProperty{ sasl: &vpcConnectivitySaslProperty{ iam: &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }, scram: &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }, }, tls: &vpcConnectivityTlsProperty{ enabled: jsii.Boolean(false), }, }, }, }, securityGroups: []*string{ jsii.String("securityGroups"), }, storageInfo: &storageInfoProperty{ ebsStorageInfo: &eBSStorageInfoProperty{ provisionedThroughput: &provisionedThroughputProperty{ enabled: jsii.Boolean(false), volumeThroughput: jsii.Number(123), }, volumeSize: jsii.Number(123), }, }, }, clusterName: jsii.String("clusterName"), kafkaVersion: jsii.String("kafkaVersion"), numberOfBrokerNodes: jsii.Number(123), // the properties below are optional clientAuthentication: &clientAuthenticationProperty{ sasl: &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, scram: &scramProperty{ enabled: jsii.Boolean(false), }, }, tls: &tlsProperty{ certificateAuthorityArnList: []*string{ jsii.String("certificateAuthorityArnList"), }, enabled: jsii.Boolean(false), }, unauthenticated: &unauthenticatedProperty{ enabled: jsii.Boolean(false), }, }, configurationInfo: &configurationInfoProperty{ arn: jsii.String("arn"), revision: jsii.Number(123), }, currentVersion: jsii.String("currentVersion"), encryptionInfo: &encryptionInfoProperty{ encryptionAtRest: &encryptionAtRestProperty{ dataVolumeKmsKeyId: jsii.String("dataVolumeKmsKeyId"), }, encryptionInTransit: &encryptionInTransitProperty{ clientBroker: jsii.String("clientBroker"), inCluster: jsii.Boolean(false), }, }, enhancedMonitoring: jsii.String("enhancedMonitoring"), loggingInfo: &loggingInfoProperty{ brokerLogs: &brokerLogsProperty{ cloudWatchLogs: &cloudWatchLogsProperty{ enabled: jsii.Boolean(false), // the properties below are optional logGroup: jsii.String("logGroup"), }, firehose: &firehoseProperty{ enabled: jsii.Boolean(false), // the properties below are optional deliveryStream: jsii.String("deliveryStream"), }, s3: &s3Property{ enabled: jsii.Boolean(false), // the properties below are optional bucket: jsii.String("bucket"), prefix: jsii.String("prefix"), }, }, }, openMonitoring: &openMonitoringProperty{ prometheus: &prometheusProperty{ jmxExporter: &jmxExporterProperty{ enabledInBroker: jsii.Boolean(false), }, nodeExporter: &nodeExporterProperty{ enabledInBroker: jsii.Boolean(false), }, }, }, storageMode: jsii.String("storageMode"), tags: map[string]*string{ "tagsKey": jsii.String("tags"), }, })
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. // // 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) . BrokerNodeGroupInfo interface{} `field:"required" json:"brokerNodeGroupInfo" yaml:"brokerNodeGroupInfo"` // The name of the cluster. ClusterName *string `field:"required" 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 `field:"required" 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 `field:"required" json:"numberOfBrokerNodes" yaml:"numberOfBrokerNodes"` // Includes information related to client authentication. ClientAuthentication interface{} `field:"optional" json:"clientAuthentication" yaml:"clientAuthentication"` // The Amazon MSK configuration to use for the cluster. ConfigurationInfo interface{} `field:"optional" json:"configurationInfo" yaml:"configurationInfo"` // The version of the cluster that you want to update. CurrentVersion *string `field:"optional" json:"currentVersion" yaml:"currentVersion"` // Includes all encryption-related information. EncryptionInfo interface{} `field:"optional" 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 `field:"optional" 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{} `field:"optional" json:"loggingInfo" yaml:"loggingInfo"` // The settings for open monitoring. OpenMonitoring interface{} `field:"optional" json:"openMonitoring" yaml:"openMonitoring"` // This controls storage mode for supported storage tiers. StorageMode *string `field:"optional" json:"storageMode" yaml:"storageMode"` // A map of key:value pairs to apply to this resource. // // Both key and value are of type String. Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnCluster`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClusterProps := &cfnClusterProps{ brokerNodeGroupInfo: &brokerNodeGroupInfoProperty{ clientSubnets: []*string{ jsii.String("clientSubnets"), }, instanceType: jsii.String("instanceType"), // the properties below are optional brokerAzDistribution: jsii.String("brokerAzDistribution"), connectivityInfo: &connectivityInfoProperty{ publicAccess: &publicAccessProperty{ type: jsii.String("type"), }, vpcConnectivity: &vpcConnectivityProperty{ clientAuthentication: &vpcConnectivityClientAuthenticationProperty{ sasl: &vpcConnectivitySaslProperty{ iam: &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }, scram: &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }, }, tls: &vpcConnectivityTlsProperty{ enabled: jsii.Boolean(false), }, }, }, }, securityGroups: []*string{ jsii.String("securityGroups"), }, storageInfo: &storageInfoProperty{ ebsStorageInfo: &eBSStorageInfoProperty{ provisionedThroughput: &provisionedThroughputProperty{ enabled: jsii.Boolean(false), volumeThroughput: jsii.Number(123), }, volumeSize: jsii.Number(123), }, }, }, clusterName: jsii.String("clusterName"), kafkaVersion: jsii.String("kafkaVersion"), numberOfBrokerNodes: jsii.Number(123), // the properties below are optional clientAuthentication: &clientAuthenticationProperty{ sasl: &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, scram: &scramProperty{ enabled: jsii.Boolean(false), }, }, tls: &tlsProperty{ certificateAuthorityArnList: []*string{ jsii.String("certificateAuthorityArnList"), }, enabled: jsii.Boolean(false), }, unauthenticated: &unauthenticatedProperty{ enabled: jsii.Boolean(false), }, }, configurationInfo: &configurationInfoProperty{ arn: jsii.String("arn"), revision: jsii.Number(123), }, currentVersion: jsii.String("currentVersion"), encryptionInfo: &encryptionInfoProperty{ encryptionAtRest: &encryptionAtRestProperty{ dataVolumeKmsKeyId: jsii.String("dataVolumeKmsKeyId"), }, encryptionInTransit: &encryptionInTransitProperty{ clientBroker: jsii.String("clientBroker"), inCluster: jsii.Boolean(false), }, }, enhancedMonitoring: jsii.String("enhancedMonitoring"), loggingInfo: &loggingInfoProperty{ brokerLogs: &brokerLogsProperty{ cloudWatchLogs: &cloudWatchLogsProperty{ enabled: jsii.Boolean(false), // the properties below are optional logGroup: jsii.String("logGroup"), }, firehose: &firehoseProperty{ enabled: jsii.Boolean(false), // the properties below are optional deliveryStream: jsii.String("deliveryStream"), }, s3: &s3Property{ enabled: jsii.Boolean(false), // the properties below are optional bucket: jsii.String("bucket"), prefix: jsii.String("prefix"), }, }, }, openMonitoring: &openMonitoringProperty{ prometheus: &prometheusProperty{ jmxExporter: &jmxExporterProperty{ enabledInBroker: jsii.Boolean(false), }, nodeExporter: &nodeExporterProperty{ enabledInBroker: jsii.Boolean(false), }, }, }, storageMode: jsii.String("storageMode"), tags: map[string]*string{ "tagsKey": jsii.String("tags"), }, }
type CfnCluster_BrokerLogsProperty ¶
type CfnCluster_BrokerLogsProperty struct { // Details of the CloudWatch Logs destination for broker logs. CloudWatchLogs interface{} `field:"optional" json:"cloudWatchLogs" yaml:"cloudWatchLogs"` // Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs. Firehose interface{} `field:"optional" json:"firehose" yaml:"firehose"` // Details of the Amazon MSK destination for broker logs. S3 interface{} `field:"optional" 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.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" brokerLogsProperty := &brokerLogsProperty{ cloudWatchLogs: &cloudWatchLogsProperty{ enabled: jsii.Boolean(false), // the properties below are optional logGroup: jsii.String("logGroup"), }, firehose: &firehoseProperty{ enabled: jsii.Boolean(false), // the properties below are optional deliveryStream: jsii.String("deliveryStream"), }, s3: &s3Property{ enabled: jsii.Boolean(false), // the properties below are optional bucket: jsii.String("bucket"), prefix: jsii.String("prefix"), }, }
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. // // If you use the US West (N. California) Region, specify exactly two subnets. 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` . ClientSubnets *[]*string `field:"required" 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, kafka.m5.24xlarge, and kafka.t3.small. InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"` // This parameter is currently not in use. BrokerAzDistribution *string `field:"optional" json:"brokerAzDistribution" yaml:"brokerAzDistribution"` // Information about the cluster's connectivity setting. ConnectivityInfo interface{} `field:"optional" 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 `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Contains information about storage volumes attached to Amazon MSK broker nodes. StorageInfo interface{} `field:"optional" json:"storageInfo" yaml:"storageInfo"` }
The setup to be used for brokers in the cluster.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" brokerNodeGroupInfoProperty := &brokerNodeGroupInfoProperty{ clientSubnets: []*string{ jsii.String("clientSubnets"), }, instanceType: jsii.String("instanceType"), // the properties below are optional brokerAzDistribution: jsii.String("brokerAzDistribution"), connectivityInfo: &connectivityInfoProperty{ publicAccess: &publicAccessProperty{ type: jsii.String("type"), }, vpcConnectivity: &vpcConnectivityProperty{ clientAuthentication: &vpcConnectivityClientAuthenticationProperty{ sasl: &vpcConnectivitySaslProperty{ iam: &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }, scram: &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }, }, tls: &vpcConnectivityTlsProperty{ enabled: jsii.Boolean(false), }, }, }, }, securityGroups: []*string{ jsii.String("securityGroups"), }, storageInfo: &storageInfoProperty{ ebsStorageInfo: &eBSStorageInfoProperty{ provisionedThroughput: &provisionedThroughputProperty{ enabled: jsii.Boolean(false), volumeThroughput: jsii.Number(123), }, volumeSize: jsii.Number(123), }, }, }
type CfnCluster_ClientAuthenticationProperty ¶
type CfnCluster_ClientAuthenticationProperty struct { // Details for ClientAuthentication using SASL. Sasl interface{} `field:"optional" json:"sasl" yaml:"sasl"` // Details for client authentication using TLS. Tls interface{} `field:"optional" json:"tls" yaml:"tls"` // Details for ClientAuthentication using no authentication. Unauthenticated interface{} `field:"optional" json:"unauthenticated" yaml:"unauthenticated"` }
Includes information related to client authentication.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clientAuthenticationProperty := &clientAuthenticationProperty{ sasl: &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, scram: &scramProperty{ enabled: jsii.Boolean(false), }, }, tls: &tlsProperty{ certificateAuthorityArnList: []*string{ jsii.String("certificateAuthorityArnList"), }, enabled: jsii.Boolean(false), }, unauthenticated: &unauthenticatedProperty{ enabled: jsii.Boolean(false), }, }
type CfnCluster_CloudWatchLogsProperty ¶
type CfnCluster_CloudWatchLogsProperty struct { // Specifies whether broker logs get sent to the specified CloudWatch Logs destination. Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"` // The CloudWatch Logs group that is the destination for broker logs. LogGroup *string `field:"optional" json:"logGroup" yaml:"logGroup"` }
Details of the CloudWatch Logs destination for broker logs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cloudWatchLogsProperty := &cloudWatchLogsProperty{ enabled: jsii.Boolean(false), // the properties below are optional logGroup: jsii.String("logGroup"), }
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 `field:"required" json:"arn" yaml:"arn"` // The revision of the Amazon MSK configuration to use. Revision *float64 `field:"required" json:"revision" yaml:"revision"` }
Specifies the Amazon MSK configuration to use for the brokers.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" configurationInfoProperty := &configurationInfoProperty{ arn: jsii.String("arn"), revision: jsii.Number(123), }
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{} `field:"optional" json:"publicAccess" yaml:"publicAccess"` // Not currently supported by AWS CloudFormation . VpcConnectivity interface{} `field:"optional" json:"vpcConnectivity" yaml:"vpcConnectivity"` }
Specifies whether the cluster's brokers are publicly accessible.
By default, they are not.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" connectivityInfoProperty := &connectivityInfoProperty{ publicAccess: &publicAccessProperty{ type: jsii.String("type"), }, vpcConnectivity: &vpcConnectivityProperty{ clientAuthentication: &vpcConnectivityClientAuthenticationProperty{ sasl: &vpcConnectivitySaslProperty{ iam: &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }, scram: &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }, }, tls: &vpcConnectivityTlsProperty{ enabled: jsii.Boolean(false), }, }, }, }
type CfnCluster_EBSStorageInfoProperty ¶
type CfnCluster_EBSStorageInfoProperty struct { // Specifies whether provisioned throughput is turned on and the volume throughput target. ProvisionedThroughput interface{} `field:"optional" json:"provisionedThroughput" yaml:"provisionedThroughput"` // The size in GiB of the EBS volume for the data drive on each broker node. VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"` }
Contains information about the EBS storage volumes attached to brokers.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" eBSStorageInfoProperty := &eBSStorageInfoProperty{ provisionedThroughput: &provisionedThroughputProperty{ enabled: jsii.Boolean(false), volumeThroughput: jsii.Number(123), }, volumeSize: jsii.Number(123), }
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 `field:"required" json:"dataVolumeKmsKeyId" yaml:"dataVolumeKmsKeyId"` }
The data volume encryption details.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" encryptionAtRestProperty := &encryptionAtRestProperty{ dataVolumeKmsKeyId: jsii.String("dataVolumeKmsKeyId"), }
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 `field:"optional" 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{} `field:"optional" json:"inCluster" yaml:"inCluster"` }
The settings for encrypting data in transit.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" encryptionInTransitProperty := &encryptionInTransitProperty{ clientBroker: jsii.String("clientBroker"), inCluster: jsii.Boolean(false), }
type CfnCluster_EncryptionInfoProperty ¶
type CfnCluster_EncryptionInfoProperty struct { // The data-volume encryption details. EncryptionAtRest interface{} `field:"optional" json:"encryptionAtRest" yaml:"encryptionAtRest"` // The details for encryption in transit. EncryptionInTransit interface{} `field:"optional" 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.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" encryptionInfoProperty := &encryptionInfoProperty{ encryptionAtRest: &encryptionAtRestProperty{ dataVolumeKmsKeyId: jsii.String("dataVolumeKmsKeyId"), }, encryptionInTransit: &encryptionInTransitProperty{ clientBroker: jsii.String("clientBroker"), inCluster: jsii.Boolean(false), }, }
type CfnCluster_FirehoseProperty ¶
type CfnCluster_FirehoseProperty struct { // Specifies whether broker logs get sent to the specified Kinesis Data Firehose delivery stream. Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"` // The Kinesis Data Firehose delivery stream that is the destination for broker logs. DeliveryStream *string `field:"optional" json:"deliveryStream" yaml:"deliveryStream"` }
Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" firehoseProperty := &firehoseProperty{ enabled: jsii.Boolean(false), // the properties below are optional deliveryStream: jsii.String("deliveryStream"), }
type CfnCluster_IamProperty ¶
type CfnCluster_IamProperty struct {
// Whether IAM access control is enabled.
Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}
Details for IAM access control.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" iamProperty := &iamProperty{ enabled: jsii.Boolean(false), }
type CfnCluster_JmxExporterProperty ¶
type CfnCluster_JmxExporterProperty struct {
// Indicates whether you want to enable or disable the JMX Exporter.
EnabledInBroker interface{} `field:"required" json:"enabledInBroker" yaml:"enabledInBroker"`
}
Indicates whether you want to enable or disable the JMX Exporter.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" jmxExporterProperty := &jmxExporterProperty{ enabledInBroker: jsii.Boolean(false), }
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{} `field:"required" 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.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" loggingInfoProperty := &loggingInfoProperty{ brokerLogs: &brokerLogsProperty{ cloudWatchLogs: &cloudWatchLogsProperty{ enabled: jsii.Boolean(false), // the properties below are optional logGroup: jsii.String("logGroup"), }, firehose: &firehoseProperty{ enabled: jsii.Boolean(false), // the properties below are optional deliveryStream: jsii.String("deliveryStream"), }, s3: &s3Property{ enabled: jsii.Boolean(false), // the properties below are optional bucket: jsii.String("bucket"), prefix: jsii.String("prefix"), }, }, }
type CfnCluster_NodeExporterProperty ¶
type CfnCluster_NodeExporterProperty struct {
// Indicates whether you want to enable or disable the Node Exporter.
EnabledInBroker interface{} `field:"required" json:"enabledInBroker" yaml:"enabledInBroker"`
}
Indicates whether you want to enable or disable the Node Exporter.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" nodeExporterProperty := &nodeExporterProperty{ enabledInBroker: jsii.Boolean(false), }
type CfnCluster_OpenMonitoringProperty ¶
type CfnCluster_OpenMonitoringProperty struct {
// Prometheus exporter settings.
Prometheus interface{} `field:"required" json:"prometheus" yaml:"prometheus"`
}
JMX and Node monitoring for the MSK cluster.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" openMonitoringProperty := &openMonitoringProperty{ prometheus: &prometheusProperty{ jmxExporter: &jmxExporterProperty{ enabledInBroker: jsii.Boolean(false), }, nodeExporter: &nodeExporterProperty{ enabledInBroker: jsii.Boolean(false), }, }, }
type CfnCluster_PrometheusProperty ¶
type CfnCluster_PrometheusProperty struct { // Indicates whether you want to enable or disable the JMX Exporter. JmxExporter interface{} `field:"optional" json:"jmxExporter" yaml:"jmxExporter"` // Indicates whether you want to enable or disable the Node Exporter. NodeExporter interface{} `field:"optional" json:"nodeExporter" yaml:"nodeExporter"` }
Prometheus settings for open monitoring.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" prometheusProperty := &prometheusProperty{ jmxExporter: &jmxExporterProperty{ enabledInBroker: jsii.Boolean(false), }, nodeExporter: &nodeExporterProperty{ enabledInBroker: jsii.Boolean(false), }, }
type CfnCluster_ProvisionedThroughputProperty ¶
type CfnCluster_ProvisionedThroughputProperty struct { // Specifies whether provisioned throughput is turned on for the cluster. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` // The provisioned throughput rate in MiB per second. VolumeThroughput *float64 `field:"optional" json:"volumeThroughput" yaml:"volumeThroughput"` }
Specifies whether provisioned throughput is turned on and the volume throughput target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" provisionedThroughputProperty := &provisionedThroughputProperty{ enabled: jsii.Boolean(false), volumeThroughput: jsii.Number(123), }
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 `field:"optional" json:"type" yaml:"type"` }
Specifies whether the cluster's brokers are accessible from the internet.
Public access is off by default.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" publicAccessProperty := &publicAccessProperty{ type: jsii.String("type"), }
type CfnCluster_S3Property ¶
type CfnCluster_S3Property struct { // Specifies whether broker logs get sent to the specified Amazon S3 destination. Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"` // The name of the S3 bucket that is the destination for broker logs. Bucket *string `field:"optional" json:"bucket" yaml:"bucket"` // The S3 prefix that is the destination for broker logs. Prefix *string `field:"optional" json:"prefix" yaml:"prefix"` }
The details of the Amazon S3 destination for broker logs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" s3Property := &s3Property{ enabled: jsii.Boolean(false), // the properties below are optional bucket: jsii.String("bucket"), prefix: jsii.String("prefix"), }
type CfnCluster_SaslProperty ¶
type CfnCluster_SaslProperty struct { // Details for IAM access control. Iam interface{} `field:"optional" json:"iam" yaml:"iam"` // Details for SASL/SCRAM client authentication. Scram interface{} `field:"optional" 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.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" saslProperty := &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, scram: &scramProperty{ enabled: jsii.Boolean(false), }, }
type CfnCluster_ScramProperty ¶
type CfnCluster_ScramProperty struct {
// SASL/SCRAM authentication is enabled or not.
Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}
Details for SASL/SCRAM client authentication.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" scramProperty := &scramProperty{ enabled: jsii.Boolean(false), }
type CfnCluster_StorageInfoProperty ¶
type CfnCluster_StorageInfoProperty struct {
// EBS volume information.
EbsStorageInfo interface{} `field:"optional" json:"ebsStorageInfo" yaml:"ebsStorageInfo"`
}
Contains information about storage volumes attached to Amazon MSK broker nodes.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" storageInfoProperty := &storageInfoProperty{ ebsStorageInfo: &eBSStorageInfoProperty{ provisionedThroughput: &provisionedThroughputProperty{ enabled: jsii.Boolean(false), volumeThroughput: jsii.Number(123), }, volumeSize: jsii.Number(123), }, }
type CfnCluster_TlsProperty ¶
type CfnCluster_TlsProperty struct { // List of ACM Certificate Authority ARNs. CertificateAuthorityArnList *[]*string `field:"optional" json:"certificateAuthorityArnList" yaml:"certificateAuthorityArnList"` // TLS authentication is enabled or not. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` }
Details for client authentication using TLS.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tlsProperty := &tlsProperty{ certificateAuthorityArnList: []*string{ jsii.String("certificateAuthorityArnList"), }, enabled: jsii.Boolean(false), }
type CfnCluster_UnauthenticatedProperty ¶
type CfnCluster_UnauthenticatedProperty struct {
// Unauthenticated is enabled or not.
Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}
Details for allowing no client authentication.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" unauthenticatedProperty := &unauthenticatedProperty{ enabled: jsii.Boolean(false), }
type CfnCluster_VpcConnectivityClientAuthenticationProperty ¶
type CfnCluster_VpcConnectivityClientAuthenticationProperty struct { // `CfnCluster.VpcConnectivityClientAuthenticationProperty.Sasl`. Sasl interface{} `field:"optional" json:"sasl" yaml:"sasl"` // `CfnCluster.VpcConnectivityClientAuthenticationProperty.Tls`. Tls interface{} `field:"optional" json:"tls" yaml:"tls"` }
Not currently supported by AWS CloudFormation .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcConnectivityClientAuthenticationProperty := &vpcConnectivityClientAuthenticationProperty{ sasl: &vpcConnectivitySaslProperty{ iam: &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }, scram: &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }, }, tls: &vpcConnectivityTlsProperty{ enabled: jsii.Boolean(false), }, }
type CfnCluster_VpcConnectivityIamProperty ¶
type CfnCluster_VpcConnectivityIamProperty struct {
// `CfnCluster.VpcConnectivityIamProperty.Enabled`.
Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}
Not currently supported by AWS CloudFormation .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcConnectivityIamProperty := &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }
type CfnCluster_VpcConnectivityProperty ¶
type CfnCluster_VpcConnectivityProperty struct {
// Not currently supported by AWS CloudFormation .
ClientAuthentication interface{} `field:"optional" json:"clientAuthentication" yaml:"clientAuthentication"`
}
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcConnectivityProperty := &vpcConnectivityProperty{ clientAuthentication: &vpcConnectivityClientAuthenticationProperty{ sasl: &vpcConnectivitySaslProperty{ iam: &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }, scram: &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }, }, tls: &vpcConnectivityTlsProperty{ enabled: jsii.Boolean(false), }, }, }
type CfnCluster_VpcConnectivitySaslProperty ¶
type CfnCluster_VpcConnectivitySaslProperty struct { // `CfnCluster.VpcConnectivitySaslProperty.Iam`. Iam interface{} `field:"optional" json:"iam" yaml:"iam"` // `CfnCluster.VpcConnectivitySaslProperty.Scram`. Scram interface{} `field:"optional" json:"scram" yaml:"scram"` }
Not currently supported by AWS CloudFormation .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcConnectivitySaslProperty := &vpcConnectivitySaslProperty{ iam: &vpcConnectivityIamProperty{ enabled: jsii.Boolean(false), }, scram: &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }, }
type CfnCluster_VpcConnectivityScramProperty ¶
type CfnCluster_VpcConnectivityScramProperty struct {
// `CfnCluster.VpcConnectivityScramProperty.Enabled`.
Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}
Not currently supported by AWS CloudFormation .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcConnectivityScramProperty := &vpcConnectivityScramProperty{ enabled: jsii.Boolean(false), }
type CfnCluster_VpcConnectivityTlsProperty ¶
type CfnCluster_VpcConnectivityTlsProperty struct {
// `CfnCluster.VpcConnectivityTlsProperty.Enabled`.
Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}
Not currently supported by AWS CloudFormation .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcConnectivityTlsProperty := &vpcConnectivityTlsProperty{ enabled: jsii.Boolean(false), }
type CfnConfiguration ¶
type CfnConfiguration interface { awscdk.CfnResource awscdk.IInspectable // The ARN of the configuration. AttrArn() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Returns: 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. // Experimental. CreationStack() *[]*string // The description of the configuration. Description() *string SetDescription(val *string) // A list of the versions of Apache Kafka with which you can use this MSK configuration. // // You can use this configuration for an MSK cluster only if the Apache Kafka version specified for the cluster appears in this list. KafkaVersionsList() *[]*string SetKafkaVersionsList(val *[]*string) // 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)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The name of the configuration. // // Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]{0,}$". Name() *string SetName(val *string) // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the console, the SDK, or the CLI, the contents of server.properties can be in plaintext. ServerProperties() *string SetServerProperties(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // 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. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // 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. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` 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, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // 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`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // 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. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::MSK::Configuration`.
Creates a new MSK configuration.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnConfiguration := awscdk.Aws_msk.NewCfnConfiguration(this, jsii.String("MyCfnConfiguration"), &cfnConfigurationProps{ name: jsii.String("name"), serverProperties: jsii.String("serverProperties"), // the properties below are optional description: jsii.String("description"), kafkaVersionsList: []*string{ jsii.String("kafkaVersionsList"), }, })
func NewCfnConfiguration ¶
func NewCfnConfiguration(scope awscdk.Construct, id *string, props *CfnConfigurationProps) CfnConfiguration
Create a new `AWS::MSK::Configuration`.
type CfnConfigurationProps ¶
type CfnConfigurationProps struct { // The name of the configuration. // // Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]{0,}$". Name *string `field:"required" json:"name" yaml:"name"` // Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the console, the SDK, or the CLI, the contents of server.properties can be in plaintext. ServerProperties *string `field:"required" json:"serverProperties" yaml:"serverProperties"` // The description of the configuration. Description *string `field:"optional" json:"description" yaml:"description"` // A list of the versions of Apache Kafka with which you can use this MSK configuration. // // You can use this configuration for an MSK cluster only if the Apache Kafka version specified for the cluster appears in this list. KafkaVersionsList *[]*string `field:"optional" json:"kafkaVersionsList" yaml:"kafkaVersionsList"` }
Properties for defining a `CfnConfiguration`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnConfigurationProps := &cfnConfigurationProps{ name: jsii.String("name"), serverProperties: jsii.String("serverProperties"), // the properties below are optional description: jsii.String("description"), kafkaVersionsList: []*string{ jsii.String("kafkaVersionsList"), }, }
type CfnServerlessCluster ¶
type CfnServerlessCluster interface { awscdk.CfnResource awscdk.IInspectable // The ARN of the serverless cluster. AttrArn() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. CfnResourceType() *string // Specifies client authentication information for the serverless cluster. ClientAuthentication() interface{} SetClientAuthentication(val interface{}) // The name of the serverless cluster. ClusterName() *string SetClusterName(val *string) // Returns: 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. // Experimental. CreationStack() *[]*string // 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)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // A map of key:value pairs to apply to this serverless cluster. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // VPC configuration information. VpcConfigs() interface{} SetVpcConfigs(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. AddDeletionOverride(path *string) // 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. // Experimental. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // 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. // // Experimental. AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` 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, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. AddPropertyOverride(propertyPath *string, value interface{}) // 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`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // 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. // Experimental. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::MSK::ServerlessCluster`.
The `AWS::MSK::ServerlessCluster` resource creates an Amazon MSK Serverless cluster. For more information, see [MSK Serverless](https://docs.aws.amazon.com/msk/latest/developerguide/serverless.html) in the *Amazon MSK Developer Guide*
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnServerlessCluster := awscdk.Aws_msk.NewCfnServerlessCluster(this, jsii.String("MyCfnServerlessCluster"), &cfnServerlessClusterProps{ clientAuthentication: &clientAuthenticationProperty{ sasl: &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, }, }, clusterName: jsii.String("clusterName"), vpcConfigs: []interface{}{ &vpcConfigProperty{ subnetIds: []*string{ jsii.String("subnetIds"), }, // the properties below are optional securityGroups: []*string{ jsii.String("securityGroups"), }, }, }, // the properties below are optional tags: map[string]*string{ "tagsKey": jsii.String("tags"), }, })
func NewCfnServerlessCluster ¶
func NewCfnServerlessCluster(scope awscdk.Construct, id *string, props *CfnServerlessClusterProps) CfnServerlessCluster
Create a new `AWS::MSK::ServerlessCluster`.
type CfnServerlessClusterProps ¶
type CfnServerlessClusterProps struct { // Specifies client authentication information for the serverless cluster. ClientAuthentication interface{} `field:"required" json:"clientAuthentication" yaml:"clientAuthentication"` // The name of the serverless cluster. ClusterName *string `field:"required" json:"clusterName" yaml:"clusterName"` // VPC configuration information. VpcConfigs interface{} `field:"required" json:"vpcConfigs" yaml:"vpcConfigs"` // A map of key:value pairs to apply to this serverless cluster. Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnServerlessCluster`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnServerlessClusterProps := &cfnServerlessClusterProps{ clientAuthentication: &clientAuthenticationProperty{ sasl: &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, }, }, clusterName: jsii.String("clusterName"), vpcConfigs: []interface{}{ &vpcConfigProperty{ subnetIds: []*string{ jsii.String("subnetIds"), }, // the properties below are optional securityGroups: []*string{ jsii.String("securityGroups"), }, }, }, // the properties below are optional tags: map[string]*string{ "tagsKey": jsii.String("tags"), }, }
type CfnServerlessCluster_ClientAuthenticationProperty ¶
type CfnServerlessCluster_ClientAuthenticationProperty struct { // 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. Sasl interface{} `field:"required" json:"sasl" yaml:"sasl"` }
Includes all client authentication information.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clientAuthenticationProperty := &clientAuthenticationProperty{ sasl: &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, }, }
type CfnServerlessCluster_IamProperty ¶
type CfnServerlessCluster_IamProperty struct {
// SASL/IAM authentication is enabled or not.
Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}
Details for IAM client authentication.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" iamProperty := &iamProperty{ enabled: jsii.Boolean(false), }
type CfnServerlessCluster_SaslProperty ¶
type CfnServerlessCluster_SaslProperty struct {
// Details for client authentication using IAM.
Iam interface{} `field:"required" json:"iam" yaml:"iam"`
}
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.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" saslProperty := &saslProperty{ iam: &iamProperty{ enabled: jsii.Boolean(false), }, }
type CfnServerlessCluster_VpcConfigProperty ¶
type CfnServerlessCluster_VpcConfigProperty struct { // A list of subnets in at least two different Availability Zones that host your client applications. // // We recommend that you specify a backup subnet in a different Availability Zone for failover in case of an outage. SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"` // Specifies up to five security groups that control inbound and outbound traffic for the serverless cluster. SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"` }
Specifies information about subnets and security groups for the VPC that your clients will use to connect with the serverless cluster.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcConfigProperty := &vpcConfigProperty{ subnetIds: []*string{ jsii.String("subnetIds"), }, // the properties below are optional securityGroups: []*string{ jsii.String("securityGroups"), }, }
type ClientAuthentication ¶
type ClientAuthentication interface { // - properties for SASL authentication. // Experimental. SaslProps() *SaslAuthProps // - properties for TLS authentication. // Experimental. TlsProps() *TlsAuthProps }
Configuration properties for client authentication.
Example:
var vpc vpc cluster := msk.NewCluster(this, jsii.String("cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.sasl(&saslAuthProps{ scram: jsii.Boolean(true), }), })
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.
Example:
var vpc vpc cluster := msk.NewCluster(this, jsii.String("cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.sasl(&saslAuthProps{ scram: jsii.Boolean(true), }), })
Experimental.
const ( // TLS means that client-broker communication is enabled with TLS only. // Experimental. ClientBrokerEncryption_TLS ClientBrokerEncryption = "TLS" // TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data. // Experimental. ClientBrokerEncryption_TLS_PLAINTEXT ClientBrokerEncryption = "TLS_PLAINTEXT" // PLAINTEXT means that client-broker communication is enabled in plaintext only. // Experimental. ClientBrokerEncryption_PLAINTEXT ClientBrokerEncryption = "PLAINTEXT" )
type Cluster ¶
type Cluster interface { awscdk.Resource ICluster // Get the list of brokers that a client application can use to bootstrap. // // Uses a Custom Resource to make an API call to `getBootstrapBrokers` using the Javascript SDK. // // Returns: - A string containing one or more hostname:port pairs. // Experimental. BootstrapBrokers() *string // Get the list of brokers that a SASL/SCRAM authenticated client application can use to bootstrap. // // Uses a Custom Resource to make an API call to `getBootstrapBrokers` using the Javascript SDK. // // Returns: - A string containing one or more dns name (or IP) and SASL SCRAM port pairs. // Experimental. BootstrapBrokersSaslScram() *string // Get the list of brokers that a TLS authenticated client application can use to bootstrap. // // Uses a Custom Resource to make an API call to `getBootstrapBrokers` using the Javascript SDK. // // Returns: - A string containing one or more DNS names (or IP) and TLS port pairs. // Experimental. BootstrapBrokersTls() *string // The ARN of cluster. // Experimental. ClusterArn() *string // The physical name of the cluster. // Experimental. ClusterName() *string // Manages connections for the cluster. // Experimental. Connections() awsec2.Connections // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. // Experimental. Env() *awscdk.ResourceEnvironment // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. // Experimental. PhysicalName() *string // Key used to encrypt SASL/SCRAM users. // Experimental. SaslScramAuthenticationKey() awskms.IKey // The stack in which this resource is defined. // Experimental. Stack() awscdk.Stack // Get the ZooKeeper Connection string. // // Uses a Custom Resource to make an API call to `describeCluster` using the Javascript SDK. // // Returns: - The connection string to use to connect to the Apache ZooKeeper cluster. // Experimental. ZookeeperConnectionString() *string // Get the ZooKeeper Connection string for a TLS enabled cluster. // // Uses a Custom Resource to make an API call to `describeCluster` using the Javascript SDK. // // Returns: - The connection string to use to connect to zookeeper cluster on TLS port. // Experimental. ZookeeperConnectionStringTls() *string // A list of usersnames to register with the cluster. // // The password will automatically be generated using Secrets // Manager and the { username, password } JSON object stored in Secrets Manager as `AmazonMSK_username`. // // Must be using the SASL/SCRAM authentication mechanism. // Experimental. AddUser(usernames ...*string) // Apply the given removal policy to this resource. // // 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`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Experimental. GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. // Experimental. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. // Experimental. GetResourceNameAttribute(nameAttr *string) *string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
Create a MSK Cluster.
Example:
var vpc vpc cluster := msk.NewCluster(this, jsii.String("cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.sasl(&saslAuthProps{ scram: jsii.Boolean(true), }), })
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 `field:"required" json:"arn" yaml:"arn"` // The revision of the Amazon MSK configuration to use. // Experimental. Revision *float64 `field:"required" json:"revision" yaml:"revision"` }
The Amazon MSK configuration to use for the cluster.
Note: There is currently no Cloudformation Resource to create a Configuration.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clusterConfigurationInfo := &clusterConfigurationInfo{ arn: jsii.String("arn"), revision: jsii.Number(123), }
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 ( // Default metrics are the essential metrics to monitor. // Experimental. ClusterMonitoringLevel_DEFAULT ClusterMonitoringLevel = "DEFAULT" // Per Broker metrics give you metrics at the broker level. // Experimental. ClusterMonitoringLevel_PER_BROKER ClusterMonitoringLevel = "PER_BROKER" // Per Topic Per Broker metrics help you understand volume at the topic level. // Experimental. ClusterMonitoringLevel_PER_TOPIC_PER_BROKER ClusterMonitoringLevel = "PER_TOPIC_PER_BROKER" // Per Topic Per Partition metrics help you understand consumer group lag at the topic partition level. // Experimental. ClusterMonitoringLevel_PER_TOPIC_PER_PARTITION ClusterMonitoringLevel = "PER_TOPIC_PER_PARTITION" )
type ClusterProps ¶
type ClusterProps struct { // The physical name of the cluster. // Experimental. ClusterName *string `field:"required" json:"clusterName" yaml:"clusterName"` // The version of Apache Kafka. // Experimental. KafkaVersion KafkaVersion `field:"required" 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 `field:"required" 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 `field:"optional" json:"clientAuthentication" yaml:"clientAuthentication"` // The Amazon MSK configuration to use for the cluster. // Experimental. ConfigurationInfo *ClusterConfigurationInfo `field:"optional" json:"configurationInfo" yaml:"configurationInfo"` // Information about storage volumes attached to MSK broker nodes. // Experimental. EbsStorageInfo *EbsStorageInfo `field:"optional" json:"ebsStorageInfo" yaml:"ebsStorageInfo"` // Config details for encryption in transit. // Experimental. EncryptionInTransit *EncryptionInTransitConfig `field:"optional" 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 `field:"optional" json:"instanceType" yaml:"instanceType"` // Configure your MSK cluster to send broker logs to different destination types. // Experimental. Logging *BrokerLogging `field:"optional" json:"logging" yaml:"logging"` // Cluster monitoring configuration. // Experimental. Monitoring *MonitoringConfiguration `field:"optional" json:"monitoring" yaml:"monitoring"` // Number of Apache Kafka brokers deployed in each Availability Zone. // Experimental. NumberOfBrokerNodes *float64 `field:"optional" json:"numberOfBrokerNodes" yaml:"numberOfBrokerNodes"` // What to do when this resource is deleted from a stack. // Experimental. RemovalPolicy awscdk.RemovalPolicy `field:"optional" 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 `field:"optional" 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 `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties for a MSK Cluster.
Example:
var vpc vpc cluster := msk.NewCluster(this, jsii.String("cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.sasl(&saslAuthProps{ scram: jsii.Boolean(true), }), })
Experimental.
type EbsStorageInfo ¶
type EbsStorageInfo struct { // The AWS KMS key for encrypting data at rest. // Experimental. EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // The size in GiB of the EBS volume for the data drive on each broker node. // Experimental. VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"` }
EBS volume information.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var key key ebsStorageInfo := &ebsStorageInfo{ encryptionKey: key, volumeSize: jsii.Number(123), }
Experimental.
type EncryptionInTransitConfig ¶
type EncryptionInTransitConfig struct { // Indicates the encryption setting for data in transit between clients and brokers. // Experimental. ClientBroker ClientBrokerEncryption `field:"optional" json:"clientBroker" yaml:"clientBroker"` // Indicates that data communication among the broker nodes of the cluster is encrypted. // Experimental. EnableInCluster *bool `field:"optional" json:"enableInCluster" yaml:"enableInCluster"` }
The settings for encrypting data in transit.
Example:
var vpc vpc cluster := msk.NewCluster(this, jsii.String("cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.sasl(&saslAuthProps{ scram: jsii.Boolean(true), }), })
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 { // cluster version number. // Experimental. Version() *string }
Kafka cluster version.
Example:
var vpc vpc cluster := msk.NewCluster(this, jsii.String("cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.sasl(&saslAuthProps{ scram: jsii.Boolean(true), }), })
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 `field:"optional" json:"clusterMonitoringLevel" yaml:"clusterMonitoringLevel"` // Indicates whether you want to enable or disable the JMX Exporter. // Experimental. EnablePrometheusJmxExporter *bool `field:"optional" 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 `field:"optional" json:"enablePrometheusNodeExporter" yaml:"enablePrometheusNodeExporter"` }
Monitoring Configuration.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" monitoringConfiguration := &monitoringConfiguration{ clusterMonitoringLevel: awscdk.Aws_msk.clusterMonitoringLevel_DEFAULT, enablePrometheusJmxExporter: jsii.Boolean(false), enablePrometheusNodeExporter: jsii.Boolean(false), }
Experimental.
type S3LoggingConfiguration ¶
type S3LoggingConfiguration struct { // The S3 bucket that is the destination for broker logs. // Experimental. Bucket awss3.IBucket `field:"required" json:"bucket" yaml:"bucket"` // The S3 prefix that is the destination for broker logs. // Experimental. Prefix *string `field:"optional" json:"prefix" yaml:"prefix"` }
Details of the Amazon S3 destination for broker logs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var bucket bucket s3LoggingConfiguration := &s3LoggingConfiguration{ bucket: bucket, // the properties below are optional prefix: jsii.String("prefix"), }
Experimental.
type SaslAuthProps ¶
type SaslAuthProps struct { // Enable IAM access control. // Experimental. Iam *bool `field:"optional" 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 `field:"optional" json:"key" yaml:"key"` // Enable SASL/SCRAM authentication. // Experimental. Scram *bool `field:"optional" json:"scram" yaml:"scram"` }
SASL authentication properties.
Example:
var vpc vpc cluster := msk.NewCluster(this, jsii.String("cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.sasl(&saslAuthProps{ scram: jsii.Boolean(true), }), })
Experimental.
type TlsAuthProps ¶
type TlsAuthProps struct { // List of ACM Certificate Authorities to enable TLS authentication. // Experimental. CertificateAuthorities *[]awsacmpca.ICertificateAuthority `field:"optional" json:"certificateAuthorities" yaml:"certificateAuthorities"` }
TLS authentication properties.
Example:
import acmpca "github.com/aws/aws-cdk-go/awscdk" var vpc vpc cluster := msk.NewCluster(this, jsii.String("Cluster"), &clusterProps{ clusterName: jsii.String("myCluster"), kafkaVersion: msk.kafkaVersion_V2_8_1(), vpc: vpc, encryptionInTransit: &encryptionInTransitConfig{ clientBroker: msk.clientBrokerEncryption_TLS, }, clientAuthentication: msk.clientAuthentication.tls(&tlsAuthProps{ certificateAuthorities: []iCertificateAuthority{ acmpca.certificateAuthority.fromCertificateAuthorityArn(this, jsii.String("CertificateAuthority"), jsii.String("arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111")), }, }), })
Experimental.
Source Files ¶
- awsmsk.go
- awsmsk_BrokerLogging.go
- awsmsk_CfnBatchScramSecret.go
- awsmsk_CfnBatchScramSecretProps.go
- awsmsk_CfnBatchScramSecret__runtime_type_checks.go
- awsmsk_CfnCluster.go
- awsmsk_CfnClusterProps.go
- awsmsk_CfnCluster_BrokerLogsProperty.go
- awsmsk_CfnCluster_BrokerNodeGroupInfoProperty.go
- awsmsk_CfnCluster_ClientAuthenticationProperty.go
- awsmsk_CfnCluster_CloudWatchLogsProperty.go
- awsmsk_CfnCluster_ConfigurationInfoProperty.go
- awsmsk_CfnCluster_ConnectivityInfoProperty.go
- awsmsk_CfnCluster_EBSStorageInfoProperty.go
- awsmsk_CfnCluster_EncryptionAtRestProperty.go
- awsmsk_CfnCluster_EncryptionInTransitProperty.go
- awsmsk_CfnCluster_EncryptionInfoProperty.go
- awsmsk_CfnCluster_FirehoseProperty.go
- awsmsk_CfnCluster_IamProperty.go
- awsmsk_CfnCluster_JmxExporterProperty.go
- awsmsk_CfnCluster_LoggingInfoProperty.go
- awsmsk_CfnCluster_NodeExporterProperty.go
- awsmsk_CfnCluster_OpenMonitoringProperty.go
- awsmsk_CfnCluster_PrometheusProperty.go
- awsmsk_CfnCluster_ProvisionedThroughputProperty.go
- awsmsk_CfnCluster_PublicAccessProperty.go
- awsmsk_CfnCluster_S3Property.go
- awsmsk_CfnCluster_SaslProperty.go
- awsmsk_CfnCluster_ScramProperty.go
- awsmsk_CfnCluster_StorageInfoProperty.go
- awsmsk_CfnCluster_TlsProperty.go
- awsmsk_CfnCluster_UnauthenticatedProperty.go
- awsmsk_CfnCluster_VpcConnectivityClientAuthenticationProperty.go
- awsmsk_CfnCluster_VpcConnectivityIamProperty.go
- awsmsk_CfnCluster_VpcConnectivityProperty.go
- awsmsk_CfnCluster_VpcConnectivitySaslProperty.go
- awsmsk_CfnCluster_VpcConnectivityScramProperty.go
- awsmsk_CfnCluster_VpcConnectivityTlsProperty.go
- awsmsk_CfnCluster__runtime_type_checks.go
- awsmsk_CfnConfiguration.go
- awsmsk_CfnConfigurationProps.go
- awsmsk_CfnConfiguration__runtime_type_checks.go
- awsmsk_CfnServerlessCluster.go
- awsmsk_CfnServerlessClusterProps.go
- awsmsk_CfnServerlessCluster_ClientAuthenticationProperty.go
- awsmsk_CfnServerlessCluster_IamProperty.go
- awsmsk_CfnServerlessCluster_SaslProperty.go
- awsmsk_CfnServerlessCluster_VpcConfigProperty.go
- awsmsk_CfnServerlessCluster__runtime_type_checks.go
- awsmsk_ClientAuthentication.go
- awsmsk_ClientAuthentication__runtime_type_checks.go
- awsmsk_ClientBrokerEncryption.go
- awsmsk_Cluster.go
- awsmsk_ClusterConfigurationInfo.go
- awsmsk_ClusterMonitoringLevel.go
- awsmsk_ClusterProps.go
- awsmsk_Cluster__runtime_type_checks.go
- awsmsk_EbsStorageInfo.go
- awsmsk_EncryptionInTransitConfig.go
- awsmsk_ICluster.go
- awsmsk_ICluster__runtime_type_checks.go
- awsmsk_KafkaVersion.go
- awsmsk_KafkaVersion__runtime_type_checks.go
- awsmsk_MonitoringConfiguration.go
- awsmsk_S3LoggingConfiguration.go
- awsmsk_SaslAuthProps.go
- awsmsk_TlsAuthProps.go