aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,103 lines (1,102 loc) • 59.4 kB
TypeScript
import * as constructs from 'constructs';
import * as cdk from '../../core';
import * as cfn_parse from '../../core/lib/helpers-internal';
/**
* Properties for defining a `CfnBatchScramSecret`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html
*/
export interface CfnBatchScramSecretProps {
/**
* The Amazon Resource Name (ARN) of the MSK cluster.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html#cfn-msk-batchscramsecret-clusterarn
*/
readonly clusterArn: string;
/**
* A list of Amazon Secrets Manager secret ARNs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html#cfn-msk-batchscramsecret-secretarnlist
*/
readonly secretArnList?: string[];
}
/**
* A CloudFormation `AWS::MSK::BatchScramSecret`
*
* Represents a secret stored in the Amazon Secrets Manager that can be used to authenticate with a cluster using your sign-in credentials.
*
* @cloudformationResource AWS::MSK::BatchScramSecret
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html
*/
export declare class CfnBatchScramSecret extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::MSK::BatchScramSecret";
/**
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBatchScramSecret;
/**
* The Amazon Resource Name (ARN) of the MSK cluster.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html#cfn-msk-batchscramsecret-clusterarn
*/
clusterArn: string;
/**
* A list of Amazon Secrets Manager secret ARNs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html#cfn-msk-batchscramsecret-secretarnlist
*/
secretArnList: string[] | undefined;
/**
* Create a new `AWS::MSK::BatchScramSecret`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnBatchScramSecretProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
/**
* Properties for defining a `CfnCluster`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html
*/
export interface CfnClusterProps {
/**
* 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) .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-brokernodegroupinfo
*/
readonly brokerNodeGroupInfo: CfnCluster.BrokerNodeGroupInfoProperty | cdk.IResolvable;
/**
* The name of the cluster.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clustername
*/
readonly clusterName: 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-kafkaversion
*/
readonly kafkaVersion: string;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-numberofbrokernodes
*/
readonly numberOfBrokerNodes: number;
/**
* Includes information related to client authentication.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clientauthentication
*/
readonly clientAuthentication?: CfnCluster.ClientAuthenticationProperty | cdk.IResolvable;
/**
* The Amazon MSK configuration to use for the cluster.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-configurationinfo
*/
readonly configurationInfo?: CfnCluster.ConfigurationInfoProperty | cdk.IResolvable;
/**
* The version of the cluster that you want to update.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-currentversion
*/
readonly currentVersion?: string;
/**
* Includes all encryption-related information.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-encryptioninfo
*/
readonly encryptionInfo?: CfnCluster.EncryptionInfoProperty | cdk.IResolvable;
/**
* Specifies the level of monitoring for the MSK cluster. The possible values are `DEFAULT` , `PER_BROKER` , and `PER_TOPIC_PER_BROKER` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-enhancedmonitoring
*/
readonly enhancedMonitoring?: 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-logginginfo
*/
readonly loggingInfo?: CfnCluster.LoggingInfoProperty | cdk.IResolvable;
/**
* The settings for open monitoring.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-openmonitoring
*/
readonly openMonitoring?: CfnCluster.OpenMonitoringProperty | cdk.IResolvable;
/**
* This controls storage mode for supported storage tiers.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-storagemode
*/
readonly storageMode?: string;
/**
* A map of key:value pairs to apply to this resource. Both key and value are of type String.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-tags
*/
readonly tags?: {
[key: string]: (string);
};
}
/**
* 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* .
*
* @cloudformationResource AWS::MSK::Cluster
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html
*/
export declare class CfnCluster extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::MSK::Cluster";
/**
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCluster;
/**
*
* @cloudformationAttribute Arn
*/
readonly 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) .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-brokernodegroupinfo
*/
brokerNodeGroupInfo: CfnCluster.BrokerNodeGroupInfoProperty | cdk.IResolvable;
/**
* The name of the cluster.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clustername
*/
clusterName: 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-kafkaversion
*/
kafkaVersion: string;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-numberofbrokernodes
*/
numberOfBrokerNodes: number;
/**
* Includes information related to client authentication.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clientauthentication
*/
clientAuthentication: CfnCluster.ClientAuthenticationProperty | cdk.IResolvable | undefined;
/**
* The Amazon MSK configuration to use for the cluster.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-configurationinfo
*/
configurationInfo: CfnCluster.ConfigurationInfoProperty | cdk.IResolvable | undefined;
/**
* The version of the cluster that you want to update.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-currentversion
*/
currentVersion: string | undefined;
/**
* Includes all encryption-related information.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-encryptioninfo
*/
encryptionInfo: CfnCluster.EncryptionInfoProperty | cdk.IResolvable | undefined;
/**
* Specifies the level of monitoring for the MSK cluster. The possible values are `DEFAULT` , `PER_BROKER` , and `PER_TOPIC_PER_BROKER` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-enhancedmonitoring
*/
enhancedMonitoring: string | undefined;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-logginginfo
*/
loggingInfo: CfnCluster.LoggingInfoProperty | cdk.IResolvable | undefined;
/**
* The settings for open monitoring.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-openmonitoring
*/
openMonitoring: CfnCluster.OpenMonitoringProperty | cdk.IResolvable | undefined;
/**
* This controls storage mode for supported storage tiers.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-storagemode
*/
storageMode: string | undefined;
/**
* A map of key:value pairs to apply to this resource. Both key and value are of type String.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-tags
*/
readonly tags: cdk.TagManager;
/**
* Create a new `AWS::MSK::Cluster`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnClusterProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
export declare namespace CfnCluster {
/**
* You can configure your Amazon MSK cluster to send broker logs to different destination types. This configuration specifies the details of these destinations.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html
*/
interface BrokerLogsProperty {
/**
* Details of the CloudWatch Logs destination for broker logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-cloudwatchlogs
*/
readonly cloudWatchLogs?: CfnCluster.CloudWatchLogsProperty | cdk.IResolvable;
/**
* Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-firehose
*/
readonly firehose?: CfnCluster.FirehoseProperty | cdk.IResolvable;
/**
* Details of the Amazon MSK destination for broker logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-s3
*/
readonly s3?: CfnCluster.S3Property | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* The setup to be used for brokers in the cluster.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html
*/
interface BrokerNodeGroupInfoProperty {
/**
* This parameter is currently not in use.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-brokerazdistribution
*/
readonly brokerAzDistribution?: string;
/**
* 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` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-clientsubnets
*/
readonly clientSubnets: string[];
/**
* Information about the cluster's connectivity setting.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-connectivityinfo
*/
readonly connectivityInfo?: CfnCluster.ConnectivityInfoProperty | cdk.IResolvable;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-instancetype
*/
readonly instanceType: string;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-securitygroups
*/
readonly securityGroups?: string[];
/**
* Contains information about storage volumes attached to Amazon MSK broker nodes.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-storageinfo
*/
readonly storageInfo?: CfnCluster.StorageInfoProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Includes information related to client authentication.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html
*/
interface ClientAuthenticationProperty {
/**
* Details for ClientAuthentication using SASL.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-sasl
*/
readonly sasl?: CfnCluster.SaslProperty | cdk.IResolvable;
/**
* Details for client authentication using TLS.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-tls
*/
readonly tls?: CfnCluster.TlsProperty | cdk.IResolvable;
/**
* Details for ClientAuthentication using no authentication.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-unauthenticated
*/
readonly unauthenticated?: CfnCluster.UnauthenticatedProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Details of the CloudWatch Logs destination for broker logs.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html
*/
interface CloudWatchLogsProperty {
/**
* Specifies whether broker logs get sent to the specified CloudWatch Logs destination.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
/**
* The CloudWatch Logs group that is the destination for broker logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-loggroup
*/
readonly logGroup?: string;
}
}
export declare namespace CfnCluster {
/**
* Specifies the Amazon MSK configuration to use for the brokers.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html
*/
interface ConfigurationInfoProperty {
/**
* 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` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html#cfn-msk-cluster-configurationinfo-arn
*/
readonly arn: string;
/**
* The revision of the Amazon MSK configuration to use.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html#cfn-msk-cluster-configurationinfo-revision
*/
readonly revision: number;
}
}
export declare namespace CfnCluster {
/**
* Specifies whether the cluster's brokers are publicly accessible. By default, they are not.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-connectivityinfo.html
*/
interface ConnectivityInfoProperty {
/**
* Specifies whether the cluster's brokers are accessible from the internet. Public access is off by default.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-connectivityinfo.html#cfn-msk-cluster-connectivityinfo-publicaccess
*/
readonly publicAccess?: CfnCluster.PublicAccessProperty | cdk.IResolvable;
/**
* Not currently supported by AWS CloudFormation .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-connectivityinfo.html#cfn-msk-cluster-connectivityinfo-vpcconnectivity
*/
readonly vpcConnectivity?: CfnCluster.VpcConnectivityProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Contains information about the EBS storage volumes attached to brokers.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html
*/
interface EBSStorageInfoProperty {
/**
* Specifies whether provisioned throughput is turned on and the volume throughput target.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-provisionedthroughput
*/
readonly provisionedThroughput?: CfnCluster.ProvisionedThroughputProperty | cdk.IResolvable;
/**
* The size in GiB of the EBS volume for the data drive on each broker node.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-volumesize
*/
readonly volumeSize?: number;
}
}
export declare namespace CfnCluster {
/**
* The data volume encryption details.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionatrest.html
*/
interface EncryptionAtRestProperty {
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionatrest.html#cfn-msk-cluster-encryptionatrest-datavolumekmskeyid
*/
readonly dataVolumeKmsKeyId: string;
}
}
export declare namespace CfnCluster {
/**
* The settings for encrypting data in transit.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html
*/
interface EncryptionInTransitProperty {
/**
* 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` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html#cfn-msk-cluster-encryptionintransit-clientbroker
*/
readonly clientBroker?: string;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html#cfn-msk-cluster-encryptionintransit-incluster
*/
readonly inCluster?: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* 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.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html
*/
interface EncryptionInfoProperty {
/**
* The data-volume encryption details.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html#cfn-msk-cluster-encryptioninfo-encryptionatrest
*/
readonly encryptionAtRest?: CfnCluster.EncryptionAtRestProperty | cdk.IResolvable;
/**
* The details for encryption in transit.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html#cfn-msk-cluster-encryptioninfo-encryptionintransit
*/
readonly encryptionInTransit?: CfnCluster.EncryptionInTransitProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html
*/
interface FirehoseProperty {
/**
* The Kinesis Data Firehose delivery stream that is the destination for broker logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-deliverystream
*/
readonly deliveryStream?: string;
/**
* Specifies whether broker logs get sent to the specified Kinesis Data Firehose delivery stream.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Details for IAM access control.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-iam.html
*/
interface IamProperty {
/**
* Whether IAM access control is enabled.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-iam.html#cfn-msk-cluster-iam-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Indicates whether you want to enable or disable the JMX Exporter.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html
*/
interface JmxExporterProperty {
/**
* Indicates whether you want to enable or disable the JMX Exporter.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html#cfn-msk-cluster-jmxexporter-enabledinbroker
*/
readonly enabledInBroker: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* 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.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html
*/
interface LoggingInfoProperty {
/**
* You can configure your Amazon MSK cluster to send broker logs to different destination types. This configuration specifies the details of these destinations.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html#cfn-msk-cluster-logginginfo-brokerlogs
*/
readonly brokerLogs: CfnCluster.BrokerLogsProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Indicates whether you want to enable or disable the Node Exporter.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html
*/
interface NodeExporterProperty {
/**
* Indicates whether you want to enable or disable the Node Exporter.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html#cfn-msk-cluster-nodeexporter-enabledinbroker
*/
readonly enabledInBroker: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* JMX and Node monitoring for the MSK cluster.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html
*/
interface OpenMonitoringProperty {
/**
* Prometheus exporter settings.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html#cfn-msk-cluster-openmonitoring-prometheus
*/
readonly prometheus: CfnCluster.PrometheusProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Prometheus settings for open monitoring.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html
*/
interface PrometheusProperty {
/**
* Indicates whether you want to enable or disable the JMX Exporter.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-jmxexporter
*/
readonly jmxExporter?: CfnCluster.JmxExporterProperty | cdk.IResolvable;
/**
* Indicates whether you want to enable or disable the Node Exporter.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-nodeexporter
*/
readonly nodeExporter?: CfnCluster.NodeExporterProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Specifies whether provisioned throughput is turned on and the volume throughput target.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html
*/
interface ProvisionedThroughputProperty {
/**
* Specifies whether provisioned throughput is turned on for the cluster.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html#cfn-msk-cluster-provisionedthroughput-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* The provisioned throughput rate in MiB per second.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html#cfn-msk-cluster-provisionedthroughput-volumethroughput
*/
readonly volumeThroughput?: number;
}
}
export declare namespace CfnCluster {
/**
* Specifies whether the cluster's brokers are accessible from the internet. Public access is off by default.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-publicaccess.html
*/
interface PublicAccessProperty {
/**
* Set to `DISABLED` to turn off public access or to `SERVICE_PROVIDED_EIPS` to turn it on. Public access if off by default.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-publicaccess.html#cfn-msk-cluster-publicaccess-type
*/
readonly type?: string;
}
}
export declare namespace CfnCluster {
/**
* The details of the Amazon S3 destination for broker logs.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html
*/
interface S3Property {
/**
* The name of the S3 bucket that is the destination for broker logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-bucket
*/
readonly bucket?: string;
/**
* Specifies whether broker logs get sent to the specified Amazon S3 destination.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
/**
* The S3 prefix that is the destination for broker logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-prefix
*/
readonly prefix?: string;
}
}
export declare namespace CfnCluster {
/**
* 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.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html
*/
interface SaslProperty {
/**
* Details for IAM access control.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html#cfn-msk-cluster-sasl-iam
*/
readonly iam?: CfnCluster.IamProperty | cdk.IResolvable;
/**
* Details for SASL/SCRAM client authentication.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html#cfn-msk-cluster-sasl-scram
*/
readonly scram?: CfnCluster.ScramProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Details for SASL/SCRAM client authentication.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html
*/
interface ScramProperty {
/**
* SASL/SCRAM authentication is enabled or not.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html#cfn-msk-cluster-scram-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Contains information about storage volumes attached to Amazon MSK broker nodes.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html
*/
interface StorageInfoProperty {
/**
* EBS volume information.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html#cfn-msk-cluster-storageinfo-ebsstorageinfo
*/
readonly ebsStorageInfo?: CfnCluster.EBSStorageInfoProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Details for client authentication using TLS.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html
*/
interface TlsProperty {
/**
* List of ACM Certificate Authority ARNs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html#cfn-msk-cluster-tls-certificateauthorityarnlist
*/
readonly certificateAuthorityArnList?: string[];
/**
* TLS authentication is enabled or not.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html#cfn-msk-cluster-tls-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Details for allowing no client authentication.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-unauthenticated.html
*/
interface UnauthenticatedProperty {
/**
* Unauthenticated is enabled or not.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-unauthenticated.html#cfn-msk-cluster-unauthenticated-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
*
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivity.html
*/
interface VpcConnectivityProperty {
/**
* Not currently supported by AWS CloudFormation .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivity.html#cfn-msk-cluster-vpcconnectivity-clientauthentication
*/
readonly clientAuthentication?: CfnCluster.VpcConnectivityClientAuthenticationProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Not currently supported by AWS CloudFormation .
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityclientauthentication.html
*/
interface VpcConnectivityClientAuthenticationProperty {
/**
* `CfnCluster.VpcConnectivityClientAuthenticationProperty.Sasl`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityclientauthentication.html#cfn-msk-cluster-vpcconnectivityclientauthentication-sasl
*/
readonly sasl?: CfnCluster.VpcConnectivitySaslProperty | cdk.IResolvable;
/**
* `CfnCluster.VpcConnectivityClientAuthenticationProperty.Tls`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityclientauthentication.html#cfn-msk-cluster-vpcconnectivityclientauthentication-tls
*/
readonly tls?: CfnCluster.VpcConnectivityTlsProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Not currently supported by AWS CloudFormation .
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityiam.html
*/
interface VpcConnectivityIamProperty {
/**
* `CfnCluster.VpcConnectivityIamProperty.Enabled`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityiam.html#cfn-msk-cluster-vpcconnectivityiam-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Not currently supported by AWS CloudFormation .
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitysasl.html
*/
interface VpcConnectivitySaslProperty {
/**
* `CfnCluster.VpcConnectivitySaslProperty.Iam`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitysasl.html#cfn-msk-cluster-vpcconnectivitysasl-iam
*/
readonly iam?: CfnCluster.VpcConnectivityIamProperty | cdk.IResolvable;
/**
* `CfnCluster.VpcConnectivitySaslProperty.Scram`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitysasl.html#cfn-msk-cluster-vpcconnectivitysasl-scram
*/
readonly scram?: CfnCluster.VpcConnectivityScramProperty | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Not currently supported by AWS CloudFormation .
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityscram.html
*/
interface VpcConnectivityScramProperty {
/**
* `CfnCluster.VpcConnectivityScramProperty.Enabled`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityscram.html#cfn-msk-cluster-vpcconnectivityscram-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnCluster {
/**
* Not currently supported by AWS CloudFormation .
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitytls.html
*/
interface VpcConnectivityTlsProperty {
/**
* `CfnCluster.VpcConnectivityTlsProperty.Enabled`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitytls.html#cfn-msk-cluster-vpcconnectivitytls-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
/**
* Properties for defining a `CfnConfiguration`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html
*/
export interface CfnConfigurationProps {
/**
* The name of the configuration. Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]{0,}$".
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-name
*/
readonly name: 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-serverproperties
*/
readonly serverProperties: string;
/**
* The description of the configuration.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-description
*/
readonly description?: 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-kafkaversionslist
*/
readonly kafkaVersionsList?: string[];
}
/**
* A CloudFormation `AWS::MSK::Configuration`
*
* Creates a new MSK configuration.
*
* @cloudformationResource AWS::MSK::Configuration
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html
*/
export declare class CfnConfiguration extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::MSK::Configuration";
/**
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConfiguration;
/**
* The ARN of the configuration.
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The name of the configuration. Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]{0,}$".
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-name
*/
name: 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-serverproperties
*/
serverProperties: string;
/**
* The description of the configuration.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-description
*/
description: string | undefined;
/**
* 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.