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>
30namespace ElasticLoadBalancingv2
47 AWS_ELASTICLOADBALANCINGV2_API
void OutputToStream(
Aws::OStream& ostream,
const char* location,
unsigned index,
const char* locationValue)
const;
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>
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>
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>
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>
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>
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>
147 template<
typename StateT = LoadBalancerState>
148 void SetState(StateT&& value) { m_stateHasBeenSet =
true; m_state = std::forward<StateT>(value); }
149 template<
typename StateT = LoadBalancerState>
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>>
173 template<
typename AvailabilityZonesT = AvailabilityZone>
174 LoadBalancer&
AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
return *
this; }
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>>
187 template<
typename SecurityGroupsT = Aws::String>
188 LoadBalancer&
AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet =
true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
return *
this; }
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>
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>
253 template<
typename IpamPoolsT = IpamPools>
254 void SetIpamPools(IpamPoolsT&& value) { m_ipamPoolsHasBeenSet =
true; m_ipamPools = std::forward<IpamPoolsT>(value); }
255 template<
typename IpamPoolsT = IpamPools>
261 bool m_loadBalancerArnHasBeenSet =
false;
264 bool m_dNSNameHasBeenSet =
false;
267 bool m_canonicalHostedZoneIdHasBeenSet =
false;
270 bool m_createdTimeHasBeenSet =
false;
273 bool m_loadBalancerNameHasBeenSet =
false;
276 bool m_schemeHasBeenSet =
false;
279 bool m_vpcIdHasBeenSet =
false;
281 LoadBalancerState m_state;
282 bool m_stateHasBeenSet =
false;
285 bool m_typeHasBeenSet =
false;
288 bool m_availabilityZonesHasBeenSet =
false;
291 bool m_securityGroupsHasBeenSet =
false;
294 bool m_ipAddressTypeHasBeenSet =
false;
297 bool m_customerOwnedIpv4PoolHasBeenSet =
false;
299 Aws::String m_enforceSecurityGroupInboundRulesOnPrivateLinkTraffic;
300 bool m_enforceSecurityGroupInboundRulesOnPrivateLinkTrafficHasBeenSet =
false;
303 bool m_enablePrefixForIpv6SourceNatHasBeenSet =
false;
305 IpamPools m_ipamPools;
306 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