7#include <aws/core/utils/DateTime.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/ElasticLoadBalancingv2_EXPORTS.h>
12#include <aws/elasticloadbalancingv2/model/AvailabilityZone.h>
13#include <aws/elasticloadbalancingv2/model/EnablePrefixForIpv6SourceNatEnum.h>
14#include <aws/elasticloadbalancingv2/model/IpAddressType.h>
15#include <aws/elasticloadbalancingv2/model/IpamPools.h>
16#include <aws/elasticloadbalancingv2/model/LoadBalancerSchemeEnum.h>
17#include <aws/elasticloadbalancingv2/model/LoadBalancerState.h>
18#include <aws/elasticloadbalancingv2/model/LoadBalancerTypeEnum.h>
28namespace ElasticLoadBalancingv2 {
43 const char* locationValue)
const;
52 template <
typename LoadBalancerArnT = Aws::String>
54 m_loadBalancerArnHasBeenSet =
true;
55 m_loadBalancerArn = std::forward<LoadBalancerArnT>(value);
57 template <
typename LoadBalancerArnT = Aws::String>
70 template <
typename DNSNameT = Aws::String>
72 m_dNSNameHasBeenSet =
true;
73 m_dNSName = std::forward<DNSNameT>(value);
75 template <
typename DNSNameT = Aws::String>
89 template <
typename CanonicalHostedZoneIdT = Aws::String>
91 m_canonicalHostedZoneIdHasBeenSet =
true;
92 m_canonicalHostedZoneId = std::forward<CanonicalHostedZoneIdT>(value);
94 template <
typename CanonicalHostedZoneIdT = Aws::String>
107 template <
typename CreatedTimeT = Aws::Utils::DateTime>
109 m_createdTimeHasBeenSet =
true;
110 m_createdTime = std::forward<CreatedTimeT>(value);
112 template <
typename CreatedTimeT = Aws::Utils::DateTime>
125 template <
typename LoadBalancerNameT = Aws::String>
127 m_loadBalancerNameHasBeenSet =
true;
128 m_loadBalancerName = std::forward<LoadBalancerNameT>(value);
130 template <
typename LoadBalancerNameT = Aws::String>
151 m_schemeHasBeenSet =
true;
166 template <
typename VpcIdT = Aws::String>
168 m_vpcIdHasBeenSet =
true;
169 m_vpcId = std::forward<VpcIdT>(value);
171 template <
typename VpcIdT = Aws::String>
173 SetVpcId(std::forward<VpcIdT>(value));
184 template <
typename StateT = LoadBalancerState>
186 m_stateHasBeenSet =
true;
187 m_state = std::forward<StateT>(value);
189 template <
typename StateT = LoadBalancerState>
191 SetState(std::forward<StateT>(value));
203 m_typeHasBeenSet =
true;
218 template <
typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
220 m_availabilityZonesHasBeenSet =
true;
221 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
223 template <
typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
228 template <
typename AvailabilityZonesT = AvailabilityZone>
230 m_availabilityZonesHasBeenSet =
true;
231 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
242 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
244 m_securityGroupsHasBeenSet =
true;
245 m_securityGroups = std::forward<SecurityGroupsT>(value);
247 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
252 template <
typename SecurityGroupsT = Aws::String>
254 m_securityGroupsHasBeenSet =
true;
255 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
274 m_ipAddressTypeHasBeenSet =
true;
275 m_ipAddressType = value;
290 template <
typename CustomerOwnedIpv4PoolT = Aws::String>
292 m_customerOwnedIpv4PoolHasBeenSet =
true;
293 m_customerOwnedIpv4Pool = std::forward<CustomerOwnedIpv4PoolT>(value);
295 template <
typename CustomerOwnedIpv4PoolT = Aws::String>
308 return m_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic;
311 return m_enforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet;
313 template <
typename EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT = Aws::String>
315 m_enforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet =
true;
316 m_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic = std::forward<EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT>(value);
318 template <
typename EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT = Aws::String>
334 m_enablePrefixForIpv6SourceNatHasBeenSet =
true;
335 m_enablePrefixForIpv6SourceNat = value;
350 template <
typename IpamPoolsT = IpamPools>
352 m_ipamPoolsHasBeenSet =
true;
353 m_ipamPools = std::forward<IpamPoolsT>(value);
355 template <
typename IpamPoolsT = IpamPools>
376 LoadBalancerState m_state;
388 Aws::String m_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic;
392 IpamPools m_ipamPools;
393 bool m_loadBalancerArnHasBeenSet =
false;
394 bool m_dNSNameHasBeenSet =
false;
395 bool m_canonicalHostedZoneIdHasBeenSet =
false;
396 bool m_createdTimeHasBeenSet =
false;
397 bool m_loadBalancerNameHasBeenSet =
false;
398 bool m_schemeHasBeenSet =
false;
399 bool m_vpcIdHasBeenSet =
false;
400 bool m_stateHasBeenSet =
false;
401 bool m_typeHasBeenSet =
false;
402 bool m_availabilityZonesHasBeenSet =
false;
403 bool m_securityGroupsHasBeenSet =
false;
404 bool m_ipAddressTypeHasBeenSet =
false;
405 bool m_customerOwnedIpv4PoolHasBeenSet =
false;
406 bool m_enforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet =
false;
407 bool m_enablePrefixForIpv6SourceNatHasBeenSet =
false;
408 bool m_ipamPoolsHasBeenSet =
false;
LoadBalancer & WithIpamPools(IpamPoolsT &&value)
AWS_ELASTICLOADBALANCINGV2_API LoadBalancer & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool TypeHasBeenSet() const
void SetState(StateT &&value)
const Aws::String & GetDNSName() const
void SetIpAddressType(IpAddressType value)
bool LoadBalancerArnHasBeenSet() const
LoadBalancer & AddAvailabilityZones(AvailabilityZonesT &&value)
LoadBalancerTypeEnum GetType() const
const Aws::Utils::DateTime & GetCreatedTime() const
void SetDNSName(DNSNameT &&value)
const Aws::String & GetEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic() const
void SetSecurityGroups(SecurityGroupsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
const Aws::String & GetLoadBalancerName() const
void SetCreatedTime(CreatedTimeT &&value)
bool SecurityGroupsHasBeenSet() const
void SetCustomerOwnedIpv4Pool(CustomerOwnedIpv4PoolT &&value)
const Aws::String & GetVpcId() const
LoadBalancerSchemeEnum GetScheme() const
void SetEnforceSecurityGroupInboundRulesOnPrivateLinkTraffic(EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficT &&value)
bool EnablePrefixForIpv6SourceNatHasBeenSet() const
LoadBalancer & WithVpcId(VpcIdT &&value)
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool AvailabilityZonesHasBeenSet() 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
IpAddressType GetIpAddressType() const
LoadBalancer & WithIpAddressType(IpAddressType value)
void SetEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
const LoadBalancerState & GetState() const
LoadBalancer & WithCreatedTime(CreatedTimeT &&value)
LoadBalancer & WithType(LoadBalancerTypeEnum value)
const IpamPools & GetIpamPools() const
LoadBalancer & WithEnablePrefixForIpv6SourceNat(EnablePrefixForIpv6SourceNatEnum value)
AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetIpamPools(IpamPoolsT &&value)
void SetType(LoadBalancerTypeEnum value)
bool CustomerOwnedIpv4PoolHasBeenSet() const
const Aws::Vector< AvailabilityZone > & GetAvailabilityZones() const
const Aws::String & GetLoadBalancerArn() const
bool CreatedTimeHasBeenSet() const
const Aws::String & GetCanonicalHostedZoneId() const
bool DNSNameHasBeenSet() 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)
void SetVpcId(VpcIdT &&value)
bool VpcIdHasBeenSet() const
bool CanonicalHostedZoneIdHasBeenSet() const
bool LoadBalancerNameHasBeenSet() const
LoadBalancer & WithDNSName(DNSNameT &&value)
void SetLoadBalancerArn(LoadBalancerArnT &&value)
bool StateHasBeenSet() const
LoadBalancer & WithLoadBalancerName(LoadBalancerNameT &&value)
bool IpAddressTypeHasBeenSet() const
bool IpamPoolsHasBeenSet() const
bool EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet() const
void SetAvailabilityZones(AvailabilityZonesT &&value)
EnablePrefixForIpv6SourceNatEnum GetEnablePrefixForIpv6SourceNat() const
LoadBalancer & WithState(StateT &&value)
bool SchemeHasBeenSet() const
EnablePrefixForIpv6SourceNatEnum
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