Class: AWSCDK::Elasticache::CfnReplicationGroup::NodeGroupConfigurationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Elasticache::CfnReplicationGroup::NodeGroupConfigurationProperty
- Defined in:
- elasticache/cfn_replication_group.rb
Overview
NodeGroupConfiguration is a property of the AWS::ElastiCache::ReplicationGroup resource that configures an Amazon ElastiCache (ElastiCache) Valkey or Redis OSS cluster node group.
Instance Attribute Summary collapse
-
#node_group_id ⇒ String?
readonly
Either the ElastiCache supplied 4-digit id or a user supplied id for the node group these configuration values apply to.
-
#primary_availability_zone ⇒ String?
readonly
The Availability Zone where the primary node of this node group (shard) is launched.
-
#replica_availability_zones ⇒ Array<String>?
readonly
A list of Availability Zones to be used for the read replicas.
-
#replica_count ⇒ Numeric?
readonly
The number of read replica nodes in this node group (shard).
-
#slots ⇒ String?
readonly
A string of comma-separated values where the first set of values are the slot numbers (zero based), and the second set of values are the keyspaces for each slot.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(node_group_id: nil, primary_availability_zone: nil, replica_availability_zones: nil, replica_count: nil, slots: nil) ⇒ NodeGroupConfigurationProperty
constructor
A new instance of NodeGroupConfigurationProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(node_group_id: nil, primary_availability_zone: nil, replica_availability_zones: nil, replica_count: nil, slots: nil) ⇒ NodeGroupConfigurationProperty
Returns a new instance of NodeGroupConfigurationProperty.
1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 |
# File 'elasticache/cfn_replication_group.rb', line 1391 def initialize(node_group_id: nil, primary_availability_zone: nil, replica_availability_zones: nil, replica_count: nil, slots: nil) @node_group_id = node_group_id Jsii::Type.check_type(@node_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nodeGroupId") unless @node_group_id.nil? @primary_availability_zone = primary_availability_zone Jsii::Type.check_type(@primary_availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "primaryAvailabilityZone") unless @primary_availability_zone.nil? @replica_availability_zones = replica_availability_zones Jsii::Type.check_type(@replica_availability_zones, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "replicaAvailabilityZones") unless @replica_availability_zones.nil? @replica_count = replica_count Jsii::Type.check_type(@replica_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "replicaCount") unless @replica_count.nil? @slots = slots Jsii::Type.check_type(@slots, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "slots") unless @slots.nil? end |
Instance Attribute Details
#node_group_id ⇒ String? (readonly)
Either the ElastiCache supplied 4-digit id or a user supplied id for the node group these configuration values apply to.
1408 1409 1410 |
# File 'elasticache/cfn_replication_group.rb', line 1408 def node_group_id @node_group_id end |
#primary_availability_zone ⇒ String? (readonly)
The Availability Zone where the primary node of this node group (shard) is launched.
1413 1414 1415 |
# File 'elasticache/cfn_replication_group.rb', line 1413 def primary_availability_zone @primary_availability_zone end |
#replica_availability_zones ⇒ Array<String>? (readonly)
A list of Availability Zones to be used for the read replicas.
The number of Availability Zones in this list must match the value of ReplicaCount or ReplicasPerNodeGroup if not specified.
1420 1421 1422 |
# File 'elasticache/cfn_replication_group.rb', line 1420 def replica_availability_zones @replica_availability_zones end |
#replica_count ⇒ Numeric? (readonly)
The number of read replica nodes in this node group (shard).
1425 1426 1427 |
# File 'elasticache/cfn_replication_group.rb', line 1425 def replica_count @replica_count end |
#slots ⇒ String? (readonly)
A string of comma-separated values where the first set of values are the slot numbers (zero based), and the second set of values are the keyspaces for each slot.
The following example specifies three slots (numbered 0, 1, and 2): 0,1,2,0-4999,5000-9999,10000-16,383 .
If you don't specify a value, ElastiCache allocates keys equally among each slot.
When you use an UseOnlineResharding update policy to update the number of node groups without interruption, ElastiCache evenly distributes the keyspaces between the specified number of slots. This cannot be updated later. Therefore, after updating the number of node groups in this way, you should remove the value specified for the Slots property of each NodeGroupConfiguration from the stack template, as it no longer reflects the actual values in each node group. For more information, see UseOnlineResharding Policy .
1436 1437 1438 |
# File 'elasticache/cfn_replication_group.rb', line 1436 def slots @slots end |
Class Method Details
.jsii_properties ⇒ Object
1438 1439 1440 1441 1442 1443 1444 1445 1446 |
# File 'elasticache/cfn_replication_group.rb', line 1438 def self.jsii_properties { :node_group_id => "nodeGroupId", :primary_availability_zone => "primaryAvailabilityZone", :replica_availability_zones => "replicaAvailabilityZones", :replica_count => "replicaCount", :slots => "slots", } end |
Instance Method Details
#to_jsii ⇒ Object
1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 |
# File 'elasticache/cfn_replication_group.rb', line 1448 def to_jsii result = {} result.merge!({ "nodeGroupId" => @node_group_id, "primaryAvailabilityZone" => @primary_availability_zone, "replicaAvailabilityZones" => @replica_availability_zones, "replicaCount" => @replica_count, "slots" => @slots, }) result.compact end |