AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
AvailabilityZone.h
1
6#pragma once
7#include <aws/elasticloadbalancingv2/ElasticLoadBalancingv2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticloadbalancingv2/model/LoadBalancerAddress.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Xml
19{
20 class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace ElasticLoadBalancingv2
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone() = default;
37 AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone(const Aws::Utils::Xml::XmlNode& xmlNode);
38 AWS_ELASTICLOADBALANCINGV2_API AvailabilityZone& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
43
45
48 inline const Aws::String& GetZoneName() const { return m_zoneName; }
49 inline bool ZoneNameHasBeenSet() const { return m_zoneNameHasBeenSet; }
50 template<typename ZoneNameT = Aws::String>
51 void SetZoneName(ZoneNameT&& value) { m_zoneNameHasBeenSet = true; m_zoneName = std::forward<ZoneNameT>(value); }
52 template<typename ZoneNameT = Aws::String>
53 AvailabilityZone& WithZoneName(ZoneNameT&& value) { SetZoneName(std::forward<ZoneNameT>(value)); return *this;}
55
57
60 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
61 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
62 template<typename SubnetIdT = Aws::String>
63 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
64 template<typename SubnetIdT = Aws::String>
65 AvailabilityZone& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
67
69
72 inline const Aws::String& GetOutpostId() const { return m_outpostId; }
73 inline bool OutpostIdHasBeenSet() const { return m_outpostIdHasBeenSet; }
74 template<typename OutpostIdT = Aws::String>
75 void SetOutpostId(OutpostIdT&& value) { m_outpostIdHasBeenSet = true; m_outpostId = std::forward<OutpostIdT>(value); }
76 template<typename OutpostIdT = Aws::String>
77 AvailabilityZone& WithOutpostId(OutpostIdT&& value) { SetOutpostId(std::forward<OutpostIdT>(value)); return *this;}
79
81
87 inline const Aws::Vector<LoadBalancerAddress>& GetLoadBalancerAddresses() const { return m_loadBalancerAddresses; }
88 inline bool LoadBalancerAddressesHasBeenSet() const { return m_loadBalancerAddressesHasBeenSet; }
89 template<typename LoadBalancerAddressesT = Aws::Vector<LoadBalancerAddress>>
90 void SetLoadBalancerAddresses(LoadBalancerAddressesT&& value) { m_loadBalancerAddressesHasBeenSet = true; m_loadBalancerAddresses = std::forward<LoadBalancerAddressesT>(value); }
91 template<typename LoadBalancerAddressesT = Aws::Vector<LoadBalancerAddress>>
92 AvailabilityZone& WithLoadBalancerAddresses(LoadBalancerAddressesT&& value) { SetLoadBalancerAddresses(std::forward<LoadBalancerAddressesT>(value)); return *this;}
93 template<typename LoadBalancerAddressesT = LoadBalancerAddress>
94 AvailabilityZone& AddLoadBalancerAddresses(LoadBalancerAddressesT&& value) { m_loadBalancerAddressesHasBeenSet = true; m_loadBalancerAddresses.emplace_back(std::forward<LoadBalancerAddressesT>(value)); return *this; }
96
98
104 inline const Aws::Vector<Aws::String>& GetSourceNatIpv6Prefixes() const { return m_sourceNatIpv6Prefixes; }
105 inline bool SourceNatIpv6PrefixesHasBeenSet() const { return m_sourceNatIpv6PrefixesHasBeenSet; }
106 template<typename SourceNatIpv6PrefixesT = Aws::Vector<Aws::String>>
107 void SetSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT&& value) { m_sourceNatIpv6PrefixesHasBeenSet = true; m_sourceNatIpv6Prefixes = std::forward<SourceNatIpv6PrefixesT>(value); }
108 template<typename SourceNatIpv6PrefixesT = Aws::Vector<Aws::String>>
109 AvailabilityZone& WithSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT&& value) { SetSourceNatIpv6Prefixes(std::forward<SourceNatIpv6PrefixesT>(value)); return *this;}
110 template<typename SourceNatIpv6PrefixesT = Aws::String>
111 AvailabilityZone& AddSourceNatIpv6Prefixes(SourceNatIpv6PrefixesT&& value) { m_sourceNatIpv6PrefixesHasBeenSet = true; m_sourceNatIpv6Prefixes.emplace_back(std::forward<SourceNatIpv6PrefixesT>(value)); return *this; }
113 private:
114
115 Aws::String m_zoneName;
116 bool m_zoneNameHasBeenSet = false;
117
118 Aws::String m_subnetId;
119 bool m_subnetIdHasBeenSet = false;
120
121 Aws::String m_outpostId;
122 bool m_outpostIdHasBeenSet = false;
123
124 Aws::Vector<LoadBalancerAddress> m_loadBalancerAddresses;
125 bool m_loadBalancerAddressesHasBeenSet = false;
126
127 Aws::Vector<Aws::String> m_sourceNatIpv6Prefixes;
128 bool m_sourceNatIpv6PrefixesHasBeenSet = false;
129 };
130
131} // namespace Model
132} // namespace ElasticLoadBalancingv2
133} // 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