/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains all of the attributes of a specific Redis replication
* group.See Also:
AWS
* API Reference
The identifier for the replication group.
*/ inline const Aws::String& GetReplicationGroupId() const{ return m_replicationGroupId; } /** *The identifier for the replication group.
*/ inline bool ReplicationGroupIdHasBeenSet() const { return m_replicationGroupIdHasBeenSet; } /** *The identifier for the replication group.
*/ inline void SetReplicationGroupId(const Aws::String& value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId = value; } /** *The identifier for the replication group.
*/ inline void SetReplicationGroupId(Aws::String&& value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId = std::move(value); } /** *The identifier for the replication group.
*/ inline void SetReplicationGroupId(const char* value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId.assign(value); } /** *The identifier for the replication group.
*/ inline ReplicationGroup& WithReplicationGroupId(const Aws::String& value) { SetReplicationGroupId(value); return *this;} /** *The identifier for the replication group.
*/ inline ReplicationGroup& WithReplicationGroupId(Aws::String&& value) { SetReplicationGroupId(std::move(value)); return *this;} /** *The identifier for the replication group.
*/ inline ReplicationGroup& WithReplicationGroupId(const char* value) { SetReplicationGroupId(value); return *this;} /** *The user supplied description of the replication group.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The user supplied description of the replication group.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The user supplied description of the replication group.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The user supplied description of the replication group.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The user supplied description of the replication group.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The user supplied description of the replication group.
*/ inline ReplicationGroup& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The user supplied description of the replication group.
*/ inline ReplicationGroup& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The user supplied description of the replication group.
*/ inline ReplicationGroup& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The name of the Global datastore and role of this replication group in the * Global datastore.
*/ inline const GlobalReplicationGroupInfo& GetGlobalReplicationGroupInfo() const{ return m_globalReplicationGroupInfo; } /** *The name of the Global datastore and role of this replication group in the * Global datastore.
*/ inline bool GlobalReplicationGroupInfoHasBeenSet() const { return m_globalReplicationGroupInfoHasBeenSet; } /** *The name of the Global datastore and role of this replication group in the * Global datastore.
*/ inline void SetGlobalReplicationGroupInfo(const GlobalReplicationGroupInfo& value) { m_globalReplicationGroupInfoHasBeenSet = true; m_globalReplicationGroupInfo = value; } /** *The name of the Global datastore and role of this replication group in the * Global datastore.
*/ inline void SetGlobalReplicationGroupInfo(GlobalReplicationGroupInfo&& value) { m_globalReplicationGroupInfoHasBeenSet = true; m_globalReplicationGroupInfo = std::move(value); } /** *The name of the Global datastore and role of this replication group in the * Global datastore.
*/ inline ReplicationGroup& WithGlobalReplicationGroupInfo(const GlobalReplicationGroupInfo& value) { SetGlobalReplicationGroupInfo(value); return *this;} /** *The name of the Global datastore and role of this replication group in the * Global datastore.
*/ inline ReplicationGroup& WithGlobalReplicationGroupInfo(GlobalReplicationGroupInfo&& value) { SetGlobalReplicationGroupInfo(std::move(value)); return *this;} /** *The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
The current state of this replication group - creating
,
* available
, modifying
, deleting
,
* create-failed
, snapshotting
.
A group of settings to be applied to the replication group, either * immediately or during the next maintenance window.
*/ inline const ReplicationGroupPendingModifiedValues& GetPendingModifiedValues() const{ return m_pendingModifiedValues; } /** *A group of settings to be applied to the replication group, either * immediately or during the next maintenance window.
*/ inline bool PendingModifiedValuesHasBeenSet() const { return m_pendingModifiedValuesHasBeenSet; } /** *A group of settings to be applied to the replication group, either * immediately or during the next maintenance window.
*/ inline void SetPendingModifiedValues(const ReplicationGroupPendingModifiedValues& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = value; } /** *A group of settings to be applied to the replication group, either * immediately or during the next maintenance window.
*/ inline void SetPendingModifiedValues(ReplicationGroupPendingModifiedValues&& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = std::move(value); } /** *A group of settings to be applied to the replication group, either * immediately or during the next maintenance window.
*/ inline ReplicationGroup& WithPendingModifiedValues(const ReplicationGroupPendingModifiedValues& value) { SetPendingModifiedValues(value); return *this;} /** *A group of settings to be applied to the replication group, either * immediately or during the next maintenance window.
*/ inline ReplicationGroup& WithPendingModifiedValues(ReplicationGroupPendingModifiedValues&& value) { SetPendingModifiedValues(std::move(value)); return *this;} /** *The names of all the cache clusters that are part of this replication * group.
*/ inline const Aws::VectorThe names of all the cache clusters that are part of this replication * group.
*/ inline bool MemberClustersHasBeenSet() const { return m_memberClustersHasBeenSet; } /** *The names of all the cache clusters that are part of this replication * group.
*/ inline void SetMemberClusters(const Aws::VectorThe names of all the cache clusters that are part of this replication * group.
*/ inline void SetMemberClusters(Aws::VectorThe names of all the cache clusters that are part of this replication * group.
*/ inline ReplicationGroup& WithMemberClusters(const Aws::VectorThe names of all the cache clusters that are part of this replication * group.
*/ inline ReplicationGroup& WithMemberClusters(Aws::VectorThe names of all the cache clusters that are part of this replication * group.
*/ inline ReplicationGroup& AddMemberClusters(const Aws::String& value) { m_memberClustersHasBeenSet = true; m_memberClusters.push_back(value); return *this; } /** *The names of all the cache clusters that are part of this replication * group.
*/ inline ReplicationGroup& AddMemberClusters(Aws::String&& value) { m_memberClustersHasBeenSet = true; m_memberClusters.push_back(std::move(value)); return *this; } /** *The names of all the cache clusters that are part of this replication * group.
*/ inline ReplicationGroup& AddMemberClusters(const char* value) { m_memberClustersHasBeenSet = true; m_memberClusters.push_back(value); return *this; } /** *A list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline const Aws::VectorA list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline bool NodeGroupsHasBeenSet() const { return m_nodeGroupsHasBeenSet; } /** *A list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline void SetNodeGroups(const Aws::VectorA list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline void SetNodeGroups(Aws::VectorA list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline ReplicationGroup& WithNodeGroups(const Aws::VectorA list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline ReplicationGroup& WithNodeGroups(Aws::VectorA list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline ReplicationGroup& AddNodeGroups(const NodeGroup& value) { m_nodeGroupsHasBeenSet = true; m_nodeGroups.push_back(value); return *this; } /** *A list of node groups in this replication group. For Redis (cluster mode * disabled) replication groups, this is a single-element list. For Redis (cluster * mode enabled) replication groups, the list contains an entry for each node group * (shard).
*/ inline ReplicationGroup& AddNodeGroups(NodeGroup&& value) { m_nodeGroupsHasBeenSet = true; m_nodeGroups.push_back(std::move(value)); return *this; } /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline const Aws::String& GetSnapshottingClusterId() const{ return m_snapshottingClusterId; } /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline bool SnapshottingClusterIdHasBeenSet() const { return m_snapshottingClusterIdHasBeenSet; } /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline void SetSnapshottingClusterId(const Aws::String& value) { m_snapshottingClusterIdHasBeenSet = true; m_snapshottingClusterId = value; } /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline void SetSnapshottingClusterId(Aws::String&& value) { m_snapshottingClusterIdHasBeenSet = true; m_snapshottingClusterId = std::move(value); } /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline void SetSnapshottingClusterId(const char* value) { m_snapshottingClusterIdHasBeenSet = true; m_snapshottingClusterId.assign(value); } /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline ReplicationGroup& WithSnapshottingClusterId(const Aws::String& value) { SetSnapshottingClusterId(value); return *this;} /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline ReplicationGroup& WithSnapshottingClusterId(Aws::String&& value) { SetSnapshottingClusterId(std::move(value)); return *this;} /** *The cluster ID that is used as the daily snapshot source for the replication * group.
*/ inline ReplicationGroup& WithSnapshottingClusterId(const char* value) { SetSnapshottingClusterId(value); return *this;} /** *Indicates the status of automatic failover for this Redis replication * group.
*/ inline const AutomaticFailoverStatus& GetAutomaticFailover() const{ return m_automaticFailover; } /** *Indicates the status of automatic failover for this Redis replication * group.
*/ inline bool AutomaticFailoverHasBeenSet() const { return m_automaticFailoverHasBeenSet; } /** *Indicates the status of automatic failover for this Redis replication * group.
*/ inline void SetAutomaticFailover(const AutomaticFailoverStatus& value) { m_automaticFailoverHasBeenSet = true; m_automaticFailover = value; } /** *Indicates the status of automatic failover for this Redis replication * group.
*/ inline void SetAutomaticFailover(AutomaticFailoverStatus&& value) { m_automaticFailoverHasBeenSet = true; m_automaticFailover = std::move(value); } /** *Indicates the status of automatic failover for this Redis replication * group.
*/ inline ReplicationGroup& WithAutomaticFailover(const AutomaticFailoverStatus& value) { SetAutomaticFailover(value); return *this;} /** *Indicates the status of automatic failover for this Redis replication * group.
*/ inline ReplicationGroup& WithAutomaticFailover(AutomaticFailoverStatus&& value) { SetAutomaticFailover(std::move(value)); return *this;} /** *A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ
*/ inline const MultiAZStatus& GetMultiAZ() const{ return m_multiAZ; } /** *A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ
*/ inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; } /** *A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ
*/ inline void SetMultiAZ(const MultiAZStatus& value) { m_multiAZHasBeenSet = true; m_multiAZ = value; } /** *A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ
*/ inline void SetMultiAZ(MultiAZStatus&& value) { m_multiAZHasBeenSet = true; m_multiAZ = std::move(value); } /** *A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ
*/ inline ReplicationGroup& WithMultiAZ(const MultiAZStatus& value) { SetMultiAZ(value); return *this;} /** *A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ
*/ inline ReplicationGroup& WithMultiAZ(MultiAZStatus&& value) { SetMultiAZ(std::move(value)); return *this;} /** *The configuration endpoint for this replication group. Use the configuration * endpoint to connect to this replication group.
*/ inline const Endpoint& GetConfigurationEndpoint() const{ return m_configurationEndpoint; } /** *The configuration endpoint for this replication group. Use the configuration * endpoint to connect to this replication group.
*/ inline bool ConfigurationEndpointHasBeenSet() const { return m_configurationEndpointHasBeenSet; } /** *The configuration endpoint for this replication group. Use the configuration * endpoint to connect to this replication group.
*/ inline void SetConfigurationEndpoint(const Endpoint& value) { m_configurationEndpointHasBeenSet = true; m_configurationEndpoint = value; } /** *The configuration endpoint for this replication group. Use the configuration * endpoint to connect to this replication group.
*/ inline void SetConfigurationEndpoint(Endpoint&& value) { m_configurationEndpointHasBeenSet = true; m_configurationEndpoint = std::move(value); } /** *The configuration endpoint for this replication group. Use the configuration * endpoint to connect to this replication group.
*/ inline ReplicationGroup& WithConfigurationEndpoint(const Endpoint& value) { SetConfigurationEndpoint(value); return *this;} /** *The configuration endpoint for this replication group. Use the configuration * endpoint to connect to this replication group.
*/ inline ReplicationGroup& WithConfigurationEndpoint(Endpoint&& value) { SetConfigurationEndpoint(std::move(value)); return *this;} /** *The number of days for which ElastiCache retains automatic cluster 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.
If the value of
* SnapshotRetentionLimit
is set to zero (0), backups are turned
* off.
The number of days for which ElastiCache retains automatic cluster 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.
If the value of
* SnapshotRetentionLimit
is set to zero (0), backups are turned
* off.
The number of days for which ElastiCache retains automatic cluster 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.
If the value of
* SnapshotRetentionLimit
is set to zero (0), backups are turned
* off.
The number of days for which ElastiCache retains automatic cluster 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.
If the value of
* SnapshotRetentionLimit
is set to zero (0), backups are turned
* off.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
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.
This parameter is only valid if the
* Engine
parameter is redis
.
A flag indicating whether or not this replication group is cluster enabled; * i.e., whether its data can be partitioned across multiple shards (API/CLI: node * groups).
Valid values: true
| false
A flag indicating whether or not this replication group is cluster enabled; * i.e., whether its data can be partitioned across multiple shards (API/CLI: node * groups).
Valid values: true
| false
A flag indicating whether or not this replication group is cluster enabled; * i.e., whether its data can be partitioned across multiple shards (API/CLI: node * groups).
Valid values: true
| false
A flag indicating whether or not this replication group is cluster enabled; * i.e., whether its data can be partitioned across multiple shards (API/CLI: node * groups).
Valid values: true
| false
The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } /** *The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } /** *The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } /** *The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } /** *The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } /** *The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline ReplicationGroup& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} /** *The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline ReplicationGroup& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} /** *The name of the compute and memory capacity node type for each node in the * replication group.
*/ inline ReplicationGroup& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;} /** *A flag that enables using an AuthToken
(password) when issuing
* Redis commands.
Default: false
A flag that enables using an AuthToken
(password) when issuing
* Redis commands.
Default: false
A flag that enables using an AuthToken
(password) when issuing
* Redis commands.
Default: false
A flag that enables using an AuthToken
(password) when issuing
* Redis commands.
Default: false
The date the auth token was last modified
*/ inline const Aws::Utils::DateTime& GetAuthTokenLastModifiedDate() const{ return m_authTokenLastModifiedDate; } /** *The date the auth token was last modified
*/ inline bool AuthTokenLastModifiedDateHasBeenSet() const { return m_authTokenLastModifiedDateHasBeenSet; } /** *The date the auth token was last modified
*/ inline void SetAuthTokenLastModifiedDate(const Aws::Utils::DateTime& value) { m_authTokenLastModifiedDateHasBeenSet = true; m_authTokenLastModifiedDate = value; } /** *The date the auth token was last modified
*/ inline void SetAuthTokenLastModifiedDate(Aws::Utils::DateTime&& value) { m_authTokenLastModifiedDateHasBeenSet = true; m_authTokenLastModifiedDate = std::move(value); } /** *The date the auth token was last modified
*/ inline ReplicationGroup& WithAuthTokenLastModifiedDate(const Aws::Utils::DateTime& value) { SetAuthTokenLastModifiedDate(value); return *this;} /** *The date the auth token was last modified
*/ inline ReplicationGroup& WithAuthTokenLastModifiedDate(Aws::Utils::DateTime&& value) { SetAuthTokenLastModifiedDate(std::move(value)); return *this;} /** *A flag that enables in-transit encryption when set to true
.
Required: Only available when creating a replication group in an
* Amazon VPC using redis version 3.2.6
, 4.x
or
* later.
Default: false
A flag that enables in-transit encryption when set to true
.
Required: Only available when creating a replication group in an
* Amazon VPC using redis version 3.2.6
, 4.x
or
* later.
Default: false
A flag that enables in-transit encryption when set to true
.
Required: Only available when creating a replication group in an
* Amazon VPC using redis version 3.2.6
, 4.x
or
* later.
Default: false
A flag that enables in-transit encryption when set to true
.
Required: Only available when creating a replication group in an
* Amazon VPC using redis version 3.2.6
, 4.x
or
* later.
Default: false
A flag that enables encryption at-rest when set to true
.
You cannot modify the value of AtRestEncryptionEnabled
after the
* cluster is created. To enable encryption at-rest on a cluster you must set
* AtRestEncryptionEnabled
to true
when you create a
* cluster.
Required: Only available when creating a replication
* group in an Amazon VPC using redis version 3.2.6
, 4.x
* or later.
Default: false
A flag that enables encryption at-rest when set to true
.
You cannot modify the value of AtRestEncryptionEnabled
after the
* cluster is created. To enable encryption at-rest on a cluster you must set
* AtRestEncryptionEnabled
to true
when you create a
* cluster.
Required: Only available when creating a replication
* group in an Amazon VPC using redis version 3.2.6
, 4.x
* or later.
Default: false
A flag that enables encryption at-rest when set to true
.
You cannot modify the value of AtRestEncryptionEnabled
after the
* cluster is created. To enable encryption at-rest on a cluster you must set
* AtRestEncryptionEnabled
to true
when you create a
* cluster.
Required: Only available when creating a replication
* group in an Amazon VPC using redis version 3.2.6
, 4.x
* or later.
Default: false
A flag that enables encryption at-rest when set to true
.
You cannot modify the value of AtRestEncryptionEnabled
after the
* cluster is created. To enable encryption at-rest on a cluster you must set
* AtRestEncryptionEnabled
to true
when you create a
* cluster.
Required: Only available when creating a replication
* group in an Amazon VPC using redis version 3.2.6
, 4.x
* or later.
Default: false
The outpost ARNs of the replication group's member clusters.
*/ inline const Aws::VectorThe outpost ARNs of the replication group's member clusters.
*/ inline bool MemberClustersOutpostArnsHasBeenSet() const { return m_memberClustersOutpostArnsHasBeenSet; } /** *The outpost ARNs of the replication group's member clusters.
*/ inline void SetMemberClustersOutpostArns(const Aws::VectorThe outpost ARNs of the replication group's member clusters.
*/ inline void SetMemberClustersOutpostArns(Aws::VectorThe outpost ARNs of the replication group's member clusters.
*/ inline ReplicationGroup& WithMemberClustersOutpostArns(const Aws::VectorThe outpost ARNs of the replication group's member clusters.
*/ inline ReplicationGroup& WithMemberClustersOutpostArns(Aws::VectorThe outpost ARNs of the replication group's member clusters.
*/ inline ReplicationGroup& AddMemberClustersOutpostArns(const Aws::String& value) { m_memberClustersOutpostArnsHasBeenSet = true; m_memberClustersOutpostArns.push_back(value); return *this; } /** *The outpost ARNs of the replication group's member clusters.
*/ inline ReplicationGroup& AddMemberClustersOutpostArns(Aws::String&& value) { m_memberClustersOutpostArnsHasBeenSet = true; m_memberClustersOutpostArns.push_back(std::move(value)); return *this; } /** *The outpost ARNs of the replication group's member clusters.
*/ inline ReplicationGroup& AddMemberClustersOutpostArns(const char* value) { m_memberClustersOutpostArnsHasBeenSet = true; m_memberClustersOutpostArns.push_back(value); return *this; } /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline ReplicationGroup& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline ReplicationGroup& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *The ID of the KMS key used to encrypt the disk in the cluster.
*/ inline ReplicationGroup& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline const Aws::String& GetARN() const{ return m_aRN; } /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline ReplicationGroup& WithARN(const Aws::String& value) { SetARN(value); return *this;} /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline ReplicationGroup& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} /** *The ARN (Amazon Resource Name) of the replication group.
*/ inline ReplicationGroup& WithARN(const char* value) { SetARN(value); return *this;} /** *The ID of the user group associated to the replication group.
*/ inline const Aws::VectorThe ID of the user group associated to the replication group.
*/ inline bool UserGroupIdsHasBeenSet() const { return m_userGroupIdsHasBeenSet; } /** *The ID of the user group associated to the replication group.
*/ inline void SetUserGroupIds(const Aws::VectorThe ID of the user group associated to the replication group.
*/ inline void SetUserGroupIds(Aws::VectorThe ID of the user group associated to the replication group.
*/ inline ReplicationGroup& WithUserGroupIds(const Aws::VectorThe ID of the user group associated to the replication group.
*/ inline ReplicationGroup& WithUserGroupIds(Aws::VectorThe ID of the user group associated to the replication group.
*/ inline ReplicationGroup& AddUserGroupIds(const Aws::String& value) { m_userGroupIdsHasBeenSet = true; m_userGroupIds.push_back(value); return *this; } /** *The ID of the user group associated to the replication group.
*/ inline ReplicationGroup& AddUserGroupIds(Aws::String&& value) { m_userGroupIdsHasBeenSet = true; m_userGroupIds.push_back(std::move(value)); return *this; } /** *The ID of the user group associated to the replication group.
*/ inline ReplicationGroup& AddUserGroupIds(const char* value) { m_userGroupIdsHasBeenSet = true; m_userGroupIds.push_back(value); return *this; } /** *Returns the destination, format and type of the logs.
*/ inline const Aws::VectorReturns the destination, format and type of the logs.
*/ inline bool LogDeliveryConfigurationsHasBeenSet() const { return m_logDeliveryConfigurationsHasBeenSet; } /** *Returns the destination, format and type of the logs.
*/ inline void SetLogDeliveryConfigurations(const Aws::VectorReturns the destination, format and type of the logs.
*/ inline void SetLogDeliveryConfigurations(Aws::VectorReturns the destination, format and type of the logs.
*/ inline ReplicationGroup& WithLogDeliveryConfigurations(const Aws::VectorReturns the destination, format and type of the logs.
*/ inline ReplicationGroup& WithLogDeliveryConfigurations(Aws::VectorReturns the destination, format and type of the logs.
*/ inline ReplicationGroup& AddLogDeliveryConfigurations(const LogDeliveryConfiguration& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(value); return *this; } /** *Returns the destination, format and type of the logs.
*/ inline ReplicationGroup& AddLogDeliveryConfigurations(LogDeliveryConfiguration&& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(std::move(value)); return *this; } /** *The date and time when the cluster was created.
*/ inline const Aws::Utils::DateTime& GetReplicationGroupCreateTime() const{ return m_replicationGroupCreateTime; } /** *The date and time when the cluster was created.
*/ inline bool ReplicationGroupCreateTimeHasBeenSet() const { return m_replicationGroupCreateTimeHasBeenSet; } /** *The date and time when the cluster was created.
*/ inline void SetReplicationGroupCreateTime(const Aws::Utils::DateTime& value) { m_replicationGroupCreateTimeHasBeenSet = true; m_replicationGroupCreateTime = value; } /** *The date and time when the cluster was created.
*/ inline void SetReplicationGroupCreateTime(Aws::Utils::DateTime&& value) { m_replicationGroupCreateTimeHasBeenSet = true; m_replicationGroupCreateTime = std::move(value); } /** *The date and time when the cluster was created.
*/ inline ReplicationGroup& WithReplicationGroupCreateTime(const Aws::Utils::DateTime& value) { SetReplicationGroupCreateTime(value); return *this;} /** *The date and time when the cluster was created.
*/ inline ReplicationGroup& WithReplicationGroupCreateTime(Aws::Utils::DateTime&& value) { SetReplicationGroupCreateTime(std::move(value)); return *this;} /** *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.
*/ inline const DataTieringStatus& GetDataTiering() const{ return m_dataTiering; } /** *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.
*/ inline bool DataTieringHasBeenSet() const { return m_dataTieringHasBeenSet; } /** *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.
*/ inline void SetDataTiering(const DataTieringStatus& value) { m_dataTieringHasBeenSet = true; m_dataTiering = value; } /** *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.
*/ inline void SetDataTiering(DataTieringStatus&& value) { m_dataTieringHasBeenSet = true; m_dataTiering = std::move(value); } /** *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.
*/ inline ReplicationGroup& WithDataTiering(const DataTieringStatus& value) { SetDataTiering(value); return *this;} /** *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.
*/ inline ReplicationGroup& WithDataTiering(DataTieringStatus&& value) { SetDataTiering(std::move(value)); return *this;} /** *If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions.
*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions.
*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions.
*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *If you are running Redis engine version 6.0 or later, set this parameter to * yes if you want to opt-in to the next auto minor version upgrade campaign. This * parameter is disabled for previous versions.
*/ inline ReplicationGroup& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *Must be either ipv4
| ipv6
|
* dual_stack
. IPv6 is supported for workloads using Redis engine
* version 6.2 onward or Memcached engine version 1.6.6 on all instances built on
* the Nitro system.
Must be either ipv4
| ipv6
|
* dual_stack
. IPv6 is supported for workloads using Redis engine
* version 6.2 onward or Memcached engine version 1.6.6 on all instances built on
* the Nitro system.
Must be either ipv4
| ipv6
|
* dual_stack
. IPv6 is supported for workloads using Redis engine
* version 6.2 onward or Memcached engine version 1.6.6 on all instances built on
* the Nitro system.
Must be either ipv4
| ipv6
|
* dual_stack
. IPv6 is supported for workloads using Redis engine
* version 6.2 onward or Memcached engine version 1.6.6 on all instances built on
* the Nitro system.
Must be either ipv4
| ipv6
|
* dual_stack
. IPv6 is supported for workloads using Redis engine
* version 6.2 onward or Memcached engine version 1.6.6 on all instances built on
* the Nitro system.
Must be either ipv4
| ipv6
|
* dual_stack
. IPv6 is supported for workloads using Redis engine
* version 6.2 onward or Memcached engine version 1.6.6 on all instances built on
* the Nitro system.
The network type you choose when modifying a cluster, either
* ipv4
| ipv6
. IPv6 is supported for workloads using
* Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all
* instances built on the Nitro
* system.
The network type you choose when modifying a cluster, either
* ipv4
| ipv6
. IPv6 is supported for workloads using
* Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all
* instances built on the Nitro
* system.
The network type you choose when modifying a cluster, either
* ipv4
| ipv6
. IPv6 is supported for workloads using
* Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all
* instances built on the Nitro
* system.
The network type you choose when modifying a cluster, either
* ipv4
| ipv6
. IPv6 is supported for workloads using
* Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all
* instances built on the Nitro
* system.
The network type you choose when modifying a cluster, either
* ipv4
| ipv6
. IPv6 is supported for workloads using
* Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all
* instances built on the Nitro
* system.
The network type you choose when modifying a cluster, either
* ipv4
| ipv6
. IPv6 is supported for workloads using
* Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all
* instances built on the Nitro
* system.
A setting that allows you to migrate your clients to use in-transit * encryption, with no downtime.
*/ inline const TransitEncryptionMode& GetTransitEncryptionMode() const{ return m_transitEncryptionMode; } /** *A setting that allows you to migrate your clients to use in-transit * encryption, with no downtime.
*/ inline bool TransitEncryptionModeHasBeenSet() const { return m_transitEncryptionModeHasBeenSet; } /** *A setting that allows you to migrate your clients to use in-transit * encryption, with no downtime.
*/ inline void SetTransitEncryptionMode(const TransitEncryptionMode& value) { m_transitEncryptionModeHasBeenSet = true; m_transitEncryptionMode = value; } /** *A setting that allows you to migrate your clients to use in-transit * encryption, with no downtime.
*/ inline void SetTransitEncryptionMode(TransitEncryptionMode&& value) { m_transitEncryptionModeHasBeenSet = true; m_transitEncryptionMode = std::move(value); } /** *A setting that allows you to migrate your clients to use in-transit * encryption, with no downtime.
*/ inline ReplicationGroup& WithTransitEncryptionMode(const TransitEncryptionMode& value) { SetTransitEncryptionMode(value); return *this;} /** *A setting that allows you to migrate your clients to use in-transit * encryption, with no downtime.
*/ inline ReplicationGroup& WithTransitEncryptionMode(TransitEncryptionMode&& value) { SetTransitEncryptionMode(std::move(value)); return *this;} /** *Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you * must first set the cluster mode to Compatible. Compatible mode allows your Redis * clients to connect using both cluster mode enabled and cluster mode disabled. * After you migrate all Redis clients to use cluster mode enabled, you can then * complete cluster mode configuration and set the cluster mode to Enabled.
*/ inline const ClusterMode& GetClusterMode() const{ return m_clusterMode; } /** *Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you * must first set the cluster mode to Compatible. Compatible mode allows your Redis * clients to connect using both cluster mode enabled and cluster mode disabled. * After you migrate all Redis clients to use cluster mode enabled, you can then * complete cluster mode configuration and set the cluster mode to Enabled.
*/ inline bool ClusterModeHasBeenSet() const { return m_clusterModeHasBeenSet; } /** *Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you * must first set the cluster mode to Compatible. Compatible mode allows your Redis * clients to connect using both cluster mode enabled and cluster mode disabled. * After you migrate all Redis clients to use cluster mode enabled, you can then * complete cluster mode configuration and set the cluster mode to Enabled.
*/ inline void SetClusterMode(const ClusterMode& value) { m_clusterModeHasBeenSet = true; m_clusterMode = value; } /** *Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you * must first set the cluster mode to Compatible. Compatible mode allows your Redis * clients to connect using both cluster mode enabled and cluster mode disabled. * After you migrate all Redis clients to use cluster mode enabled, you can then * complete cluster mode configuration and set the cluster mode to Enabled.
*/ inline void SetClusterMode(ClusterMode&& value) { m_clusterModeHasBeenSet = true; m_clusterMode = std::move(value); } /** *Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you * must first set the cluster mode to Compatible. Compatible mode allows your Redis * clients to connect using both cluster mode enabled and cluster mode disabled. * After you migrate all Redis clients to use cluster mode enabled, you can then * complete cluster mode configuration and set the cluster mode to Enabled.
*/ inline ReplicationGroup& WithClusterMode(const ClusterMode& value) { SetClusterMode(value); return *this;} /** *Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you * must first set the cluster mode to Compatible. Compatible mode allows your Redis * clients to connect using both cluster mode enabled and cluster mode disabled. * After you migrate all Redis clients to use cluster mode enabled, you can then * complete cluster mode configuration and set the cluster mode to Enabled.
*/ inline ReplicationGroup& WithClusterMode(ClusterMode&& value) { SetClusterMode(std::move(value)); return *this;} private: Aws::String m_replicationGroupId; bool m_replicationGroupIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; GlobalReplicationGroupInfo m_globalReplicationGroupInfo; bool m_globalReplicationGroupInfoHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; ReplicationGroupPendingModifiedValues m_pendingModifiedValues; bool m_pendingModifiedValuesHasBeenSet = false; Aws::Vector