import * as core from "@terrascript/core"; export interface ClusterInstanceArgs extends core.ResourceArgs { /** * (Optional) Specifies whether any database modifications */ applyImmediately?: boolean | core.BooleanOut; /** * (Optional) Indicates that minor engine upgrades will be applied automatically to the DB instance dur * ing the maintenance window. Default `true`. */ autoMinorVersionUpgrade?: boolean | core.BooleanOut; /** * (Optional, Computed) The EC2 Availability Zone that the DB instance is created in. See [docs](https: * //docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. */ availabilityZone?: string | core.StringOut; /** * (Optional) The identifier of the CA certificate for the DB instance. */ caCertIdentifier?: string | core.StringOut; /** * (Required) The identifier of the [`aws_docdb_cluster`](/docs/providers/aws/r/docdb_cluster.html) in * which to launch this instance. */ clusterIdentifier: string | core.StringOut; /** * (Optional) The name of the database engine to be used for the DocDB instance. Defaults to `docdb`. V * alid Values: `docdb`. */ engine?: string | core.StringOut; /** * (Optional, Forces new resource) The identifier for the DocDB instance, if omitted, Terraform will as * sign a random, unique identifier. */ identifier?: string | core.StringOut; /** * (Optional, Forces new resource) Creates a unique identifier beginning with the specified prefix. Con * flicts with `identifier`. */ identifierPrefix?: string | core.StringOut; /** * (Required) The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instance * s][2]. DocDB currently */ instanceClass: string | core.StringOut; /** * (Optional) The window to perform maintenance in. */ preferredMaintenanceWindow?: string | core.StringOut; /** * (Optional) Default 0. Failover Priority setting on instance level. The reader who has lower tier has * higher priority to get promoter to writer. */ promotionTier?: number | core.NumberOut; /** * (Optional) A map of tags to assign to the instance. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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; } export class ClusterInstance extends core.Resource { /** * (Optional) Specifies whether any database modifications */ @core.attr(Boolean, { computed: true }) public applyImmediately?: boolean | core.BooleanOut; /** * Amazon Resource Name (ARN) of cluster instance */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) Indicates that minor engine upgrades will be applied automatically to the DB instance dur * ing the maintenance window. Default `true`. */ @core.attr(Boolean) public autoMinorVersionUpgrade?: boolean | core.BooleanOut; /** * (Optional, Computed) The EC2 Availability Zone that the DB instance is created in. See [docs](https: * //docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. */ @core.attr(String, { computed: true }) public availabilityZone?: string | core.StringOut; /** * (Optional) The identifier of the CA certificate for the DB instance. */ @core.attr(String, { computed: true }) public caCertIdentifier?: string | core.StringOut; /** * (Required) The identifier of the [`aws_docdb_cluster`](/docs/providers/aws/r/docdb_cluster.html) in * which to launch this instance. */ @core.attr(String) public clusterIdentifier!: string | core.StringOut; /** * The DB subnet group to associate with this DB instance. */ @core.attr(String, { computed: true }) public dbSubnetGroupName!: string | core.StringOut; /** * The region-unique, immutable identifier for the DB instance. */ @core.attr(String, { computed: true }) public dbiResourceId!: string | core.StringOut; /** * The DNS address for this instance. May not be writable */ @core.attr(String, { computed: true }) public endpoint!: string | core.StringOut; /** * (Optional) The name of the database engine to be used for the DocDB instance. Defaults to `docdb`. V * alid Values: `docdb`. */ @core.attr(String) public engine?: string | core.StringOut; /** * The database engine version */ @core.attr(String, { computed: true }) public engineVersion!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional, Forces new resource) The identifier for the DocDB instance, if omitted, Terraform will as * sign a random, unique identifier. */ @core.attr(String, { computed: true }) public identifier?: string | core.StringOut; /** * (Optional, Forces new resource) Creates a unique identifier beginning with the specified prefix. Con * flicts with `identifier`. */ @core.attr(String, { computed: true }) public identifierPrefix?: string | core.StringOut; /** * (Required) The instance class to use. For details on CPU and memory, see [Scaling for DocDB Instance * s][2]. DocDB currently */ @core.attr(String) public instanceClass!: string | core.StringOut; /** * The ARN for the KMS encryption key if one is set to the cluster. */ @core.attr(String, { computed: true }) public kmsKeyId!: string | core.StringOut; /** * The database port */ @core.attr(Number, { computed: true }) public port!: number | core.NumberOut; /** * The daily time range during which automated backups are created if automated backups are enabled. */ @core.attr(String, { computed: true }) public preferredBackupWindow!: string | core.StringOut; /** * (Optional) The window to perform maintenance in. */ @core.attr(String, { computed: true }) public preferredMaintenanceWindow?: string | core.StringOut; /** * (Optional) Default 0. Failover Priority setting on instance level. The reader who has lower tier has * higher priority to get promoter to writer. */ @core.attr(Number) public promotionTier?: number | core.NumberOut; @core.attr(Boolean, { computed: true }) public publiclyAccessible!: boolean | core.BooleanOut; /** * Specifies whether the DB cluster is encrypted. */ @core.attr(Boolean, { computed: true }) public storageEncrypted!: boolean | core.BooleanOut; /** * (Optional) A map of tags to assign to the instance. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ @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; @core.attr(Boolean, { computed: true }) public writer!: boolean | core.BooleanOut; constructor(name: string, args?: ClusterInstanceArgs) { super(name, "aws_docdb_cluster_instance", args); } public override getNamespace(): string { return "aws_docdb"; } }