AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
LoadBalancer.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/DateTime.h>
11#include <aws/elasticloadbalancingv2/model/LoadBalancerSchemeEnum.h>
12#include <aws/elasticloadbalancingv2/model/LoadBalancerState.h>
13#include <aws/elasticloadbalancingv2/model/LoadBalancerTypeEnum.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/elasticloadbalancingv2/model/IpAddressType.h>
16#include <aws/elasticloadbalancingv2/model/EnablePrefixForIpv6SourceNatEnum.h>
17#include <aws/elasticloadbalancingv2/model/IpamPools.h>
18#include <aws/elasticloadbalancingv2/model/AvailabilityZone.h>
19#include <utility>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Xml
26{
27 class XmlNode;
28} // namespace Xml
29} // namespace Utils
30namespace ElasticLoadBalancingv2
31{
32namespace Model
33{
34
41 {
42 public:
43 AWS_ELASTICLOADBALANCINGV2_API LoadBalancer() = default;
44 AWS_ELASTICLOADBALANCINGV2_API LoadBalancer(const Aws::Utils::Xml::XmlNode& xmlNode);
45 AWS_ELASTICLOADBALANCINGV2_API LoadBalancer& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
46
47 AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
48 AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
49
50
52
55 inline const Aws::String& GetLoadBalancerArn() const { return m_loadBalancerArn; }
56 inline bool LoadBalancerArnHasBeenSet() const { return m_loadBalancerArnHasBeenSet; }
57 template<typename LoadBalancerArnT = Aws::String>
58 void SetLoadBalancerArn(LoadBalancerArnT&& value) { m_loadBalancerArnHasBeenSet = true; m_loadBalancerArn = std::forward<LoadBalancerArnT>(value); }
59 template<typename LoadBalancerArnT = Aws::String>
60 LoadBalancer& WithLoadBalancerArn(LoadBalancerArnT&& value) { SetLoadBalancerArn(std::forward<LoadBalancerArnT>(value)); return *this;}
62
64
67 inline const Aws::String& GetDNSName() const { return m_dNSName; }
68 inline bool DNSNameHasBeenSet() const { return m_dNSNameHasBeenSet; }
69 template<typename DNSNameT = Aws::String>
70 void SetDNSName(DNSNameT&& value) { m_dNSNameHasBeenSet = true; m_dNSName = std::forward<DNSNameT>(value); }
71 template<typename DNSNameT = Aws::String>
72 LoadBalancer& WithDNSName(DNSNameT&& value) { SetDNSName(std::forward<DNSNameT>(value)); return *this;}
74
76
80 inline const Aws::String& GetCanonicalHostedZoneId() const { return m_canonicalHostedZoneId; }
81 inline bool CanonicalHostedZoneIdHasBeenSet() const { return m_canonicalHostedZoneIdHasBeenSet; }
82 template<typename CanonicalHostedZoneIdT = Aws::String>
83 void SetCanonicalHostedZoneId(CanonicalHostedZoneIdT&& value) { m_canonicalHostedZoneIdHasBeenSet = true; m_canonicalHostedZoneId = std::forward<CanonicalHostedZoneIdT>(value); }
84 template<typename CanonicalHostedZoneIdT = Aws::String>
85 LoadBalancer& WithCanonicalHostedZoneId(CanonicalHostedZoneIdT&& value) { SetCanonicalHostedZoneId(std::forward<CanonicalHostedZoneIdT>(value)); return *this;}
87
89
92 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
93 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
94 template<typename CreatedTimeT = Aws::Utils::DateTime>
95 void SetCreatedTime(CreatedTimeT&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::forward<CreatedTimeT>(value); }
96 template<typename CreatedTimeT = Aws::Utils::DateTime>
97 LoadBalancer& WithCreatedTime(CreatedTimeT&& value) { SetCreatedTime(std::forward<CreatedTimeT>(value)); return *this;}
99
101
104 inline const Aws::String& GetLoadBalancerName() const { return m_loadBalancerName; }
105 inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; }
106 template<typename LoadBalancerNameT = Aws::String>
107 void SetLoadBalancerName(LoadBalancerNameT&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::forward<LoadBalancerNameT>(value); }
108 template<typename LoadBalancerNameT = Aws::String>
109 LoadBalancer& WithLoadBalancerName(LoadBalancerNameT&& value) { SetLoadBalancerName(std::forward<LoadBalancerNameT>(value)); return *this;}
111
113
123 inline LoadBalancerSchemeEnum GetScheme() const { return m_scheme; }
124 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; }
125 inline void SetScheme(LoadBalancerSchemeEnum value) { m_schemeHasBeenSet = true; m_scheme = value; }
126 inline LoadBalancer& WithScheme(LoadBalancerSchemeEnum value) { SetScheme(value); return *this;}
128
130
133 inline const Aws::String& GetVpcId() const { return m_vpcId; }
134 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
135 template<typename VpcIdT = Aws::String>
136 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
137 template<typename VpcIdT = Aws::String>
138 LoadBalancer& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
140
142
145 inline const LoadBalancerState& GetState() const { return m_state; }
146 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
147 template<typename StateT = LoadBalancerState>
148 void SetState(StateT&& value) { m_stateHasBeenSet = true; m_state = std::forward<StateT>(value); }
149 template<typename StateT = LoadBalancerState>
150 LoadBalancer& WithState(StateT&& value) { SetState(std::forward<StateT>(value)); return *this;}
152
154
157 inline LoadBalancerTypeEnum GetType() const { return m_type; }
158 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
159 inline void SetType(LoadBalancerTypeEnum value) { m_typeHasBeenSet = true; m_type = value; }
160 inline LoadBalancer& WithType(LoadBalancerTypeEnum value) { SetType(value); return *this;}
162
164
167 inline const Aws::Vector<AvailabilityZone>& GetAvailabilityZones() const { return m_availabilityZones; }
168 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
169 template<typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
170 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
171 template<typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
172 LoadBalancer& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
173 template<typename AvailabilityZonesT = AvailabilityZone>
174 LoadBalancer& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
176
178
181 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
182 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
183 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
184 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
185 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
186 LoadBalancer& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
187 template<typename SecurityGroupsT = Aws::String>
188 LoadBalancer& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
190
192
202 inline IpAddressType GetIpAddressType() const { return m_ipAddressType; }
203 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
204 inline void SetIpAddressType(IpAddressType value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
205 inline LoadBalancer& WithIpAddressType(IpAddressType value) { SetIpAddressType(value); return *this;}
207
209
213 inline const Aws::String& GetCustomerOwnedIpv4Pool() const { return m_customerOwnedIpv4Pool; }
214 inline bool CustomerOwnedIpv4PoolHasBeenSet() const { return m_customerOwnedIpv4PoolHasBeenSet; }
215 template<typename CustomerOwnedIpv4PoolT = Aws::String>
216 void SetCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT&& value) { m_customerOwnedIpv4PoolHasBeenSet = true; m_customerOwnedIpv4Pool = std::forward<CustomerOwnedIpv4PoolT>(value); }
217 template<typename CustomerOwnedIpv4PoolT = Aws::String>
218 LoadBalancer& WithCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT&& value) { SetCustomerOwnedIpv4Pool(std::forward<CustomerOwnedIpv4PoolT>(value)); return *this;}
220
222
226 inline const Aws::String& GetEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic() const { return m_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic; }
227 inline bool EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet() const { return m_enforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet; }
228 template<typename EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT = Aws::String>
229 void SetEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic(EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT&& value) { m_enforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet = true; m_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic = std::forward<EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT>(value); }
230 template<typename EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT = Aws::String>
231 LoadBalancer& WithEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic(EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT&& value) { SetEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic(std::forward<EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT>(value)); return *this;}
233
235
240 inline EnablePrefixForIpv6SourceNatEnum GetEnablePrefixForIpv6SourceNat() const { return m_enablePrefixForIpv6SourceNat; }
241 inline bool EnablePrefixForIpv6SourceNatHasBeenSet() const { return m_enablePrefixForIpv6SourceNatHasBeenSet; }
242 inline void SetEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value) { m_enablePrefixForIpv6SourceNatHasBeenSet = true; m_enablePrefixForIpv6SourceNat = value; }
245
247
251 inline const IpamPools& GetIpamPools() const { return m_ipamPools; }
252 inline bool IpamPoolsHasBeenSet() const { return m_ipamPoolsHasBeenSet; }
253 template<typename IpamPoolsT = IpamPools>
254 void SetIpamPools(IpamPoolsT&& value) { m_ipamPoolsHasBeenSet = true; m_ipamPools = std::forward<IpamPoolsT>(value); }
255 template<typename IpamPoolsT = IpamPools>
256 LoadBalancer& WithIpamPools(IpamPoolsT&& value) { SetIpamPools(std::forward<IpamPoolsT>(value)); return *this;}
258 private:
259
260 Aws::String m_loadBalancerArn;
261 bool m_loadBalancerArnHasBeenSet = false;
262
263 Aws::String m_dNSName;
264 bool m_dNSNameHasBeenSet = false;
265
266 Aws::String m_canonicalHostedZoneId;
267 bool m_canonicalHostedZoneIdHasBeenSet = false;
268
269 Aws::Utils::DateTime m_createdTime{};
270 bool m_createdTimeHasBeenSet = false;
271
272 Aws::String m_loadBalancerName;
273 bool m_loadBalancerNameHasBeenSet = false;
274
276 bool m_schemeHasBeenSet = false;
277
278 Aws::String m_vpcId;
279 bool m_vpcIdHasBeenSet = false;
280
281 LoadBalancerState m_state;
282 bool m_stateHasBeenSet = false;
283
285 bool m_typeHasBeenSet = false;
286
287 Aws::Vector<AvailabilityZone> m_availabilityZones;
288 bool m_availabilityZonesHasBeenSet = false;
289
290 Aws::Vector<Aws::String> m_securityGroups;
291 bool m_securityGroupsHasBeenSet = false;
292
293 IpAddressType m_ipAddressType{IpAddressType::NOT_SET};
294 bool m_ipAddressTypeHasBeenSet = false;
295
296 Aws::String m_customerOwnedIpv4Pool;
297 bool m_customerOwnedIpv4PoolHasBeenSet = false;
298
299 Aws::String m_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic;
300 bool m_enforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet = false;
301
303 bool m_enablePrefixForIpv6SourceNatHasBeenSet = false;
304
305 IpamPools m_ipamPools;
306 bool m_ipamPoolsHasBeenSet = false;
307 };
308
309} // namespace Model
310} // namespace ElasticLoadBalancingv2
311} // namespace Aws
LoadBalancer & WithIpamPools(IpamPoolsT &&value)
AWS_ELASTICLOADBALANCINGV2_API LoadBalancer & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
LoadBalancer & AddAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Utils::DateTime & GetCreatedTime() const
const Aws::String & GetEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic() const
void SetSecurityGroups(SecurityGroupsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
const Aws::String & GetLoadBalancerName() const
void SetCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT &&value)
void SetEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic(EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT &&value)
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
LoadBalancer & WithAvailabilityZones(AvailabilityZonesT &&value)
LoadBalancer & WithLoadBalancerArn(LoadBalancerArnT &&value)
void SetLoadBalancerName(LoadBalancerNameT &&value)
void SetCanonicalHostedZoneId(CanonicalHostedZoneIdT &&value)
LoadBalancer & WithScheme(LoadBalancerSchemeEnum value)
void SetScheme(LoadBalancerSchemeEnum value)
AWS_ELASTICLOADBALANCINGV2_API LoadBalancer()=default
LoadBalancer & WithSecurityGroups(SecurityGroupsT &&value)
const Aws::String & GetCustomerOwnedIpv4Pool() const
LoadBalancer & WithIpAddressType(IpAddressType value)
void SetEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
const LoadBalancerState & GetState() const
LoadBalancer & WithCreatedTime(CreatedTimeT &&value)
LoadBalancer & WithType(LoadBalancerTypeEnum value)
LoadBalancer & WithEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetType(LoadBalancerTypeEnum value)
const Aws::Vector< AvailabilityZone > & GetAvailabilityZones() const
const Aws::String & GetLoadBalancerArn() const
const Aws::String & GetCanonicalHostedZoneId() const
AWS_ELASTICLOADBALANCINGV2_API LoadBalancer(const Aws::Utils::Xml::XmlNode &xmlNode)
LoadBalancer & WithCanonicalHostedZoneId(CanonicalHostedZoneIdT &&value)
LoadBalancer & WithCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT &&value)
LoadBalancer & WithEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic(EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT &&value)
LoadBalancer & AddSecurityGroups(SecurityGroupsT &&value)
LoadBalancer & WithDNSName(DNSNameT &&value)
void SetLoadBalancerArn(LoadBalancerArnT &&value)
LoadBalancer & WithLoadBalancerName(LoadBalancerNameT &&value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
EnablePrefixForIpv6SourceNatEnum GetEnablePrefixForIpv6SourceNat() const
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