/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElastiCache { namespace Model { /** *

The settings to be applied to the Redis replication group, either immediately * or during the next maintenance window.

See Also:

AWS * API Reference

*/ class ReplicationGroupPendingModifiedValues { public: AWS_ELASTICACHE_API ReplicationGroupPendingModifiedValues(); AWS_ELASTICACHE_API ReplicationGroupPendingModifiedValues(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API ReplicationGroupPendingModifiedValues& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline const Aws::String& GetPrimaryClusterId() const{ return m_primaryClusterId; } /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline bool PrimaryClusterIdHasBeenSet() const { return m_primaryClusterIdHasBeenSet; } /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline void SetPrimaryClusterId(const Aws::String& value) { m_primaryClusterIdHasBeenSet = true; m_primaryClusterId = value; } /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline void SetPrimaryClusterId(Aws::String&& value) { m_primaryClusterIdHasBeenSet = true; m_primaryClusterId = std::move(value); } /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline void SetPrimaryClusterId(const char* value) { m_primaryClusterIdHasBeenSet = true; m_primaryClusterId.assign(value); } /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline ReplicationGroupPendingModifiedValues& WithPrimaryClusterId(const Aws::String& value) { SetPrimaryClusterId(value); return *this;} /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline ReplicationGroupPendingModifiedValues& WithPrimaryClusterId(Aws::String&& value) { SetPrimaryClusterId(std::move(value)); return *this;} /** *

The primary cluster ID that is applied immediately (if * --apply-immediately was specified), or during the next maintenance * window.

*/ inline ReplicationGroupPendingModifiedValues& WithPrimaryClusterId(const char* value) { SetPrimaryClusterId(value); return *this;} /** *

Indicates the status of automatic failover for this Redis replication * group.

*/ inline const PendingAutomaticFailoverStatus& GetAutomaticFailoverStatus() const{ return m_automaticFailoverStatus; } /** *

Indicates the status of automatic failover for this Redis replication * group.

*/ inline bool AutomaticFailoverStatusHasBeenSet() const { return m_automaticFailoverStatusHasBeenSet; } /** *

Indicates the status of automatic failover for this Redis replication * group.

*/ inline void SetAutomaticFailoverStatus(const PendingAutomaticFailoverStatus& value) { m_automaticFailoverStatusHasBeenSet = true; m_automaticFailoverStatus = value; } /** *

Indicates the status of automatic failover for this Redis replication * group.

*/ inline void SetAutomaticFailoverStatus(PendingAutomaticFailoverStatus&& value) { m_automaticFailoverStatusHasBeenSet = true; m_automaticFailoverStatus = std::move(value); } /** *

Indicates the status of automatic failover for this Redis replication * group.

*/ inline ReplicationGroupPendingModifiedValues& WithAutomaticFailoverStatus(const PendingAutomaticFailoverStatus& value) { SetAutomaticFailoverStatus(value); return *this;} /** *

Indicates the status of automatic failover for this Redis replication * group.

*/ inline ReplicationGroupPendingModifiedValues& WithAutomaticFailoverStatus(PendingAutomaticFailoverStatus&& value) { SetAutomaticFailoverStatus(std::move(value)); return *this;} /** *

The status of an online resharding operation.

*/ inline const ReshardingStatus& GetResharding() const{ return m_resharding; } /** *

The status of an online resharding operation.

*/ inline bool ReshardingHasBeenSet() const { return m_reshardingHasBeenSet; } /** *

The status of an online resharding operation.

*/ inline void SetResharding(const ReshardingStatus& value) { m_reshardingHasBeenSet = true; m_resharding = value; } /** *

The status of an online resharding operation.

*/ inline void SetResharding(ReshardingStatus&& value) { m_reshardingHasBeenSet = true; m_resharding = std::move(value); } /** *

The status of an online resharding operation.

*/ inline ReplicationGroupPendingModifiedValues& WithResharding(const ReshardingStatus& value) { SetResharding(value); return *this;} /** *

The status of an online resharding operation.

*/ inline ReplicationGroupPendingModifiedValues& WithResharding(ReshardingStatus&& value) { SetResharding(std::move(value)); return *this;} /** *

The auth token status

*/ inline const AuthTokenUpdateStatus& GetAuthTokenStatus() const{ return m_authTokenStatus; } /** *

The auth token status

*/ inline bool AuthTokenStatusHasBeenSet() const { return m_authTokenStatusHasBeenSet; } /** *

The auth token status

*/ inline void SetAuthTokenStatus(const AuthTokenUpdateStatus& value) { m_authTokenStatusHasBeenSet = true; m_authTokenStatus = value; } /** *

The auth token status

*/ inline void SetAuthTokenStatus(AuthTokenUpdateStatus&& value) { m_authTokenStatusHasBeenSet = true; m_authTokenStatus = std::move(value); } /** *

The auth token status

*/ inline ReplicationGroupPendingModifiedValues& WithAuthTokenStatus(const AuthTokenUpdateStatus& value) { SetAuthTokenStatus(value); return *this;} /** *

The auth token status

*/ inline ReplicationGroupPendingModifiedValues& WithAuthTokenStatus(AuthTokenUpdateStatus&& value) { SetAuthTokenStatus(std::move(value)); return *this;} /** *

The user group being modified.

*/ inline const UserGroupsUpdateStatus& GetUserGroups() const{ return m_userGroups; } /** *

The user group being modified.

*/ inline bool UserGroupsHasBeenSet() const { return m_userGroupsHasBeenSet; } /** *

The user group being modified.

*/ inline void SetUserGroups(const UserGroupsUpdateStatus& value) { m_userGroupsHasBeenSet = true; m_userGroups = value; } /** *

The user group being modified.

*/ inline void SetUserGroups(UserGroupsUpdateStatus&& value) { m_userGroupsHasBeenSet = true; m_userGroups = std::move(value); } /** *

The user group being modified.

*/ inline ReplicationGroupPendingModifiedValues& WithUserGroups(const UserGroupsUpdateStatus& value) { SetUserGroups(value); return *this;} /** *

The user group being modified.

*/ inline ReplicationGroupPendingModifiedValues& WithUserGroups(UserGroupsUpdateStatus&& value) { SetUserGroups(std::move(value)); return *this;} /** *

The log delivery configurations being modified

*/ inline const Aws::Vector& GetLogDeliveryConfigurations() const{ return m_logDeliveryConfigurations; } /** *

The log delivery configurations being modified

*/ inline bool LogDeliveryConfigurationsHasBeenSet() const { return m_logDeliveryConfigurationsHasBeenSet; } /** *

The log delivery configurations being modified

*/ inline void SetLogDeliveryConfigurations(const Aws::Vector& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations = value; } /** *

The log delivery configurations being modified

*/ inline void SetLogDeliveryConfigurations(Aws::Vector&& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations = std::move(value); } /** *

The log delivery configurations being modified

*/ inline ReplicationGroupPendingModifiedValues& WithLogDeliveryConfigurations(const Aws::Vector& value) { SetLogDeliveryConfigurations(value); return *this;} /** *

The log delivery configurations being modified

*/ inline ReplicationGroupPendingModifiedValues& WithLogDeliveryConfigurations(Aws::Vector&& value) { SetLogDeliveryConfigurations(std::move(value)); return *this;} /** *

The log delivery configurations being modified

*/ inline ReplicationGroupPendingModifiedValues& AddLogDeliveryConfigurations(const PendingLogDeliveryConfiguration& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(value); return *this; } /** *

The log delivery configurations being modified

*/ inline ReplicationGroupPendingModifiedValues& AddLogDeliveryConfigurations(PendingLogDeliveryConfiguration&& value) { m_logDeliveryConfigurationsHasBeenSet = true; m_logDeliveryConfigurations.push_back(std::move(value)); return *this; } /** *

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

*/ inline bool GetTransitEncryptionEnabled() const{ return m_transitEncryptionEnabled; } /** *

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

*/ inline bool TransitEncryptionEnabledHasBeenSet() const { return m_transitEncryptionEnabledHasBeenSet; } /** *

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

*/ inline void SetTransitEncryptionEnabled(bool value) { m_transitEncryptionEnabledHasBeenSet = true; m_transitEncryptionEnabled = value; } /** *

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

*/ inline ReplicationGroupPendingModifiedValues& WithTransitEncryptionEnabled(bool value) { SetTransitEncryptionEnabled(value); return *this;} /** *

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 ReplicationGroupPendingModifiedValues& 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 ReplicationGroupPendingModifiedValues& 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 ReplicationGroupPendingModifiedValues& 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 ReplicationGroupPendingModifiedValues& WithClusterMode(ClusterMode&& value) { SetClusterMode(std::move(value)); return *this;} private: Aws::String m_primaryClusterId; bool m_primaryClusterIdHasBeenSet = false; PendingAutomaticFailoverStatus m_automaticFailoverStatus; bool m_automaticFailoverStatusHasBeenSet = false; ReshardingStatus m_resharding; bool m_reshardingHasBeenSet = false; AuthTokenUpdateStatus m_authTokenStatus; bool m_authTokenStatusHasBeenSet = false; UserGroupsUpdateStatus m_userGroups; bool m_userGroupsHasBeenSet = false; Aws::Vector m_logDeliveryConfigurations; bool m_logDeliveryConfigurationsHasBeenSet = false; bool m_transitEncryptionEnabled; bool m_transitEncryptionEnabledHasBeenSet = false; TransitEncryptionMode m_transitEncryptionMode; bool m_transitEncryptionModeHasBeenSet = false; ClusterMode m_clusterMode; bool m_clusterModeHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws