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

Represents an individual cache node in a snapshot of a cluster.

See * Also:

AWS * API Reference

*/ class NodeSnapshot { public: AWS_ELASTICACHE_API NodeSnapshot(); AWS_ELASTICACHE_API NodeSnapshot(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API NodeSnapshot& 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; /** *

A unique identifier for the source cluster.

*/ inline const Aws::String& GetCacheClusterId() const{ return m_cacheClusterId; } /** *

A unique identifier for the source cluster.

*/ inline bool CacheClusterIdHasBeenSet() const { return m_cacheClusterIdHasBeenSet; } /** *

A unique identifier for the source cluster.

*/ inline void SetCacheClusterId(const Aws::String& value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId = value; } /** *

A unique identifier for the source cluster.

*/ inline void SetCacheClusterId(Aws::String&& value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId = std::move(value); } /** *

A unique identifier for the source cluster.

*/ inline void SetCacheClusterId(const char* value) { m_cacheClusterIdHasBeenSet = true; m_cacheClusterId.assign(value); } /** *

A unique identifier for the source cluster.

*/ inline NodeSnapshot& WithCacheClusterId(const Aws::String& value) { SetCacheClusterId(value); return *this;} /** *

A unique identifier for the source cluster.

*/ inline NodeSnapshot& WithCacheClusterId(Aws::String&& value) { SetCacheClusterId(std::move(value)); return *this;} /** *

A unique identifier for the source cluster.

*/ inline NodeSnapshot& WithCacheClusterId(const char* value) { SetCacheClusterId(value); return *this;} /** *

A unique identifier for the source node group (shard).

*/ inline const Aws::String& GetNodeGroupId() const{ return m_nodeGroupId; } /** *

A unique identifier for the source node group (shard).

*/ inline bool NodeGroupIdHasBeenSet() const { return m_nodeGroupIdHasBeenSet; } /** *

A unique identifier for the source node group (shard).

*/ inline void SetNodeGroupId(const Aws::String& value) { m_nodeGroupIdHasBeenSet = true; m_nodeGroupId = value; } /** *

A unique identifier for the source node group (shard).

*/ inline void SetNodeGroupId(Aws::String&& value) { m_nodeGroupIdHasBeenSet = true; m_nodeGroupId = std::move(value); } /** *

A unique identifier for the source node group (shard).

*/ inline void SetNodeGroupId(const char* value) { m_nodeGroupIdHasBeenSet = true; m_nodeGroupId.assign(value); } /** *

A unique identifier for the source node group (shard).

*/ inline NodeSnapshot& WithNodeGroupId(const Aws::String& value) { SetNodeGroupId(value); return *this;} /** *

A unique identifier for the source node group (shard).

*/ inline NodeSnapshot& WithNodeGroupId(Aws::String&& value) { SetNodeGroupId(std::move(value)); return *this;} /** *

A unique identifier for the source node group (shard).

*/ inline NodeSnapshot& WithNodeGroupId(const char* value) { SetNodeGroupId(value); return *this;} /** *

The cache node identifier for the node in the source cluster.

*/ inline const Aws::String& GetCacheNodeId() const{ return m_cacheNodeId; } /** *

The cache node identifier for the node in the source cluster.

*/ inline bool CacheNodeIdHasBeenSet() const { return m_cacheNodeIdHasBeenSet; } /** *

The cache node identifier for the node in the source cluster.

*/ inline void SetCacheNodeId(const Aws::String& value) { m_cacheNodeIdHasBeenSet = true; m_cacheNodeId = value; } /** *

The cache node identifier for the node in the source cluster.

*/ inline void SetCacheNodeId(Aws::String&& value) { m_cacheNodeIdHasBeenSet = true; m_cacheNodeId = std::move(value); } /** *

The cache node identifier for the node in the source cluster.

*/ inline void SetCacheNodeId(const char* value) { m_cacheNodeIdHasBeenSet = true; m_cacheNodeId.assign(value); } /** *

The cache node identifier for the node in the source cluster.

*/ inline NodeSnapshot& WithCacheNodeId(const Aws::String& value) { SetCacheNodeId(value); return *this;} /** *

The cache node identifier for the node in the source cluster.

*/ inline NodeSnapshot& WithCacheNodeId(Aws::String&& value) { SetCacheNodeId(std::move(value)); return *this;} /** *

The cache node identifier for the node in the source cluster.

*/ inline NodeSnapshot& WithCacheNodeId(const char* value) { SetCacheNodeId(value); return *this;} /** *

The configuration for the source node group (shard).

*/ inline const NodeGroupConfiguration& GetNodeGroupConfiguration() const{ return m_nodeGroupConfiguration; } /** *

The configuration for the source node group (shard).

*/ inline bool NodeGroupConfigurationHasBeenSet() const { return m_nodeGroupConfigurationHasBeenSet; } /** *

The configuration for the source node group (shard).

*/ inline void SetNodeGroupConfiguration(const NodeGroupConfiguration& value) { m_nodeGroupConfigurationHasBeenSet = true; m_nodeGroupConfiguration = value; } /** *

The configuration for the source node group (shard).

*/ inline void SetNodeGroupConfiguration(NodeGroupConfiguration&& value) { m_nodeGroupConfigurationHasBeenSet = true; m_nodeGroupConfiguration = std::move(value); } /** *

The configuration for the source node group (shard).

*/ inline NodeSnapshot& WithNodeGroupConfiguration(const NodeGroupConfiguration& value) { SetNodeGroupConfiguration(value); return *this;} /** *

The configuration for the source node group (shard).

*/ inline NodeSnapshot& WithNodeGroupConfiguration(NodeGroupConfiguration&& value) { SetNodeGroupConfiguration(std::move(value)); return *this;} /** *

The size of the cache on the source cache node.

*/ inline const Aws::String& GetCacheSize() const{ return m_cacheSize; } /** *

The size of the cache on the source cache node.

*/ inline bool CacheSizeHasBeenSet() const { return m_cacheSizeHasBeenSet; } /** *

The size of the cache on the source cache node.

*/ inline void SetCacheSize(const Aws::String& value) { m_cacheSizeHasBeenSet = true; m_cacheSize = value; } /** *

The size of the cache on the source cache node.

*/ inline void SetCacheSize(Aws::String&& value) { m_cacheSizeHasBeenSet = true; m_cacheSize = std::move(value); } /** *

The size of the cache on the source cache node.

*/ inline void SetCacheSize(const char* value) { m_cacheSizeHasBeenSet = true; m_cacheSize.assign(value); } /** *

The size of the cache on the source cache node.

*/ inline NodeSnapshot& WithCacheSize(const Aws::String& value) { SetCacheSize(value); return *this;} /** *

The size of the cache on the source cache node.

*/ inline NodeSnapshot& WithCacheSize(Aws::String&& value) { SetCacheSize(std::move(value)); return *this;} /** *

The size of the cache on the source cache node.

*/ inline NodeSnapshot& WithCacheSize(const char* value) { SetCacheSize(value); return *this;} /** *

The date and time when the cache node was created in the source cluster.

*/ inline const Aws::Utils::DateTime& GetCacheNodeCreateTime() const{ return m_cacheNodeCreateTime; } /** *

The date and time when the cache node was created in the source cluster.

*/ inline bool CacheNodeCreateTimeHasBeenSet() const { return m_cacheNodeCreateTimeHasBeenSet; } /** *

The date and time when the cache node was created in the source cluster.

*/ inline void SetCacheNodeCreateTime(const Aws::Utils::DateTime& value) { m_cacheNodeCreateTimeHasBeenSet = true; m_cacheNodeCreateTime = value; } /** *

The date and time when the cache node was created in the source cluster.

*/ inline void SetCacheNodeCreateTime(Aws::Utils::DateTime&& value) { m_cacheNodeCreateTimeHasBeenSet = true; m_cacheNodeCreateTime = std::move(value); } /** *

The date and time when the cache node was created in the source cluster.

*/ inline NodeSnapshot& WithCacheNodeCreateTime(const Aws::Utils::DateTime& value) { SetCacheNodeCreateTime(value); return *this;} /** *

The date and time when the cache node was created in the source cluster.

*/ inline NodeSnapshot& WithCacheNodeCreateTime(Aws::Utils::DateTime&& value) { SetCacheNodeCreateTime(std::move(value)); return *this;} /** *

The date and time when the source node's metadata and cache data set was * obtained for the snapshot.

*/ inline const Aws::Utils::DateTime& GetSnapshotCreateTime() const{ return m_snapshotCreateTime; } /** *

The date and time when the source node's metadata and cache data set was * obtained for the snapshot.

*/ inline bool SnapshotCreateTimeHasBeenSet() const { return m_snapshotCreateTimeHasBeenSet; } /** *

The date and time when the source node's metadata and cache data set was * obtained for the snapshot.

*/ inline void SetSnapshotCreateTime(const Aws::Utils::DateTime& value) { m_snapshotCreateTimeHasBeenSet = true; m_snapshotCreateTime = value; } /** *

The date and time when the source node's metadata and cache data set was * obtained for the snapshot.

*/ inline void SetSnapshotCreateTime(Aws::Utils::DateTime&& value) { m_snapshotCreateTimeHasBeenSet = true; m_snapshotCreateTime = std::move(value); } /** *

The date and time when the source node's metadata and cache data set was * obtained for the snapshot.

*/ inline NodeSnapshot& WithSnapshotCreateTime(const Aws::Utils::DateTime& value) { SetSnapshotCreateTime(value); return *this;} /** *

The date and time when the source node's metadata and cache data set was * obtained for the snapshot.

*/ inline NodeSnapshot& WithSnapshotCreateTime(Aws::Utils::DateTime&& value) { SetSnapshotCreateTime(std::move(value)); return *this;} private: Aws::String m_cacheClusterId; bool m_cacheClusterIdHasBeenSet = false; Aws::String m_nodeGroupId; bool m_nodeGroupIdHasBeenSet = false; Aws::String m_cacheNodeId; bool m_cacheNodeIdHasBeenSet = false; NodeGroupConfiguration m_nodeGroupConfiguration; bool m_nodeGroupConfigurationHasBeenSet = false; Aws::String m_cacheSize; bool m_cacheSizeHasBeenSet = false; Aws::Utils::DateTime m_cacheNodeCreateTime; bool m_cacheNodeCreateTimeHasBeenSet = false; Aws::Utils::DateTime m_snapshotCreateTime; bool m_snapshotCreateTimeHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws