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

A list of node configurations.

See Also:

AWS * API Reference

*/ class NodeConfigurationOption { public: AWS_REDSHIFT_API NodeConfigurationOption(); AWS_REDSHIFT_API NodeConfigurationOption(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_REDSHIFT_API NodeConfigurationOption& 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 node type, such as, "ds2.8xlarge".

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

The node type, such as, "ds2.8xlarge".

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

The node type, such as, "ds2.8xlarge".

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

The node type, such as, "ds2.8xlarge".

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

The node type, such as, "ds2.8xlarge".

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

The node type, such as, "ds2.8xlarge".

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

The node type, such as, "ds2.8xlarge".

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

The node type, such as, "ds2.8xlarge".

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

The number of nodes.

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

The number of nodes.

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

The number of nodes.

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

The number of nodes.

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

The estimated disk utilizaton percentage.

*/ inline double GetEstimatedDiskUtilizationPercent() const{ return m_estimatedDiskUtilizationPercent; } /** *

The estimated disk utilizaton percentage.

*/ inline bool EstimatedDiskUtilizationPercentHasBeenSet() const { return m_estimatedDiskUtilizationPercentHasBeenSet; } /** *

The estimated disk utilizaton percentage.

*/ inline void SetEstimatedDiskUtilizationPercent(double value) { m_estimatedDiskUtilizationPercentHasBeenSet = true; m_estimatedDiskUtilizationPercent = value; } /** *

The estimated disk utilizaton percentage.

*/ inline NodeConfigurationOption& WithEstimatedDiskUtilizationPercent(double value) { SetEstimatedDiskUtilizationPercent(value); return *this;} /** *

The category of the node configuration recommendation.

*/ inline const Mode& GetMode() const{ return m_mode; } /** *

The category of the node configuration recommendation.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

The category of the node configuration recommendation.

*/ inline void SetMode(const Mode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

The category of the node configuration recommendation.

*/ inline void SetMode(Mode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

The category of the node configuration recommendation.

*/ inline NodeConfigurationOption& WithMode(const Mode& value) { SetMode(value); return *this;} /** *

The category of the node configuration recommendation.

*/ inline NodeConfigurationOption& WithMode(Mode&& value) { SetMode(std::move(value)); return *this;} private: Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; int m_numberOfNodes; bool m_numberOfNodesHasBeenSet = false; double m_estimatedDiskUtilizationPercent; bool m_estimatedDiskUtilizationPercentHasBeenSet = false; Mode m_mode; bool m_modeHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws