Class: AWSCDK::Elasticache::CfnReplicationGroupProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
elasticache/cfn_replication_group_props.rb

Overview

Properties for defining a CfnReplicationGroup.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(replication_group_description:, at_rest_encryption_enabled: nil, auth_token: nil, automatic_failover_enabled: nil, auto_minor_version_upgrade: nil, cache_node_type: nil, cache_parameter_group_name: nil, cache_security_group_names: nil, cache_subnet_group_name: nil, cluster_mode: nil, data_tiering_enabled: nil, durability: nil, engine: nil, engine_version: nil, global_replication_group_id: nil, ip_discovery: nil, kms_key_id: nil, log_delivery_configurations: nil, multi_az_enabled: nil, network_type: nil, node_group_configuration: nil, notification_topic_arn: nil, num_cache_clusters: nil, num_node_groups: nil, port: nil, preferred_cache_cluster_a_zs: nil, preferred_maintenance_window: nil, primary_cluster_id: nil, replicas_per_node_group: nil, replication_group_id: nil, security_group_ids: nil, snapshot_arns: nil, snapshot_name: nil, snapshot_retention_limit: nil, snapshotting_cluster_id: nil, snapshot_window: nil, tags: nil, transit_encryption_enabled: nil, transit_encryption_mode: nil, user_group_ids: nil) ⇒ CfnReplicationGroupProps

Returns a new instance of CfnReplicationGroupProps.

Parameters:

  • replication_group_description (String)

    A user-created description for the replication group.

  • at_rest_encryption_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A flag that enables encryption at rest when set to true .

  • auth_token (String, nil) (defaults to: nil)

    Reserved parameter. The password used to access a password protected server.

  • automatic_failover_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

  • auto_minor_version_upgrade (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If you are running Valkey 7.2 or later, or Redis OSS 6.0 or later, set this parameter to yes if you want to opt-in to the next minor version upgrade campaign. This parameter is disabled for previous versions.

  • cache_node_type (String, nil) (defaults to: nil)

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

  • cache_parameter_group_name (String, nil) (defaults to: nil)

    The name of the parameter group to associate with this replication group.

  • cache_security_group_names (Array<String>, nil) (defaults to: nil)

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

  • cache_subnet_group_name (String, nil) (defaults to: nil)

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

  • cluster_mode (String, nil) (defaults to: nil)

    The mode can be enabled or disabled.

  • data_tiering_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Enables data tiering.

  • durability (String, nil) (defaults to: nil)

    The durability setting for the replication group.

  • engine (String, nil) (defaults to: nil)

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

  • engine_version (String, nil) (defaults to: nil)

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

  • global_replication_group_id (String, nil) (defaults to: nil)

    The name of the Global datastore.

  • ip_discovery (String, nil) (defaults to: nil)

    The network type you choose when creating a replication group, either ipv4 | ipv6 .

  • kms_key_id (String, nil) (defaults to: nil)

    The ID of the KMS key used to encrypt the disk on the cluster.

  • log_delivery_configurations (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Elasticache::CfnReplicationGroup::LogDeliveryConfigurationRequestProperty>, nil) (defaults to: nil)

    Specifies the destination, format and type of the logs.

  • multi_az_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A flag indicating if you have Multi-AZ enabled to enhance fault tolerance.

  • network_type (String, nil) (defaults to: nil)

    Must be either ipv4 | ipv6 | dual_stack .

  • node_group_configuration (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Elasticache::CfnReplicationGroup::NodeGroupConfigurationProperty>, nil) (defaults to: nil)

    NodeGroupConfiguration is a property of the AWS::ElastiCache::ReplicationGroup resource that configures an Amazon ElastiCache (ElastiCache) Valkey or Redis OSS cluster node group.

  • notification_topic_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

  • num_cache_clusters (Numeric, nil) (defaults to: nil)

    The number of clusters this replication group initially has.

  • num_node_groups (Numeric, nil) (defaults to: nil)

    An optional parameter that specifies the number of node groups (shards) for this Valkey or Redis OSS (cluster mode enabled) replication group.

  • port (Numeric, nil) (defaults to: nil)

    The port number on which each member of the replication group accepts connections.

  • preferred_cache_cluster_a_zs (Array<String>, nil) (defaults to: nil)

    A list of EC2 Availability Zones in which the replication group's clusters are created.

  • preferred_maintenance_window (String, nil) (defaults to: nil)

    Specifies the weekly time range during which maintenance on the cluster is performed.

  • primary_cluster_id (String, nil) (defaults to: nil)

    The identifier of the cluster that serves as the primary for this replication group.

  • replicas_per_node_group (Numeric, nil) (defaults to: nil)

    An optional parameter that specifies the number of replica nodes in each node group (shard).

  • replication_group_id (String, nil) (defaults to: nil)

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

  • security_group_ids (Array<String>, nil) (defaults to: nil)

    One or more Amazon VPC security groups associated with this replication group.

  • snapshot_arns (Array<String>, nil) (defaults to: nil)

    A list of Amazon Resource Names (ARN) that uniquely identify the Valkey or Redis OSS RDB snapshot files stored in Amazon S3.

  • snapshot_name (String, nil) (defaults to: nil)

    The name of a snapshot from which to restore data into the new replication group.

  • snapshot_retention_limit (Numeric, nil) (defaults to: nil)

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

  • snapshotting_cluster_id (String, nil) (defaults to: nil)

    The cluster ID that is used as the daily snapshot source for the replication group.

  • snapshot_window (String, nil) (defaults to: nil)

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

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    A list of tags to be added to this resource.

  • transit_encryption_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A flag that enables in-transit encryption when set to true .

  • transit_encryption_mode (String, nil) (defaults to: nil)

    A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.

  • user_group_ids (Array<String>, nil) (defaults to: nil)

    The ID of user group to associate with the replication group.



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'elasticache/cfn_replication_group_props.rb', line 49

def initialize(replication_group_description:, at_rest_encryption_enabled: nil, auth_token: nil, automatic_failover_enabled: nil, auto_minor_version_upgrade: nil, cache_node_type: nil, cache_parameter_group_name: nil, cache_security_group_names: nil, cache_subnet_group_name: nil, cluster_mode: nil, data_tiering_enabled: nil, durability: nil, engine: nil, engine_version: nil, global_replication_group_id: nil, ip_discovery: nil, kms_key_id: nil, log_delivery_configurations: nil, multi_az_enabled: nil, network_type: nil, node_group_configuration: nil, notification_topic_arn: nil, num_cache_clusters: nil, num_node_groups: nil, port: nil, preferred_cache_cluster_a_zs: nil, preferred_maintenance_window: nil, primary_cluster_id: nil, replicas_per_node_group: nil, replication_group_id: nil, security_group_ids: nil, snapshot_arns: nil, snapshot_name: nil, snapshot_retention_limit: nil, snapshotting_cluster_id: nil, snapshot_window: nil, tags: nil, transit_encryption_enabled: nil, transit_encryption_mode: nil, user_group_ids: nil)
  @replication_group_description = replication_group_description
  Jsii::Type.check_type(@replication_group_description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationGroupDescription")
  @at_rest_encryption_enabled = at_rest_encryption_enabled
  Jsii::Type.check_type(@at_rest_encryption_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "atRestEncryptionEnabled") unless @at_rest_encryption_enabled.nil?
  @auth_token = auth_token
  Jsii::Type.check_type(@auth_token, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authToken") unless @auth_token.nil?
  @automatic_failover_enabled = automatic_failover_enabled
  Jsii::Type.check_type(@automatic_failover_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "automaticFailoverEnabled") unless @automatic_failover_enabled.nil?
  @auto_minor_version_upgrade = auto_minor_version_upgrade
  Jsii::Type.check_type(@auto_minor_version_upgrade, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "autoMinorVersionUpgrade") unless @auto_minor_version_upgrade.nil?
  @cache_node_type = cache_node_type
  Jsii::Type.check_type(@cache_node_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheNodeType") unless @cache_node_type.nil?
  @cache_parameter_group_name = cache_parameter_group_name
  Jsii::Type.check_type(@cache_parameter_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheParameterGroupName") unless @cache_parameter_group_name.nil?
  @cache_security_group_names = cache_security_group_names
  Jsii::Type.check_type(@cache_security_group_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cacheSecurityGroupNames") unless @cache_security_group_names.nil?
  @cache_subnet_group_name = cache_subnet_group_name
  Jsii::Type.check_type(@cache_subnet_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheSubnetGroupName") unless @cache_subnet_group_name.nil?
  @cluster_mode = cluster_mode
  Jsii::Type.check_type(@cluster_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterMode") unless @cluster_mode.nil?
  @data_tiering_enabled = data_tiering_enabled
  Jsii::Type.check_type(@data_tiering_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "dataTieringEnabled") unless @data_tiering_enabled.nil?
  @durability = durability
  Jsii::Type.check_type(@durability, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "durability") unless @durability.nil?
  @engine = engine
  Jsii::Type.check_type(@engine, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engine") unless @engine.nil?
  @engine_version = engine_version
  Jsii::Type.check_type(@engine_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineVersion") unless @engine_version.nil?
  @global_replication_group_id = global_replication_group_id
  Jsii::Type.check_type(@global_replication_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "globalReplicationGroupId") unless @global_replication_group_id.nil?
  @ip_discovery = ip_discovery
  Jsii::Type.check_type(@ip_discovery, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipDiscovery") unless @ip_discovery.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @log_delivery_configurations = log_delivery_configurations
  Jsii::Type.check_type(@log_delivery_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2FjaGUuQ2ZuUmVwbGljYXRpb25Hcm91cC5Mb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25SZXF1ZXN0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "logDeliveryConfigurations") unless @log_delivery_configurations.nil?
  @multi_az_enabled = multi_az_enabled
  Jsii::Type.check_type(@multi_az_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiAzEnabled") unless @multi_az_enabled.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless @network_type.nil?
  @node_group_configuration = node_group_configuration
  Jsii::Type.check_type(@node_group_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2FjaGUuQ2ZuUmVwbGljYXRpb25Hcm91cC5Ob2RlR3JvdXBDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "nodeGroupConfiguration") unless @node_group_configuration.nil?
  @notification_topic_arn = notification_topic_arn
  Jsii::Type.check_type(@notification_topic_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "notificationTopicArn") unless @notification_topic_arn.nil?
  @num_cache_clusters = num_cache_clusters
  Jsii::Type.check_type(@num_cache_clusters, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numCacheClusters") unless @num_cache_clusters.nil?
  @num_node_groups = num_node_groups
  Jsii::Type.check_type(@num_node_groups, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numNodeGroups") unless @num_node_groups.nil?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil?
  @preferred_cache_cluster_a_zs = preferred_cache_cluster_a_zs
  Jsii::Type.check_type(@preferred_cache_cluster_a_zs, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "preferredCacheClusterAZs") unless @preferred_cache_cluster_a_zs.nil?
  @preferred_maintenance_window = preferred_maintenance_window
  Jsii::Type.check_type(@preferred_maintenance_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless @preferred_maintenance_window.nil?
  @primary_cluster_id = primary_cluster_id
  Jsii::Type.check_type(@primary_cluster_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "primaryClusterId") unless @primary_cluster_id.nil?
  @replicas_per_node_group = replicas_per_node_group
  Jsii::Type.check_type(@replicas_per_node_group, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "replicasPerNodeGroup") unless @replicas_per_node_group.nil?
  @replication_group_id = replication_group_id
  Jsii::Type.check_type(@replication_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationGroupId") unless @replication_group_id.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil?
  @snapshot_arns = snapshot_arns
  Jsii::Type.check_type(@snapshot_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "snapshotArns") unless @snapshot_arns.nil?
  @snapshot_name = snapshot_name
  Jsii::Type.check_type(@snapshot_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotName") unless @snapshot_name.nil?
  @snapshot_retention_limit = snapshot_retention_limit
  Jsii::Type.check_type(@snapshot_retention_limit, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "snapshotRetentionLimit") unless @snapshot_retention_limit.nil?
  @snapshotting_cluster_id = snapshotting_cluster_id
  Jsii::Type.check_type(@snapshotting_cluster_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshottingClusterId") unless @snapshotting_cluster_id.nil?
  @snapshot_window = snapshot_window
  Jsii::Type.check_type(@snapshot_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotWindow") unless @snapshot_window.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @transit_encryption_enabled = transit_encryption_enabled
  Jsii::Type.check_type(@transit_encryption_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "transitEncryptionEnabled") unless @transit_encryption_enabled.nil?
  @transit_encryption_mode = transit_encryption_mode
  Jsii::Type.check_type(@transit_encryption_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transitEncryptionMode") unless @transit_encryption_mode.nil?
  @user_group_ids = user_group_ids
  Jsii::Type.check_type(@user_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "userGroupIds") unless @user_group_ids.nil?
end

Instance Attribute Details

#at_rest_encryption_enabledBoolean, ... (readonly)

Note:

Default: - false

A flag that enables encryption at rest when set to true .

Required: Only available when creating a replication group in an Amazon VPC using Redis OSS version 3.2.6 or 4.x onward.

Default: false



146
147
148
# File 'elasticache/cfn_replication_group_props.rb', line 146

def at_rest_encryption_enabled
  @at_rest_encryption_enabled
end

#auth_tokenString? (readonly)

Reserved parameter. The password used to access a password protected server.

AuthToken can be specified only on replication groups where TransitEncryptionEnabled is true . For more information, see Authenticating Valkey or Redis OSS users with the AUTH Command .

For HIPAA compliance, you must specify TransitEncryptionEnabled as true , an AuthToken , and a CacheSubnetGroup .

Password constraints:

  • Must be only printable ASCII characters.
  • Must be at least 16 characters and no more than 128 characters in length.
  • Nonalphanumeric characters are restricted to (!, &, #, $, ^, <, >, -, ).

For more information, see AUTH password at http://redis.io/commands/AUTH.

If ADDING the AuthToken, update requires Replacement .



165
166
167
# File 'elasticache/cfn_replication_group_props.rb', line 165

def auth_token
  @auth_token
end

#auto_minor_version_upgradeBoolean, ... (readonly)

If you are running Valkey 7.2 or later, or Redis OSS 6.0 or later, set this parameter to yes if you want to opt-in to the next minor version upgrade campaign. This parameter is disabled for previous versions.



180
181
182
# File 'elasticache/cfn_replication_group_props.rb', line 180

def auto_minor_version_upgrade
  @auto_minor_version_upgrade
end

#automatic_failover_enabledBoolean, ... (readonly)

Note:

Default: - false

Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

AutomaticFailoverEnabled must be enabled for Valkey or Redis OSS (cluster mode enabled) replication groups.

Default: false



175
176
177
# File 'elasticache/cfn_replication_group_props.rb', line 175

def automatic_failover_enabled
  @automatic_failover_enabled
end

#cache_node_typeString? (readonly)

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

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:
  • Current generation:

M6g node types: cache.m6g.large , cache.m6g.xlarge , cache.m6g.2xlarge , cache.m6g.4xlarge , cache.m6g.12xlarge , cache.m6g.24xlarge

M5 node types: cache.m5.large , cache.m5.xlarge , cache.m5.2xlarge , cache.m5.4xlarge , cache.m5.12xlarge , cache.m5.24xlarge

M4 node types: cache.m4.large , cache.m4.xlarge , cache.m4.2xlarge , cache.m4.4xlarge , cache.m4.10xlarge

T4g node types: cache.t4g.micro , cache.t4g.small , cache.t4g.medium

T3 node types: cache.t3.micro , cache.t3.small , cache.t3.medium

T2 node types: cache.t2.micro , cache.t2.small , cache.t2.medium

  • Previous generation: (not recommended)

T1 node types: cache.t1.micro

M1 node types: cache.m1.small , cache.m1.medium , cache.m1.large , cache.m1.xlarge

M3 node types: cache.m3.medium , cache.m3.large , cache.m3.xlarge , cache.m3.2xlarge

  • Compute optimized:
  • Previous generation: (not recommended)

C1 node types: cache.c1.xlarge

  • Memory optimized:
  • Current generation:

R6gd node types: cache.r6gd.xlarge , cache.r6gd.2xlarge , cache.r6gd.4xlarge , cache.r6gd.8xlarge , cache.r6gd.12xlarge , cache.r6gd.16xlarge

The r6gd family is available in the following regions: us-east-2 , us-east-1 , us-west-2 , us-west-1 , eu-west-1 , eu-central-1 , ap-northeast-1 , ap-southeast-1 , ap-southeast-2 .

R6g node types: cache.r6g.large , cache.r6g.xlarge , cache.r6g.2xlarge , cache.r6g.4xlarge , cache.r6g.12xlarge , cache.r6g.24xlarge

R5 node types: cache.r5.large , cache.r5.xlarge , cache.r5.2xlarge , cache.r5.4xlarge , cache.r5.12xlarge , cache.r5.24xlarge

R4 node types: cache.r4.large , cache.r4.xlarge , cache.r4.2xlarge , cache.r4.4xlarge , cache.r4.8xlarge , cache.r4.16xlarge

  • Previous generation: (not recommended)

M2 node types: cache.m2.xlarge , cache.m2.2xlarge , cache.m2.4xlarge

R3 node types: cache.r3.large , cache.r3.xlarge , cache.r3.2xlarge , cache.r3.4xlarge , cache.r3.8xlarge

For region availability, see Supported Node Types by Amazon Region



236
237
238
# File 'elasticache/cfn_replication_group_props.rb', line 236

def cache_node_type
  @cache_node_type
end

#cache_parameter_group_nameString? (readonly)

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.

If you are running Valkey or Redis OSS version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.

  • To create a Valkey or Redis OSS (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2 .
  • To create a Valkey or Redis OSS (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on .


248
249
250
# File 'elasticache/cfn_replication_group_props.rb', line 248

def cache_parameter_group_name
  @cache_parameter_group_name
end

#cache_security_group_namesArray<String>? (readonly)

Deprecated.

this property has been deprecated

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



254
255
256
# File 'elasticache/cfn_replication_group_props.rb', line 254

def cache_security_group_names
  @cache_security_group_names
end

#cache_subnet_group_nameString? (readonly)

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

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see AWS::ElastiCache::SubnetGroup .



261
262
263
# File 'elasticache/cfn_replication_group_props.rb', line 261

def cache_subnet_group_name
  @cache_subnet_group_name
end

#cluster_modeString? (readonly)

The mode can be enabled or disabled.

To change the cluster mode from disabled to enabled, you must first set the cluster mode to compatible. The compatible mode allows your Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to enabled. For more information, see Modify cluster mode .



268
269
270
# File 'elasticache/cfn_replication_group_props.rb', line 268

def cluster_mode
  @cluster_mode
end

#data_tiering_enabledBoolean, ... (readonly)

Enables data tiering.

Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering .



275
276
277
# File 'elasticache/cfn_replication_group_props.rb', line 275

def data_tiering_enabled
  @data_tiering_enabled
end

#durabilityString? (readonly)

The durability setting for the replication group.

Valid values: default, async, sync, disabled. Enabling durability on an existing non-durable cluster or disabling durability on an existing durable cluster is not currently supported and will result in an error; specify the desired durability at create time. The resolved state is returned in EffectiveDurability.



282
283
284
# File 'elasticache/cfn_replication_group_props.rb', line 282

def durability
  @durability
end

#engineString? (readonly)

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

The value must be set to valkey or redis .

Upgrading an existing engine from redis to valkey is done through in-place migration, and requires a parameter group.



291
292
293
# File 'elasticache/cfn_replication_group_props.rb', line 291

def engine
  @engine
end

#engine_versionString? (readonly)

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

To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version ) in the ElastiCache User Guide , but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.



300
301
302
# File 'elasticache/cfn_replication_group_props.rb', line 300

def engine_version
  @engine_version
end

#global_replication_group_idString? (readonly)

The name of the Global datastore.



305
306
307
# File 'elasticache/cfn_replication_group_props.rb', line 305

def global_replication_group_id
  @global_replication_group_id
end

#ip_discoveryString? (readonly)

The network type you choose when creating a replication group, either ipv4 | ipv6 .

IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 to 7.1 or Memcached engine version 1.6.6 and above on all instances built on the Nitro system .



312
313
314
# File 'elasticache/cfn_replication_group_props.rb', line 312

def ip_discovery
  @ip_discovery
end

#kms_key_idString? (readonly)

The ID of the KMS key used to encrypt the disk on the cluster.



317
318
319
# File 'elasticache/cfn_replication_group_props.rb', line 317

def kms_key_id
  @kms_key_id
end

#log_delivery_configurationsAWSCDK::IResolvable, ... (readonly)

Specifies the destination, format and type of the logs.



322
323
324
# File 'elasticache/cfn_replication_group_props.rb', line 322

def log_delivery_configurations
  @log_delivery_configurations
end

#multi_az_enabledBoolean, ... (readonly)

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance.

For more information, see Minimizing Downtime: Multi-AZ .



329
330
331
# File 'elasticache/cfn_replication_group_props.rb', line 329

def multi_az_enabled
  @multi_az_enabled
end

#network_typeString? (readonly)

Must be either ipv4 | ipv6 | dual_stack .

IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 to 7.1 and Memcached engine version 1.6.6 and above on all instances built on the Nitro system .



336
337
338
# File 'elasticache/cfn_replication_group_props.rb', line 336

def network_type
  @network_type
end

#node_group_configurationAWSCDK::IResolvable, ... (readonly)

NodeGroupConfiguration is a property of the AWS::ElastiCache::ReplicationGroup resource that configures an Amazon ElastiCache (ElastiCache) Valkey or Redis OSS cluster node group.

If you set UseOnlineResharding to true , you can update NodeGroupConfiguration without interruption. When UseOnlineResharding is set to false , or is not specified, updating NodeGroupConfiguration results in replacement .



343
344
345
# File 'elasticache/cfn_replication_group_props.rb', line 343

def node_group_configuration
  @node_group_configuration
end

#notification_topic_arnString? (readonly)

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

The Amazon SNS topic owner must be the same as the cluster owner.



350
351
352
# File 'elasticache/cfn_replication_group_props.rb', line 350

def notification_topic_arn
  @notification_topic_arn
end

#num_cache_clustersNumeric? (readonly)

The number of clusters this replication group initially has.

This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead.

If AutomaticFailoverEnabled is true , the value of this parameter must be at least 2. If AutomaticFailoverEnabled is false you can omit this parameter (it will default to 1), or you can explicitly set it to a value between 2 and 6.

The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas).



361
362
363
# File 'elasticache/cfn_replication_group_props.rb', line 361

def num_cache_clusters
  @num_cache_clusters
end

#num_node_groupsNumeric? (readonly)

Note:

Default: - 1

An optional parameter that specifies the number of node groups (shards) for this Valkey or Redis OSS (cluster mode enabled) replication group.

For Valkey or Redis OSS (cluster mode disabled) either omit this parameter or set it to 1.

If you set UseOnlineResharding to true , you can update NumNodeGroups without interruption. When UseOnlineResharding is set to false , or is not specified, updating NumNodeGroups results in replacement .

Default: 1



373
374
375
# File 'elasticache/cfn_replication_group_props.rb', line 373

def num_node_groups
  @num_node_groups
end

#portNumeric? (readonly)

The port number on which each member of the replication group accepts connections.



378
379
380
# File 'elasticache/cfn_replication_group_props.rb', line 378

def port
  @port
end

#preferred_cache_cluster_a_zsArray<String>? (readonly)

A list of EC2 Availability Zones in which the replication group's clusters are created.

The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list.

This parameter is not used if there is more than one node group (shard). You should use NodeGroupConfiguration instead.

If you are creating your replication group in an Amazon VPC (recommended), you can only locate clusters in Availability Zones associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheClusters .

Default: system chosen Availability Zones.



393
394
395
# File 'elasticache/cfn_replication_group_props.rb', line 393

def preferred_cache_cluster_a_zs
  @preferred_cache_cluster_a_zs
end

#preferred_maintenance_windowString? (readonly)

Specifies the weekly time range during which maintenance on the cluster is performed.

It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun
  • mon
  • tue
  • wed
  • thu
  • fri
  • sat

Example: sun:23:00-mon:01:30



412
413
414
# File 'elasticache/cfn_replication_group_props.rb', line 412

def preferred_maintenance_window
  @preferred_maintenance_window
end

#primary_cluster_idString? (readonly)

The identifier of the cluster that serves as the primary for this replication group.

This cluster must already exist and have a status of available .

This parameter is not required if NumCacheClusters , NumNodeGroups , or ReplicasPerNodeGroup is specified.



421
422
423
# File 'elasticache/cfn_replication_group_props.rb', line 421

def primary_cluster_id
  @primary_cluster_id
end

#replicas_per_node_groupNumeric? (readonly)

An optional parameter that specifies the number of replica nodes in each node group (shard).

Valid values are 0 to 5.



428
429
430
# File 'elasticache/cfn_replication_group_props.rb', line 428

def replicas_per_node_group
  @replicas_per_node_group
end

#replication_group_descriptionString (readonly)

A user-created description for the replication group.



136
137
138
# File 'elasticache/cfn_replication_group_props.rb', line 136

def replication_group_description
  @replication_group_description
end

#replication_group_idString? (readonly)

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

Constraints:

  • A name must contain from 1 to 40 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.


439
440
441
# File 'elasticache/cfn_replication_group_props.rb', line 439

def replication_group_id
  @replication_group_id
end

#security_group_idsArray<String>? (readonly)

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 (Amazon VPC).



446
447
448
# File 'elasticache/cfn_replication_group_props.rb', line 446

def security_group_ids
  @security_group_ids
end

#snapshot_arnsArray<String>? (readonly)

A list of Amazon Resource Names (ARN) that uniquely identify the Valkey or Redis OSS RDB snapshot files stored in Amazon S3.

The snapshot files are used to populate the new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb



455
456
457
# File 'elasticache/cfn_replication_group_props.rb', line 455

def snapshot_arns
  @snapshot_arns
end

#snapshot_nameString? (readonly)

The name of a snapshot from which to restore data into the new replication group.

The snapshot status changes to restoring while the new replication group is being created.



462
463
464
# File 'elasticache/cfn_replication_group_props.rb', line 462

def snapshot_name
  @snapshot_name
end

#snapshot_retention_limitNumeric? (readonly)

Note:

Default: - 0

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

For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

Default: 0 (i.e., automatic backups are disabled for this cluster).



472
473
474
# File 'elasticache/cfn_replication_group_props.rb', line 472

def snapshot_retention_limit
  @snapshot_retention_limit
end

#snapshot_windowString? (readonly)

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

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.



488
489
490
# File 'elasticache/cfn_replication_group_props.rb', line 488

def snapshot_window
  @snapshot_window
end

#snapshotting_cluster_idString? (readonly)

The cluster ID that is used as the daily snapshot source for the replication group.

This parameter cannot be set for Valkey or Redis OSS (cluster mode enabled) replication groups.



479
480
481
# File 'elasticache/cfn_replication_group_props.rb', line 479

def snapshotting_cluster_id
  @snapshotting_cluster_id
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

A list of tags to be added to this resource.

Tags are comma-separated key,value pairs (e.g. Key= my_key , Value= my_key_value . You can include multiple tags as shown following: Key= my_key , Value= my_key_value Key= my_second_key , Value= my_second_key_value . Tags on replication groups will be replicated to all nodes.



495
496
497
# File 'elasticache/cfn_replication_group_props.rb', line 495

def tags
  @tags
end

#transit_encryption_enabledBoolean, ... (readonly)

Note:

Default: - false

A flag that enables in-transit encryption when set to true .

This parameter is only available when creating a replication group in an Amazon VPC using Valkey version 7.2 and above, Redis OSS version 3.2.6 , or Redis OSS version 4.x and above, and the cluster is being created in an Amazon VPC.

If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup .

TransitEncryptionEnabled is required when creating a new valkey replication group.

Default: false

For HIPAA compliance, you must specify TransitEncryptionEnabled as true , an AuthToken , and a CacheSubnetGroup .



511
512
513
# File 'elasticache/cfn_replication_group_props.rb', line 511

def transit_encryption_enabled
  @transit_encryption_enabled
end

#transit_encryption_modeString? (readonly)

A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.

When setting TransitEncryptionEnabled to true , you can set your TransitEncryptionMode to preferred in the same request, to allow both encrypted and unencrypted connections at the same time. Once you migrate all your Valkey or Redis OSS clients to use encrypted connections you can modify the value to required to allow encrypted connections only.

Setting TransitEncryptionMode to required is a two-step process that requires you to first set the TransitEncryptionMode to preferred , after that you can set TransitEncryptionMode to required .

This process will not trigger the replacement of the replication group.



522
523
524
# File 'elasticache/cfn_replication_group_props.rb', line 522

def transit_encryption_mode
  @transit_encryption_mode
end

#user_group_idsArray<String>? (readonly)

The ID of user group to associate with the replication group.



527
528
529
# File 'elasticache/cfn_replication_group_props.rb', line 527

def user_group_ids
  @user_group_ids
end

Class Method Details

.jsii_propertiesObject



529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
# File 'elasticache/cfn_replication_group_props.rb', line 529

def self.jsii_properties
  {
    :replication_group_description => "replicationGroupDescription",
    :at_rest_encryption_enabled => "atRestEncryptionEnabled",
    :auth_token => "authToken",
    :automatic_failover_enabled => "automaticFailoverEnabled",
    :auto_minor_version_upgrade => "autoMinorVersionUpgrade",
    :cache_node_type => "cacheNodeType",
    :cache_parameter_group_name => "cacheParameterGroupName",
    :cache_security_group_names => "cacheSecurityGroupNames",
    :cache_subnet_group_name => "cacheSubnetGroupName",
    :cluster_mode => "clusterMode",
    :data_tiering_enabled => "dataTieringEnabled",
    :durability => "durability",
    :engine => "engine",
    :engine_version => "engineVersion",
    :global_replication_group_id => "globalReplicationGroupId",
    :ip_discovery => "ipDiscovery",
    :kms_key_id => "kmsKeyId",
    :log_delivery_configurations => "logDeliveryConfigurations",
    :multi_az_enabled => "multiAzEnabled",
    :network_type => "networkType",
    :node_group_configuration => "nodeGroupConfiguration",
    :notification_topic_arn => "notificationTopicArn",
    :num_cache_clusters => "numCacheClusters",
    :num_node_groups => "numNodeGroups",
    :port => "port",
    :preferred_cache_cluster_a_zs => "preferredCacheClusterAZs",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :primary_cluster_id => "primaryClusterId",
    :replicas_per_node_group => "replicasPerNodeGroup",
    :replication_group_id => "replicationGroupId",
    :security_group_ids => "securityGroupIds",
    :snapshot_arns => "snapshotArns",
    :snapshot_name => "snapshotName",
    :snapshot_retention_limit => "snapshotRetentionLimit",
    :snapshotting_cluster_id => "snapshottingClusterId",
    :snapshot_window => "snapshotWindow",
    :tags => "tags",
    :transit_encryption_enabled => "transitEncryptionEnabled",
    :transit_encryption_mode => "transitEncryptionMode",
    :user_group_ids => "userGroupIds",
  }
end

Instance Method Details

#to_jsiiObject



574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
# File 'elasticache/cfn_replication_group_props.rb', line 574

def to_jsii
  result = {}
  result.merge!({
    "replicationGroupDescription" => @replication_group_description,
    "atRestEncryptionEnabled" => @at_rest_encryption_enabled,
    "authToken" => @auth_token,
    "automaticFailoverEnabled" => @automatic_failover_enabled,
    "autoMinorVersionUpgrade" => @auto_minor_version_upgrade,
    "cacheNodeType" => @cache_node_type,
    "cacheParameterGroupName" => @cache_parameter_group_name,
    "cacheSecurityGroupNames" => @cache_security_group_names,
    "cacheSubnetGroupName" => @cache_subnet_group_name,
    "clusterMode" => @cluster_mode,
    "dataTieringEnabled" => @data_tiering_enabled,
    "durability" => @durability,
    "engine" => @engine,
    "engineVersion" => @engine_version,
    "globalReplicationGroupId" => @global_replication_group_id,
    "ipDiscovery" => @ip_discovery,
    "kmsKeyId" => @kms_key_id,
    "logDeliveryConfigurations" => @log_delivery_configurations,
    "multiAzEnabled" => @multi_az_enabled,
    "networkType" => @network_type,
    "nodeGroupConfiguration" => @node_group_configuration,
    "notificationTopicArn" => @notification_topic_arn,
    "numCacheClusters" => @num_cache_clusters,
    "numNodeGroups" => @num_node_groups,
    "port" => @port,
    "preferredCacheClusterAZs" => @preferred_cache_cluster_a_zs,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "primaryClusterId" => @primary_cluster_id,
    "replicasPerNodeGroup" => @replicas_per_node_group,
    "replicationGroupId" => @replication_group_id,
    "securityGroupIds" => @security_group_ids,
    "snapshotArns" => @snapshot_arns,
    "snapshotName" => @snapshot_name,
    "snapshotRetentionLimit" => @snapshot_retention_limit,
    "snapshottingClusterId" => @snapshotting_cluster_id,
    "snapshotWindow" => @snapshot_window,
    "tags" => @tags,
    "transitEncryptionEnabled" => @transit_encryption_enabled,
    "transitEncryptionMode" => @transit_encryption_mode,
    "userGroupIds" => @user_group_ids,
  })
  result.compact
end