Class: AWSCDK::Elasticache::CfnReplicationGroup

Inherits:
CfnResource
  • Object
show all
Includes:
IInspectable, ITaggable, Interfaces::AWSElasticache::IReplicationGroupRef
Defined in:
elasticache/cfn_replication_group.rb

Overview

The AWS::ElastiCache::ReplicationGroup resource creates an Amazon ElastiCache (Valkey or Redis OSS) replication group.

A Valkey or Redis OSS (cluster mode disabled) replication group is a collection of cache clusters, where one of the clusters is a primary read-write cluster and the others are read-only replicas.

A Valkey or Redis OSS (cluster mode enabled) cluster is comprised of from 1 to 90 shards (API/CLI: node groups). Each shard has a primary node and up to 5 read-only replica nodes. The configuration can range from 90 shards and 0 replicas to 15 shards and 5 replicas, which is the maximum number or replicas allowed.

The node or shard limit can be increased to a maximum of 500 per cluster if the engine version is Valkey 7.2 or higher, or Redis OSS 5.0.6 or higher. For example, you can choose to configure a 500 node cluster that ranges between 83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. Common pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters. For more information, see Creating a Subnet Group . For versions below 5.0.6, the limit is 250 per cluster.

To request a limit increase, see Amazon Service Limits and choose the limit type Nodes per cluster per instance type .

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props) ⇒ CfnReplicationGroup

Create a new AWS::ElastiCache::ReplicationGroup.

Parameters:

  • scope (Constructs::Construct)

    Scope in which this resource is defined.

  • id (String)

    Construct identifier for this resource (unique in its scope).

  • props (AWSCDK::Elasticache::CfnReplicationGroupProps)

    Resource properties.



26
27
28
29
30
31
32
# File 'elasticache/cfn_replication_group.rb', line 26

def initialize(scope, id, props)
  props = props.is_a?(Hash) ? ::AWSCDK::Elasticache::CfnReplicationGroupProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2FjaGUuQ2ZuUmVwbGljYXRpb25Hcm91cFByb3BzIn0=")), "props")
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props)
end

Class Method Details

.arn_for_replication_group(resource) ⇒ String

Parameters:

Returns:

  • (String)


133
134
135
136
# File 'elasticache/cfn_replication_group.rb', line 133

def self.arn_for_replication_group(resource)
  Jsii::Type.check_type(resource, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lbGFzdGljYWNoZS5JUmVwbGljYXRpb25Hcm91cFJlZiJ9")), "resource")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_elasticache.CfnReplicationGroup", "arnForReplicationGroup", [resource])
end

.CFN_RESOURCE_TYPE_NAMEString

The CloudFormation resource type name for this resource class.

Returns:

  • (String)


253
254
255
# File 'elasticache/cfn_replication_group.rb', line 253

def self.CFN_RESOURCE_TYPE_NAME()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_elasticache.CfnReplicationGroup", "CFN_RESOURCE_TYPE_NAME")
end

.from_replication_group_id(scope, id, replication_group_id) ⇒ AWSCDK::Interfaces::AWSElasticache::IReplicationGroupRef

Creates a new IReplicationGroupRef from a replicationGroupId.

Parameters:

  • scope (Constructs::Construct)
  • id (String)
  • replication_group_id (String)

Returns:



144
145
146
147
148
149
# File 'elasticache/cfn_replication_group.rb', line 144

def self.from_replication_group_id(scope, id, replication_group_id)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(replication_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationGroupId")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_elasticache.CfnReplicationGroup", "fromReplicationGroupId", [scope, id, replication_group_id])
end

.is_cfn_replication_group(x) ⇒ Boolean

Checks whether the given object is a CfnReplicationGroup.

Parameters:

  • x (Object)

Returns:

  • (Boolean)


155
156
157
158
# File 'elasticache/cfn_replication_group.rb', line 155

def self.is_cfn_replication_group(x)
  Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "x")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_elasticache.CfnReplicationGroup", "isCfnReplicationGroup", [x])
end

.jsii_overridable_methodsObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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
# File 'elasticache/cfn_replication_group.rb', line 34

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :creation_stack => { kind: :property, name: "creationStack", is_optional: false },
    :logical_id => { kind: :property, name: "logicalId", is_optional: false },
    :stack => { kind: :property, name: "stack", is_optional: false },
    :ref => { kind: :property, name: "ref", is_optional: false },
    :cfn_options => { kind: :property, name: "cfnOptions", is_optional: false },
    :cfn_properties => { kind: :property, name: "cfnProperties", is_optional: false },
    :cfn_property_names => { kind: :property, name: "cfnPropertyNames", is_optional: false },
    :cfn_resource_type => { kind: :property, name: "cfnResourceType", is_optional: false },
    :env => { kind: :property, name: "env", is_optional: false },
    :updated_properites => { kind: :property, name: "updatedProperites", is_optional: false },
    :updated_properties => { kind: :property, name: "updatedProperties", is_optional: false },
    :attr_configuration_end_point => { kind: :property, name: "attrConfigurationEndPoint", is_optional: false },
    :attr_configuration_end_point_address => { kind: :property, name: "attrConfigurationEndPointAddress", is_optional: false },
    :attr_configuration_end_point_port => { kind: :property, name: "attrConfigurationEndPointPort", is_optional: false },
    :attr_effective_durability => { kind: :property, name: "attrEffectiveDurability", is_optional: false },
    :attr_primary_end_point => { kind: :property, name: "attrPrimaryEndPoint", is_optional: false },
    :attr_primary_end_point_address => { kind: :property, name: "attrPrimaryEndPointAddress", is_optional: false },
    :attr_primary_end_point_port => { kind: :property, name: "attrPrimaryEndPointPort", is_optional: false },
    :attr_read_end_point => { kind: :property, name: "attrReadEndPoint", is_optional: false },
    :attr_read_end_point_addresses => { kind: :property, name: "attrReadEndPointAddresses", is_optional: false },
    :attr_read_end_point_addresses_list => { kind: :property, name: "attrReadEndPointAddressesList", is_optional: false },
    :attr_read_end_point_ports => { kind: :property, name: "attrReadEndPointPorts", is_optional: false },
    :attr_read_end_point_ports_list => { kind: :property, name: "attrReadEndPointPortsList", is_optional: false },
    :attr_reader_end_point => { kind: :property, name: "attrReaderEndPoint", is_optional: false },
    :attr_reader_end_point_address => { kind: :property, name: "attrReaderEndPointAddress", is_optional: false },
    :attr_reader_end_point_port => { kind: :property, name: "attrReaderEndPointPort", is_optional: false },
    :replication_group_ref => { kind: :property, name: "replicationGroupRef", is_optional: false },
    :tags => { kind: :property, name: "tags", is_optional: false },
    :replication_group_description => { kind: :property, name: "replicationGroupDescription", is_optional: false },
    :at_rest_encryption_enabled => { kind: :property, name: "atRestEncryptionEnabled", is_optional: true },
    :auth_token => { kind: :property, name: "authToken", is_optional: true },
    :automatic_failover_enabled => { kind: :property, name: "automaticFailoverEnabled", is_optional: true },
    :auto_minor_version_upgrade => { kind: :property, name: "autoMinorVersionUpgrade", is_optional: true },
    :cache_node_type => { kind: :property, name: "cacheNodeType", is_optional: true },
    :cache_parameter_group_name => { kind: :property, name: "cacheParameterGroupName", is_optional: true },
    :cache_security_group_names => { kind: :property, name: "cacheSecurityGroupNames", is_optional: true },
    :cache_subnet_group_name => { kind: :property, name: "cacheSubnetGroupName", is_optional: true },
    :cluster_mode => { kind: :property, name: "clusterMode", is_optional: true },
    :data_tiering_enabled => { kind: :property, name: "dataTieringEnabled", is_optional: true },
    :durability => { kind: :property, name: "durability", is_optional: true },
    :engine => { kind: :property, name: "engine", is_optional: true },
    :engine_version => { kind: :property, name: "engineVersion", is_optional: true },
    :global_replication_group_id => { kind: :property, name: "globalReplicationGroupId", is_optional: true },
    :ip_discovery => { kind: :property, name: "ipDiscovery", is_optional: true },
    :kms_key_id => { kind: :property, name: "kmsKeyId", is_optional: true },
    :log_delivery_configurations => { kind: :property, name: "logDeliveryConfigurations", is_optional: true },
    :multi_az_enabled => { kind: :property, name: "multiAzEnabled", is_optional: true },
    :network_type => { kind: :property, name: "networkType", is_optional: true },
    :node_group_configuration => { kind: :property, name: "nodeGroupConfiguration", is_optional: true },
    :notification_topic_arn => { kind: :property, name: "notificationTopicArn", is_optional: true },
    :num_cache_clusters => { kind: :property, name: "numCacheClusters", is_optional: true },
    :num_node_groups => { kind: :property, name: "numNodeGroups", is_optional: true },
    :port => { kind: :property, name: "port", is_optional: true },
    :preferred_cache_cluster_a_zs => { kind: :property, name: "preferredCacheClusterAZs", is_optional: true },
    :preferred_maintenance_window => { kind: :property, name: "preferredMaintenanceWindow", is_optional: true },
    :primary_cluster_id => { kind: :property, name: "primaryClusterId", is_optional: true },
    :replicas_per_node_group => { kind: :property, name: "replicasPerNodeGroup", is_optional: true },
    :replication_group_id => { kind: :property, name: "replicationGroupId", is_optional: true },
    :security_group_ids => { kind: :property, name: "securityGroupIds", is_optional: true },
    :snapshot_arns => { kind: :property, name: "snapshotArns", is_optional: true },
    :snapshot_name => { kind: :property, name: "snapshotName", is_optional: true },
    :snapshot_retention_limit => { kind: :property, name: "snapshotRetentionLimit", is_optional: true },
    :snapshotting_cluster_id => { kind: :property, name: "snapshottingClusterId", is_optional: true },
    :snapshot_window => { kind: :property, name: "snapshotWindow", is_optional: true },
    :tags_raw => { kind: :property, name: "tagsRaw", is_optional: true },
    :transit_encryption_enabled => { kind: :property, name: "transitEncryptionEnabled", is_optional: true },
    :transit_encryption_mode => { kind: :property, name: "transitEncryptionMode", is_optional: true },
    :user_group_ids => { kind: :property, name: "userGroupIds", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :override_logical_id => { kind: :method, name: "overrideLogicalId", is_optional: false },
    :add_deletion_override => { kind: :method, name: "addDeletionOverride", is_optional: false },
    :add_dependency => { kind: :method, name: "addDependency", is_optional: false },
    :add_depends_on => { kind: :method, name: "addDependsOn", is_optional: false },
    :add_metadata => { kind: :method, name: "addMetadata", is_optional: false },
    :add_override => { kind: :method, name: "addOverride", is_optional: false },
    :add_property_deletion_override => { kind: :method, name: "addPropertyDeletionOverride", is_optional: false },
    :add_property_override => { kind: :method, name: "addPropertyOverride", is_optional: false },
    :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false },
    :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false },
    :cfn_property_name => { kind: :method, name: "cfnPropertyName", is_optional: false },
    :get_att => { kind: :method, name: "getAtt", is_optional: false },
    :get_metadata => { kind: :method, name: "getMetadata", is_optional: false },
    :obtain_dependencies => { kind: :method, name: "obtainDependencies", is_optional: false },
    :obtain_resource_dependencies => { kind: :method, name: "obtainResourceDependencies", is_optional: false },
    :remove_dependency => { kind: :method, name: "removeDependency", is_optional: false },
    :render_properties => { kind: :method, name: "renderProperties", is_optional: false },
    :replace_dependency => { kind: :method, name: "replaceDependency", is_optional: false },
    :should_synthesize => { kind: :method, name: "shouldSynthesize", is_optional: false },
    :validate_properties => { kind: :method, name: "validateProperties", is_optional: false },
    :inspect => { kind: :method, name: "inspect", is_optional: false },
  }
end

Instance Method Details

#add_deletion_override(path) ⇒ void

This method returns an undefined value.

Syntactic sugar for addOverride(path, undefined).

Parameters:

  • path (String)

    The path of the value to delete.



900
901
902
903
# File 'elasticache/cfn_replication_group.rb', line 900

def add_deletion_override(path)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  jsii_call_method("addDeletionOverride", [path])
end

#add_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:



912
913
914
915
# File 'elasticache/cfn_replication_group.rb', line 912

def add_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependency", [target])
end

#add_depends_on(target) ⇒ void

Deprecated.

use addDependency

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:



922
923
924
925
# File 'elasticache/cfn_replication_group.rb', line 922

def add_depends_on(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependsOn", [target])
end

#add_metadata(key, value) ⇒ void

This method returns an undefined value.

Add a value to the CloudFormation Resource Metadata.



933
934
935
936
937
# File 'elasticache/cfn_replication_group.rb', line 933

def (key, value)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addMetadata", [key, value])
end

#add_override(path, value) ⇒ void

This method returns an undefined value.

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use add_property_override or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

# Example automatically generated from non-compiling source. May contain errors.
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to add_override will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:

  • path (String)
    • The path of the property, you can use dot notation to override values in complex types.
  • value (Object)
    • The value.


990
991
992
993
994
# File 'elasticache/cfn_replication_group.rb', line 990

def add_override(path, value)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addOverride", [path, value])
end

#add_property_deletion_override(property_path) ⇒ void

This method returns an undefined value.

Adds an override that deletes the value of a property from the resource definition.

Parameters:

  • property_path (String)

    The path to the property.



1000
1001
1002
1003
# File 'elasticache/cfn_replication_group.rb', line 1000

def add_property_deletion_override(property_path)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  jsii_call_method("addPropertyDeletionOverride", [property_path])
end

#add_property_override(property_path, value) ⇒ void

This method returns an undefined value.

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:

  • property_path (String)

    The path of the property.

  • value (Object)

    The value.



1012
1013
1014
1015
1016
# File 'elasticache/cfn_replication_group.rb', line 1012

def add_property_override(property_path, value)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addPropertyOverride", [property_path, value])
end

#apply_cross_stack_reference_strength(strength) ⇒ void

This method returns an undefined value.

Sets the cross-stack reference strength for this resource.

When set, any cross-stack reference to this resource will use the specified strength instead of the global default from the consuming stack's context.

Parameters:



1025
1026
1027
1028
# File 'elasticache/cfn_replication_group.rb', line 1025

def apply_cross_stack_reference_strength(strength)
  Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength")
  jsii_call_method("applyCrossStackReferenceStrength", [strength])
end

#apply_removal_policy(policy = nil, options = nil) ⇒ void

This method returns an undefined value.

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:



1047
1048
1049
1050
1051
1052
# File 'elasticache/cfn_replication_group.rb', line 1047

def apply_removal_policy(policy = nil, options = nil)
  Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") unless policy.nil?
  options = options.is_a?(Hash) ? ::AWSCDK::RemovalPolicyOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5T3B0aW9ucyJ9")), "options") unless options.nil?
  jsii_call_method("applyRemovalPolicy", [policy, options])
end

#at_rest_encryption_enabledBoolean, ...

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

Returns:



395
396
397
# File 'elasticache/cfn_replication_group.rb', line 395

def at_rest_encryption_enabled()
  jsii_get_property("atRestEncryptionEnabled")
end

#at_rest_encryption_enabled=(value) ⇒ Object



399
400
401
402
# File 'elasticache/cfn_replication_group.rb', line 399

def at_rest_encryption_enabled=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "atRestEncryptionEnabled") unless value.nil?
  jsii_set_property("atRestEncryptionEnabled", value)
end

#attr_configuration_end_pointAWSCDK::IResolvable

Returns:



258
259
260
# File 'elasticache/cfn_replication_group.rb', line 258

def attr_configuration_end_point()
  jsii_get_property("attrConfigurationEndPoint")
end

#attr_configuration_end_point_addressString

The DNS hostname of the cache node.

Valkey or Redis OSS (cluster mode disabled) replication groups don't have this attribute. Therefore, Fn::GetAtt returns a value for this attribute only if the replication group is clustered. Otherwise, Fn::GetAtt fails. For Valkey or Redis OSS (cluster mode disabled) replication groups, use the PrimaryEndpoint or ReadEndpoint attributes.

Returns:

  • (String)


267
268
269
# File 'elasticache/cfn_replication_group.rb', line 267

def attr_configuration_end_point_address()
  jsii_get_property("attrConfigurationEndPointAddress")
end

#attr_configuration_end_point_portString

The port number that the cache engine is listening on.

Returns:

  • (String)


274
275
276
# File 'elasticache/cfn_replication_group.rb', line 274

def attr_configuration_end_point_port()
  jsii_get_property("attrConfigurationEndPointPort")
end

#attr_effective_durabilityString

The resolved durability state of the replication group after resolving the default value.

This is a read-only property.

Returns:

  • (String)


283
284
285
# File 'elasticache/cfn_replication_group.rb', line 283

def attr_effective_durability()
  jsii_get_property("attrEffectiveDurability")
end

#attr_primary_end_pointAWSCDK::IResolvable

Returns:



288
289
290
# File 'elasticache/cfn_replication_group.rb', line 288

def attr_primary_end_point()
  jsii_get_property("attrPrimaryEndPoint")
end

#attr_primary_end_point_addressString

The DNS address of the primary read-write cache node.

Returns:

  • (String)


295
296
297
# File 'elasticache/cfn_replication_group.rb', line 295

def attr_primary_end_point_address()
  jsii_get_property("attrPrimaryEndPointAddress")
end

#attr_primary_end_point_portString

The number of the port that the primary read-write cache engine is listening on.

Returns:

  • (String)


302
303
304
# File 'elasticache/cfn_replication_group.rb', line 302

def attr_primary_end_point_port()
  jsii_get_property("attrPrimaryEndPointPort")
end

#attr_read_end_pointAWSCDK::IResolvable

Returns:



307
308
309
# File 'elasticache/cfn_replication_group.rb', line 307

def attr_read_end_point()
  jsii_get_property("attrReadEndPoint")
end

#attr_read_end_point_addressesString

A string with a list of endpoints for the primary and read-only replicas.

The order of the addresses maps to the order of the ports from the ReadEndPoint.Ports attribute.

Returns:

  • (String)


316
317
318
# File 'elasticache/cfn_replication_group.rb', line 316

def attr_read_end_point_addresses()
  jsii_get_property("attrReadEndPointAddresses")
end

#attr_read_end_point_addresses_listArray<String>

A list of endpoints for the read-only replicas.

The order of the addresses maps to the order of the ports from the ReadEndPoint.Ports attribute.

Returns:

  • (Array<String>)


325
326
327
# File 'elasticache/cfn_replication_group.rb', line 325

def attr_read_end_point_addresses_list()
  jsii_get_property("attrReadEndPointAddressesList")
end

#attr_read_end_point_portsString

A string with a list of ports for the read-only replicas.

The order of the ports maps to the order of the addresses from the ReadEndPoint.Addresses attribute.

Returns:

  • (String)


334
335
336
# File 'elasticache/cfn_replication_group.rb', line 334

def attr_read_end_point_ports()
  jsii_get_property("attrReadEndPointPorts")
end

#attr_read_end_point_ports_listArray<String>

A list of ports for the read-only replicas.

The order of the ports maps to the order of the addresses from the ReadEndPoint.Addresses attribute.

Returns:

  • (Array<String>)


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

def attr_read_end_point_ports_list()
  jsii_get_property("attrReadEndPointPortsList")
end

#attr_reader_end_pointAWSCDK::IResolvable

Returns:



348
349
350
# File 'elasticache/cfn_replication_group.rb', line 348

def attr_reader_end_point()
  jsii_get_property("attrReaderEndPoint")
end

#attr_reader_end_point_addressString

The address of the reader endpoint.

Returns:

  • (String)


355
356
357
# File 'elasticache/cfn_replication_group.rb', line 355

def attr_reader_end_point_address()
  jsii_get_property("attrReaderEndPointAddress")
end

#attr_reader_end_point_portString

The port used by the reader endpoint.

Returns:

  • (String)


362
363
364
# File 'elasticache/cfn_replication_group.rb', line 362

def attr_reader_end_point_port()
  jsii_get_property("attrReaderEndPointPort")
end

#auth_tokenString?

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

Returns:

  • (String, nil)


407
408
409
# File 'elasticache/cfn_replication_group.rb', line 407

def auth_token()
  jsii_get_property("authToken")
end

#auth_token=(value) ⇒ Object



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

def auth_token=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authToken") unless value.nil?
  jsii_set_property("authToken", value)
end

#auto_minor_version_upgradeBoolean, ...

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.

Returns:



431
432
433
# File 'elasticache/cfn_replication_group.rb', line 431

def auto_minor_version_upgrade()
  jsii_get_property("autoMinorVersionUpgrade")
end

#auto_minor_version_upgrade=(value) ⇒ Object



435
436
437
438
# File 'elasticache/cfn_replication_group.rb', line 435

def auto_minor_version_upgrade=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "autoMinorVersionUpgrade") unless value.nil?
  jsii_set_property("autoMinorVersionUpgrade", value)
end

#automatic_failover_enabledBoolean, ...

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

Returns:



419
420
421
# File 'elasticache/cfn_replication_group.rb', line 419

def automatic_failover_enabled()
  jsii_get_property("automaticFailoverEnabled")
end

#automatic_failover_enabled=(value) ⇒ Object



423
424
425
426
# File 'elasticache/cfn_replication_group.rb', line 423

def automatic_failover_enabled=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "automaticFailoverEnabled") unless value.nil?
  jsii_set_property("automaticFailoverEnabled", value)
end

#cache_node_typeString?

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

Returns:

  • (String, nil)


443
444
445
# File 'elasticache/cfn_replication_group.rb', line 443

def cache_node_type()
  jsii_get_property("cacheNodeType")
end

#cache_node_type=(value) ⇒ Object



447
448
449
450
# File 'elasticache/cfn_replication_group.rb', line 447

def cache_node_type=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheNodeType") unless value.nil?
  jsii_set_property("cacheNodeType", value)
end

#cache_parameter_group_nameString?

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

Returns:

  • (String, nil)


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

def cache_parameter_group_name()
  jsii_get_property("cacheParameterGroupName")
end

#cache_parameter_group_name=(value) ⇒ Object



459
460
461
462
# File 'elasticache/cfn_replication_group.rb', line 459

def cache_parameter_group_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheParameterGroupName") unless value.nil?
  jsii_set_property("cacheParameterGroupName", value)
end

#cache_security_group_namesArray<String>?

Deprecated.

this property has been deprecated

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

Returns:

  • (Array<String>, nil)


468
469
470
# File 'elasticache/cfn_replication_group.rb', line 468

def cache_security_group_names()
  jsii_get_property("cacheSecurityGroupNames")
end

#cache_security_group_names=(value) ⇒ Object



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

def cache_security_group_names=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cacheSecurityGroupNames") unless value.nil?
  jsii_set_property("cacheSecurityGroupNames", value)
end

#cache_subnet_group_nameString?

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

Returns:

  • (String, nil)


480
481
482
# File 'elasticache/cfn_replication_group.rb', line 480

def cache_subnet_group_name()
  jsii_get_property("cacheSubnetGroupName")
end

#cache_subnet_group_name=(value) ⇒ Object



484
485
486
487
# File 'elasticache/cfn_replication_group.rb', line 484

def cache_subnet_group_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheSubnetGroupName") unless value.nil?
  jsii_set_property("cacheSubnetGroupName", value)
end

#cfn_optionsAWSCDK::ICfnResourceOptions

Options for this resource, such as condition, update policy etc.



206
207
208
# File 'elasticache/cfn_replication_group.rb', line 206

def cfn_options()
  jsii_get_property("cfnOptions")
end

#cfn_propertiesHash{String => Object}

Returns:

  • (Hash{String => Object})


211
212
213
# File 'elasticache/cfn_replication_group.rb', line 211

def cfn_properties()
  jsii_get_property("cfnProperties")
end

#cfn_property_name(cdk_property_name) ⇒ String?

Parameters:

  • cdk_property_name (String)

Returns:

  • (String, nil)


1056
1057
1058
1059
# File 'elasticache/cfn_replication_group.rb', line 1056

def cfn_property_name(cdk_property_name)
  Jsii::Type.check_type(cdk_property_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdkPropertyName")
  jsii_call_method("cfnPropertyName", [cdk_property_name])
end

#cfn_property_namesHash{String => String}

Returns:

  • (Hash{String => String})


216
217
218
# File 'elasticache/cfn_replication_group.rb', line 216

def cfn_property_names()
  jsii_get_property("cfnPropertyNames")
end

#cfn_resource_typeString

AWS resource type.

Returns:

  • (String)


223
224
225
# File 'elasticache/cfn_replication_group.rb', line 223

def cfn_resource_type()
  jsii_get_property("cfnResourceType")
end

#cluster_modeString?

The mode can be enabled or disabled.

Returns:

  • (String, nil)


492
493
494
# File 'elasticache/cfn_replication_group.rb', line 492

def cluster_mode()
  jsii_get_property("clusterMode")
end

#cluster_mode=(value) ⇒ Object



496
497
498
499
# File 'elasticache/cfn_replication_group.rb', line 496

def cluster_mode=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterMode") unless value.nil?
  jsii_set_property("clusterMode", value)
end

#creation_stackArray<String>

Returns:

  • (Array<String>)


168
169
170
# File 'elasticache/cfn_replication_group.rb', line 168

def creation_stack()
  jsii_get_property("creationStack")
end

#data_tiering_enabledBoolean, ...

Enables data tiering.

Returns:



504
505
506
# File 'elasticache/cfn_replication_group.rb', line 504

def data_tiering_enabled()
  jsii_get_property("dataTieringEnabled")
end

#data_tiering_enabled=(value) ⇒ Object



508
509
510
511
# File 'elasticache/cfn_replication_group.rb', line 508

def data_tiering_enabled=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "dataTieringEnabled") unless value.nil?
  jsii_set_property("dataTieringEnabled", value)
end

#durabilityString?

The durability setting for the replication group.

Returns:

  • (String, nil)


516
517
518
# File 'elasticache/cfn_replication_group.rb', line 516

def durability()
  jsii_get_property("durability")
end

#durability=(value) ⇒ Object



520
521
522
523
# File 'elasticache/cfn_replication_group.rb', line 520

def durability=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "durability") unless value.nil?
  jsii_set_property("durability", value)
end

#engineString?

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

Returns:

  • (String, nil)


528
529
530
# File 'elasticache/cfn_replication_group.rb', line 528

def engine()
  jsii_get_property("engine")
end

#engine=(value) ⇒ Object



532
533
534
535
# File 'elasticache/cfn_replication_group.rb', line 532

def engine=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engine") unless value.nil?
  jsii_set_property("engine", value)
end

#engine_versionString?

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

Returns:

  • (String, nil)


540
541
542
# File 'elasticache/cfn_replication_group.rb', line 540

def engine_version()
  jsii_get_property("engineVersion")
end

#engine_version=(value) ⇒ Object



544
545
546
547
# File 'elasticache/cfn_replication_group.rb', line 544

def engine_version=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineVersion") unless value.nil?
  jsii_set_property("engineVersion", value)
end

#envAWSCDK::Interfaces::ResourceEnvironment



228
229
230
# File 'elasticache/cfn_replication_group.rb', line 228

def env()
  jsii_get_property("env")
end

#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:

Returns:



1069
1070
1071
1072
1073
# File 'elasticache/cfn_replication_group.rb', line 1069

def get_att(attribute_name, type_hint = nil)
  Jsii::Type.check_type(attribute_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeName")
  Jsii::Type.check_type(type_hint, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZXNvbHV0aW9uVHlwZUhpbnQifQ==")), "typeHint") unless type_hint.nil?
  jsii_call_method("getAtt", [attribute_name, type_hint])
end

#get_metadata(key) ⇒ Object

Retrieve a value value from the CloudFormation Resource Metadata.



1080
1081
1082
1083
# File 'elasticache/cfn_replication_group.rb', line 1080

def (key)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  jsii_call_method("getMetadata", [key])
end

#global_replication_group_idString?

The name of the Global datastore.

Returns:

  • (String, nil)


552
553
554
# File 'elasticache/cfn_replication_group.rb', line 552

def global_replication_group_id()
  jsii_get_property("globalReplicationGroupId")
end

#global_replication_group_id=(value) ⇒ Object



556
557
558
559
# File 'elasticache/cfn_replication_group.rb', line 556

def global_replication_group_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "globalReplicationGroupId") unless value.nil?
  jsii_set_property("globalReplicationGroupId", value)
end

#inspect(inspector) ⇒ void

This method returns an undefined value.

Examines the CloudFormation resource and discloses attributes.

Parameters:



1150
1151
1152
1153
# File 'elasticache/cfn_replication_group.rb', line 1150

def inspect(inspector)
  Jsii::Type.check_type(inspector, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UcmVlSW5zcGVjdG9yIn0=")), "inspector")
  jsii_call_method("inspect", [inspector])
end

#ip_discoveryString?

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

Returns:

  • (String, nil)


564
565
566
# File 'elasticache/cfn_replication_group.rb', line 564

def ip_discovery()
  jsii_get_property("ipDiscovery")
end

#ip_discovery=(value) ⇒ Object



568
569
570
571
# File 'elasticache/cfn_replication_group.rb', line 568

def ip_discovery=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipDiscovery") unless value.nil?
  jsii_set_property("ipDiscovery", value)
end

#kms_key_idString?

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

Returns:

  • (String, nil)


576
577
578
# File 'elasticache/cfn_replication_group.rb', line 576

def kms_key_id()
  jsii_get_property("kmsKeyId")
end

#kms_key_id=(value) ⇒ Object



580
581
582
583
# File 'elasticache/cfn_replication_group.rb', line 580

def kms_key_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless value.nil?
  jsii_set_property("kmsKeyId", value)
end

#log_delivery_configurationsAWSCDK::IResolvable, ...

Specifies the destination, format and type of the logs.



588
589
590
# File 'elasticache/cfn_replication_group.rb', line 588

def log_delivery_configurations()
  jsii_get_property("logDeliveryConfigurations")
end

#log_delivery_configurations=(value) ⇒ Object



592
593
594
595
# File 'elasticache/cfn_replication_group.rb', line 592

def log_delivery_configurations=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2FjaGUuQ2ZuUmVwbGljYXRpb25Hcm91cC5Mb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25SZXF1ZXN0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "logDeliveryConfigurations") unless value.nil?
  jsii_set_property("logDeliveryConfigurations", value)
end

#logical_idString

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use override_logical_id(new_logical_id).

Returns:

  • (String)


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

def logical_id()
  jsii_get_property("logicalId")
end

#multi_az_enabledBoolean, ...

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

Returns:



600
601
602
# File 'elasticache/cfn_replication_group.rb', line 600

def multi_az_enabled()
  jsii_get_property("multiAzEnabled")
end

#multi_az_enabled=(value) ⇒ Object



604
605
606
607
# File 'elasticache/cfn_replication_group.rb', line 604

def multi_az_enabled=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiAzEnabled") unless value.nil?
  jsii_set_property("multiAzEnabled", value)
end

#network_typeString?

Must be either ipv4 | ipv6 | dual_stack .

Returns:

  • (String, nil)


612
613
614
# File 'elasticache/cfn_replication_group.rb', line 612

def network_type()
  jsii_get_property("networkType")
end

#network_type=(value) ⇒ Object



616
617
618
619
# File 'elasticache/cfn_replication_group.rb', line 616

def network_type=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless value.nil?
  jsii_set_property("networkType", value)
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


163
164
165
# File 'elasticache/cfn_replication_group.rb', line 163

def node()
  jsii_get_property("node")
end

#node_group_configurationAWSCDK::IResolvable, ...

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



624
625
626
# File 'elasticache/cfn_replication_group.rb', line 624

def node_group_configuration()
  jsii_get_property("nodeGroupConfiguration")
end

#node_group_configuration=(value) ⇒ Object



628
629
630
631
# File 'elasticache/cfn_replication_group.rb', line 628

def node_group_configuration=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2FjaGUuQ2ZuUmVwbGljYXRpb25Hcm91cC5Ob2RlR3JvdXBDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "nodeGroupConfiguration") unless value.nil?
  jsii_set_property("nodeGroupConfiguration", value)
end

#notification_topic_arnString?

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

Returns:

  • (String, nil)


636
637
638
# File 'elasticache/cfn_replication_group.rb', line 636

def notification_topic_arn()
  jsii_get_property("notificationTopicArn")
end

#notification_topic_arn=(value) ⇒ Object



640
641
642
643
# File 'elasticache/cfn_replication_group.rb', line 640

def notification_topic_arn=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "notificationTopicArn") unless value.nil?
  jsii_set_property("notificationTopicArn", value)
end

#num_cache_clustersNumeric?

The number of clusters this replication group initially has.

Returns:

  • (Numeric, nil)


648
649
650
# File 'elasticache/cfn_replication_group.rb', line 648

def num_cache_clusters()
  jsii_get_property("numCacheClusters")
end

#num_cache_clusters=(value) ⇒ Object



652
653
654
655
# File 'elasticache/cfn_replication_group.rb', line 652

def num_cache_clusters=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numCacheClusters") unless value.nil?
  jsii_set_property("numCacheClusters", value)
end

#num_node_groupsNumeric?

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

Returns:

  • (Numeric, nil)


660
661
662
# File 'elasticache/cfn_replication_group.rb', line 660

def num_node_groups()
  jsii_get_property("numNodeGroups")
end

#num_node_groups=(value) ⇒ Object



664
665
666
667
# File 'elasticache/cfn_replication_group.rb', line 664

def num_node_groups=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numNodeGroups") unless value.nil?
  jsii_set_property("numNodeGroups", value)
end

#obtain_dependenciesArray<AWSCDK::CfnResource, AWSCDK::Stack>

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Returns:



1091
1092
1093
# File 'elasticache/cfn_replication_group.rb', line 1091

def obtain_dependencies()
  jsii_call_method("obtainDependencies", [])
end

#obtain_resource_dependenciesArray<AWSCDK::CfnResource>

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Returns:



1098
1099
1100
# File 'elasticache/cfn_replication_group.rb', line 1098

def obtain_resource_dependencies()
  jsii_call_method("obtainResourceDependencies", [])
end

#override_logical_id(new_logical_id) ⇒ void

This method returns an undefined value.

Overrides the auto-generated logical ID with a specific ID.

Parameters:

  • new_logical_id (String)

    The new logical ID to use for this stack element.



891
892
893
894
# File 'elasticache/cfn_replication_group.rb', line 891

def override_logical_id(new_logical_id)
  Jsii::Type.check_type(new_logical_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "newLogicalId")
  jsii_call_method("overrideLogicalId", [new_logical_id])
end

#portNumeric?

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

Returns:

  • (Numeric, nil)


672
673
674
# File 'elasticache/cfn_replication_group.rb', line 672

def port()
  jsii_get_property("port")
end

#port=(value) ⇒ Object



676
677
678
679
# File 'elasticache/cfn_replication_group.rb', line 676

def port=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless value.nil?
  jsii_set_property("port", value)
end

#preferred_cache_cluster_a_zsArray<String>?

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

Returns:

  • (Array<String>, nil)


684
685
686
# File 'elasticache/cfn_replication_group.rb', line 684

def preferred_cache_cluster_a_zs()
  jsii_get_property("preferredCacheClusterAZs")
end

#preferred_cache_cluster_a_zs=(value) ⇒ Object



688
689
690
691
# File 'elasticache/cfn_replication_group.rb', line 688

def preferred_cache_cluster_a_zs=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "preferredCacheClusterAZs") unless value.nil?
  jsii_set_property("preferredCacheClusterAZs", value)
end

#preferred_maintenance_windowString?

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

Returns:

  • (String, nil)


696
697
698
# File 'elasticache/cfn_replication_group.rb', line 696

def preferred_maintenance_window()
  jsii_get_property("preferredMaintenanceWindow")
end

#preferred_maintenance_window=(value) ⇒ Object



700
701
702
703
# File 'elasticache/cfn_replication_group.rb', line 700

def preferred_maintenance_window=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless value.nil?
  jsii_set_property("preferredMaintenanceWindow", value)
end

#primary_cluster_idString?

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

Returns:

  • (String, nil)


708
709
710
# File 'elasticache/cfn_replication_group.rb', line 708

def primary_cluster_id()
  jsii_get_property("primaryClusterId")
end

#primary_cluster_id=(value) ⇒ Object



712
713
714
715
# File 'elasticache/cfn_replication_group.rb', line 712

def primary_cluster_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "primaryClusterId") unless value.nil?
  jsii_set_property("primaryClusterId", value)
end

#refString

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

Returns:

  • (String)


199
200
201
# File 'elasticache/cfn_replication_group.rb', line 199

def ref()
  jsii_get_property("ref")
end

#remove_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:



1109
1110
1111
1112
# File 'elasticache/cfn_replication_group.rb', line 1109

def remove_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("removeDependency", [target])
end

#render_properties(props) ⇒ Hash{String => Object}

Parameters:

  • props (Hash{String => Object})

Returns:

  • (Hash{String => Object})


1116
1117
1118
1119
# File 'elasticache/cfn_replication_group.rb', line 1116

def render_properties(props)
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "props")
  jsii_call_method("renderProperties", [props])
end

#replace_dependency(target, new_target) ⇒ void

This method returns an undefined value.

Replaces one dependency with another.

Parameters:



1126
1127
1128
1129
1130
# File 'elasticache/cfn_replication_group.rb', line 1126

def replace_dependency(target, new_target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  Jsii::Type.check_type(new_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "newTarget")
  jsii_call_method("replaceDependency", [target, new_target])
end

#replicas_per_node_groupNumeric?

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

Returns:

  • (Numeric, nil)


720
721
722
# File 'elasticache/cfn_replication_group.rb', line 720

def replicas_per_node_group()
  jsii_get_property("replicasPerNodeGroup")
end

#replicas_per_node_group=(value) ⇒ Object



724
725
726
727
# File 'elasticache/cfn_replication_group.rb', line 724

def replicas_per_node_group=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "replicasPerNodeGroup") unless value.nil?
  jsii_set_property("replicasPerNodeGroup", value)
end

#replication_group_descriptionString

A user-created description for the replication group.

Returns:

  • (String)


383
384
385
# File 'elasticache/cfn_replication_group.rb', line 383

def replication_group_description()
  jsii_get_property("replicationGroupDescription")
end

#replication_group_description=(value) ⇒ Object



387
388
389
390
# File 'elasticache/cfn_replication_group.rb', line 387

def replication_group_description=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationGroupDescription")
  jsii_set_property("replicationGroupDescription", value)
end

#replication_group_idString?

The replication group identifier.

This parameter is stored as a lowercase string.

Returns:

  • (String, nil)


734
735
736
# File 'elasticache/cfn_replication_group.rb', line 734

def replication_group_id()
  jsii_get_property("replicationGroupId")
end

#replication_group_id=(value) ⇒ Object



738
739
740
741
# File 'elasticache/cfn_replication_group.rb', line 738

def replication_group_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationGroupId") unless value.nil?
  jsii_set_property("replicationGroupId", value)
end

#replication_group_refAWSCDK::Interfaces::AWSElasticache::ReplicationGroupReference

A reference to a ReplicationGroup resource.



369
370
371
# File 'elasticache/cfn_replication_group.rb', line 369

def replication_group_ref()
  jsii_get_property("replicationGroupRef")
end

#security_group_idsArray<String>?

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

Returns:

  • (Array<String>, nil)


746
747
748
# File 'elasticache/cfn_replication_group.rb', line 746

def security_group_ids()
  jsii_get_property("securityGroupIds")
end

#security_group_ids=(value) ⇒ Object



750
751
752
753
# File 'elasticache/cfn_replication_group.rb', line 750

def security_group_ids=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless value.nil?
  jsii_set_property("securityGroupIds", value)
end

#should_synthesizeBoolean

Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.

Returns:

  • (Boolean)

    true if the resource should be included or false is the resource should be omitted.



1135
1136
1137
# File 'elasticache/cfn_replication_group.rb', line 1135

def should_synthesize()
  jsii_call_method("shouldSynthesize", [])
end

#snapshot_arnsArray<String>?

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

Returns:

  • (Array<String>, nil)


758
759
760
# File 'elasticache/cfn_replication_group.rb', line 758

def snapshot_arns()
  jsii_get_property("snapshotArns")
end

#snapshot_arns=(value) ⇒ Object



762
763
764
765
# File 'elasticache/cfn_replication_group.rb', line 762

def snapshot_arns=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "snapshotArns") unless value.nil?
  jsii_set_property("snapshotArns", value)
end

#snapshot_nameString?

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

Returns:

  • (String, nil)


770
771
772
# File 'elasticache/cfn_replication_group.rb', line 770

def snapshot_name()
  jsii_get_property("snapshotName")
end

#snapshot_name=(value) ⇒ Object



774
775
776
777
# File 'elasticache/cfn_replication_group.rb', line 774

def snapshot_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotName") unless value.nil?
  jsii_set_property("snapshotName", value)
end

#snapshot_retention_limitNumeric?

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

Returns:

  • (Numeric, nil)


782
783
784
# File 'elasticache/cfn_replication_group.rb', line 782

def snapshot_retention_limit()
  jsii_get_property("snapshotRetentionLimit")
end

#snapshot_retention_limit=(value) ⇒ Object



786
787
788
789
# File 'elasticache/cfn_replication_group.rb', line 786

def snapshot_retention_limit=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "snapshotRetentionLimit") unless value.nil?
  jsii_set_property("snapshotRetentionLimit", value)
end

#snapshot_windowString?

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

Returns:

  • (String, nil)


806
807
808
# File 'elasticache/cfn_replication_group.rb', line 806

def snapshot_window()
  jsii_get_property("snapshotWindow")
end

#snapshot_window=(value) ⇒ Object



810
811
812
813
# File 'elasticache/cfn_replication_group.rb', line 810

def snapshot_window=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotWindow") unless value.nil?
  jsii_set_property("snapshotWindow", value)
end

#snapshotting_cluster_idString?

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

Returns:

  • (String, nil)


794
795
796
# File 'elasticache/cfn_replication_group.rb', line 794

def snapshotting_cluster_id()
  jsii_get_property("snapshottingClusterId")
end

#snapshotting_cluster_id=(value) ⇒ Object



798
799
800
801
# File 'elasticache/cfn_replication_group.rb', line 798

def snapshotting_cluster_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshottingClusterId") unless value.nil?
  jsii_set_property("snapshottingClusterId", value)
end

#stackAWSCDK::Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

Returns:



189
190
191
# File 'elasticache/cfn_replication_group.rb', line 189

def stack()
  jsii_get_property("stack")
end

#tagsAWSCDK::TagManager

Tag Manager which manages the tags for this resource.

Returns:



376
377
378
# File 'elasticache/cfn_replication_group.rb', line 376

def tags()
  jsii_get_property("tags")
end

#tags_rawArray<AWSCDK::CfnTag>?

A list of tags to be added to this resource.

Returns:



818
819
820
# File 'elasticache/cfn_replication_group.rb', line 818

def tags_raw()
  jsii_get_property("tagsRaw")
end

#tags_raw=(value) ⇒ Object



822
823
824
825
826
# File 'elasticache/cfn_replication_group.rb', line 822

def tags_raw=(value)
  value = value.is_a?(Array) ? value.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagsRaw") unless value.nil?
  jsii_set_property("tagsRaw", value)
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)

    a string representation of this resource



867
868
869
# File 'elasticache/cfn_replication_group.rb', line 867

def to_string()
  jsii_call_method("toString", [])
end

#transit_encryption_enabledBoolean, ...

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

Returns:



831
832
833
# File 'elasticache/cfn_replication_group.rb', line 831

def transit_encryption_enabled()
  jsii_get_property("transitEncryptionEnabled")
end

#transit_encryption_enabled=(value) ⇒ Object



835
836
837
838
# File 'elasticache/cfn_replication_group.rb', line 835

def transit_encryption_enabled=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "transitEncryptionEnabled") unless value.nil?
  jsii_set_property("transitEncryptionEnabled", value)
end

#transit_encryption_modeString?

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

Returns:

  • (String, nil)


843
844
845
# File 'elasticache/cfn_replication_group.rb', line 843

def transit_encryption_mode()
  jsii_get_property("transitEncryptionMode")
end

#transit_encryption_mode=(value) ⇒ Object



847
848
849
850
# File 'elasticache/cfn_replication_group.rb', line 847

def transit_encryption_mode=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transitEncryptionMode") unless value.nil?
  jsii_set_property("transitEncryptionMode", value)
end

#updated_properitesHash{String => Object}

Deprecated.

use updatedProperties Return properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Deprecated.

Returns:

  • (Hash{String => Object})


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

def updated_properites()
  jsii_get_property("updatedProperites")
end

#updated_propertiesHash{String => Object}

Return properties modified after initiation.

Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Returns:

  • (Hash{String => Object})


246
247
248
# File 'elasticache/cfn_replication_group.rb', line 246

def updated_properties()
  jsii_get_property("updatedProperties")
end

#user_group_idsArray<String>?

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

Returns:

  • (Array<String>, nil)


855
856
857
# File 'elasticache/cfn_replication_group.rb', line 855

def user_group_ids()
  jsii_get_property("userGroupIds")
end

#user_group_ids=(value) ⇒ Object



859
860
861
862
# File 'elasticache/cfn_replication_group.rb', line 859

def user_group_ids=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "userGroupIds") unless value.nil?
  jsii_set_property("userGroupIds", value)
end

#validate_properties(_properties) ⇒ void

This method returns an undefined value.

Parameters:

  • _properties (Object)


1141
1142
1143
1144
# File 'elasticache/cfn_replication_group.rb', line 1141

def validate_properties(_properties)
  Jsii::Type.check_type(_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "_properties")
  jsii_call_method("validateProperties", [_properties])
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

Returns:

  • (Constructs::IConstruct)


880
881
882
883
884
885
# File 'elasticache/cfn_replication_group.rb', line 880

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end