UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,310 lines 60.5 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { ACLReference, ClusterReference, IACLRef, IClusterRef, IMultiRegionClusterRef, IParameterGroupRef, ISubnetGroupRef, IUserRef, MultiRegionClusterReference, ParameterGroupReference, SubnetGroupReference, UserReference } from "../../interfaces/generated/aws-memorydb-interfaces.generated"; import { aws_ec2 as ec2Refs } from "../../interfaces"; /** * Specifies an Access Control List. * * For more information, see [Authenticating users with Access Contol Lists (ACLs)](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html) . * * @cloudformationResource AWS::MemoryDB::ACL * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html */ export declare class CfnACL extends cdk.CfnResource implements cdk.IInspectable, IACLRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnACL 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): CfnACL; /** * Checks whether the given object is a CfnACL */ static isCfnACL(x: any): x is CfnACL; /** * Creates a new IACLRef from an ARN */ static fromACLArn(scope: constructs.Construct, id: string, arn: string): IACLRef; /** * Creates a new IACLRef from a aclName */ static fromAclName(scope: constructs.Construct, id: string, aclName: string): IACLRef; static arnForACL(resource: IACLRef): string; /** * The name of the Access Control List. */ private _aclName; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * An array of key-value pairs to apply to this resource. */ private _tagsRaw?; /** * The list of users that belong to the Access Control List. */ private _userNames?; /** * Create a new `AWS::MemoryDB::ACL`. * * @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: CfnACLProps); get aclRef(): ACLReference; /** * The name of the Access Control List. */ get aclName(): string; /** * The name of the Access Control List. */ set aclName(value: string); /** * An array of key-value pairs to apply to this resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The list of users that belong to the Access Control List. */ get userNames(): Array<string> | undefined; /** * The list of users that belong to the Access Control List. */ set userNames(value: Array<string> | undefined); /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the Access Control List, such as `arn:aws:memorydb:us-east-1:123456789012:acl/my-acl` * * @cloudformationAttribute Arn */ get attrArn(): string; /** * Indicates ACL status. * * *Valid values* : `creating` | `active` | `modifying` | `deleting` * * @cloudformationAttribute Status */ get attrStatus(): string; 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 `CfnACL` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html */ export interface CfnACLProps { /** * The name of the Access Control List. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html#cfn-memorydb-acl-aclname */ readonly aclName: string; /** * An array of key-value pairs to apply to this resource. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html#cfn-memorydb-acl-tags */ readonly tags?: Array<cdk.CfnTag>; /** * The list of users that belong to the Access Control List. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html#cfn-memorydb-acl-usernames */ readonly userNames?: Array<string>; } /** * Specifies a cluster . * * All nodes in the cluster run the same protocol-compliant engine software. * * @cloudformationResource AWS::MemoryDB::Cluster * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html */ export declare class CfnCluster extends cdk.CfnResource implements cdk.IInspectable, IClusterRef, 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; /** * Checks whether the given object is a CfnCluster */ static isCfnCluster(x: any): x is CfnCluster; /** * Creates a new IClusterRef from an ARN */ static fromClusterArn(scope: constructs.Construct, id: string, arn: string): IClusterRef; /** * Creates a new IClusterRef from a clusterName */ static fromClusterName(scope: constructs.Construct, id: string, clusterName: string): IClusterRef; static arnForCluster(resource: IClusterRef): string; /** * The name of the Access Control List to associate with the cluster . */ private _aclName; /** * When set to true, the cluster will automatically receive minor engine version upgrades after launch. */ private _autoMinorVersionUpgrade?; /** * The cluster 's configuration endpoint. */ private _clusterEndpoint?; /** * The name of the cluster . */ private _clusterName; /** * Enables data tiering. */ private _dataTiering?; /** * A description of the cluster . */ private _description?; /** * The name of the engine used by the cluster. */ private _engine?; /** * The Redis engine version used by the cluster . */ private _engineVersion?; /** * The user-supplied name of a final cluster snapshot. */ private _finalSnapshotName?; /** * The mechanism that the cluster uses to discover IP addresses. */ private _ipDiscovery?; /** * The ID of the KMS key used to encrypt the cluster . */ private _kmsKeyId?; /** * Specifies the weekly time range during which maintenance on the cluster is performed. */ private _maintenanceWindow?; /** * The name of the multi-Region cluster that this cluster belongs to. */ private _multiRegionClusterName?; /** * The IP address type for the cluster. */ private _networkType?; /** * The cluster 's node type. */ private _nodeType; /** * The number of replicas to apply to each shard. */ private _numReplicasPerShard?; /** * The number of shards in the cluster . */ private _numShards?; /** * The name of the parameter group used by the cluster . */ private _parameterGroupName?; /** * The port used by the cluster . */ private _port?; /** * A list of security group names to associate with this cluster . */ private _securityGroupIds?; /** * A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. */ private _snapshotArns?; /** * The name of a snapshot from which to restore data into the new cluster . */ private _snapshotName?; /** * The number of days for which MemoryDB retains automatic snapshots before deleting them. */ private _snapshotRetentionLimit?; /** * The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. */ private _snapshotWindow?; /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the SNS topic, such as `arn:aws:memorydb:us-east-1:123456789012:mySNSTopic`. */ private _snsTopicArn?; /** * The SNS topic must be in Active status to receive notifications. */ private _snsTopicStatus?; /** * The name of the subnet group used by the cluster . */ private _subnetGroupName?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * An array of key-value pairs to apply to this resource. */ private _tagsRaw?; /** * A flag to indicate if In-transit encryption is enabled. */ private _tlsEnabled?; /** * Create a new `AWS::MemoryDB::Cluster`. * * @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); get clusterRef(): ClusterReference; /** * The name of the Access Control List to associate with the cluster . */ get aclName(): string; /** * The name of the Access Control List to associate with the cluster . */ set aclName(value: string); /** * When set to true, the cluster will automatically receive minor engine version upgrades after launch. */ get autoMinorVersionUpgrade(): boolean | cdk.IResolvable | undefined; /** * When set to true, the cluster will automatically receive minor engine version upgrades after launch. */ set autoMinorVersionUpgrade(value: boolean | cdk.IResolvable | undefined); /** * The cluster 's configuration endpoint. */ get clusterEndpoint(): CfnCluster.EndpointProperty | cdk.IResolvable | undefined; /** * The cluster 's configuration endpoint. */ set clusterEndpoint(value: CfnCluster.EndpointProperty | cdk.IResolvable | undefined); /** * The name of the cluster . */ get clusterName(): string; /** * The name of the cluster . */ set clusterName(value: string); /** * Enables data tiering. */ get dataTiering(): string | undefined; /** * Enables data tiering. */ set dataTiering(value: string | undefined); /** * A description of the cluster . */ get description(): string | undefined; /** * A description of the cluster . */ set description(value: string | undefined); /** * The name of the engine used by the cluster. */ get engine(): string | undefined; /** * The name of the engine used by the cluster. */ set engine(value: string | undefined); /** * The Redis engine version used by the cluster . */ get engineVersion(): string | undefined; /** * The Redis engine version used by the cluster . */ set engineVersion(value: string | undefined); /** * The user-supplied name of a final cluster snapshot. */ get finalSnapshotName(): string | undefined; /** * The user-supplied name of a final cluster snapshot. */ set finalSnapshotName(value: string | undefined); /** * The mechanism that the cluster uses to discover IP addresses. */ get ipDiscovery(): string | undefined; /** * The mechanism that the cluster uses to discover IP addresses. */ set ipDiscovery(value: string | undefined); /** * The ID of the KMS key used to encrypt the cluster . */ get kmsKeyId(): string | undefined; /** * The ID of the KMS key used to encrypt the cluster . */ set kmsKeyId(value: string | undefined); /** * Specifies the weekly time range during which maintenance on the cluster is performed. */ get maintenanceWindow(): string | undefined; /** * Specifies the weekly time range during which maintenance on the cluster is performed. */ set maintenanceWindow(value: string | undefined); /** * The name of the multi-Region cluster that this cluster belongs to. */ get multiRegionClusterName(): string | undefined; /** * The name of the multi-Region cluster that this cluster belongs to. */ set multiRegionClusterName(value: string | undefined); /** * The IP address type for the cluster. */ get networkType(): string | undefined; /** * The IP address type for the cluster. */ set networkType(value: string | undefined); /** * The cluster 's node type. */ get nodeType(): string; /** * The cluster 's node type. */ set nodeType(value: string); /** * The number of replicas to apply to each shard. */ get numReplicasPerShard(): number | undefined; /** * The number of replicas to apply to each shard. */ set numReplicasPerShard(value: number | undefined); /** * The number of shards in the cluster . */ get numShards(): number | undefined; /** * The number of shards in the cluster . */ set numShards(value: number | undefined); /** * The name of the parameter group used by the cluster . */ get parameterGroupName(): string | undefined; /** * The name of the parameter group used by the cluster . */ set parameterGroupName(value: string | undefined); /** * The port used by the cluster . */ get port(): number | undefined; /** * The port used by the cluster . */ set port(value: number | undefined); /** * A list of security group names to associate with this cluster . */ get securityGroupIds(): Array<string> | undefined; /** * A list of security group names to associate with this cluster . */ set securityGroupIds(value: Array<string> | undefined); /** * A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. */ get snapshotArns(): Array<string> | undefined; /** * A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. */ set snapshotArns(value: Array<string> | undefined); /** * The name of a snapshot from which to restore data into the new cluster . */ get snapshotName(): string | undefined; /** * The name of a snapshot from which to restore data into the new cluster . */ set snapshotName(value: string | undefined); /** * The number of days for which MemoryDB retains automatic snapshots before deleting them. */ get snapshotRetentionLimit(): number | undefined; /** * The number of days for which MemoryDB retains automatic snapshots before deleting them. */ set snapshotRetentionLimit(value: number | undefined); /** * The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. */ get snapshotWindow(): string | undefined; /** * The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. */ set snapshotWindow(value: string | undefined); /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the SNS topic, such as `arn:aws:memorydb:us-east-1:123456789012:mySNSTopic`. */ get snsTopicArn(): string | undefined; /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the SNS topic, such as `arn:aws:memorydb:us-east-1:123456789012:mySNSTopic`. */ set snsTopicArn(value: string | undefined); /** * The SNS topic must be in Active status to receive notifications. */ get snsTopicStatus(): string | undefined; /** * The SNS topic must be in Active status to receive notifications. */ set snsTopicStatus(value: string | undefined); /** * The name of the subnet group used by the cluster . */ get subnetGroupName(): string | undefined; /** * The name of the subnet group used by the cluster . */ set subnetGroupName(value: string | undefined); /** * An array of key-value pairs to apply to this resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * A flag to indicate if In-transit encryption is enabled. */ get tlsEnabled(): boolean | cdk.IResolvable | undefined; /** * A flag to indicate if In-transit encryption is enabled. */ set tlsEnabled(value: boolean | cdk.IResolvable | undefined); /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the cluster , such as `arn:aws:memorydb:us-east-1:123456789012:cluster/my-cluster` * * @cloudformationAttribute ARN */ get attrArn(): string; /** * The address of the cluster 's configuration endpoint. * * @cloudformationAttribute ClusterEndpoint.Address */ get attrClusterEndpointAddress(): string; /** * The port used by the cluster configuration endpoint. * * @cloudformationAttribute ClusterEndpoint.Port */ get attrClusterEndpointPort(): number; /** * The status of the parameter group used by the cluster , for example `active` or `applying` . * * @cloudformationAttribute ParameterGroupStatus */ get attrParameterGroupStatus(): string; /** * The status of the cluster. For example, 'available', 'updating' or 'creating'. * * @cloudformationAttribute Status */ get attrStatus(): string; 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 { /** * Represents the information required for client programs to connect to the cluster and its nodes. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-memorydb-cluster-endpoint.html */ interface EndpointProperty { /** * The DNS hostname of the node. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-memorydb-cluster-endpoint.html#cfn-memorydb-cluster-endpoint-address */ readonly address?: string; /** * The port number that the engine is listening on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-memorydb-cluster-endpoint.html#cfn-memorydb-cluster-endpoint-port */ readonly port?: number; } } /** * Properties for defining a `CfnCluster` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html */ export interface CfnClusterProps { /** * The name of the Access Control List to associate with the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-aclname */ readonly aclName: string; /** * When set to true, the cluster will automatically receive minor engine version upgrades after launch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-autominorversionupgrade */ readonly autoMinorVersionUpgrade?: boolean | cdk.IResolvable; /** * The cluster 's configuration endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-clusterendpoint */ readonly clusterEndpoint?: CfnCluster.EndpointProperty | cdk.IResolvable; /** * The name of the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-clustername */ readonly clusterName: string; /** * Enables data tiering. * * Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-datatiering */ readonly dataTiering?: string; /** * A description of the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-description */ readonly description?: string; /** * The name of the engine used by the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-engine */ readonly engine?: string; /** * The Redis engine version used by the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-engineversion */ readonly engineVersion?: string; /** * The user-supplied name of a final cluster snapshot. * * This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-finalsnapshotname */ readonly finalSnapshotName?: string; /** * The mechanism that the cluster uses to discover IP addresses. * * Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-ipdiscovery */ readonly ipDiscovery?: string; /** * The ID of the KMS key used to encrypt the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-kmskeyid */ readonly kmsKeyId?: string; /** * Specifies the weekly time range during which maintenance on the cluster is performed. * * It is specified as a range in the format `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. * * *Pattern* : `ddd:hh24:mi-ddd:hh24:mi` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-maintenancewindow */ readonly maintenanceWindow?: string; /** * The name of the multi-Region cluster that this cluster belongs to. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-multiregionclustername */ readonly multiRegionClusterName?: string; /** * The IP address type for the cluster. * * Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-networktype */ readonly networkType?: string; /** * The cluster 's node type. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-nodetype */ readonly nodeType: string; /** * The number of replicas to apply to each shard. * * *Default value* : `1` * * *Maximum value* : `5` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-numreplicaspershard */ readonly numReplicasPerShard?: number; /** * The number of shards in the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-numshards */ readonly numShards?: number; /** * The name of the parameter group used by the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-parametergroupname */ readonly parameterGroupName?: string; /** * The port used by the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-port */ readonly port?: number; /** * A list of security group names to associate with this cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-securitygroupids */ readonly securityGroupIds?: Array<ec2Refs.ISecurityGroupRef | string>; /** * A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. * * The snapshot files are used to populate the new cluster . The Amazon S3 object name in the ARN cannot contain any commas. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-snapshotarns */ readonly snapshotArns?: Array<string>; /** * The name of a snapshot from which to restore data into the new cluster . * * The snapshot status changes to restoring while the new cluster is being created. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-snapshotname */ readonly snapshotName?: string; /** * The number of days for which MemoryDB retains automatic snapshots before deleting them. * * For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-snapshotretentionlimit */ readonly snapshotRetentionLimit?: number; /** * The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. * * Example: 05:00-09:00 If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-snapshotwindow */ readonly snapshotWindow?: string; /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the SNS topic, such as `arn:aws:memorydb:us-east-1:123456789012:mySNSTopic`. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-snstopicarn */ readonly snsTopicArn?: string; /** * The SNS topic must be in Active status to receive notifications. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-snstopicstatus */ readonly snsTopicStatus?: string; /** * The name of the subnet group used by the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-subnetgroupname */ readonly subnetGroupName?: string; /** * An array of key-value pairs to apply to this resource. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-tags */ readonly tags?: Array<cdk.CfnTag>; /** * A flag to indicate if In-transit encryption is enabled. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html#cfn-memorydb-cluster-tlsenabled */ readonly tlsEnabled?: boolean | cdk.IResolvable; } /** * Specifies a new MemoryDB parameter group. * * A parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster . For more information, see [Configuring engine parameters using parameter groups](https://docs.aws.amazon.com/memorydb/latest/devguide/parametergroups.html) . * * @cloudformationResource AWS::MemoryDB::ParameterGroup * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html */ export declare class CfnParameterGroup extends cdk.CfnResource implements cdk.IInspectable, IParameterGroupRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnParameterGroup 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): CfnParameterGroup; /** * Checks whether the given object is a CfnParameterGroup */ static isCfnParameterGroup(x: any): x is CfnParameterGroup; /** * Creates a new IParameterGroupRef from an ARN */ static fromParameterGroupArn(scope: constructs.Construct, id: string, arn: string): IParameterGroupRef; /** * Creates a new IParameterGroupRef from a parameterGroupName */ static fromParameterGroupName(scope: constructs.Construct, id: string, parameterGroupName: string): IParameterGroupRef; static arnForParameterGroup(resource: IParameterGroupRef): string; /** * A description of the parameter group. */ private _description?; /** * The name of the parameter group family that this parameter group is compatible with. */ private _family; /** * The name of the parameter group. */ private _parameterGroupName; /** * Returns the detailed parameter list for the parameter group. */ private _parameters?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * An array of key-value pairs to apply to this resource. */ private _tagsRaw?; /** * Create a new `AWS::MemoryDB::ParameterGroup`. * * @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: CfnParameterGroupProps); get parameterGroupRef(): ParameterGroupReference; /** * A description of the parameter group. */ get description(): string | undefined; /** * A description of the parameter group. */ set description(value: string | undefined); /** * The name of the parameter group family that this parameter group is compatible with. */ get family(): string; /** * The name of the parameter group family that this parameter group is compatible with. */ set family(value: string); /** * The name of the parameter group. */ get parameterGroupName(): string; /** * The name of the parameter group. */ set parameterGroupName(value: string); /** * Returns the detailed parameter list for the parameter group. */ get parameters(): any | cdk.IResolvable | undefined; /** * Returns the detailed parameter list for the parameter group. */ set parameters(value: any | cdk.IResolvable | undefined); /** * An array of key-value pairs to apply to this resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the parameter group, such as `arn:aws:memorydb:us-east-1:123456789012:parametergroup/my-parameter-group` * * @cloudformationAttribute ARN */ get attrArn(): string; 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 `CfnParameterGroup` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html */ export interface CfnParameterGroupProps { /** * A description of the parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html#cfn-memorydb-parametergroup-description */ readonly description?: string; /** * The name of the parameter group family that this parameter group is compatible with. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html#cfn-memorydb-parametergroup-family */ readonly family: string; /** * The name of the parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html#cfn-memorydb-parametergroup-parametergroupname */ readonly parameterGroupName: string; /** * Returns the detailed parameter list for the parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html#cfn-memorydb-parametergroup-parameters */ readonly parameters?: any | cdk.IResolvable; /** * An array of key-value pairs to apply to this resource. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html#cfn-memorydb-parametergroup-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * Specifies a subnet group. * * A subnet group is a collection of subnets (typically private) that you can designate for your cluster s running in an Amazon Virtual Private Cloud (VPC) environment. When you create a cluster in an Amazon VPC , you must specify a subnet group. MemoryDB uses that subnet group to choose a subnet and IP addresses within that subnet to associate with your nodes. For more information, see [Subnets and subnet groups](https://docs.aws.amazon.com/memorydb/latest/devguide/subnetgroups.html) . * * @cloudformationResource AWS::MemoryDB::SubnetGroup * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html */ export declare class CfnSubnetGroup extends cdk.CfnResource implements cdk.IInspectable, ISubnetGroupRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnSubnetGroup 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): CfnSubnetGroup; /** * Checks whether the given object is a CfnSubnetGroup */ static isCfnSubnetGroup(x: any): x is CfnSubnetGroup; /** * Creates a new ISubnetGroupRef from an ARN */ static fromSubnetGroupArn(scope: constructs.Construct, id: string, arn: string): ISubnetGroupRef; /** * Creates a new ISubnetGroupRef from a subnetGroupName */ static fromSubnetGroupName(scope: constructs.Construct, id: string, subnetGroupName: string): ISubnetGroupRef; static arnForSubnetGroup(resource: ISubnetGroupRef): string; /** * A description of the subnet group. */ private _description?; /** * The name of the subnet group to be used for the cluster . */ private _subnetGroupName; /** * A list of Amazon VPC subnet IDs for the subnet group. */ private _subnetIds; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * An array of key-value pairs to apply to this resource. */ private _tagsRaw?; /** * Create a new `AWS::MemoryDB::SubnetGroup`. * * @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: CfnSubnetGroupProps); get subnetGroupRef(): SubnetGroupReference; /** * A description of the subnet group. */ get description(): string | undefined; /** * A description of the subnet group. */ set description(value: string | undefined); /** * The name of the subnet group to be used for the cluster . */ get subnetGroupName(): string; /** * The name of the subnet group to be used for the cluster . */ set subnetGroupName(value: string); /** * A list of Amazon VPC subnet IDs for the subnet group. */ get subnetIds(): Array<string>; /** * A list of Amazon VPC subnet IDs for the subnet group. */ set subnetIds(value: Array<string>); /** * An array of key-value pairs to apply to this resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the subnet group, such as `arn:aws:memorydb:us-east-1:123456789012:subnetgroup/my-subnet-group` * * @cloudformationAttribute ARN */ get attrArn(): string; /** * The network types supported by this subnet. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating whether the subnet supports IPv4 only, IPv6 only, or dual-stack deployments. * * @cloudformationAttribute SupportedNetworkTypes */ get attrSupportedNetworkTypes(): Array<string>; 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 `CfnSubnetGroup` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html */ export interface CfnSubnetGroupProps { /** * A description of the subnet group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html#cfn-memorydb-subnetgroup-description */ readonly description?: string; /** * The name of the subnet group to be used for the cluster . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html#cfn-memorydb-subnetgroup-subnetgroupname */ readonly subnetGroupName: string; /** * A list of Amazon VPC subnet IDs for the subnet group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html#cfn-memorydb-subnetgroup-subnetids */ readonly subnetIds: Array<ec2Refs.ISubnetRef | string>; /** * An array of key-value pairs to apply to this resource. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html#cfn-memorydb-subnetgroup-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * Specifies a MemoryDB user. * * For more information, see [Authenticating users with Access Contol Lists (ACLs)](https://docs.aws.amazon.com/memorydb/latest/devguide/clusters.acls.html) . * * @cloudformationResource AWS::MemoryDB::User * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html */ export declare class CfnUser extends cdk.CfnResource implements cdk.IInspectable, IUserRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnUser 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): CfnUser; /** * Checks whether the given object is a CfnUser */ static isCfnUser(x: any): x is CfnUser; /** * Creates a new IUserRef from an ARN */ static fromUserArn(scope: constructs.Construct, id: string, arn: string): IUserRef; /** * Creates a new IUserRef from a userName */ static fromUserName(scope: constructs.Construct, id: string, userName: string): IUserRef; static arnForUser(resource: IUserRef): string; /** * Access permissions string used for this user. */ private _accessString?; /** * Denotes whether the user requires a password to authenticate. */ private _authenticationMode?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * An array of key-value pairs to apply to this resource. */ private _tagsRaw?; /** * The name of the user. */ private _userName; /** * Create a new `AWS::MemoryDB::User`. * * @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: CfnUserProps); get userRef(): UserReference; /** * Access permissions string used for this user. */ get accessString(): string | undefined; /** * Access permissions string used for this user. */ set accessString(value: string | undefined); /** * Denotes whether the user requires a password to authenticate. */ get authenticationMode(): any | cdk.IResolvable | undefined; /** * Denotes whether the user requires a password to authenticate. */ set authenticationMode(value: any | cdk.IResolvable | undefined); /** * An array of key-value pairs to apply to this resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The name of the user. */ get userName(): string; /** * The name of the user. */ set userName(value: string); /** * When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the ARN of the user, such as `arn:aws:memorydb:us-east-1:123456789012:user/user1` * * @cloudformationAttribute Arn */ get attrArn(): string; /** * Indicates the user status. * * *Valid values* : `active` | `modifying` | `deleting` * * @cloudformationAttribute Status */ get attrStatus(): string; 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 CfnUser { /** * Denotes the user's authentication properties, such as whether it requires a password to authenticate. * * Used in output responses. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-memorydb-user-authenticationmode.html */ interface AuthenticationModeProperty { /** * The password(s) used for authentication. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-memorydb-user-authenticationmode.html#cfn-memorydb-user-authenticationmode-passwords */ readonly passwords?: Array<string>; /** * Indicates whether the user requires a password to authenticate. * * All newly-created users require a password. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-memorydb-user-authenticationmode.html#cfn-memorydb-user-authenticationmode-type */ readonly type?: string; } } /** * Properties for defining a `CfnUser` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html */ export interface CfnUserProps { /** * Access permissions string used for this user. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html#cfn-memorydb-user-accessstring */ readonly accessString?: string; /** * Denotes whether the user requires a password to authenticate. * * *Example:* * * `mynewdbuser: Type: AWS::MemoryDB::User Properties: AccessString: on ~* &* +@all AuthenticationMode: Passwords: '1234567890123456' Type: password UserName: mynewdbuser AuthenticationMode: { "Passwords": ["1234567890123456"], "Type": "Password" }` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html#cfn-memorydb-user-authenticationmode */ readonly authenticationMode?: any | cdk.IResolvable; /** * An array of key-value pairs to apply to this resource. * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . * * @see http://docs.aws