AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
AvailabilityZone.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/elasticloadbalancingv2/ElasticLoadBalancingv2_EXPORTS.h>
11#include <aws/elasticloadbalancingv2/model/LoadBalancerAddress.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace ElasticLoadBalancingv2 {
22namespace Model {
23
30 public:
31 AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone() = default;
32 AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone(const Aws::Utils::Xml::XmlNode& xmlNode);
33 AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
34
35 AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index,
36 const char* locationValue) const;
37 AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
43 inline const Aws::String& GetZoneName() const { return m_zoneName; }
44 inline bool ZoneNameHasBeenSet() const { return m_zoneNameHasBeenSet; }
45 template <typename ZoneNameT = Aws::String>
46 void SetZoneName(ZoneNameT&& value) {
47 m_zoneNameHasBeenSet = true;
48 m_zoneName = std::forward<ZoneNameT>(value);
49 }
50 template <typename ZoneNameT = Aws::String>
51 AvailabilityZone& WithZoneName(ZoneNameT&& value) {
52 SetZoneName(std::forward<ZoneNameT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
62 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
63 template <typename SubnetIdT = Aws::String>
64 void SetSubnetId(SubnetIdT&& value) {
65 m_subnetIdHasBeenSet = true;
66 m_subnetId = std::forward<SubnetIdT>(value);
67 }
68 template <typename SubnetIdT = Aws::String>
69 AvailabilityZone& WithSubnetId(SubnetIdT&& value) {
70 SetSubnetId(std::forward<SubnetIdT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::String& GetOutpostId() const { return m_outpostId; }
80 inline bool OutpostIdHasBeenSet() const { return m_outpostIdHasBeenSet; }
81 template <typename OutpostIdT = Aws::String>
82 void SetOutpostId(OutpostIdT&& value) {
83 m_outpostIdHasBeenSet = true;
84 m_outpostId = std::forward<OutpostIdT>(value);
85 }
86 template <typename OutpostIdT = Aws::String>
87 AvailabilityZone& WithOutpostId(OutpostIdT&& value) {
88 SetOutpostId(std::forward<OutpostIdT>(value));
89 return *this;
90 }
92
94
100 inline const Aws::Vector<LoadBalancerAddress>& GetLoadBalancerAddresses() const { return m_loadBalancerAddresses; }
101 inline bool LoadBalancerAddressesHasBeenSet() const { return m_loadBalancerAddressesHasBeenSet; }
102 template <typename LoadBalancerAddressesT = Aws::Vector<LoadBalancerAddress>>
103 void SetLoadBalancerAddresses(LoadBalancerAddressesT&& value) {
104 m_loadBalancerAddressesHasBeenSet = true;
105 m_loadBalancerAddresses = std::forward<LoadBalancerAddressesT>(value);
106 }
107 template <typename LoadBalancerAddressesT = Aws::Vector<LoadBalancerAddress>>
108 AvailabilityZone& WithLoadBalancerAddresses(LoadBalancerAddressesT&& value) {
109 SetLoadBalancerAddresses(std::forward<LoadBalancerAddressesT>(value));
110 return *this;
111 }
112 template <typename LoadBalancerAddressesT = LoadBalancerAddress>
113 AvailabilityZone& AddLoadBalancerAddresses(LoadBalancerAddressesT&& value) {
114 m_loadBalancerAddressesHasBeenSet = true;
115 m_loadBalancerAddresses.emplace_back(std::forward<LoadBalancerAddressesT>(value));
116 return *this;
117 }
119
121
127 inline const Aws::Vector<Aws::String>& GetSourceNatIpv6Prefixes() const { return m_sourceNatIpv6Prefixes; }
128 inline bool SourceNatIpv6PrefixesHasBeenSet() const { return m_sourceNatIpv6PrefixesHasBeenSet; }
129 template <typename SourceNatIpv6PrefixesT = Aws::Vector<Aws::String>>
130 void SetSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT&& value) {
131 m_sourceNatIpv6PrefixesHasBeenSet = true;
132 m_sourceNatIpv6Prefixes = std::forward<SourceNatIpv6PrefixesT>(value);
133 }
134 template <typename SourceNatIpv6PrefixesT = Aws::Vector<Aws::String>>
135 AvailabilityZone& WithSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT&& value) {
136 SetSourceNatIpv6Prefixes(std::forward<SourceNatIpv6PrefixesT>(value));
137 return *this;
138 }
139 template <typename SourceNatIpv6PrefixesT = Aws::String>
140 AvailabilityZone& AddSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT&& value) {
141 m_sourceNatIpv6PrefixesHasBeenSet = true;
142 m_sourceNatIpv6Prefixes.emplace_back(std::forward<SourceNatIpv6PrefixesT>(value));
143 return *this;
144 }
146 private:
147 Aws::String m_zoneName;
148
149 Aws::String m_subnetId;
150
151 Aws::String m_outpostId;
152
153 Aws::Vector<LoadBalancerAddress> m_loadBalancerAddresses;
154
155 Aws::Vector<Aws::String> m_sourceNatIpv6Prefixes;
156 bool m_zoneNameHasBeenSet = false;
157 bool m_subnetIdHasBeenSet = false;
158 bool m_outpostIdHasBeenSet = false;
159 bool m_loadBalancerAddressesHasBeenSet = false;
160 bool m_sourceNatIpv6PrefixesHasBeenSet = false;
161};
162
163} // namespace Model
164} // namespace ElasticLoadBalancingv2
165} // namespace Aws
AvailabilityZone & AddLoadBalancerAddresses(LoadBalancerAddressesT &&value)
const Aws::Vector< LoadBalancerAddress > & GetLoadBalancerAddresses() const
AvailabilityZone & WithLoadBalancerAddresses(LoadBalancerAddressesT &&value)
AvailabilityZone & AddSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT &&value)
const Aws::Vector< Aws::String > & GetSourceNatIpv6Prefixes() const
AvailabilityZone & WithSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT &&value)
AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone()=default
void SetLoadBalancerAddresses(LoadBalancerAddressesT &&value)
AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone(const Aws::Utils::Xml::XmlNode &xmlNode)
AvailabilityZone & WithZoneName(ZoneNameT &&value)
AvailabilityZone & WithSubnetId(SubnetIdT &&value)
AvailabilityZone & WithOutpostId(OutpostIdT &&value)
AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream