aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,125 lines • 80.1 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* Represents a secret stored in the AWS Secrets Manager that can be used to authenticate with a cluster using a user name and a password.
*
* @cloudformationResource AWS::MSK::BatchScramSecret
* @stability external
* @see 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: string;
/**
* Build a CfnBatchScramSecret from CloudFormation properties
*
* 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) that uniquely identifies the cluster.
*/
clusterArn: string;
/**
* List of Amazon Resource Name (ARN)s of Secrets Manager secrets.
*/
secretArnList?: Array<string>;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnBatchScramSecretProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnBatchScramSecret`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html
*/
export interface CfnBatchScramSecretProps {
/**
* The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html#cfn-msk-batchscramsecret-clusterarn
*/
readonly clusterArn: string;
/**
* List of Amazon Resource Name (ARN)s of Secrets Manager secrets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html#cfn-msk-batchscramsecret-secretarnlist
*/
readonly secretArnList?: Array<string>;
}
/**
* Creates a new MSK cluster.
*
* @cloudformationResource AWS::MSK::Cluster
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html
*/
export declare class CfnCluster extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCluster from CloudFormation properties
*
* 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;
/**
* The Amazon Resource Name (ARN) of the MSK cluster.
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* Information about the broker nodes in the cluster.
*/
brokerNodeGroupInfo: CfnCluster.BrokerNodeGroupInfoProperty | cdk.IResolvable;
/**
* Includes all client authentication related information.
*/
clientAuthentication?: CfnCluster.ClientAuthenticationProperty | cdk.IResolvable;
/**
* The name of the cluster.
*/
clusterName: string;
/**
* Represents the configuration that you want MSK to use for the cluster.
*/
configurationInfo?: CfnCluster.ConfigurationInfoProperty | cdk.IResolvable;
/**
* The version of the cluster that you want to update.
*/
currentVersion?: string;
/**
* Includes all encryption-related information.
*/
encryptionInfo?: CfnCluster.EncryptionInfoProperty | cdk.IResolvable;
/**
* Specifies the level of monitoring for the MSK cluster.
*/
enhancedMonitoring?: string;
/**
* The version of Apache Kafka.
*/
kafkaVersion: string;
/**
* Logging info details for the cluster.
*/
loggingInfo?: cdk.IResolvable | CfnCluster.LoggingInfoProperty;
/**
* The number of broker nodes in the cluster.
*/
numberOfBrokerNodes: number;
/**
* The settings for open monitoring.
*/
openMonitoring?: cdk.IResolvable | CfnCluster.OpenMonitoringProperty;
/**
* This controls storage mode for supported storage tiers.
*/
storageMode?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An arbitrary set of tags (key-value pairs) for the cluster.
*/
tagsRaw?: Record<string, string>;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnClusterProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
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
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html
*/
interface EncryptionInfoProperty {
/**
* The data-volume encryption details.
*
* @see 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.
*
* @see 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;
}
/**
* The data-volume encryption details.
*
* You can't update encryption at rest settings for existing clusters.
*
* @struct
* @stability external
* @see 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionatrest.html#cfn-msk-cluster-encryptionatrest-datavolumekmskeyid
*/
readonly dataVolumeKmsKeyId: string;
}
/**
* The settings for encrypting data in transit.
*
* @struct
* @stability external
* @see 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.
*
* You must set it to one of the following values.
*
* - `TLS` : Indicates that client-broker communication is enabled with TLS only.
* - `TLS_PLAINTEXT` : Indicates that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.
* - `PLAINTEXT` : Indicates that client-broker communication is enabled in plaintext only.
*
* The default value is `TLS` .
*
* @see 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 plaintext.
*
* The default value is true.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html#cfn-msk-cluster-encryptionintransit-incluster
*/
readonly inCluster?: boolean | cdk.IResolvable;
}
/**
* JMX and Node monitoring for the MSK cluster.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html
*/
interface OpenMonitoringProperty {
/**
* Prometheus exporter settings.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html#cfn-msk-cluster-openmonitoring-prometheus
*/
readonly prometheus: cdk.IResolvable | CfnCluster.PrometheusProperty;
}
/**
* Prometheus settings for open monitoring.
*
* @struct
* @stability external
* @see 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-jmxexporter
*/
readonly jmxExporter?: cdk.IResolvable | CfnCluster.JmxExporterProperty;
/**
* Indicates whether you want to enable or disable the Node Exporter.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-nodeexporter
*/
readonly nodeExporter?: cdk.IResolvable | CfnCluster.NodeExporterProperty;
}
/**
* Indicates whether you want to enable or disable the JMX Exporter.
*
* @struct
* @stability external
* @see 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html#cfn-msk-cluster-jmxexporter-enabledinbroker
*/
readonly enabledInBroker: boolean | cdk.IResolvable;
}
/**
* Indicates whether you want to enable or disable the Node Exporter.
*
* @struct
* @stability external
* @see 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html#cfn-msk-cluster-nodeexporter-enabledinbroker
*/
readonly enabledInBroker: boolean | cdk.IResolvable;
}
/**
* Specifies the configuration to use for the brokers.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html
*/
interface ConfigurationInfoProperty {
/**
* ARN of the configuration to use.
*
* @see 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 configuration to use.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html#cfn-msk-cluster-configurationinfo-revision
*/
readonly revision: number;
}
/**
* Describes the setup to be used for the broker nodes in the cluster.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html
*/
interface BrokerNodeGroupInfoProperty {
/**
* This parameter is currently not in use.
*
* @see 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 (ENIs) inside these subnets. Client applications use ENIs 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` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-clientsubnets
*/
readonly clientSubnets: Array<string>;
/**
* Information about the cluster's connectivity setting.
*
* @see 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.
*
* Depending on the [broker type](https://docs.aws.amazon.com/msk/latest/developerguide/broker-instance-types.html) , Amazon MSK supports the following broker sizes:
*
* *Standard broker sizes*
*
* - kafka.t3.small
*
* > You can't select the kafka.t3.small instance type when the metadata mode is KRaft.
* - kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge
* - kafka.m7g.large, kafka.m7g.xlarge, kafka.m7g.2xlarge, kafka.m7g.4xlarge, kafka.m7g.8xlarge, kafka.m7g.12xlarge, kafka.m7g.16xlarge
*
* *Express broker sizes*
*
* - express.m7g.large, express.m7g.xlarge, express.m7g.2xlarge, express.m7g.4xlarge, express.m7g.8xlarge, express.m7g.12xlarge, express.m7g.16xlarge
*
* > Some broker sizes might not be available in certian AWS Regions. See the updated [Pricing tools](https://docs.aws.amazon.com/msk/pricing/) section on the Amazon MSK pricing page for the latest list of available instances by Region.
*
* @see 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 ENIs 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-securitygroups
*/
readonly securityGroups?: Array<string>;
/**
* Contains information about storage volumes attached to Amazon MSK broker nodes.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-storageinfo
*/
readonly storageInfo?: cdk.IResolvable | CfnCluster.StorageInfoProperty;
}
/**
* Broker access controls.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-connectivityinfo.html
*/
interface ConnectivityInfoProperty {
/**
* Access control settings for the cluster's brokers.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-connectivityinfo.html#cfn-msk-cluster-connectivityinfo-publicaccess
*/
readonly publicAccess?: cdk.IResolvable | CfnCluster.PublicAccessProperty;
/**
* VPC connection control settings for brokers.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-connectivityinfo.html#cfn-msk-cluster-connectivityinfo-vpcconnectivity
*/
readonly vpcConnectivity?: cdk.IResolvable | CfnCluster.VpcConnectivityProperty;
}
/**
* VPC connection control settings for brokers.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivity.html
*/
interface VpcConnectivityProperty {
/**
* VPC connection control settings for brokers.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivity.html#cfn-msk-cluster-vpcconnectivity-clientauthentication
*/
readonly clientAuthentication?: cdk.IResolvable | CfnCluster.VpcConnectivityClientAuthenticationProperty;
}
/**
* Includes all client authentication information for VpcConnectivity.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityclientauthentication.html
*/
interface VpcConnectivityClientAuthenticationProperty {
/**
* Details for VpcConnectivity ClientAuthentication using SASL.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityclientauthentication.html#cfn-msk-cluster-vpcconnectivityclientauthentication-sasl
*/
readonly sasl?: cdk.IResolvable | CfnCluster.VpcConnectivitySaslProperty;
/**
* Details for VpcConnectivity ClientAuthentication using TLS.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityclientauthentication.html#cfn-msk-cluster-vpcconnectivityclientauthentication-tls
*/
readonly tls?: cdk.IResolvable | CfnCluster.VpcConnectivityTlsProperty;
}
/**
* Details for client authentication using SASL for VpcConnectivity.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitysasl.html
*/
interface VpcConnectivitySaslProperty {
/**
* Details for ClientAuthentication using IAM for VpcConnectivity.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitysasl.html#cfn-msk-cluster-vpcconnectivitysasl-iam
*/
readonly iam?: cdk.IResolvable | CfnCluster.VpcConnectivityIamProperty;
/**
* Details for SASL/SCRAM client authentication for VpcConnectivity.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitysasl.html#cfn-msk-cluster-vpcconnectivitysasl-scram
*/
readonly scram?: cdk.IResolvable | CfnCluster.VpcConnectivityScramProperty;
}
/**
* Details for SASL/IAM client authentication for VpcConnectivity.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityiam.html
*/
interface VpcConnectivityIamProperty {
/**
* SASL/IAM authentication is enabled or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityiam.html#cfn-msk-cluster-vpcconnectivityiam-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
/**
* Details for SASL/SCRAM client authentication for VpcConnectivity.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityscram.html
*/
interface VpcConnectivityScramProperty {
/**
* SASL/SCRAM authentication is enabled or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivityscram.html#cfn-msk-cluster-vpcconnectivityscram-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
/**
* Details for client authentication using TLS for VpcConnectivity.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitytls.html
*/
interface VpcConnectivityTlsProperty {
/**
* TLS authentication is enabled or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-vpcconnectivitytls.html#cfn-msk-cluster-vpcconnectivitytls-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
/**
* Broker access controls.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-publicaccess.html
*/
interface PublicAccessProperty {
/**
* DISABLED means that public access is turned off.
*
* SERVICE_PROVIDED_EIPS means that public access is turned on.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-publicaccess.html#cfn-msk-cluster-publicaccess-type
*/
readonly type?: string;
}
/**
* Contains information about storage volumes attached to Amazon MSK broker nodes.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html
*/
interface StorageInfoProperty {
/**
* EBS volume information.
*
* @see 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;
}
/**
* Contains information about the EBS storage volumes attached to the broker nodes.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html
*/
interface EBSStorageInfoProperty {
/**
* EBS volume provisioned throughput information.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-provisionedthroughput
*/
readonly provisionedThroughput?: cdk.IResolvable | CfnCluster.ProvisionedThroughputProperty;
/**
* The size in GiB of the EBS volume for the data drive on each broker node.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-volumesize
*/
readonly volumeSize?: number;
}
/**
* Contains information about provisioned throughput for EBS storage volumes attached to kafka broker nodes.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html
*/
interface ProvisionedThroughputProperty {
/**
* Provisioned throughput is on or off.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html#cfn-msk-cluster-provisionedthroughput-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-provisionedthroughput.html#cfn-msk-cluster-provisionedthroughput-volumethroughput
*/
readonly volumeThroughput?: number;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html
*/
interface ClientAuthenticationProperty {
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-sasl
*/
readonly sasl?: cdk.IResolvable | CfnCluster.SaslProperty;
/**
* Details for ClientAuthentication using TLS.
*
* To turn on TLS access control, you must also turn on `EncryptionInTransit` by setting `inCluster` to true and `clientBroker` to `TLS` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-tls
*/
readonly tls?: cdk.IResolvable | CfnCluster.TlsProperty;
/**
* Details for ClientAuthentication using no authentication.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-unauthenticated
*/
readonly unauthenticated?: cdk.IResolvable | CfnCluster.UnauthenticatedProperty;
}
/**
* 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
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html
*/
interface SaslProperty {
/**
* Details for ClientAuthentication using IAM.
*
* @see 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-sasl.html#cfn-msk-cluster-sasl-scram
*/
readonly scram?: cdk.IResolvable | CfnCluster.ScramProperty;
}
/**
* Details for SASL/IAM client authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-iam.html
*/
interface IamProperty {
/**
* SASL/IAM authentication is enabled or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-iam.html#cfn-msk-cluster-iam-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
/**
* Details for SASL/SCRAM client authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html
*/
interface ScramProperty {
/**
* SASL/SCRAM authentication is enabled or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-scram.html#cfn-msk-cluster-scram-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
/**
* Details for allowing no client authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-unauthenticated.html
*/
interface UnauthenticatedProperty {
/**
* Unauthenticated is enabled or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-unauthenticated.html#cfn-msk-cluster-unauthenticated-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
/**
* Details for client authentication using TLS.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html
*/
interface TlsProperty {
/**
* List of AWS Private CA ARNs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html#cfn-msk-cluster-tls-certificateauthorityarnlist
*/
readonly certificateAuthorityArnList?: Array<string>;
/**
* TLS authentication is enabled or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html#cfn-msk-cluster-tls-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
}
/**
* You can configure your 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
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-logginginfo.html
*/
interface LoggingInfoProperty {
/**
* You can configure your MSK cluster to send broker logs to different destination types.
*
* This configuration specifies the details of these destinations.
*
* @see 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;
}
/**
* The broker logs configuration for this MSK cluster.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html
*/
interface BrokerLogsProperty {
/**
* @see 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.
*
* @see 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 S3 destination for broker logs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-s3
*/
readonly s3?: cdk.IResolvable | CfnCluster.S3Property;
}
/**
* The details of the Amazon S3 destination for broker logs.
*
* @struct
* @stability external
* @see 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.
*
* @see 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.
*
* @see 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-s3.html#cfn-msk-cluster-s3-prefix
*/
readonly prefix?: string;
}
/**
* Firehose details for BrokerLogs.
*
* @struct
* @stability external
* @see 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.
*
* @see 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 send to the specified Kinesis Data Firehose delivery stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-firehose.html#cfn-msk-cluster-firehose-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
/**
* Details of the CloudWatch Logs destination for broker logs.
*
* @struct
* @stability external
* @see 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.
*
* @see 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 log group that is the destination for broker logs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-cloudwatchlogs.html#cfn-msk-cluster-cloudwatchlogs-loggroup
*/
readonly logGroup?: string;
}
}
/**
* Properties for defining a `CfnCluster`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html
*/
export interface CfnClusterProps {
/**
* Information about the broker nodes in the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-brokernodegroupinfo
*/
readonly brokerNodeGroupInfo: CfnCluster.BrokerNodeGroupInfoProperty | cdk.IResolvable;
/**
* Includes all client authentication related information.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clientauthentication
*/
readonly clientAuthentication?: CfnCluster.ClientAuthenticationProperty | cdk.IResolvable;
/**
* The name of the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clustername
*/
readonly clusterName: string;
/**
* Represents the configuration that you want MSK to use for the cluster.
*
* @see 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.
*
* @see 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.
*
* @see 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-enhancedmonitoring
*/
readonly enhancedMonitoring?: string;
/**
* The version of Apache Kafka.
*
* You can use Amazon MSK to create clusters that use [supported Apache Kafka versions](https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-kafkaversion
*/
readonly kafkaVersion: string;
/**
* Logging info details for the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-logginginfo
*/
readonly loggingInfo?: cdk.IResolvable | CfnCluster.LoggingInfoProperty;
/**
* The number of broker nodes in the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-numberofbrokernodes
*/
readonly numberOfBrokerNodes: number;
/**
* The settings for open monitoring.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-openmonitoring
*/
readonly openMonitoring?: cdk.IResolvable | CfnCluster.OpenMonitoringProperty;
/**
* This controls storage mode for supported storage tiers.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-storagemode
*/
readonly storageMode?: string;
/**
* An arbitrary set of tags (key-value pairs) for the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-tags
*/
readonly tags?: Record<string, string>;
}
/**
* Create or update cluster policy.
*
* @cloudformationResource AWS::MSK::ClusterPolicy
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html
*/
export declare class CfnClusterPolicy extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnClusterPolicy from CloudFormation properties
*
* 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): CfnClusterPolicy;
/**
* The current version of the policy attached to the specified cluster.
*
* @cloudformationAttribute CurrentVersion
*/
readonly attrCurrentVersion: string;
/**
* The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/
clusterArn: string;
/**
* Resource policy for the cluster.
*/
policy: any | cdk.IResolvable;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnClusterPolicyProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnClusterPolicy`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html
*/
export interface CfnClusterPolicyProps {
/**
* The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html#cfn-msk-clusterpolicy-clusterarn
*/
readonly clusterArn: string;
/**
* Resource policy for the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html#cfn-msk-clusterpolicy-policy
*/
readonly policy: any | cdk.IResolvable;
}
/**
* Creates a new MSK configuration.
*
* To see an example of how to use this operation, first save the following text to a file and name the file `config-file.txt` .
*
* `auto.create.topics.enable = true zookeeper.connection.timeout.ms = 1000 log.roll.ms = 604800000`
*
* Now run the following Python 3.6 script in the folder where you saved `config-file.txt` . This script uses the properties specified in `config-file.txt` to create a configuration named `SalesClusterConfiguration` . This configuration can work with Apache Kafka versions 1.1.1 and 2.1.0.
*
* ```PYTHON
* import boto3 client = boto3.client('kafka') config_file = open('config-file.txt', 'r') server_properties = config_file.read() response = client.create_configuration( Name='SalesClusterConfiguration', Description='The configuration to use on all sales clusters.', KafkaVersions=['1.1.1', '2.1.0'], ServerProperties=server_properties
* ) print(response)
* ```
*
* @cloudformationResource AWS::MSK::Configuration
* @stability external
* @see 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: string;
/**
* Build a CfnConfiguration from CloudFormation properties
*
* 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 Amazon Resource Name (ARN) of the configuration.
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The time when the configuration revision was created.
*
* @cloudformationAttribute LatestRevision.CreationTime
*/
readonly attrLatestRevisionCreationTime: string;
/**
* The description of the configuration revision.
*
* @cloudformationAttribute LatestRevision.Description
*/
readonly attrLatestRevisionDescription: string;
/**
* The revision number.
*
* @cloudformationAttribute LatestRevision.Revision
*/
readonly attrLatestRevisionRevision: number;
/**
* The description of the configuration.
*/
description?: string;
/**
* The [versions of Apache Kafka](https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html) with which you can use this MSK configuration.
*/
kafkaVersionsList?: Array<string>;
/**
* Latest revision of the MSK configuration.
*/
latestRevision?: cdk.IResolvable | CfnConfiguration.LatestRevisionProperty;
/**
* The name of the configuration.
*/
name: string;
/**
* Contents of the `server.properties` file. When using the console, the SDK, or the AWS CLI , the contents of `server.properties` can be in plaintext.
*/
serverProperties: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnConfigurationProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnConfiguration {
/**
* Describes a configuration revision.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-configuration-latestrevision.html
*/
interface LatestRevisionProperty {
/**
* The time when the configuration revision was created.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-configuration-latestrevision.html#cfn-msk-configuration-latestrevision-creationtime
*/
readonly creationTime?: string;
/**
* The description of the configuration revision.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-configuration-latestrevision.html#cfn-msk-configuration-latestrevision-description
*/
readonly description?: string;
/**
* The revision number.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-configuration-latestrevision.html#cfn-msk-configuration-latestrevision-revision
*/
readonly revision?: number;
}
}
/**
* Properties for defining a `CfnConfiguration`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html
*/
export interface CfnConfigurationProps {
/**
* The description of the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html#cfn-msk-configuration-description
*/
readonly description?: string;
/**
* The [versions of Apache Kafka](https://docs.aws.amazon.com/msk/latest/developerguide