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

Describes a resize cluster operation. For example, a scheduled action to run * the ResizeCluster API operation.

See Also:

AWS * API Reference

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

The unique identifier for the cluster to resize.

*/ inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } /** *

The unique identifier for the cluster to resize.

*/ inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } /** *

The unique identifier for the cluster to resize.

*/ inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } /** *

The unique identifier for the cluster to resize.

*/ inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } /** *

The unique identifier for the cluster to resize.

*/ inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } /** *

The unique identifier for the cluster to resize.

*/ inline ResizeClusterMessage& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} /** *

The unique identifier for the cluster to resize.

*/ inline ResizeClusterMessage& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} /** *

The unique identifier for the cluster to resize.

*/ inline ResizeClusterMessage& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} /** *

The new cluster type for the specified cluster.

*/ inline const Aws::String& GetClusterType() const{ return m_clusterType; } /** *

The new cluster type for the specified cluster.

*/ inline bool ClusterTypeHasBeenSet() const { return m_clusterTypeHasBeenSet; } /** *

The new cluster type for the specified cluster.

*/ inline void SetClusterType(const Aws::String& value) { m_clusterTypeHasBeenSet = true; m_clusterType = value; } /** *

The new cluster type for the specified cluster.

*/ inline void SetClusterType(Aws::String&& value) { m_clusterTypeHasBeenSet = true; m_clusterType = std::move(value); } /** *

The new cluster type for the specified cluster.

*/ inline void SetClusterType(const char* value) { m_clusterTypeHasBeenSet = true; m_clusterType.assign(value); } /** *

The new cluster type for the specified cluster.

*/ inline ResizeClusterMessage& WithClusterType(const Aws::String& value) { SetClusterType(value); return *this;} /** *

The new cluster type for the specified cluster.

*/ inline ResizeClusterMessage& WithClusterType(Aws::String&& value) { SetClusterType(std::move(value)); return *this;} /** *

The new cluster type for the specified cluster.

*/ inline ResizeClusterMessage& WithClusterType(const char* value) { SetClusterType(value); return *this;} /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline ResizeClusterMessage& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline ResizeClusterMessage& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *

The new node type for the nodes you are adding. If not specified, the * cluster's current node type is used.

*/ inline ResizeClusterMessage& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *

The new number of nodes for the cluster. If not specified, the cluster's * current number of nodes is used.

*/ inline int GetNumberOfNodes() const{ return m_numberOfNodes; } /** *

The new number of nodes for the cluster. If not specified, the cluster's * current number of nodes is used.

*/ inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; } /** *

The new number of nodes for the cluster. If not specified, the cluster's * current number of nodes is used.

*/ inline void SetNumberOfNodes(int value) { m_numberOfNodesHasBeenSet = true; m_numberOfNodes = value; } /** *

The new number of nodes for the cluster. If not specified, the cluster's * current number of nodes is used.

*/ inline ResizeClusterMessage& WithNumberOfNodes(int value) { SetNumberOfNodes(value); return *this;} /** *

A boolean value indicating whether the resize operation is using the classic * resize process. If you don't provide this parameter or set the value to * false, the resize type is elastic.

*/ inline bool GetClassic() const{ return m_classic; } /** *

A boolean value indicating whether the resize operation is using the classic * resize process. If you don't provide this parameter or set the value to * false, the resize type is elastic.

*/ inline bool ClassicHasBeenSet() const { return m_classicHasBeenSet; } /** *

A boolean value indicating whether the resize operation is using the classic * resize process. If you don't provide this parameter or set the value to * false, the resize type is elastic.

*/ inline void SetClassic(bool value) { m_classicHasBeenSet = true; m_classic = value; } /** *

A boolean value indicating whether the resize operation is using the classic * resize process. If you don't provide this parameter or set the value to * false, the resize type is elastic.

*/ inline ResizeClusterMessage& WithClassic(bool value) { SetClassic(value); return *this;} /** *

The identifier of the reserved node.

*/ inline const Aws::String& GetReservedNodeId() const{ return m_reservedNodeId; } /** *

The identifier of the reserved node.

*/ inline bool ReservedNodeIdHasBeenSet() const { return m_reservedNodeIdHasBeenSet; } /** *

The identifier of the reserved node.

*/ inline void SetReservedNodeId(const Aws::String& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = value; } /** *

The identifier of the reserved node.

*/ inline void SetReservedNodeId(Aws::String&& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = std::move(value); } /** *

The identifier of the reserved node.

*/ inline void SetReservedNodeId(const char* value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId.assign(value); } /** *

The identifier of the reserved node.

*/ inline ResizeClusterMessage& WithReservedNodeId(const Aws::String& value) { SetReservedNodeId(value); return *this;} /** *

The identifier of the reserved node.

*/ inline ResizeClusterMessage& WithReservedNodeId(Aws::String&& value) { SetReservedNodeId(std::move(value)); return *this;} /** *

The identifier of the reserved node.

*/ inline ResizeClusterMessage& WithReservedNodeId(const char* value) { SetReservedNodeId(value); return *this;} /** *

The identifier of the target reserved node offering.

*/ inline const Aws::String& GetTargetReservedNodeOfferingId() const{ return m_targetReservedNodeOfferingId; } /** *

The identifier of the target reserved node offering.

*/ inline bool TargetReservedNodeOfferingIdHasBeenSet() const { return m_targetReservedNodeOfferingIdHasBeenSet; } /** *

The identifier of the target reserved node offering.

*/ inline void SetTargetReservedNodeOfferingId(const Aws::String& value) { m_targetReservedNodeOfferingIdHasBeenSet = true; m_targetReservedNodeOfferingId = value; } /** *

The identifier of the target reserved node offering.

*/ inline void SetTargetReservedNodeOfferingId(Aws::String&& value) { m_targetReservedNodeOfferingIdHasBeenSet = true; m_targetReservedNodeOfferingId = std::move(value); } /** *

The identifier of the target reserved node offering.

*/ inline void SetTargetReservedNodeOfferingId(const char* value) { m_targetReservedNodeOfferingIdHasBeenSet = true; m_targetReservedNodeOfferingId.assign(value); } /** *

The identifier of the target reserved node offering.

*/ inline ResizeClusterMessage& WithTargetReservedNodeOfferingId(const Aws::String& value) { SetTargetReservedNodeOfferingId(value); return *this;} /** *

The identifier of the target reserved node offering.

*/ inline ResizeClusterMessage& WithTargetReservedNodeOfferingId(Aws::String&& value) { SetTargetReservedNodeOfferingId(std::move(value)); return *this;} /** *

The identifier of the target reserved node offering.

*/ inline ResizeClusterMessage& WithTargetReservedNodeOfferingId(const char* value) { SetTargetReservedNodeOfferingId(value); return *this;} private: Aws::String m_clusterIdentifier; bool m_clusterIdentifierHasBeenSet = false; Aws::String m_clusterType; bool m_clusterTypeHasBeenSet = false; Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; int m_numberOfNodes; bool m_numberOfNodesHasBeenSet = false; bool m_classic; bool m_classicHasBeenSet = false; Aws::String m_reservedNodeId; bool m_reservedNodeIdHasBeenSet = false; Aws::String m_targetReservedNodeOfferingId; bool m_targetReservedNodeOfferingIdHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws