import * as core from "@terrascript/core"; export interface CacheNodesArgs extends core.SchemaArgs { address: string | core.StringOut; availabilityZone: string | core.StringOut; id: string | core.StringOut; port: number | core.NumberOut; } export declare class CacheNodes extends core.Schema { address: string | core.StringOut; availabilityZone: string | core.StringOut; id: string | core.StringOut; port: number | core.NumberOut; } export interface LogDeliveryConfigurationArgs extends core.SchemaArgs { destination: string | core.StringOut; destinationType: string | core.StringOut; logFormat: string | core.StringOut; logType: string | core.StringOut; } export declare class LogDeliveryConfiguration extends core.Schema { destination: string | core.StringOut; destinationType: string | core.StringOut; logFormat: string | core.StringOut; logType: string | core.StringOut; } export interface ClusterArgs extends core.ResourceArgs { /** * (Optional) Whether any database modifications are applied immediately, or during the next maintenanc * e window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://d * ocs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html). */ applyImmediately?: boolean | core.BooleanOut; /** * (Optional) Specifies whether minor version engine upgrades will be applied automatically to the unde * rlying Cache Cluster instances during the maintenance window. */ autoMinorVersionUpgrade?: string | core.StringOut; /** * (Optional) Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, u * se `preferred_availability_zones` instead. Default: System chosen Availability Zone. Changing this v * alue will re-create the resource. */ availabilityZone?: string | core.StringOut; /** * (Optional, Memcached only) Whether the nodes in this Memcached node group are created in a single Av * ailability Zone or created across multiple Availability Zones in the cluster's region. Valid values * for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cro * ss-az`, `num_cache_nodes` must be greater than `1`. */ azMode?: string | core.StringOut; clusterId: string | core.StringOut; engine?: string | core.StringOut; engineVersion?: string | core.StringOut; /** * (Optional, Redis only) Name of your final cluster snapshot. If omitted, no final snapshot will be ma * de. */ finalSnapshotIdentifier?: string | core.StringOut; /** * (Optional, Redis only) Specifies the destination and format of Redis [SLOWLOG](https://redis.io/comm * ands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_ * Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.a * ws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See [Log Delivery Configuration](# * log-delivery-configuration) below for more details. */ logDeliveryConfiguration?: core.Array | core.ArrayOut; maintenanceWindow?: string | core.StringOut; nodeType?: string | core.StringOut; notificationTopicArn?: string | core.StringOut; numCacheNodes?: number | core.NumberOut; parameterGroupName?: string | core.StringOut; port?: number | core.NumberOut; /** * (Optional, Memcached only) List of the Availability Zones in which cache nodes are created. If you a * re creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are a * ssociated with the subnets in the selected subnet group. The number of Availability Zones listed mus * t equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use * availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: S * ystem chosen Availability Zones. Detecting drift of existing node availability zone is not currently * supported. Updating this argument by itself to migrate existing node availability zones is not curr * ently supported and will show a perpetual difference. */ preferredAvailabilityZones?: core.Array | core.ArrayOut; /** * (Optional, Required if `engine` is not specified) ID of the replication group to which this cluster * should belong. If this parameter is specified, the cluster is added to the specified replication gro * up as a read replica; otherwise, the cluster is a standalone primary that is not part of any replica * tion group. */ replicationGroupId?: string | core.StringOut; securityGroupIds?: core.Array | core.ArrayOut; securityGroupNames?: core.Array | core.ArrayOut; snapshotArns?: core.Array | core.ArrayOut; /** * (Optional, Redis only) Name of a snapshot from which to restore data into the new node group. Changi * ng `snapshot_name` forces a new resource. */ snapshotName?: string | core.StringOut; /** * (Optional, Redis only) Number of days for which ElastiCache will retain automatic cache cluster snap * shots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot tha * t was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentio * nLimit is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_li * mit` is not supported on cache.t1.micro cache nodes */ snapshotRetentionLimit?: number | core.NumberOut; /** * (Optional, Redis only) Daily time range (in UTC) during which ElastiCache will begin taking a daily * snapshot of your cache cluster. Example: 05:00-09:00 */ snapshotWindow?: string | core.StringOut; subnetGroupName?: string | core.StringOut; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; } export declare class Cluster extends core.Resource { /** * (Optional) Whether any database modifications are applied immediately, or during the next maintenanc * e window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://d * ocs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html). */ applyImmediately?: boolean | core.BooleanOut; /** * The ARN of the created ElastiCache Cluster. */ arn: string | core.StringOut; /** * (Optional) Specifies whether minor version engine upgrades will be applied automatically to the unde * rlying Cache Cluster instances during the maintenance window. */ autoMinorVersionUpgrade?: string | core.StringOut; /** * (Optional) Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, u * se `preferred_availability_zones` instead. Default: System chosen Availability Zone. Changing this v * alue will re-create the resource. */ availabilityZone?: string | core.StringOut; /** * (Optional, Memcached only) Whether the nodes in this Memcached node group are created in a single Av * ailability Zone or created across multiple Availability Zones in the cluster's region. Valid values * for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cro * ss-az`, `num_cache_nodes` must be greater than `1`. */ azMode?: string | core.StringOut; /** * List of node objects including `id`, `address`, `port` and `availability_zone`. */ cacheNodes: core.Array | core.ArrayOut; /** * (Memcached only) DNS name of the cache cluster without the port appended. */ clusterAddress: string | core.StringOut; clusterId: string | core.StringOut; /** * (Memcached only) Configuration endpoint to allow host discovery. */ configurationEndpoint: string | core.StringOut; engine?: string | core.StringOut; engineVersion?: string | core.StringOut; /** * Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the runnin * g version of the cache engine. */ engineVersionActual: string | core.StringOut; /** * (Optional, Redis only) Name of your final cluster snapshot. If omitted, no final snapshot will be ma * de. */ finalSnapshotIdentifier?: string | core.StringOut; id: string | core.StringOut; /** * (Optional, Redis only) Specifies the destination and format of Redis [SLOWLOG](https://redis.io/comm * ands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_ * Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.a * ws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See [Log Delivery Configuration](# * log-delivery-configuration) below for more details. */ logDeliveryConfiguration?: core.Array | core.ArrayOut; maintenanceWindow?: string | core.StringOut; nodeType?: string | core.StringOut; notificationTopicArn?: string | core.StringOut; numCacheNodes?: number | core.NumberOut; parameterGroupName?: string | core.StringOut; port?: number | core.NumberOut; /** * (Optional, Memcached only) List of the Availability Zones in which cache nodes are created. If you a * re creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are a * ssociated with the subnets in the selected subnet group. The number of Availability Zones listed mus * t equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use * availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: S * ystem chosen Availability Zones. Detecting drift of existing node availability zone is not currently * supported. Updating this argument by itself to migrate existing node availability zones is not curr * ently supported and will show a perpetual difference. */ preferredAvailabilityZones?: core.Array | core.ArrayOut; /** * (Optional, Required if `engine` is not specified) ID of the replication group to which this cluster * should belong. If this parameter is specified, the cluster is added to the specified replication gro * up as a read replica; otherwise, the cluster is a standalone primary that is not part of any replica * tion group. */ replicationGroupId?: string | core.StringOut; securityGroupIds?: core.Array | core.ArrayOut; securityGroupNames?: core.Array | core.ArrayOut; snapshotArns?: core.Array | core.ArrayOut; /** * (Optional, Redis only) Name of a snapshot from which to restore data into the new node group. Changi * ng `snapshot_name` forces a new resource. */ snapshotName?: string | core.StringOut; /** * (Optional, Redis only) Number of days for which ElastiCache will retain automatic cache cluster snap * shots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot tha * t was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentio * nLimit is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_li * mit` is not supported on cache.t1.micro cache nodes */ snapshotRetentionLimit?: number | core.NumberOut; /** * (Optional, Redis only) Daily time range (in UTC) during which ElastiCache will begin taking a daily * snapshot of your cache cluster. Example: 05:00-09:00 */ snapshotWindow?: string | core.StringOut; subnetGroupName?: string | core.StringOut; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: ClusterArgs); getNamespace(): string; } //# sourceMappingURL=cluster.d.ts.map