/** * 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 { /** *

The identifier of a node in a cluster.

See Also:

AWS * API Reference

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

Whether the node is a leader node or a compute node.

*/ inline const Aws::String& GetNodeRole() const{ return m_nodeRole; } /** *

Whether the node is a leader node or a compute node.

*/ inline bool NodeRoleHasBeenSet() const { return m_nodeRoleHasBeenSet; } /** *

Whether the node is a leader node or a compute node.

*/ inline void SetNodeRole(const Aws::String& value) { m_nodeRoleHasBeenSet = true; m_nodeRole = value; } /** *

Whether the node is a leader node or a compute node.

*/ inline void SetNodeRole(Aws::String&& value) { m_nodeRoleHasBeenSet = true; m_nodeRole = std::move(value); } /** *

Whether the node is a leader node or a compute node.

*/ inline void SetNodeRole(const char* value) { m_nodeRoleHasBeenSet = true; m_nodeRole.assign(value); } /** *

Whether the node is a leader node or a compute node.

*/ inline ClusterNode& WithNodeRole(const Aws::String& value) { SetNodeRole(value); return *this;} /** *

Whether the node is a leader node or a compute node.

*/ inline ClusterNode& WithNodeRole(Aws::String&& value) { SetNodeRole(std::move(value)); return *this;} /** *

Whether the node is a leader node or a compute node.

*/ inline ClusterNode& WithNodeRole(const char* value) { SetNodeRole(value); return *this;} /** *

The private IP address of a node within a cluster.

*/ inline const Aws::String& GetPrivateIPAddress() const{ return m_privateIPAddress; } /** *

The private IP address of a node within a cluster.

*/ inline bool PrivateIPAddressHasBeenSet() const { return m_privateIPAddressHasBeenSet; } /** *

The private IP address of a node within a cluster.

*/ inline void SetPrivateIPAddress(const Aws::String& value) { m_privateIPAddressHasBeenSet = true; m_privateIPAddress = value; } /** *

The private IP address of a node within a cluster.

*/ inline void SetPrivateIPAddress(Aws::String&& value) { m_privateIPAddressHasBeenSet = true; m_privateIPAddress = std::move(value); } /** *

The private IP address of a node within a cluster.

*/ inline void SetPrivateIPAddress(const char* value) { m_privateIPAddressHasBeenSet = true; m_privateIPAddress.assign(value); } /** *

The private IP address of a node within a cluster.

*/ inline ClusterNode& WithPrivateIPAddress(const Aws::String& value) { SetPrivateIPAddress(value); return *this;} /** *

The private IP address of a node within a cluster.

*/ inline ClusterNode& WithPrivateIPAddress(Aws::String&& value) { SetPrivateIPAddress(std::move(value)); return *this;} /** *

The private IP address of a node within a cluster.

*/ inline ClusterNode& WithPrivateIPAddress(const char* value) { SetPrivateIPAddress(value); return *this;} /** *

The public IP address of a node within a cluster.

*/ inline const Aws::String& GetPublicIPAddress() const{ return m_publicIPAddress; } /** *

The public IP address of a node within a cluster.

*/ inline bool PublicIPAddressHasBeenSet() const { return m_publicIPAddressHasBeenSet; } /** *

The public IP address of a node within a cluster.

*/ inline void SetPublicIPAddress(const Aws::String& value) { m_publicIPAddressHasBeenSet = true; m_publicIPAddress = value; } /** *

The public IP address of a node within a cluster.

*/ inline void SetPublicIPAddress(Aws::String&& value) { m_publicIPAddressHasBeenSet = true; m_publicIPAddress = std::move(value); } /** *

The public IP address of a node within a cluster.

*/ inline void SetPublicIPAddress(const char* value) { m_publicIPAddressHasBeenSet = true; m_publicIPAddress.assign(value); } /** *

The public IP address of a node within a cluster.

*/ inline ClusterNode& WithPublicIPAddress(const Aws::String& value) { SetPublicIPAddress(value); return *this;} /** *

The public IP address of a node within a cluster.

*/ inline ClusterNode& WithPublicIPAddress(Aws::String&& value) { SetPublicIPAddress(std::move(value)); return *this;} /** *

The public IP address of a node within a cluster.

*/ inline ClusterNode& WithPublicIPAddress(const char* value) { SetPublicIPAddress(value); return *this;} private: Aws::String m_nodeRole; bool m_nodeRoleHasBeenSet = false; Aws::String m_privateIPAddress; bool m_privateIPAddressHasBeenSet = false; Aws::String m_publicIPAddress; bool m_publicIPAddressHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws