/** * 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 namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElastiCache { namespace Model { /** *

A group of settings that are applied to the cluster in the future, or that * are currently being applied.

See Also:

AWS * API Reference

*/ class PendingModifiedValues { public: AWS_ELASTICACHE_API PendingModifiedValues(); AWS_ELASTICACHE_API PendingModifiedValues(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API PendingModifiedValues& 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 new number of cache nodes for the cluster.

For clusters running * Redis, this value must be 1. For clusters running Memcached, this value must be * between 1 and 40.

*/ inline int GetNumCacheNodes() const{ return m_numCacheNodes; } /** *

The new number of cache nodes for the cluster.

For clusters running * Redis, this value must be 1. For clusters running Memcached, this value must be * between 1 and 40.

*/ inline bool NumCacheNodesHasBeenSet() const { return m_numCacheNodesHasBeenSet; } /** *

The new number of cache nodes for the cluster.

For clusters running * Redis, this value must be 1. For clusters running Memcached, this value must be * between 1 and 40.

*/ inline void SetNumCacheNodes(int value) { m_numCacheNodesHasBeenSet = true; m_numCacheNodes = value; } /** *

The new number of cache nodes for the cluster.

For clusters running * Redis, this value must be 1. For clusters running Memcached, this value must be * between 1 and 40.

*/ inline PendingModifiedValues& WithNumCacheNodes(int value) { SetNumCacheNodes(value); return *this;} /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline const Aws::Vector& GetCacheNodeIdsToRemove() const{ return m_cacheNodeIdsToRemove; } /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline bool CacheNodeIdsToRemoveHasBeenSet() const { return m_cacheNodeIdsToRemoveHasBeenSet; } /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline void SetCacheNodeIdsToRemove(const Aws::Vector& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove = value; } /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline void SetCacheNodeIdsToRemove(Aws::Vector&& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove = std::move(value); } /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline PendingModifiedValues& WithCacheNodeIdsToRemove(const Aws::Vector& value) { SetCacheNodeIdsToRemove(value); return *this;} /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline PendingModifiedValues& WithCacheNodeIdsToRemove(Aws::Vector&& value) { SetCacheNodeIdsToRemove(std::move(value)); return *this;} /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline PendingModifiedValues& AddCacheNodeIdsToRemove(const Aws::String& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove.push_back(value); return *this; } /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline PendingModifiedValues& AddCacheNodeIdsToRemove(Aws::String&& value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove.push_back(std::move(value)); return *this; } /** *

A list of cache node IDs that are being removed (or will be removed) from the * cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

*/ inline PendingModifiedValues& AddCacheNodeIdsToRemove(const char* value) { m_cacheNodeIdsToRemoveHasBeenSet = true; m_cacheNodeIdsToRemove.push_back(value); return *this; } /** *

The new cache engine version that the cluster runs.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The new cache engine version that the cluster runs.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The new cache engine version that the cluster runs.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The new cache engine version that the cluster runs.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The new cache engine version that the cluster runs.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The new cache engine version that the cluster runs.

*/ inline PendingModifiedValues& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The new cache engine version that the cluster runs.

*/ inline PendingModifiedValues& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The new cache engine version that the cluster runs.

*/ inline PendingModifiedValues& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline PendingModifiedValues& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline PendingModifiedValues& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} /** *

The cache node type that this cluster or replication group is scaled to.

*/ inline PendingModifiedValues& WithCacheNodeType(const char* value) { SetCacheNodeType(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 PendingModifiedValues& WithAuthTokenStatus(const AuthTokenUpdateStatus& value) { SetAuthTokenStatus(value); return *this;} /** *

The auth token status

*/ inline PendingModifiedValues& WithAuthTokenStatus(AuthTokenUpdateStatus&& value) { SetAuthTokenStatus(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 PendingModifiedValues& WithLogDeliveryConfigurations(const Aws::Vector& value) { SetLogDeliveryConfigurations(value); return *this;} /** *

The log delivery configurations being modified

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

The log delivery configurations being modified

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

The log delivery configurations being modified

*/ inline PendingModifiedValues& 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 PendingModifiedValues& 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 PendingModifiedValues& 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 PendingModifiedValues& WithTransitEncryptionMode(TransitEncryptionMode&& value) { SetTransitEncryptionMode(std::move(value)); return *this;} private: int m_numCacheNodes; bool m_numCacheNodesHasBeenSet = false; Aws::Vector m_cacheNodeIdsToRemove; bool m_cacheNodeIdsToRemoveHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_cacheNodeType; bool m_cacheNodeTypeHasBeenSet = false; AuthTokenUpdateStatus m_authTokenStatus; bool m_authTokenStatusHasBeenSet = false; Aws::Vector m_logDeliveryConfigurations; bool m_logDeliveryConfigurationsHasBeenSet = false; bool m_transitEncryptionEnabled; bool m_transitEncryptionEnabledHasBeenSet = false; TransitEncryptionMode m_transitEncryptionMode; bool m_transitEncryptionModeHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws