import * as core from "@terrascript/core"; export interface ClusterArgs extends core.ResourceArgs { /** * (Optional) Specifies whether any cluster modifications */ applyImmediately?: boolean | core.BooleanOut; /** * (Optional) A list of EC2 Availability Zones that */ availabilityZones?: core.Array | core.ArrayOut; /** * (Optional) The days to retain backups for. Default `1` */ backupRetentionPeriod?: number | core.NumberOut; /** * (Optional, Forces new resources) The cluster identifier. If omitted, Terraform will assign a random, * unique identifier. */ clusterIdentifier?: string | core.StringOut; /** * (Optional, Forces new resource) Creates a unique cluster identifier beginning with the specified pre * fix. Conflicts with `cluster_identifier`. */ clusterIdentifierPrefix?: string | core.StringOut; clusterMembers?: core.Array | core.ArrayOut; /** * (Optional) A cluster parameter group to associate with the cluster. */ dbClusterParameterGroupName?: string | core.StringOut; /** * (Optional) A DB subnet group to associate with this DB instance. */ dbSubnetGroupName?: string | core.StringOut; /** * (Optional) A value that indicates whether the DB cluster has deletion protection enabled. The databa * se can't be deleted when deletion protection is enabled. By default, deletion protection is disabled * . */ deletionProtection?: boolean | core.BooleanOut; /** * (Optional) List of log types to export to cloudwatch. If omitted, no logs will be exported. */ enabledCloudwatchLogsExports?: | core.Array | core.ArrayOut; /** * (Optional) The name of the database engine to be used for this DB cluster. Defaults to `docdb`. Vali * d Values: `docdb` */ engine?: string | core.StringOut; /** * (Optional) The database engine version. Updating this argument results in an outage. */ engineVersion?: string | core.StringOut; /** * (Optional) The name of your final DB snapshot */ finalSnapshotIdentifier?: string | core.StringOut; /** * (Optional) The global cluster identifier specified on [`aws_docdb_global_cluster`](/docs/providers/a * ws/r/docdb_global_cluster.html). */ globalClusterIdentifier?: string | core.StringOut; /** * (Optional) The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` nee * ds to be set to true. */ kmsKeyId?: string | core.StringOut; /** * (Required unless a `snapshot_identifier` or unless a `global_cluster_identifier` is provided when th * e cluster is the "secondary" cluster of a global database) Password for the master DB user. Note tha * t this may */ masterPassword?: string | core.StringOut; /** * (Required unless a `snapshot_identifier` or unless a `global_cluster_identifier` is provided when th * e cluster is the "secondary" cluster of a global database) Username for the master DB user. */ masterUsername?: string | core.StringOut; /** * (Optional) The port on which the DB accepts connections */ port?: number | core.NumberOut; /** * (Optional) The daily time range during which automated backups are created if automated backups are * enabled using the BackupRetentionPeriod parameter.Time in UTC */ preferredBackupWindow?: string | core.StringOut; /** * (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00 * wed:04:30 */ preferredMaintenanceWindow?: string | core.StringOut; /** * (Optional) Determines whether a final DB snapshot is created before the DB cluster is deleted. If tr * ue is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before t * he DB cluster is deleted, using the value from `final_snapshot_identifier`. Default is `false`. */ skipFinalSnapshot?: boolean | core.BooleanOut; /** * (Optional) Specifies whether or not to create this cluster from a snapshot. You can use either the n * ame or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. */ snapshotIdentifier?: string | core.StringOut; /** * (Optional) Specifies whether the DB cluster is encrypted. The default is `false`. */ storageEncrypted?: boolean | core.BooleanOut; /** * (Optional) A map of tags to assign to the DB cluster. If configured with a provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block) present, tags with matching keys will overwrite those defined at the provider-l * evel. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) List of VPC security groups to associate */ vpcSecurityGroupIds?: core.Array | core.ArrayOut; } export class Cluster extends core.Resource { /** * (Optional) Specifies whether any cluster modifications */ @core.attr(Boolean, { computed: true }) public applyImmediately?: boolean | core.BooleanOut; /** * Amazon Resource Name (ARN) of cluster */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) A list of EC2 Availability Zones that */ @core.attr(String, { computed: true, kind: "array" }) public availabilityZones?: core.Array | core.ArrayOut; /** * (Optional) The days to retain backups for. Default `1` */ @core.attr(Number) public backupRetentionPeriod?: number | core.NumberOut; /** * (Optional, Forces new resources) The cluster identifier. If omitted, Terraform will assign a random, * unique identifier. */ @core.attr(String, { computed: true }) public clusterIdentifier?: string | core.StringOut; /** * (Optional, Forces new resource) Creates a unique cluster identifier beginning with the specified pre * fix. Conflicts with `cluster_identifier`. */ @core.attr(String, { computed: true }) public clusterIdentifierPrefix?: string | core.StringOut; @core.attr(String, { computed: true, kind: "array" }) public clusterMembers?: core.Array | core.ArrayOut; /** * The DocDB Cluster Resource ID */ @core.attr(String, { computed: true }) public clusterResourceId!: string | core.StringOut; /** * (Optional) A cluster parameter group to associate with the cluster. */ @core.attr(String, { computed: true }) public dbClusterParameterGroupName?: string | core.StringOut; /** * (Optional) A DB subnet group to associate with this DB instance. */ @core.attr(String, { computed: true }) public dbSubnetGroupName?: string | core.StringOut; /** * (Optional) A value that indicates whether the DB cluster has deletion protection enabled. The databa * se can't be deleted when deletion protection is enabled. By default, deletion protection is disabled * . */ @core.attr(Boolean) public deletionProtection?: boolean | core.BooleanOut; /** * (Optional) List of log types to export to cloudwatch. If omitted, no logs will be exported. */ @core.attr(String, { kind: "array" }) public enabledCloudwatchLogsExports?: | core.Array | core.ArrayOut; /** * The DNS address of the DocDB instance */ @core.attr(String, { computed: true }) public endpoint!: string | core.StringOut; /** * (Optional) The name of the database engine to be used for this DB cluster. Defaults to `docdb`. Vali * d Values: `docdb` */ @core.attr(String) public engine?: string | core.StringOut; /** * (Optional) The database engine version. Updating this argument results in an outage. */ @core.attr(String, { computed: true }) public engineVersion?: string | core.StringOut; /** * (Optional) The name of your final DB snapshot */ @core.attr(String) public finalSnapshotIdentifier?: string | core.StringOut; /** * (Optional) The global cluster identifier specified on [`aws_docdb_global_cluster`](/docs/providers/a * ws/r/docdb_global_cluster.html). */ @core.attr(String) public globalClusterIdentifier?: string | core.StringOut; /** * The Route53 Hosted Zone ID of the endpoint */ @core.attr(String, { computed: true }) public hostedZoneId!: string | core.StringOut; /** * The DocDB Cluster Identifier */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` nee * ds to be set to true. */ @core.attr(String, { computed: true }) public kmsKeyId?: string | core.StringOut; /** * (Required unless a `snapshot_identifier` or unless a `global_cluster_identifier` is provided when th * e cluster is the "secondary" cluster of a global database) Password for the master DB user. Note tha * t this may */ @core.attr(String) public masterPassword?: string | core.StringOut; /** * (Required unless a `snapshot_identifier` or unless a `global_cluster_identifier` is provided when th * e cluster is the "secondary" cluster of a global database) Username for the master DB user. */ @core.attr(String, { computed: true }) public masterUsername?: string | core.StringOut; /** * (Optional) The port on which the DB accepts connections */ @core.attr(Number) public port?: number | core.NumberOut; /** * (Optional) The daily time range during which automated backups are created if automated backups are * enabled using the BackupRetentionPeriod parameter.Time in UTC */ @core.attr(String, { computed: true }) public preferredBackupWindow?: string | core.StringOut; /** * (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00 * wed:04:30 */ @core.attr(String, { computed: true }) public preferredMaintenanceWindow?: string | core.StringOut; /** * A read-only endpoint for the DocDB cluster, automatically load-balanced across replicas */ @core.attr(String, { computed: true }) public readerEndpoint!: string | core.StringOut; /** * (Optional) Determines whether a final DB snapshot is created before the DB cluster is deleted. If tr * ue is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before t * he DB cluster is deleted, using the value from `final_snapshot_identifier`. Default is `false`. */ @core.attr(Boolean) public skipFinalSnapshot?: boolean | core.BooleanOut; /** * (Optional) Specifies whether or not to create this cluster from a snapshot. You can use either the n * ame or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. */ @core.attr(String) public snapshotIdentifier?: string | core.StringOut; /** * (Optional) Specifies whether the DB cluster is encrypted. The default is `false`. */ @core.attr(Boolean) public storageEncrypted?: boolean | core.BooleanOut; /** * (Optional) A map of tags to assign to the DB cluster. If configured with a provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block) present, tags with matching keys will overwrite those defined at the provider-l * evel. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Optional) List of VPC security groups to associate */ @core.attr(String, { computed: true, kind: "array" }) public vpcSecurityGroupIds?: | core.Array | core.ArrayOut; constructor(name: string, args?: ClusterArgs) { super(name, "aws_docdb_cluster", args); } public override getNamespace(): string { return "aws_docdb"; } }