/** * 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 ElasticLoadBalancing { namespace Model { /** *

Information about the configuration of an EC2 instance.

See * Also:

AWS * API Reference

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

The port on which the EC2 instance is listening.

*/ inline int GetInstancePort() const{ return m_instancePort; } /** *

The port on which the EC2 instance is listening.

*/ inline bool InstancePortHasBeenSet() const { return m_instancePortHasBeenSet; } /** *

The port on which the EC2 instance is listening.

*/ inline void SetInstancePort(int value) { m_instancePortHasBeenSet = true; m_instancePort = value; } /** *

The port on which the EC2 instance is listening.

*/ inline BackendServerDescription& WithInstancePort(int value) { SetInstancePort(value); return *this;} /** *

The names of the policies enabled for the EC2 instance.

*/ inline const Aws::Vector& GetPolicyNames() const{ return m_policyNames; } /** *

The names of the policies enabled for the EC2 instance.

*/ inline bool PolicyNamesHasBeenSet() const { return m_policyNamesHasBeenSet; } /** *

The names of the policies enabled for the EC2 instance.

*/ inline void SetPolicyNames(const Aws::Vector& value) { m_policyNamesHasBeenSet = true; m_policyNames = value; } /** *

The names of the policies enabled for the EC2 instance.

*/ inline void SetPolicyNames(Aws::Vector&& value) { m_policyNamesHasBeenSet = true; m_policyNames = std::move(value); } /** *

The names of the policies enabled for the EC2 instance.

*/ inline BackendServerDescription& WithPolicyNames(const Aws::Vector& value) { SetPolicyNames(value); return *this;} /** *

The names of the policies enabled for the EC2 instance.

*/ inline BackendServerDescription& WithPolicyNames(Aws::Vector&& value) { SetPolicyNames(std::move(value)); return *this;} /** *

The names of the policies enabled for the EC2 instance.

*/ inline BackendServerDescription& AddPolicyNames(const Aws::String& value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(value); return *this; } /** *

The names of the policies enabled for the EC2 instance.

*/ inline BackendServerDescription& AddPolicyNames(Aws::String&& value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(std::move(value)); return *this; } /** *

The names of the policies enabled for the EC2 instance.

*/ inline BackendServerDescription& AddPolicyNames(const char* value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(value); return *this; } private: int m_instancePort; bool m_instancePortHasBeenSet = false; Aws::Vector m_policyNames; bool m_policyNamesHasBeenSet = false; }; } // namespace Model } // namespace ElasticLoadBalancing } // namespace Aws