Fork me on GitHub

Module elasticache

@pulumi/aws > elasticache

Index

elasticache/cluster.ts elasticache/getCluster.ts elasticache/getReplicationGroup.ts elasticache/parameterGroup.ts elasticache/replicationGroup.ts elasticache/securityGroup.ts elasticache/subnetGroup.ts

class Cluster

Provides an ElastiCache Cluster resource, which manages a Memcached cluster or Redis instance. For working with Redis (Cluster Mode Enabled) replication groups, see the aws_elasticache_replication_group resource.

~> Note: When you change an attribute, such as node_type, by default it is applied in the next maintenance window. Because of this, Terraform may report a difference in its planning phase because the actual modification has not yet taken place. You can use the apply_immediately flag to instruct the service to apply the change immediately. Using apply_immediately can result in a brief downtime as the server reboots. See the AWS Docs on [Modifying an ElastiCache Cache Cluster][2] for more information.

constructor

new Cluster(name: string, args?: ClusterArgs, opts?: pulumi.CustomResourceOptions)

Create a Cluster resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterState): Cluster

Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property applyImmediately

public applyImmediately: pulumi.Output<boolean>;

Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is false. See [Amazon ElastiCache Documentation for more information.][1] (Available since v0.6.0)

property availabilityZone

public availabilityZone: pulumi.Output<string>;

The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone.

property availabilityZones

public availabilityZones: pulumi.Output<string[] | undefined>;

Use preferred_availability_zones instead unless you want to create cache nodes in single-az, then use availability_zone. Set of Availability Zones in which the cache nodes will be created.

property azMode

public azMode: pulumi.Output<string>;

Specifies whether the nodes in this Memcached node group are created in a single Availability 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 cross-az, num_cache_nodes must be greater than 1

property cacheNodes

public cacheNodes: pulumi.Output<{ ... }[]>;

List of node objects including id, address, port and availability_zone. Referenceable e.g. as ${aws_elasticache_cluster.bar.cache_nodes.0.address}

property clusterAddress

public clusterAddress: pulumi.Output<string>;

(Memcached only) The DNS name of the cache cluster without the port appended.

property clusterId

public clusterId: pulumi.Output<string>;

Group identifier. ElastiCache converts this name to lowercase

property configurationEndpoint

public configurationEndpoint: pulumi.Output<string>;

(Memcached only) The configuration endpoint to allow host discovery.

property engine

public engine: pulumi.Output<string>;

Name of the cache engine to be used for this cache cluster. Valid values for this parameter are memcached or redis

property engineVersion

public engineVersion: pulumi.Output<string>;

Version number of the cache engine to be used. See Describe Cache Engine Versions in the AWS Documentation center for supported versions

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property maintenanceWindow

public maintenanceWindow: pulumi.Output<string>;

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00

property nodeType

public nodeType: pulumi.Output<string>;

The compute and memory capacity of the nodes. See Available Cache Node Types for supported node types

property notificationTopicArn

public notificationTopicArn: pulumi.Output<string | undefined>;

An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic

property numCacheNodes

public numCacheNodes: pulumi.Output<number>;

The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcache, this value must be between 1 and 20. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.

property parameterGroupName

public parameterGroupName: pulumi.Output<string>;

Name of the parameter group to associate with this cache cluster

property port

public port: pulumi.Output<number | undefined>;

The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. Cannot be provided with replication_group_id.

property preferredAvailabilityZones

public preferredAvailabilityZones: pulumi.Output<string[] | undefined>;

A list of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must 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: System 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 currently supported and will show a perpetual difference.

property replicationGroupId

public replicationGroupId: pulumi.Output<string>;

The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.

property securityGroupIds

public securityGroupIds: pulumi.Output<string[]>;

One or more VPC security groups associated with the cache cluster

property securityGroupNames

public securityGroupNames: pulumi.Output<string[]>;

List of security group names to associate with this cache cluster

property snapshotArns

public snapshotArns: pulumi.Output<string[] | undefined>;

A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb

property snapshotName

public snapshotName: pulumi.Output<string | undefined>;

The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.

property snapshotRetentionLimit

public snapshotRetentionLimit: pulumi.Output<number | undefined>;

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes

property snapshotWindow

public snapshotWindow: pulumi.Output<string>;

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00

property subnetGroupName

public subnetGroupName: pulumi.Output<string>;

Name of the subnet group to be used for the cache cluster.

property tags

public tags: pulumi.Output<Tags | undefined>;

A mapping of tags to assign to the resource

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ParameterGroup

Provides an ElastiCache parameter group resource.

constructor

new ParameterGroup(name: string, args: ParameterGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a ParameterGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ParameterGroupState): ParameterGroup

Get an existing ParameterGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string>;

The description of the ElastiCache parameter group. Defaults to “Managed by Terraform”.

property family

public family: pulumi.Output<string>;

The family of the ElastiCache parameter group.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the ElastiCache parameter.

property parameters

public parameters: pulumi.Output<{ ... }[] | undefined>;

A list of ElastiCache parameters to apply.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ReplicationGroup

Provides an ElastiCache Replication Group resource. For working with Memcached or single primary Redis instances (Cluster Mode Disabled), see the aws_elasticache_cluster resource.

constructor

new ReplicationGroup(name: string, args: ReplicationGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a ReplicationGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ReplicationGroupState): ReplicationGroup

Get an existing ReplicationGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property applyImmediately

public applyImmediately: pulumi.Output<boolean>;

Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.

property atRestEncryptionEnabled

public atRestEncryptionEnabled: pulumi.Output<boolean | undefined>;

Whether to enable encryption at rest.

property authToken

public authToken: pulumi.Output<string | undefined>;

The password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.

property autoMinorVersionUpgrade

public autoMinorVersionUpgrade: pulumi.Output<boolean | undefined>;

Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to true.

property automaticFailoverEnabled

public automaticFailoverEnabled: pulumi.Output<boolean | undefined>;

Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.

property availabilityZones

public availabilityZones: pulumi.Output<string[] | undefined>;

A list of EC2 availability zones in which the replication group’s cache clusters will be created. The order of the availability zones in the list is not important.

property clusterMode

public clusterMode: pulumi.Output<{ ... }>;

Create a native redis cluster. automatic_failover_enabled must be set to true. Cluster Mode documented below. Only 1 cluster_mode block is allowed.

property configurationEndpointAddress

public configurationEndpointAddress: pulumi.Output<string>;

The address of the replication group configuration endpoint when cluster mode is enabled.

property engine

public engine: pulumi.Output<string | undefined>;

The name of the cache engine to be used for the clusters in this replication group. e.g. redis

property engineVersion

public engineVersion: pulumi.Output<string>;

The version number of the cache engine to be used for the cache clusters in this replication group.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property maintenanceWindow

public maintenanceWindow: pulumi.Output<string>;

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00

property memberClusters

public memberClusters: pulumi.Output<string[]>;

The identifiers of all the nodes that are part of this replication group.

property nodeType

public nodeType: pulumi.Output<string>;

The compute and memory capacity of the nodes in the node group.

property notificationTopicArn

public notificationTopicArn: pulumi.Output<string | undefined>;

An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic

property numberCacheClusters

public numberCacheClusters: pulumi.Output<number>;

The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications.

property parameterGroupName

public parameterGroupName: pulumi.Output<string>;

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

property port

public port: pulumi.Output<number | undefined>;

The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.

property primaryEndpointAddress

public primaryEndpointAddress: pulumi.Output<string>;

(Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.

property replicationGroupDescription

public replicationGroupDescription: pulumi.Output<string>;

A user-created description for the replication group.

property replicationGroupId

public replicationGroupId: pulumi.Output<string>;

The replication group identifier. This parameter is stored as a lowercase string.

property securityGroupIds

public securityGroupIds: pulumi.Output<string[]>;

One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud

property securityGroupNames

public securityGroupNames: pulumi.Output<string[]>;

A list of cache security group names to associate with this replication group.

property snapshotArns

public snapshotArns: pulumi.Output<string[] | undefined>;

A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb

property snapshotName

public snapshotName: pulumi.Output<string | undefined>;

The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.

property snapshotRetentionLimit

public snapshotRetentionLimit: pulumi.Output<number | undefined>;

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes

property snapshotWindow

public snapshotWindow: pulumi.Output<string>;

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00

property subnetGroupName

public subnetGroupName: pulumi.Output<string>;

The name of the cache subnet group to be used for the replication group.

property tags

public tags: pulumi.Output<Tags | undefined>;

A mapping of tags to assign to the resource

property transitEncryptionEnabled

public transitEncryptionEnabled: pulumi.Output<boolean | undefined>;

Whether to enable encryption in transit.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class SecurityGroup

Provides an ElastiCache Security Group to control access to one or more cache clusters.

~> NOTE: ElastiCache Security Groups are for use only when working with an ElastiCache cluster outside of a VPC. If you are using a VPC, see the ElastiCache Subnet Group resource.

constructor

new SecurityGroup(name: string, args: SecurityGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a SecurityGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityGroupState): SecurityGroup

Get an existing SecurityGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string>;

description for the cache security group. Defaults to “Managed by Terraform”.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

Name for the cache security group. This value is stored as a lowercase string.

property securityGroupNames

public securityGroupNames: pulumi.Output<string[]>;

List of EC2 security group names to be authorized for ingress to the cache security group

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class SubnetGroup

Provides an ElastiCache Subnet Group resource.

~> NOTE: ElastiCache Subnet Groups are only for use when working with an ElastiCache cluster inside of a VPC. If you are on EC2 Classic, see the ElastiCache Security Group resource.

constructor

new SubnetGroup(name: string, args: SubnetGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a SubnetGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SubnetGroupState): SubnetGroup

Get an existing SubnetGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string>;

Description for the cache subnet group. Defaults to “Managed by Terraform”.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

Name for the cache subnet group. Elasticache converts this name to lowercase.

property subnetIds

public subnetIds: pulumi.Output<string[]>;

List of VPC Subnet IDs for the cache subnet group

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

function getCluster

getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>

Use this data source to get information about an Elasticache Cluster

function getReplicationGroup

getReplicationGroup(args: GetReplicationGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetReplicationGroupResult>

Use this data source to get information about an Elasticache Replication Group.

interface ClusterArgs

The set of arguments for constructing a Cluster resource.

property applyImmediately

applyImmediately?: pulumi.Input<boolean>;

Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is false. See [Amazon ElastiCache Documentation for more information.][1] (Available since v0.6.0)

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone.

property availabilityZones

availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;

Use preferred_availability_zones instead unless you want to create cache nodes in single-az, then use availability_zone. Set of Availability Zones in which the cache nodes will be created.

property azMode

azMode?: pulumi.Input<string>;

Specifies whether the nodes in this Memcached node group are created in a single Availability 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 cross-az, num_cache_nodes must be greater than 1

property clusterId

clusterId?: pulumi.Input<string>;

Group identifier. ElastiCache converts this name to lowercase

property engine

engine?: pulumi.Input<string>;

Name of the cache engine to be used for this cache cluster. Valid values for this parameter are memcached or redis

property engineVersion

engineVersion?: pulumi.Input<string>;

Version number of the cache engine to be used. See Describe Cache Engine Versions in the AWS Documentation center for supported versions

property maintenanceWindow

maintenanceWindow?: pulumi.Input<string>;

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00

property nodeType

nodeType?: pulumi.Input<string>;

The compute and memory capacity of the nodes. See Available Cache Node Types for supported node types

property notificationTopicArn

notificationTopicArn?: pulumi.Input<string>;

An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic

property numCacheNodes

numCacheNodes?: pulumi.Input<number>;

The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcache, this value must be between 1 and 20. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.

property parameterGroupName

parameterGroupName?: pulumi.Input<string>;

Name of the parameter group to associate with this cache cluster

property port

port?: pulumi.Input<number>;

The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. Cannot be provided with replication_group_id.

property preferredAvailabilityZones

preferredAvailabilityZones?: pulumi.Input<pulumi.Input<string>[]>;

A list of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must 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: System 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 currently supported and will show a perpetual difference.

property replicationGroupId

replicationGroupId?: pulumi.Input<string>;

The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more VPC security groups associated with the cache cluster

property securityGroupNames

securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;

List of security group names to associate with this cache cluster

property snapshotArns

snapshotArns?: pulumi.Input<pulumi.Input<string>[]>;

A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb

property snapshotName

snapshotName?: pulumi.Input<string>;

The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.

property snapshotRetentionLimit

snapshotRetentionLimit?: pulumi.Input<number>;

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes

property snapshotWindow

snapshotWindow?: pulumi.Input<string>;

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00

property subnetGroupName

subnetGroupName?: pulumi.Input<string>;

Name of the subnet group to be used for the cache cluster.

property tags

tags?: pulumi.Input<Tags>;

A mapping of tags to assign to the resource

interface ClusterState

Input properties used for looking up and filtering Cluster resources.

property applyImmediately

applyImmediately?: pulumi.Input<boolean>;

Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is false. See [Amazon ElastiCache Documentation for more information.][1] (Available since v0.6.0)

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone.

property availabilityZones

availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;

Use preferred_availability_zones instead unless you want to create cache nodes in single-az, then use availability_zone. Set of Availability Zones in which the cache nodes will be created.

property azMode

azMode?: pulumi.Input<string>;

Specifies whether the nodes in this Memcached node group are created in a single Availability 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 cross-az, num_cache_nodes must be greater than 1

property cacheNodes

cacheNodes?: pulumi.Input<pulumi.Input<{ ... }>[]>;

List of node objects including id, address, port and availability_zone. Referenceable e.g. as ${aws_elasticache_cluster.bar.cache_nodes.0.address}

property clusterAddress

clusterAddress?: pulumi.Input<string>;

(Memcached only) The DNS name of the cache cluster without the port appended.

property clusterId

clusterId?: pulumi.Input<string>;

Group identifier. ElastiCache converts this name to lowercase

property configurationEndpoint

configurationEndpoint?: pulumi.Input<string>;

(Memcached only) The configuration endpoint to allow host discovery.

property engine

engine?: pulumi.Input<string>;

Name of the cache engine to be used for this cache cluster. Valid values for this parameter are memcached or redis

property engineVersion

engineVersion?: pulumi.Input<string>;

Version number of the cache engine to be used. See Describe Cache Engine Versions in the AWS Documentation center for supported versions

property maintenanceWindow

maintenanceWindow?: pulumi.Input<string>;

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00

property nodeType

nodeType?: pulumi.Input<string>;

The compute and memory capacity of the nodes. See Available Cache Node Types for supported node types

property notificationTopicArn

notificationTopicArn?: pulumi.Input<string>;

An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic

property numCacheNodes

numCacheNodes?: pulumi.Input<number>;

The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcache, this value must be between 1 and 20. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.

property parameterGroupName

parameterGroupName?: pulumi.Input<string>;

Name of the parameter group to associate with this cache cluster

property port

port?: pulumi.Input<number>;

The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. Cannot be provided with replication_group_id.

property preferredAvailabilityZones

preferredAvailabilityZones?: pulumi.Input<pulumi.Input<string>[]>;

A list of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must 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: System 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 currently supported and will show a perpetual difference.

property replicationGroupId

replicationGroupId?: pulumi.Input<string>;

The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more VPC security groups associated with the cache cluster

property securityGroupNames

securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;

List of security group names to associate with this cache cluster

property snapshotArns

snapshotArns?: pulumi.Input<pulumi.Input<string>[]>;

A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb

property snapshotName

snapshotName?: pulumi.Input<string>;

The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.

property snapshotRetentionLimit

snapshotRetentionLimit?: pulumi.Input<number>;

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes

property snapshotWindow

snapshotWindow?: pulumi.Input<string>;

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00

property subnetGroupName

subnetGroupName?: pulumi.Input<string>;

Name of the subnet group to be used for the cache cluster.

property tags

tags?: pulumi.Input<Tags>;

A mapping of tags to assign to the resource

interface GetClusterArgs

A collection of arguments for invoking getCluster.

property clusterId

clusterId: string;

Group identifier.

property tags

tags?: { ... };

interface GetClusterResult

A collection of values returned by getCluster.

property arn

arn: string;

property availabilityZone

availabilityZone: string;

The Availability Zone for the cache cluster.

property cacheNodes

cacheNodes: { ... }[];

List of node objects including id, address, port and availability_zone. Referenceable e.g. as ${data.aws_elasticache_cluster.bar.cache_nodes.0.address}

property clusterAddress

clusterAddress: string;

(Memcached only) The DNS name of the cache cluster without the port appended.

property configurationEndpoint

configurationEndpoint: string;

(Memcached only) The configuration endpoint to allow host discovery.

property engine

engine: string;

Name of the cache engine.

property engineVersion

engineVersion: string;

Version number of the cache engine.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property maintenanceWindow

maintenanceWindow: string;

Specifies the weekly time range for when maintenance on the cache cluster is performed.

property nodeType

nodeType: string;

The cluster node type.

property notificationTopicArn

notificationTopicArn: string;

An Amazon Resource Name (ARN) of an SNS topic that ElastiCache notifications get sent to.

property numCacheNodes

numCacheNodes: number;

The number of cache nodes that the cache cluster has.

property parameterGroupName

parameterGroupName: string;

Name of the parameter group associated with this cache cluster.

property port

port: number;

The port number on which each of the cache nodes will accept connections.

property replicationGroupId

replicationGroupId: string;

The replication group to which this cache cluster belongs.

property securityGroupIds

securityGroupIds: string[];

List VPC security groups associated with the cache cluster.

property securityGroupNames

securityGroupNames: string[];

List of security group names associated with this cache cluster.

property snapshotRetentionLimit

snapshotRetentionLimit: number;

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them.

property snapshotWindow

snapshotWindow: string;

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of the cache cluster.

property subnetGroupName

subnetGroupName: string;

Name of the subnet group associated to the cache cluster.

property tags

tags: { ... };

The tags assigned to the resource

interface GetReplicationGroupArgs

A collection of arguments for invoking getReplicationGroup.

property replicationGroupId

replicationGroupId: string;

The identifier for the replication group.

interface GetReplicationGroupResult

A collection of values returned by getReplicationGroup.

property authTokenEnabled

authTokenEnabled: boolean;

A flag that enables using an AuthToken (password) when issuing Redis commands.

property automaticFailoverEnabled

automaticFailoverEnabled: boolean;

A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.

property configurationEndpointAddress

configurationEndpointAddress: string;

The configuration endpoint address to allow host discovery.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property memberClusters

memberClusters: string[];

The identifiers of all the nodes that are part of this replication group.

property nodeType

nodeType: string;

The cluster node type.

property numberCacheClusters

numberCacheClusters: number;

The number of cache clusters that the replication group has.

property port

port: number;

The port number on which the configuration endpoint will accept connections.

property primaryEndpointAddress

primaryEndpointAddress: string;

The endpoint of the primary node in this node group (shard).

property replicationGroupDescription

replicationGroupDescription: string;

The description of the replication group.

property snapshotRetentionLimit

snapshotRetentionLimit: number;

The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.

property snapshotWindow

snapshotWindow: string;

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

interface ParameterGroupArgs

The set of arguments for constructing a ParameterGroup resource.

property description

description?: pulumi.Input<string>;

The description of the ElastiCache parameter group. Defaults to “Managed by Terraform”.

property family

family: pulumi.Input<string>;

The family of the ElastiCache parameter group.

property name

name?: pulumi.Input<string>;

The name of the ElastiCache parameter.

property parameters

parameters?: pulumi.Input<pulumi.Input<{ ... }>[]>;

A list of ElastiCache parameters to apply.

interface ParameterGroupState

Input properties used for looking up and filtering ParameterGroup resources.

property description

description?: pulumi.Input<string>;

The description of the ElastiCache parameter group. Defaults to “Managed by Terraform”.

property family

family?: pulumi.Input<string>;

The family of the ElastiCache parameter group.

property name

name?: pulumi.Input<string>;

The name of the ElastiCache parameter.

property parameters

parameters?: pulumi.Input<pulumi.Input<{ ... }>[]>;

A list of ElastiCache parameters to apply.

interface ReplicationGroupArgs

The set of arguments for constructing a ReplicationGroup resource.

property applyImmediately

applyImmediately?: pulumi.Input<boolean>;

Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.

property atRestEncryptionEnabled

atRestEncryptionEnabled?: pulumi.Input<boolean>;

Whether to enable encryption at rest.

property authToken

authToken?: pulumi.Input<string>;

The password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.

property autoMinorVersionUpgrade

autoMinorVersionUpgrade?: pulumi.Input<boolean>;

Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to true.

property automaticFailoverEnabled

automaticFailoverEnabled?: pulumi.Input<boolean>;

Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.

property availabilityZones

availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;

A list of EC2 availability zones in which the replication group’s cache clusters will be created. The order of the availability zones in the list is not important.

property clusterMode

clusterMode?: pulumi.Input<{ ... }>;

Create a native redis cluster. automatic_failover_enabled must be set to true. Cluster Mode documented below. Only 1 cluster_mode block is allowed.

property engine

engine?: pulumi.Input<string>;

The name of the cache engine to be used for the clusters in this replication group. e.g. redis

property engineVersion

engineVersion?: pulumi.Input<string>;

The version number of the cache engine to be used for the cache clusters in this replication group.

property maintenanceWindow

maintenanceWindow?: pulumi.Input<string>;

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00

property nodeType

nodeType?: pulumi.Input<string>;

The compute and memory capacity of the nodes in the node group.

property notificationTopicArn

notificationTopicArn?: pulumi.Input<string>;

An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic

property numberCacheClusters

numberCacheClusters?: pulumi.Input<number>;

The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications.

property parameterGroupName

parameterGroupName?: pulumi.Input<string>;

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

property port

port?: pulumi.Input<number>;

The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.

property replicationGroupDescription

replicationGroupDescription: pulumi.Input<string>;

A user-created description for the replication group.

property replicationGroupId

replicationGroupId: pulumi.Input<string>;

The replication group identifier. This parameter is stored as a lowercase string.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud

property securityGroupNames

securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;

A list of cache security group names to associate with this replication group.

property snapshotArns

snapshotArns?: pulumi.Input<pulumi.Input<string>[]>;

A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb

property snapshotName

snapshotName?: pulumi.Input<string>;

The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.

property snapshotRetentionLimit

snapshotRetentionLimit?: pulumi.Input<number>;

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes

property snapshotWindow

snapshotWindow?: pulumi.Input<string>;

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00

property subnetGroupName

subnetGroupName?: pulumi.Input<string>;

The name of the cache subnet group to be used for the replication group.

property tags

tags?: pulumi.Input<Tags>;

A mapping of tags to assign to the resource

property transitEncryptionEnabled

transitEncryptionEnabled?: pulumi.Input<boolean>;

Whether to enable encryption in transit.

interface ReplicationGroupState

Input properties used for looking up and filtering ReplicationGroup resources.

property applyImmediately

applyImmediately?: pulumi.Input<boolean>;

Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.

property atRestEncryptionEnabled

atRestEncryptionEnabled?: pulumi.Input<boolean>;

Whether to enable encryption at rest.

property authToken

authToken?: pulumi.Input<string>;

The password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.

property autoMinorVersionUpgrade

autoMinorVersionUpgrade?: pulumi.Input<boolean>;

Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to true.

property automaticFailoverEnabled

automaticFailoverEnabled?: pulumi.Input<boolean>;

Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.

property availabilityZones

availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;

A list of EC2 availability zones in which the replication group’s cache clusters will be created. The order of the availability zones in the list is not important.

property clusterMode

clusterMode?: pulumi.Input<{ ... }>;

Create a native redis cluster. automatic_failover_enabled must be set to true. Cluster Mode documented below. Only 1 cluster_mode block is allowed.

property configurationEndpointAddress

configurationEndpointAddress?: pulumi.Input<string>;

The address of the replication group configuration endpoint when cluster mode is enabled.

property engine

engine?: pulumi.Input<string>;

The name of the cache engine to be used for the clusters in this replication group. e.g. redis

property engineVersion

engineVersion?: pulumi.Input<string>;

The version number of the cache engine to be used for the cache clusters in this replication group.

property maintenanceWindow

maintenanceWindow?: pulumi.Input<string>;

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00

property memberClusters

memberClusters?: pulumi.Input<pulumi.Input<string>[]>;

The identifiers of all the nodes that are part of this replication group.

property nodeType

nodeType?: pulumi.Input<string>;

The compute and memory capacity of the nodes in the node group.

property notificationTopicArn

notificationTopicArn?: pulumi.Input<string>;

An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic

property numberCacheClusters

numberCacheClusters?: pulumi.Input<number>;

The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications.

property parameterGroupName

parameterGroupName?: pulumi.Input<string>;

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

property port

port?: pulumi.Input<number>;

The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.

property primaryEndpointAddress

primaryEndpointAddress?: pulumi.Input<string>;

(Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.

property replicationGroupDescription

replicationGroupDescription?: pulumi.Input<string>;

A user-created description for the replication group.

property replicationGroupId

replicationGroupId?: pulumi.Input<string>;

The replication group identifier. This parameter is stored as a lowercase string.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud

property securityGroupNames

securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;

A list of cache security group names to associate with this replication group.

property snapshotArns

snapshotArns?: pulumi.Input<pulumi.Input<string>[]>;

A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb

property snapshotName

snapshotName?: pulumi.Input<string>;

The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.

property snapshotRetentionLimit

snapshotRetentionLimit?: pulumi.Input<number>;

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes

property snapshotWindow

snapshotWindow?: pulumi.Input<string>;

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00

property subnetGroupName

subnetGroupName?: pulumi.Input<string>;

The name of the cache subnet group to be used for the replication group.

property tags

tags?: pulumi.Input<Tags>;

A mapping of tags to assign to the resource

property transitEncryptionEnabled

transitEncryptionEnabled?: pulumi.Input<boolean>;

Whether to enable encryption in transit.

interface SecurityGroupArgs

The set of arguments for constructing a SecurityGroup resource.

property description

description?: pulumi.Input<string>;

description for the cache security group. Defaults to “Managed by Terraform”.

property name

name?: pulumi.Input<string>;

Name for the cache security group. This value is stored as a lowercase string.

property securityGroupNames

securityGroupNames: pulumi.Input<pulumi.Input<string>[]>;

List of EC2 security group names to be authorized for ingress to the cache security group

interface SecurityGroupState

Input properties used for looking up and filtering SecurityGroup resources.

property description

description?: pulumi.Input<string>;

description for the cache security group. Defaults to “Managed by Terraform”.

property name

name?: pulumi.Input<string>;

Name for the cache security group. This value is stored as a lowercase string.

property securityGroupNames

securityGroupNames?: pulumi.Input<pulumi.Input<string>[]>;

List of EC2 security group names to be authorized for ingress to the cache security group

interface SubnetGroupArgs

The set of arguments for constructing a SubnetGroup resource.

property description

description?: pulumi.Input<string>;

Description for the cache subnet group. Defaults to “Managed by Terraform”.

property name

name?: pulumi.Input<string>;

Name for the cache subnet group. Elasticache converts this name to lowercase.

property subnetIds

subnetIds: pulumi.Input<pulumi.Input<string>[]>;

List of VPC Subnet IDs for the cache subnet group

interface SubnetGroupState

Input properties used for looking up and filtering SubnetGroup resources.

property description

description?: pulumi.Input<string>;

Description for the cache subnet group. Defaults to “Managed by Terraform”.

property name

name?: pulumi.Input<string>;

Name for the cache subnet group. Elasticache converts this name to lowercase.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

List of VPC Subnet IDs for the cache subnet group