Show / Hide Table of Contents

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 the apply_immediately flag to instruct the service to apply the change immediately. Using apply_immediately can 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",
    });
}

}
Inheritance
System.Object
Resource
CustomResource
ReplicationGroup
Inherited Members
CustomResource.Id
Resource.GetResourceType()
Resource.GetResourceName()
Resource.Urn
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Pulumi.Aws.ElastiCache
Assembly: Pulumi.Aws.dll
Syntax
public class ReplicationGroup : CustomResource

Constructors

View Source

ReplicationGroup(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 Source

ApplyImmediately

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>
View Source

AtRestEncryptionEnabled

Whether to enable encryption at rest.

Declaration
public Output<bool?> AtRestEncryptionEnabled { get; }
Property Value
Type Description
Output<System.Nullable<System.Boolean>>
View Source

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>
View Source

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>>
View Source

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>>
View Source

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>>
View Source

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>
View Source

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>
View Source

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>
View Source

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>
View Source

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>
View Source

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>
View Source

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>>
View Source

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>
View Source

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>
View Source

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>
View Source

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>
View Source

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>>
View Source

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>
View Source

ReplicationGroupDescription

A user-created description for the replication group.

Declaration
public Output<string> ReplicationGroupDescription { get; }
Property Value
Type Description
Output<System.String>
View Source

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>
View Source

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>>
View Source

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>>
View Source

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>>
View Source

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>
View Source

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>>
View Source

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>
View Source

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>
View Source

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>>
View Source

TransitEncryptionEnabled

Whether to enable encryption in transit.

Declaration
public Output<bool?> TransitEncryptionEnabled { get; }
Property Value
Type Description
Output<System.Nullable<System.Boolean>>

Methods

View Source

Get(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
  • View Source
Back to top Copyright 2016-2020, Pulumi Corporation.