Documentation ¶
Index ¶
- 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 Cluster_IsConstruct(x interface{}) *bool
- func Cluster_IsResource(construct awscdk.IConstruct) *bool
- func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)
- func NewCluster_Override(c Cluster, scope constructs.Construct, id *string, props *ClusterProps)
- type BrokerLogging
- type CfnCluster
- type CfnClusterProps
- type CfnCluster_BrokerLogsProperty
- type CfnCluster_BrokerNodeGroupInfoProperty
- type CfnCluster_ClientAuthenticationProperty
- type CfnCluster_CloudWatchLogsProperty
- type CfnCluster_ConfigurationInfoProperty
- 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_S3Property
- type CfnCluster_SaslProperty
- type CfnCluster_ScramProperty
- type CfnCluster_StorageInfoProperty
- type CfnCluster_TlsProperty
- 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_7_0() KafkaVersion
- func KafkaVersion_V2_8_0() KafkaVersion
- type MonitoringConfiguration
- type S3LoggingConfiguration
- type SaslAuthProps
- type TlsAuthProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnCluster_CFN_RESOURCE_TYPE_NAME ¶
func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string
func CfnCluster_IsCfnElement ¶
func CfnCluster_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnCluster_IsCfnResource ¶
func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnCluster_IsConstruct ¶
func CfnCluster_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Cluster_IsConstruct ¶
func Cluster_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Cluster_IsResource ¶
func Cluster_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func NewCfnCluster_Override ¶
func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)
Create a new `AWS::MSK::Cluster`.
func NewCluster_Override ¶
func NewCluster_Override(c Cluster, scope constructs.Construct, id *string, props *ClusterProps)
Experimental.
Types ¶
type BrokerLogging ¶
type BrokerLogging struct { // The CloudWatch Logs group that is the destination for broker logs. // Experimental. CloudwatchLogGroup awslogs.ILogGroup `json:"cloudwatchLogGroup"` // The Kinesis Data Firehose delivery stream that is the destination for broker logs. // Experimental. FirehoseDeliveryStreamName *string `json:"firehoseDeliveryStreamName"` // Details of the Amazon S3 destination for broker logs. // Experimental. S3 *S3LoggingConfiguration `json:"s3"` }
Configuration details related to broker logs. Experimental.
type CfnCluster ¶
type CfnCluster interface { awscdk.CfnResource awscdk.IInspectable BrokerNodeGroupInfo() interface{} SetBrokerNodeGroupInfo(val interface{}) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ClientAuthentication() interface{} SetClientAuthentication(val interface{}) ClusterName() *string SetClusterName(val *string) ConfigurationInfo() interface{} SetConfigurationInfo(val interface{}) CreationStack() *[]*string EncryptionInfo() interface{} SetEncryptionInfo(val interface{}) EnhancedMonitoring() *string SetEnhancedMonitoring(val *string) KafkaVersion() *string SetKafkaVersion(val *string) LoggingInfo() interface{} SetLoggingInfo(val interface{}) LogicalId() *string Node() awscdk.ConstructNode NumberOfBrokerNodes() *float64 SetNumberOfBrokerNodes(val *float64) OpenMonitoring() interface{} SetOpenMonitoring(val interface{}) Ref() *string Stack() awscdk.Stack Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::MSK::Cluster`.
func NewCfnCluster ¶
func NewCfnCluster(scope awscdk.Construct, id *string, props *CfnClusterProps) CfnCluster
Create a new `AWS::MSK::Cluster`.
type CfnClusterProps ¶
type CfnClusterProps struct { // `AWS::MSK::Cluster.BrokerNodeGroupInfo`. BrokerNodeGroupInfo interface{} `json:"brokerNodeGroupInfo"` // `AWS::MSK::Cluster.ClusterName`. ClusterName *string `json:"clusterName"` // `AWS::MSK::Cluster.KafkaVersion`. KafkaVersion *string `json:"kafkaVersion"` // `AWS::MSK::Cluster.NumberOfBrokerNodes`. NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes"` // `AWS::MSK::Cluster.ClientAuthentication`. ClientAuthentication interface{} `json:"clientAuthentication"` // `AWS::MSK::Cluster.ConfigurationInfo`. ConfigurationInfo interface{} `json:"configurationInfo"` // `AWS::MSK::Cluster.EncryptionInfo`. EncryptionInfo interface{} `json:"encryptionInfo"` // `AWS::MSK::Cluster.EnhancedMonitoring`. EnhancedMonitoring *string `json:"enhancedMonitoring"` // `AWS::MSK::Cluster.LoggingInfo`. LoggingInfo interface{} `json:"loggingInfo"` // `AWS::MSK::Cluster.OpenMonitoring`. OpenMonitoring interface{} `json:"openMonitoring"` // `AWS::MSK::Cluster.Tags`. Tags interface{} `json:"tags"` }
Properties for defining a `AWS::MSK::Cluster`.
type CfnCluster_BrokerLogsProperty ¶
type CfnCluster_BrokerLogsProperty struct { // `CfnCluster.BrokerLogsProperty.CloudWatchLogs`. CloudWatchLogs interface{} `json:"cloudWatchLogs"` // `CfnCluster.BrokerLogsProperty.Firehose`. Firehose interface{} `json:"firehose"` // `CfnCluster.BrokerLogsProperty.S3`. S3 interface{} `json:"s3"` }
type CfnCluster_BrokerNodeGroupInfoProperty ¶
type CfnCluster_BrokerNodeGroupInfoProperty struct { // `CfnCluster.BrokerNodeGroupInfoProperty.ClientSubnets`. ClientSubnets *[]*string `json:"clientSubnets"` // `CfnCluster.BrokerNodeGroupInfoProperty.InstanceType`. InstanceType *string `json:"instanceType"` // `CfnCluster.BrokerNodeGroupInfoProperty.BrokerAZDistribution`. BrokerAzDistribution *string `json:"brokerAzDistribution"` // `CfnCluster.BrokerNodeGroupInfoProperty.SecurityGroups`. SecurityGroups *[]*string `json:"securityGroups"` // `CfnCluster.BrokerNodeGroupInfoProperty.StorageInfo`. StorageInfo interface{} `json:"storageInfo"` }
type CfnCluster_ClientAuthenticationProperty ¶
type CfnCluster_ClientAuthenticationProperty struct { // `CfnCluster.ClientAuthenticationProperty.Sasl`. Sasl interface{} `json:"sasl"` // `CfnCluster.ClientAuthenticationProperty.Tls`. Tls interface{} `json:"tls"` }
type CfnCluster_CloudWatchLogsProperty ¶
type CfnCluster_CloudWatchLogsProperty struct { // `CfnCluster.CloudWatchLogsProperty.Enabled`. Enabled interface{} `json:"enabled"` // `CfnCluster.CloudWatchLogsProperty.LogGroup`. LogGroup *string `json:"logGroup"` }
type CfnCluster_EBSStorageInfoProperty ¶
type CfnCluster_EBSStorageInfoProperty struct { // `CfnCluster.EBSStorageInfoProperty.VolumeSize`. VolumeSize *float64 `json:"volumeSize"` }
type CfnCluster_EncryptionAtRestProperty ¶
type CfnCluster_EncryptionAtRestProperty struct { // `CfnCluster.EncryptionAtRestProperty.DataVolumeKMSKeyId`. DataVolumeKmsKeyId *string `json:"dataVolumeKmsKeyId"` }
type CfnCluster_EncryptionInTransitProperty ¶
type CfnCluster_EncryptionInTransitProperty struct { // `CfnCluster.EncryptionInTransitProperty.ClientBroker`. ClientBroker *string `json:"clientBroker"` // `CfnCluster.EncryptionInTransitProperty.InCluster`. InCluster interface{} `json:"inCluster"` }
type CfnCluster_EncryptionInfoProperty ¶
type CfnCluster_EncryptionInfoProperty struct { // `CfnCluster.EncryptionInfoProperty.EncryptionAtRest`. EncryptionAtRest interface{} `json:"encryptionAtRest"` // `CfnCluster.EncryptionInfoProperty.EncryptionInTransit`. EncryptionInTransit interface{} `json:"encryptionInTransit"` }
type CfnCluster_FirehoseProperty ¶
type CfnCluster_FirehoseProperty struct { // `CfnCluster.FirehoseProperty.Enabled`. Enabled interface{} `json:"enabled"` // `CfnCluster.FirehoseProperty.DeliveryStream`. DeliveryStream *string `json:"deliveryStream"` }
type CfnCluster_IamProperty ¶
type CfnCluster_IamProperty struct {
// `CfnCluster.IamProperty.Enabled`.
Enabled interface{} `json:"enabled"`
}
type CfnCluster_JmxExporterProperty ¶
type CfnCluster_JmxExporterProperty struct {
// `CfnCluster.JmxExporterProperty.EnabledInBroker`.
EnabledInBroker interface{} `json:"enabledInBroker"`
}
type CfnCluster_LoggingInfoProperty ¶
type CfnCluster_LoggingInfoProperty struct {
// `CfnCluster.LoggingInfoProperty.BrokerLogs`.
BrokerLogs interface{} `json:"brokerLogs"`
}
type CfnCluster_NodeExporterProperty ¶
type CfnCluster_NodeExporterProperty struct {
// `CfnCluster.NodeExporterProperty.EnabledInBroker`.
EnabledInBroker interface{} `json:"enabledInBroker"`
}
type CfnCluster_OpenMonitoringProperty ¶
type CfnCluster_OpenMonitoringProperty struct {
// `CfnCluster.OpenMonitoringProperty.Prometheus`.
Prometheus interface{} `json:"prometheus"`
}
type CfnCluster_PrometheusProperty ¶
type CfnCluster_PrometheusProperty struct { // `CfnCluster.PrometheusProperty.JmxExporter`. JmxExporter interface{} `json:"jmxExporter"` // `CfnCluster.PrometheusProperty.NodeExporter`. NodeExporter interface{} `json:"nodeExporter"` }
type CfnCluster_S3Property ¶
type CfnCluster_SaslProperty ¶
type CfnCluster_SaslProperty struct { // `CfnCluster.SaslProperty.Iam`. Iam interface{} `json:"iam"` // `CfnCluster.SaslProperty.Scram`. Scram interface{} `json:"scram"` }
type CfnCluster_ScramProperty ¶
type CfnCluster_ScramProperty struct {
// `CfnCluster.ScramProperty.Enabled`.
Enabled interface{} `json:"enabled"`
}
type CfnCluster_StorageInfoProperty ¶
type CfnCluster_StorageInfoProperty struct {
// `CfnCluster.StorageInfoProperty.EBSStorageInfo`.
EbsStorageInfo interface{} `json:"ebsStorageInfo"`
}
type CfnCluster_TlsProperty ¶
type CfnCluster_TlsProperty struct { // `CfnCluster.TlsProperty.CertificateAuthorityArnList`. CertificateAuthorityArnList *[]*string `json:"certificateAuthorityArnList"` }
type ClientAuthentication ¶
type ClientAuthentication interface { SaslProps() *SaslAuthProps TlsProps() *TlsAuthProps }
Configuration properties for client authentication. Experimental.
func ClientAuthentication_Sasl ¶
func ClientAuthentication_Sasl(props *SaslAuthProps) ClientAuthentication
SASL authentication. Experimental.
func ClientAuthentication_Tls ¶
func ClientAuthentication_Tls(props *TlsAuthProps) ClientAuthentication
TLS authentication. Experimental.
type ClientBrokerEncryption ¶
type ClientBrokerEncryption string
Indicates the encryption setting for data in transit between clients and brokers. Experimental.
const ( ClientBrokerEncryption_TLS ClientBrokerEncryption = "TLS" ClientBrokerEncryption_TLS_PLAINTEXT ClientBrokerEncryption = "TLS_PLAINTEXT" ClientBrokerEncryption_PLAINTEXT ClientBrokerEncryption = "PLAINTEXT" )
type Cluster ¶
type Cluster interface { awscdk.Resource ICluster BootstrapBrokers() *string BootstrapBrokersSaslScram() *string BootstrapBrokersTls() *string ClusterArn() *string ClusterName() *string Connections() awsec2.Connections Env() *awscdk.ResourceEnvironment Node() awscdk.ConstructNode PhysicalName() *string SaslScramAuthenticationKey() awskms.IKey Stack() awscdk.Stack ZookeeperConnectionString() *string ZookeeperConnectionStringTls() *string AddUser(usernames ...*string) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
Create a MSK Cluster. Experimental.
func NewCluster ¶
func NewCluster(scope constructs.Construct, id *string, props *ClusterProps) Cluster
Experimental.
type ClusterConfigurationInfo ¶
type ClusterConfigurationInfo struct { // The Amazon Resource Name (ARN) of the MSK configuration to use. // // For example, arn:aws:kafka:us-east-1:123456789012:configuration/example-configuration-name/abcdabcd-1234-abcd-1234-abcd123e8e8e-1. // Experimental. Arn *string `json:"arn"` // The revision of the Amazon MSK configuration to use. // Experimental. Revision *float64 `json:"revision"` }
The Amazon MSK configuration to use for the cluster.
Note: There is currently no Cloudformation Resource to create a Configuration Experimental.
type ClusterMonitoringLevel ¶
type ClusterMonitoringLevel string
The level of monitoring for the MSK cluster. See: https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html#metrics-details
Experimental.
const ( ClusterMonitoringLevel_DEFAULT ClusterMonitoringLevel = "DEFAULT" ClusterMonitoringLevel_PER_BROKER ClusterMonitoringLevel = "PER_BROKER" ClusterMonitoringLevel_PER_TOPIC_PER_BROKER ClusterMonitoringLevel = "PER_TOPIC_PER_BROKER" ClusterMonitoringLevel_PER_TOPIC_PER_PARTITION ClusterMonitoringLevel = "PER_TOPIC_PER_PARTITION" )
type ClusterProps ¶
type ClusterProps struct { // The physical name of the cluster. // Experimental. ClusterName *string `json:"clusterName"` // The version of Apache Kafka. // Experimental. KafkaVersion KafkaVersion `json:"kafkaVersion"` // Defines the virtual networking environment for this cluster. // // Must have at least 2 subnets in two different AZs. // Experimental. Vpc awsec2.IVpc `json:"vpc"` // Configuration properties for client authentication. // // MSK supports using private TLS certificates or SASL/SCRAM to authenticate the identity of clients. // Experimental. ClientAuthentication ClientAuthentication `json:"clientAuthentication"` // The Amazon MSK configuration to use for the cluster. // Experimental. ConfigurationInfo *ClusterConfigurationInfo `json:"configurationInfo"` // Information about storage volumes attached to MSK broker nodes. // Experimental. EbsStorageInfo *EbsStorageInfo `json:"ebsStorageInfo"` // Config details for encryption in transit. // Experimental. EncryptionInTransit *EncryptionInTransitConfig `json:"encryptionInTransit"` // The EC2 instance type that you want Amazon MSK to use when it creates your brokers. // See: https://docs.aws.amazon.com/msk/latest/developerguide/msk-create-cluster.html#broker-instance-types // // Experimental. InstanceType awsec2.InstanceType `json:"instanceType"` // Configure your MSK cluster to send broker logs to different destination types. // Experimental. Logging *BrokerLogging `json:"logging"` // Cluster monitoring configuration. // Experimental. Monitoring *MonitoringConfiguration `json:"monitoring"` // Number of Apache Kafka brokers deployed in each Availability Zone. // Experimental. NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes"` // What to do when this resource is deleted from a stack. // Experimental. RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"` // The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. // Experimental. SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"` // Where to place the nodes within the VPC. // // Amazon MSK distributes the broker nodes evenly across the subnets that you specify. // The subnets that you specify must be in distinct Availability Zones. // Client subnets can't be in Availability Zone us-east-1e. // Experimental. VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets"` }
Properties for a MSK Cluster. Experimental.
type EbsStorageInfo ¶
type EbsStorageInfo struct { // The AWS KMS key for encrypting data at rest. // Experimental. EncryptionKey awskms.IKey `json:"encryptionKey"` // The size in GiB of the EBS volume for the data drive on each broker node. // Experimental. VolumeSize *float64 `json:"volumeSize"` }
EBS volume information. Experimental.
type EncryptionInTransitConfig ¶
type EncryptionInTransitConfig struct { // Indicates the encryption setting for data in transit between clients and brokers. // Experimental. ClientBroker ClientBrokerEncryption `json:"clientBroker"` // Indicates that data communication among the broker nodes of the cluster is encrypted. // Experimental. EnableInCluster *bool `json:"enableInCluster"` }
The settings for encrypting data in transit. See: https://docs.aws.amazon.com/msk/latest/developerguide/msk-encryption.html#msk-encryption-in-transit
Experimental.
type ICluster ¶
type ICluster interface { awsec2.IConnectable awscdk.IResource // The ARN of cluster. // Experimental. ClusterArn() *string // The physical name of the cluster. // Experimental. ClusterName() *string }
Represents a MSK Cluster. Experimental.
func Cluster_FromClusterArn ¶
Reference an existing cluster, defined outside of the CDK code, by name. Experimental.
type KafkaVersion ¶
type KafkaVersion interface {
Version() *string
}
Kafka cluster version. Experimental.
func KafkaVersion_Of ¶
func KafkaVersion_Of(version *string) KafkaVersion
Custom cluster version. Experimental.
func KafkaVersion_V1_1_1 ¶
func KafkaVersion_V1_1_1() KafkaVersion
func KafkaVersion_V2_2_1 ¶
func KafkaVersion_V2_2_1() KafkaVersion
func KafkaVersion_V2_3_1 ¶
func KafkaVersion_V2_3_1() KafkaVersion
func KafkaVersion_V2_4_1_1 ¶
func KafkaVersion_V2_4_1_1() KafkaVersion
func KafkaVersion_V2_5_1 ¶
func KafkaVersion_V2_5_1() KafkaVersion
func KafkaVersion_V2_6_0 ¶
func KafkaVersion_V2_6_0() KafkaVersion
func KafkaVersion_V2_6_1 ¶
func KafkaVersion_V2_6_1() KafkaVersion
func KafkaVersion_V2_7_0 ¶
func KafkaVersion_V2_7_0() KafkaVersion
func KafkaVersion_V2_8_0 ¶
func KafkaVersion_V2_8_0() KafkaVersion
type MonitoringConfiguration ¶
type MonitoringConfiguration struct { // Specifies the level of monitoring for the MSK cluster. // Experimental. ClusterMonitoringLevel ClusterMonitoringLevel `json:"clusterMonitoringLevel"` // Indicates whether you want to enable or disable the JMX Exporter. // Experimental. EnablePrometheusJmxExporter *bool `json:"enablePrometheusJmxExporter"` // Indicates whether you want to enable or disable the Prometheus Node Exporter. // // You can use the Prometheus Node Exporter to get CPU and disk metrics for the broker nodes. // Experimental. EnablePrometheusNodeExporter *bool `json:"enablePrometheusNodeExporter"` }
Monitoring Configuration. Experimental.
type S3LoggingConfiguration ¶
type S3LoggingConfiguration struct { // The S3 bucket that is the destination for broker logs. // Experimental. Bucket awss3.IBucket `json:"bucket"` // The S3 prefix that is the destination for broker logs. // Experimental. Prefix *string `json:"prefix"` }
Details of the Amazon S3 destination for broker logs. Experimental.
type SaslAuthProps ¶
type SaslAuthProps struct { // KMS Key to encrypt SASL/SCRAM secrets. // // You must use a customer master key (CMK) when creating users in secrets manager. // You cannot use a Secret with Amazon MSK that uses the default Secrets Manager encryption key. // Experimental. Key awskms.IKey `json:"key"` // Enable SASL/SCRAM authentication. // Experimental. Scram *bool `json:"scram"` }
SASL authentication properties. Experimental.
type TlsAuthProps ¶
type TlsAuthProps struct { // List of ACM Certificate Authorities to enable TLS authentication. // Experimental. CertificateAuthorityArns *[]*string `json:"certificateAuthorityArns"` }
TLS authentication properties. Experimental.