import * as core from "@terrascript/core"; export interface ClusterInstanceArgs extends core.ResourceArgs { /** * (Optional) Specifies whether any instance modifications */ applyImmediately?: boolean | core.BooleanOut; /** * (Optional) Indicates that minor engine upgrades will be applied automatically to the instance during * the maintenance window. Default is `true`. */ autoMinorVersionUpgrade?: boolean | core.BooleanOut; /** * (Optional) The EC2 Availability Zone that the neptune instance is created in. */ availabilityZone?: string | core.StringOut; /** * (Required) The identifier of the [`aws_neptune_cluster`](/docs/providers/aws/r/neptune_cluster.html) * in which to launch this instance. */ clusterIdentifier: string | core.StringOut; /** * (Optional) The name of the database engine to be used for the neptune instance. Defaults to `neptune * . Valid Values: `neptune`. */ engine?: string | core.StringOut; /** * (Optional) The neptune engine version. */ engineVersion?: string | core.StringOut; /** * (Optional, Forces new resource) The identifier for the neptune instance, if omitted, Terraform will * assign 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. */ instanceClass: string | core.StringOut; /** * (Optional) The name of the neptune parameter group to associate with this instance. */ neptuneParameterGroupName?: string | core.StringOut; /** * (Required if `publicly_accessible = false`, Optional otherwise) A subnet group to associate with thi * s neptune instance. **NOTE:** This must match the `neptune_subnet_group_name` of the attached [`aws_ * neptune_cluster`](/docs/providers/aws/r/neptune_cluster.html). */ neptuneSubnetGroupName?: string | core.StringOut; /** * (Optional) The port on which the DB accepts connections. Defaults to `8182`. */ port?: number | core.NumberOut; /** * (Optional) The daily time range during which automated backups are created if automated backups are * enabled. Eg: "04:00-09:00" */ preferredBackupWindow?: 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) Bool to control if instance is publicly accessible. Default is `false`. */ publiclyAccessible?: 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. */ 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 { /** * The hostname of the instance. See also `endpoint` and `port`. */ @core.attr(String, { computed: true }) public address!: string | core.StringOut; /** * (Optional) Specifies whether any instance modifications */ @core.attr(Boolean, { computed: true }) public applyImmediately?: boolean | core.BooleanOut; /** * Amazon Resource Name (ARN) of neptune instance */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) Indicates that minor engine upgrades will be applied automatically to the instance during * the maintenance window. Default is `true`. */ @core.attr(Boolean) public autoMinorVersionUpgrade?: boolean | core.BooleanOut; /** * (Optional) The EC2 Availability Zone that the neptune instance is created in. */ @core.attr(String, { computed: true }) public availabilityZone?: string | core.StringOut; /** * (Required) The identifier of the [`aws_neptune_cluster`](/docs/providers/aws/r/neptune_cluster.html) * in which to launch this instance. */ @core.attr(String) public clusterIdentifier!: string | core.StringOut; /** * The region-unique, immutable identifier for the neptune instance. */ @core.attr(String, { computed: true }) public dbiResourceId!: string | core.StringOut; /** * The connection endpoint in `address:port` format. */ @core.attr(String, { computed: true }) public endpoint!: string | core.StringOut; /** * (Optional) The name of the database engine to be used for the neptune instance. Defaults to `neptune * . Valid Values: `neptune`. */ @core.attr(String) public engine?: string | core.StringOut; /** * (Optional) The neptune engine version. */ @core.attr(String, { computed: true }) public engineVersion?: string | core.StringOut; /** * The Instance identifier */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional, Forces new resource) The identifier for the neptune instance, if omitted, Terraform will * assign 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. */ @core.attr(String) public instanceClass!: string | core.StringOut; /** * The ARN for the KMS encryption key if one is set to the neptune cluster. */ @core.attr(String, { computed: true }) public kmsKeyArn!: string | core.StringOut; /** * (Optional) The name of the neptune parameter group to associate with this instance. */ @core.attr(String) public neptuneParameterGroupName?: string | core.StringOut; /** * (Required if `publicly_accessible = false`, Optional otherwise) A subnet group to associate with thi * s neptune instance. **NOTE:** This must match the `neptune_subnet_group_name` of the attached [`aws_ * neptune_cluster`](/docs/providers/aws/r/neptune_cluster.html). */ @core.attr(String, { computed: true }) public neptuneSubnetGroupName?: string | core.StringOut; /** * (Optional) The port on which the DB accepts connections. Defaults to `8182`. */ @core.attr(Number) public port?: number | core.NumberOut; /** * (Optional) The daily time range during which automated backups are created if automated backups are * enabled. Eg: "04:00-09:00" */ @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; /** * (Optional) Bool to control if instance is publicly accessible. Default is `false`. */ @core.attr(Boolean) public publiclyAccessible?: boolean | core.BooleanOut; /** * Specifies whether the neptune 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_neptune_cluster_instance", args); } public override getNamespace(): string { return "aws_neptune"; } }