import * as core from "@terrascript/core"; export interface LogDeliveryConfigurationArgs extends core.SchemaArgs { destination: string | core.StringOut; destinationType: string | core.StringOut; logFormat: string | core.StringOut; logType: string | core.StringOut; } export class LogDeliveryConfiguration extends core.Schema { @core.attr(String, { computed: true }) public destination!: string | core.StringOut; @core.attr(String, { computed: true }) public destinationType!: string | core.StringOut; @core.attr(String, { computed: true }) public logFormat!: string | core.StringOut; @core.attr(String, { computed: true }) public logType!: string | core.StringOut; } export interface DsReplicationGroupArgs { replicationGroupId: string | core.StringOut; } export class DsReplicationGroup extends core.Data { /** * The Amazon Resource Name (ARN) of the created ElastiCache Replication Group. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Specifies whether an AuthToken (password) is enabled. */ @core.attr(Boolean, { computed: true }) public authTokenEnabled!: boolean | core.BooleanOut; /** * A flag whether a read-only replica will be automatically promoted to read/write primary if the exist * ing primary fails. */ @core.attr(Boolean, { computed: true }) public automaticFailoverEnabled!: boolean | core.BooleanOut; /** * The configuration endpoint address to allow host discovery. */ @core.attr(String, { computed: true }) public configurationEndpointAddress!: string | core.StringOut; /** * The description of the replication group. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com * /AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log) delivery settings. */ @core.attr(LogDeliveryConfiguration, { computed: true, kind: "array" }) public logDeliveryConfiguration!: | core.Array | core.ArrayOut; /** * The identifiers of all the nodes that are part of this replication group. */ @core.attr(String, { computed: true, kind: "array" }) public memberClusters!: core.Array | core.ArrayOut; /** * Specifies whether Multi-AZ Support is enabled for the replication group. */ @core.attr(Boolean, { computed: true }) public multiAzEnabled!: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public nodeType!: string | core.StringOut; @core.attr(Number, { computed: true }) public numCacheClusters!: number | core.NumberOut; /** * Number of node groups (shards) for the replication group. */ @core.attr(Number, { computed: true }) public numNodeGroups!: number | core.NumberOut; @core.attr(Number, { computed: true }) public numberCacheClusters!: number | core.NumberOut; @core.attr(Number, { computed: true }) public port!: number | core.NumberOut; /** * The endpoint of the primary node in this node group (shard). */ @core.attr(String, { computed: true }) public primaryEndpointAddress!: string | core.StringOut; /** * The endpoint of the reader node in this node group (shard). */ @core.attr(String, { computed: true }) public readerEndpointAddress!: string | core.StringOut; /** * Number of replica nodes in each node group. */ @core.attr(Number, { computed: true }) public replicasPerNodeGroup!: number | core.NumberOut; /** * (**Deprecated** use `description` instead) The description of the replication group. */ @core.attr(String, { computed: true }) public replicationGroupDescription!: string | core.StringOut; @core.attr(String) public replicationGroupId!: string | core.StringOut; /** * The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting t * hem. */ @core.attr(Number, { computed: true }) public snapshotRetentionLimit!: number | core.NumberOut; /** * The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node g * roup (shard). */ @core.attr(String, { computed: true }) public snapshotWindow!: string | core.StringOut; constructor(name: string, args?: DsReplicationGroupArgs) { super(name, "aws_elasticache_replication_group", args); } public override getNamespace(): string { return "aws_elasticache"; } }