import * as core from "@terrascript/core"; export interface GlobalReplicationGroupArgs extends core.ResourceArgs { /** * (Optional) Redis version to use for the Global Replication Group. */ engineVersion?: string | core.StringOut; globalReplicationGroupDescription?: string | core.StringOut; globalReplicationGroupIdSuffix: string | core.StringOut; /** * (Optional) An ElastiCache Parameter Group to use for the Global Replication Group. */ parameterGroupName?: string | core.StringOut; primaryReplicationGroupId: string | core.StringOut; } export class GlobalReplicationGroup extends core.Resource { /** * The ARN of the ElastiCache Global Replication Group. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * A flag that indicate whether the encryption at rest is enabled. */ @core.attr(Boolean, { computed: true }) public atRestEncryptionEnabled!: boolean | core.BooleanOut; /** * A flag that indicate whether AuthToken (password) is enabled. */ @core.attr(Boolean, { computed: true }) public authTokenEnabled!: boolean | core.BooleanOut; /** * The instance class used. See AWS documentation for information on [supported node types](https://doc * s.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on se * lecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.ht * ml). */ @core.attr(String, { computed: true }) public cacheNodeType!: string | core.StringOut; /** * Indicates whether the Global Datastore is cluster enabled. */ @core.attr(Boolean, { computed: true }) public clusterEnabled!: boolean | core.BooleanOut; /** * The name of the cache engine to be used for the clusters in this global replication group. */ @core.attr(String, { computed: true }) public engine!: string | core.StringOut; /** * (Optional) Redis version to use for the Global Replication Group. */ @core.attr(String, { computed: true }) public engineVersion?: string | core.StringOut; /** * The full version number of the cache engine running on the members of this global replication group. */ @core.attr(String, { computed: true }) public engineVersionActual!: string | core.StringOut; @core.attr(String) public globalReplicationGroupDescription?: string | core.StringOut; /** * The full ID of the global replication group. */ @core.attr(String, { computed: true }) public globalReplicationGroupId!: string | core.StringOut; @core.attr(String) public globalReplicationGroupIdSuffix!: string | core.StringOut; /** * The ID of the ElastiCache Global Replication Group. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) An ElastiCache Parameter Group to use for the Global Replication Group. */ @core.attr(String) public parameterGroupName?: string | core.StringOut; @core.attr(String) public primaryReplicationGroupId!: string | core.StringOut; /** * A flag that indicates whether the encryption in transit is enabled. */ @core.attr(Boolean, { computed: true }) public transitEncryptionEnabled!: boolean | core.BooleanOut; constructor(name: string, args?: GlobalReplicationGroupArgs) { super(name, "aws_elasticache_global_replication_group", args); } public override getNamespace(): string { return "aws_elasticache"; } }