import * as core from "@terrascript/core"; export interface ClusterEndpointArgs extends core.ResourceArgs { /** * (Required, Forces new resources) The identifier of the endpoint. */ clusterEndpointIdentifier: string | core.StringOut; /** * (Required, Forces new resources) The DB cluster identifier of the DB cluster associated with the end * point. */ clusterIdentifier: string | core.StringOut; /** * (Required) The type of the endpoint. One of: `READER`, `WRITER`, `ANY`. */ endpointType: string | core.StringOut; /** * (Optional) List of DB instance identifiers that aren't part of the custom endpoint group. All other * eligible instances are reachable through the custom endpoint. Only relevant if the list of static me * mbers is empty. */ excludedMembers?: core.Array | core.ArrayOut; /** * (Optional) List of DB instance identifiers that are part of the custom endpoint group. */ staticMembers?: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the Neptune cluster. If configured with a provider [`default_t * ags` 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 provi * der-level. */ 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 ClusterEndpoint extends core.Resource { /** * The Neptune Cluster Endpoint Amazon Resource Name (ARN). */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required, Forces new resources) The identifier of the endpoint. */ @core.attr(String) public clusterEndpointIdentifier!: string | core.StringOut; /** * (Required, Forces new resources) The DB cluster identifier of the DB cluster associated with the end * point. */ @core.attr(String) public clusterIdentifier!: string | core.StringOut; /** * The DNS address of the endpoint. */ @core.attr(String, { computed: true }) public endpoint!: string | core.StringOut; /** * (Required) The type of the endpoint. One of: `READER`, `WRITER`, `ANY`. */ @core.attr(String) public endpointType!: string | core.StringOut; /** * (Optional) List of DB instance identifiers that aren't part of the custom endpoint group. All other * eligible instances are reachable through the custom endpoint. Only relevant if the list of static me * mbers is empty. */ @core.attr(String, { kind: "array" }) public excludedMembers?: core.Array | core.ArrayOut; /** * The Neptune Cluster Endpoint Identifier. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) List of DB instance identifiers that are part of the custom endpoint group. */ @core.attr(String, { kind: "array" }) public staticMembers?: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the Neptune cluster. If configured with a provider [`default_t * ags` 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 provi * der-level. */ @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; constructor(name: string, args?: ClusterEndpointArgs) { super(name, "aws_neptune_cluster_endpoint", args); } public override getNamespace(): string { return "aws_neptune"; } }