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.
Note: When you change an attribute, such as
engine_version, by default the ElastiCache API applies it in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use theapply_immediatelyflag to instruct the service to apply the change immediately. Usingapply_immediatelycan result in a brief downtime as servers reboots.
Example Usage
Redis Cluster Mode Enabled
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var baz = new Aws.ElastiCache.ReplicationGroup("baz", new Aws.ElastiCache.ReplicationGroupArgs
{
AutomaticFailoverEnabled = true,
ClusterMode = new Aws.ElastiCache.Inputs.ReplicationGroupClusterModeArgs
{
NumNodeGroups = 2,
ReplicasPerNodeGroup = 1,
},
NodeType = "cache.t2.small",
ParameterGroupName = "default.redis3.2.cluster.on",
Port = 6379,
ReplicationGroupDescription = "test description",
});
}
}
Inherited Members
Namespace: Pulumi.Aws.ElastiCache
Assembly: Pulumi.Aws.dll
Syntax
public class ReplicationGroup : CustomResource
Constructors
View SourceReplicationGroup(String, ReplicationGroupArgs, CustomResourceOptions)
Create a ReplicationGroup resource with the given unique name, arguments, and options.
Declaration
public ReplicationGroup(string name, ReplicationGroupArgs args, CustomResourceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The unique name of the resource |
| ReplicationGroupArgs | args | The arguments used to populate this resource's properties |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Properties
View SourceApplyImmediately
Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
Declaration
public Output<bool> ApplyImmediately { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Boolean> |
AtRestEncryptionEnabled
Whether to enable encryption at rest.
Declaration
public Output<bool?> AtRestEncryptionEnabled { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
AuthToken
The password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
Declaration
public Output<string> AuthToken { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
AutomaticFailoverEnabled
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.
Declaration
public Output<bool?> AutomaticFailoverEnabled { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
AutoMinorVersionUpgrade
Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to true.
Declaration
public Output<bool?> AutoMinorVersionUpgrade { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
AvailabilityZones
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.
Declaration
public Output<ImmutableArray<string>> AvailabilityZones { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
ClusterMode
Create a native redis cluster. automatic_failover_enabled must be set to true. Cluster Mode documented below. Only 1 cluster_mode block is allowed.
Declaration
public Output<ReplicationGroupClusterMode> ClusterMode { get; }
Property Value
| Type | Description |
|---|---|
| Output<ReplicationGroupClusterMode> |
ConfigurationEndpointAddress
The address of the replication group configuration endpoint when cluster mode is enabled.
Declaration
public Output<string> ConfigurationEndpointAddress { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Engine
The name of the cache engine to be used for the clusters in this replication group. e.g. redis
Declaration
public Output<string> Engine { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
EngineVersion
The version number of the cache engine to be used for the cache clusters in this replication group.
Declaration
public Output<string> EngineVersion { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
KmsKeyId
The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
Declaration
public Output<string> KmsKeyId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
MaintenanceWindow
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
Declaration
public Output<string> MaintenanceWindow { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
MemberClusters
The identifiers of all the nodes that are part of this replication group.
Declaration
public Output<ImmutableArray<string>> MemberClusters { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
NodeType
The compute and memory capacity of the nodes in the node group.
Declaration
public Output<string> NodeType { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
NotificationTopicArn
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
Declaration
public Output<string> NotificationTopicArn { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
NumberCacheClusters
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.
Declaration
public Output<int> NumberCacheClusters { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Int32> |
ParameterGroupName
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.
Declaration
public Output<string> ParameterGroupName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Port
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.
Declaration
public Output<int?> Port { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Int32>> |
PrimaryEndpointAddress
(Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
Declaration
public Output<string> PrimaryEndpointAddress { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ReplicationGroupDescription
A user-created description for the replication group.
Declaration
public Output<string> ReplicationGroupDescription { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ReplicationGroupId
The replication group identifier. This parameter is stored as a lowercase string.
Declaration
public Output<string> ReplicationGroupId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
SecurityGroupIds
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
Declaration
public Output<ImmutableArray<string>> SecurityGroupIds { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
SecurityGroupNames
A list of cache security group names to associate with this replication group.
Declaration
public Output<ImmutableArray<string>> SecurityGroupNames { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
SnapshotArns
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
Declaration
public Output<ImmutableArray<string>> SnapshotArns { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
SnapshotName
The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.
Declaration
public Output<string> SnapshotName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
SnapshotRetentionLimit
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
Declaration
public Output<int?> SnapshotRetentionLimit { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Int32>> |
SnapshotWindow
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
Declaration
public Output<string> SnapshotWindow { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
SubnetGroupName
The name of the cache subnet group to be used for the replication group.
Declaration
public Output<string> SubnetGroupName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Tags
A map of tags to assign to the resource
Declaration
public Output<ImmutableDictionary<string, object>> Tags { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableDictionary<System.String, System.Object>> |
TransitEncryptionEnabled
Whether to enable encryption in transit.
Declaration
public Output<bool?> TransitEncryptionEnabled { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Methods
View SourceGet(String, Input<String>, ReplicationGroupState, CustomResourceOptions)
Get an existing ReplicationGroup resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
Declaration
public static ReplicationGroup Get(string name, Input<string> id, ReplicationGroupState state = null, CustomResourceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The unique name of the resulting resource. |
| Input<System.String> | id | The unique provider ID of the resource to lookup. |
| ReplicationGroupState | state | Any extra arguments used during the lookup. |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Returns
| Type | Description |
|---|---|
| ReplicationGroup |