UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

217 lines (216 loc) 9.61 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster */ export declare class Cluster extends pulumi.CustomResource { /** * Get an existing Cluster resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Cluster; /** * Returns true if the given object is an instance of Cluster. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Cluster; /** * The name of the Amazon DocumentDB elastic clusters administrator. * * *Constraints* : * * - Must be from 1 to 63 letters or numbers. * - The first character must be a letter. * - Cannot be a reserved word. */ readonly adminUserName: pulumi.Output<string>; /** * The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters. * * *Constraints* : * * - Must contain from 8 to 100 characters. * - Cannot contain a forward slash (/), double quote ("), or the "at" symbol (@). * - A valid `AdminUserName` entry is also required. */ readonly adminUserPassword: pulumi.Output<string | undefined>; /** * The authentication type used to determine where to fetch the password used for accessing the elastic cluster. Valid types are `PLAIN_TEXT` or `SECRET_ARN` . */ readonly authType: pulumi.Output<string>; /** * The number of days for which automatic snapshots are retained. */ readonly backupRetentionPeriod: pulumi.Output<number | undefined>; readonly clusterArn: pulumi.Output<string>; /** * The URL used to connect to the elastic cluster. */ readonly clusterEndpoint: pulumi.Output<string>; /** * The name of the new elastic cluster. This parameter is stored as a lowercase string. * * *Constraints* : * * - Must contain from 1 to 63 letters, numbers, or hyphens. * - The first character must be a letter. * - Cannot end with a hyphen or contain two consecutive hyphens. * * *Example* : `my-cluster` */ readonly clusterName: pulumi.Output<string>; /** * The KMS key identifier to use to encrypt the new elastic cluster. * * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key. * * If an encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region. */ readonly kmsKeyId: pulumi.Output<string | undefined>; /** * The daily time range during which automated backups are created if automated backups are enabled, as determined by `backupRetentionPeriod` . */ readonly preferredBackupWindow: pulumi.Output<string | undefined>; /** * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * * *Format* : `ddd:hh24:mi-ddd:hh24:mi` * * *Default* : a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week. * * *Valid days* : Mon, Tue, Wed, Thu, Fri, Sat, Sun * * *Constraints* : Minimum 30-minute window. */ readonly preferredMaintenanceWindow: pulumi.Output<string | undefined>; /** * The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64. */ readonly shardCapacity: pulumi.Output<number>; /** * The number of shards assigned to the elastic cluster. Maximum is 32. */ readonly shardCount: pulumi.Output<number>; /** * The number of replica instances applying to all shards in the cluster. A `shardInstanceCount` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability. */ readonly shardInstanceCount: pulumi.Output<number | undefined>; /** * The Amazon EC2 subnet IDs for the new elastic cluster. */ readonly subnetIds: pulumi.Output<string[] | undefined>; /** * The tags to be assigned to the new elastic cluster. */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * A list of EC2 VPC security groups to associate with the new elastic cluster. */ readonly vpcSecurityGroupIds: pulumi.Output<string[] | undefined>; /** * Create a Cluster resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Cluster resource. */ export interface ClusterArgs { /** * The name of the Amazon DocumentDB elastic clusters administrator. * * *Constraints* : * * - Must be from 1 to 63 letters or numbers. * - The first character must be a letter. * - Cannot be a reserved word. */ adminUserName: pulumi.Input<string>; /** * The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters. * * *Constraints* : * * - Must contain from 8 to 100 characters. * - Cannot contain a forward slash (/), double quote ("), or the "at" symbol (@). * - A valid `AdminUserName` entry is also required. */ adminUserPassword?: pulumi.Input<string>; /** * The authentication type used to determine where to fetch the password used for accessing the elastic cluster. Valid types are `PLAIN_TEXT` or `SECRET_ARN` . */ authType: pulumi.Input<string>; /** * The number of days for which automatic snapshots are retained. */ backupRetentionPeriod?: pulumi.Input<number>; /** * The name of the new elastic cluster. This parameter is stored as a lowercase string. * * *Constraints* : * * - Must contain from 1 to 63 letters, numbers, or hyphens. * - The first character must be a letter. * - Cannot end with a hyphen or contain two consecutive hyphens. * * *Example* : `my-cluster` */ clusterName?: pulumi.Input<string>; /** * The KMS key identifier to use to encrypt the new elastic cluster. * * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key. * * If an encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region. */ kmsKeyId?: pulumi.Input<string>; /** * The daily time range during which automated backups are created if automated backups are enabled, as determined by `backupRetentionPeriod` . */ preferredBackupWindow?: pulumi.Input<string>; /** * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * * *Format* : `ddd:hh24:mi-ddd:hh24:mi` * * *Default* : a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week. * * *Valid days* : Mon, Tue, Wed, Thu, Fri, Sat, Sun * * *Constraints* : Minimum 30-minute window. */ preferredMaintenanceWindow?: pulumi.Input<string>; /** * The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64. */ shardCapacity: pulumi.Input<number>; /** * The number of shards assigned to the elastic cluster. Maximum is 32. */ shardCount: pulumi.Input<number>; /** * The number of replica instances applying to all shards in the cluster. A `shardInstanceCount` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability. */ shardInstanceCount?: pulumi.Input<number>; /** * The Amazon EC2 subnet IDs for the new elastic cluster. */ subnetIds?: pulumi.Input<pulumi.Input<string>[]>; /** * The tags to be assigned to the new elastic cluster. */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; /** * A list of EC2 VPC security groups to associate with the new elastic cluster. */ vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>; }