/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElasticLoadBalancing { namespace Model { /** *

Information about a load balancer.

See Also:

AWS * API Reference

*/ class LoadBalancerDescription { public: AWS_ELASTICLOADBALANCING_API LoadBalancerDescription(); AWS_ELASTICLOADBALANCING_API LoadBalancerDescription(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCING_API LoadBalancerDescription& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The name of the load balancer.

*/ inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; } /** *

The name of the load balancer.

*/ inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; } /** *

The name of the load balancer.

*/ inline void SetLoadBalancerName(const Aws::String& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = value; } /** *

The name of the load balancer.

*/ inline void SetLoadBalancerName(Aws::String&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::move(value); } /** *

The name of the load balancer.

*/ inline void SetLoadBalancerName(const char* value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName.assign(value); } /** *

The name of the load balancer.

*/ inline LoadBalancerDescription& WithLoadBalancerName(const Aws::String& value) { SetLoadBalancerName(value); return *this;} /** *

The name of the load balancer.

*/ inline LoadBalancerDescription& WithLoadBalancerName(Aws::String&& value) { SetLoadBalancerName(std::move(value)); return *this;} /** *

The name of the load balancer.

*/ inline LoadBalancerDescription& WithLoadBalancerName(const char* value) { SetLoadBalancerName(value); return *this;} /** *

The DNS name of the load balancer.

*/ inline const Aws::String& GetDNSName() const{ return m_dNSName; } /** *

The DNS name of the load balancer.

*/ inline bool DNSNameHasBeenSet() const { return m_dNSNameHasBeenSet; } /** *

The DNS name of the load balancer.

*/ inline void SetDNSName(const Aws::String& value) { m_dNSNameHasBeenSet = true; m_dNSName = value; } /** *

The DNS name of the load balancer.

*/ inline void SetDNSName(Aws::String&& value) { m_dNSNameHasBeenSet = true; m_dNSName = std::move(value); } /** *

The DNS name of the load balancer.

*/ inline void SetDNSName(const char* value) { m_dNSNameHasBeenSet = true; m_dNSName.assign(value); } /** *

The DNS name of the load balancer.

*/ inline LoadBalancerDescription& WithDNSName(const Aws::String& value) { SetDNSName(value); return *this;} /** *

The DNS name of the load balancer.

*/ inline LoadBalancerDescription& WithDNSName(Aws::String&& value) { SetDNSName(std::move(value)); return *this;} /** *

The DNS name of the load balancer.

*/ inline LoadBalancerDescription& WithDNSName(const char* value) { SetDNSName(value); return *this;} /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline const Aws::String& GetCanonicalHostedZoneName() const{ return m_canonicalHostedZoneName; } /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline bool CanonicalHostedZoneNameHasBeenSet() const { return m_canonicalHostedZoneNameHasBeenSet; } /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline void SetCanonicalHostedZoneName(const Aws::String& value) { m_canonicalHostedZoneNameHasBeenSet = true; m_canonicalHostedZoneName = value; } /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline void SetCanonicalHostedZoneName(Aws::String&& value) { m_canonicalHostedZoneNameHasBeenSet = true; m_canonicalHostedZoneName = std::move(value); } /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline void SetCanonicalHostedZoneName(const char* value) { m_canonicalHostedZoneNameHasBeenSet = true; m_canonicalHostedZoneName.assign(value); } /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline LoadBalancerDescription& WithCanonicalHostedZoneName(const Aws::String& value) { SetCanonicalHostedZoneName(value); return *this;} /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline LoadBalancerDescription& WithCanonicalHostedZoneName(Aws::String&& value) { SetCanonicalHostedZoneName(std::move(value)); return *this;} /** *

The DNS name of the load balancer.

For more information, see Configure * a Custom Domain Name in the Classic Load Balancers Guide.

*/ inline LoadBalancerDescription& WithCanonicalHostedZoneName(const char* value) { SetCanonicalHostedZoneName(value); return *this;} /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline const Aws::String& GetCanonicalHostedZoneNameID() const{ return m_canonicalHostedZoneNameID; } /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline bool CanonicalHostedZoneNameIDHasBeenSet() const { return m_canonicalHostedZoneNameIDHasBeenSet; } /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline void SetCanonicalHostedZoneNameID(const Aws::String& value) { m_canonicalHostedZoneNameIDHasBeenSet = true; m_canonicalHostedZoneNameID = value; } /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline void SetCanonicalHostedZoneNameID(Aws::String&& value) { m_canonicalHostedZoneNameIDHasBeenSet = true; m_canonicalHostedZoneNameID = std::move(value); } /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline void SetCanonicalHostedZoneNameID(const char* value) { m_canonicalHostedZoneNameIDHasBeenSet = true; m_canonicalHostedZoneNameID.assign(value); } /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline LoadBalancerDescription& WithCanonicalHostedZoneNameID(const Aws::String& value) { SetCanonicalHostedZoneNameID(value); return *this;} /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline LoadBalancerDescription& WithCanonicalHostedZoneNameID(Aws::String&& value) { SetCanonicalHostedZoneNameID(std::move(value)); return *this;} /** *

The ID of the Amazon Route 53 hosted zone for the load balancer.

*/ inline LoadBalancerDescription& WithCanonicalHostedZoneNameID(const char* value) { SetCanonicalHostedZoneNameID(value); return *this;} /** *

The listeners for the load balancer.

*/ inline const Aws::Vector& GetListenerDescriptions() const{ return m_listenerDescriptions; } /** *

The listeners for the load balancer.

*/ inline bool ListenerDescriptionsHasBeenSet() const { return m_listenerDescriptionsHasBeenSet; } /** *

The listeners for the load balancer.

*/ inline void SetListenerDescriptions(const Aws::Vector& value) { m_listenerDescriptionsHasBeenSet = true; m_listenerDescriptions = value; } /** *

The listeners for the load balancer.

*/ inline void SetListenerDescriptions(Aws::Vector&& value) { m_listenerDescriptionsHasBeenSet = true; m_listenerDescriptions = std::move(value); } /** *

The listeners for the load balancer.

*/ inline LoadBalancerDescription& WithListenerDescriptions(const Aws::Vector& value) { SetListenerDescriptions(value); return *this;} /** *

The listeners for the load balancer.

*/ inline LoadBalancerDescription& WithListenerDescriptions(Aws::Vector&& value) { SetListenerDescriptions(std::move(value)); return *this;} /** *

The listeners for the load balancer.

*/ inline LoadBalancerDescription& AddListenerDescriptions(const ListenerDescription& value) { m_listenerDescriptionsHasBeenSet = true; m_listenerDescriptions.push_back(value); return *this; } /** *

The listeners for the load balancer.

*/ inline LoadBalancerDescription& AddListenerDescriptions(ListenerDescription&& value) { m_listenerDescriptionsHasBeenSet = true; m_listenerDescriptions.push_back(std::move(value)); return *this; } /** *

The policies defined for the load balancer.

*/ inline const Policies& GetPolicies() const{ return m_policies; } /** *

The policies defined for the load balancer.

*/ inline bool PoliciesHasBeenSet() const { return m_policiesHasBeenSet; } /** *

The policies defined for the load balancer.

*/ inline void SetPolicies(const Policies& value) { m_policiesHasBeenSet = true; m_policies = value; } /** *

The policies defined for the load balancer.

*/ inline void SetPolicies(Policies&& value) { m_policiesHasBeenSet = true; m_policies = std::move(value); } /** *

The policies defined for the load balancer.

*/ inline LoadBalancerDescription& WithPolicies(const Policies& value) { SetPolicies(value); return *this;} /** *

The policies defined for the load balancer.

*/ inline LoadBalancerDescription& WithPolicies(Policies&& value) { SetPolicies(std::move(value)); return *this;} /** *

Information about your EC2 instances.

*/ inline const Aws::Vector& GetBackendServerDescriptions() const{ return m_backendServerDescriptions; } /** *

Information about your EC2 instances.

*/ inline bool BackendServerDescriptionsHasBeenSet() const { return m_backendServerDescriptionsHasBeenSet; } /** *

Information about your EC2 instances.

*/ inline void SetBackendServerDescriptions(const Aws::Vector& value) { m_backendServerDescriptionsHasBeenSet = true; m_backendServerDescriptions = value; } /** *

Information about your EC2 instances.

*/ inline void SetBackendServerDescriptions(Aws::Vector&& value) { m_backendServerDescriptionsHasBeenSet = true; m_backendServerDescriptions = std::move(value); } /** *

Information about your EC2 instances.

*/ inline LoadBalancerDescription& WithBackendServerDescriptions(const Aws::Vector& value) { SetBackendServerDescriptions(value); return *this;} /** *

Information about your EC2 instances.

*/ inline LoadBalancerDescription& WithBackendServerDescriptions(Aws::Vector&& value) { SetBackendServerDescriptions(std::move(value)); return *this;} /** *

Information about your EC2 instances.

*/ inline LoadBalancerDescription& AddBackendServerDescriptions(const BackendServerDescription& value) { m_backendServerDescriptionsHasBeenSet = true; m_backendServerDescriptions.push_back(value); return *this; } /** *

Information about your EC2 instances.

*/ inline LoadBalancerDescription& AddBackendServerDescriptions(BackendServerDescription&& value) { m_backendServerDescriptionsHasBeenSet = true; m_backendServerDescriptions.push_back(std::move(value)); return *this; } /** *

The Availability Zones for the load balancer.

*/ inline const Aws::Vector& GetAvailabilityZones() const{ return m_availabilityZones; } /** *

The Availability Zones for the load balancer.

*/ inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } /** *

The Availability Zones for the load balancer.

*/ inline void SetAvailabilityZones(const Aws::Vector& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } /** *

The Availability Zones for the load balancer.

*/ inline void SetAvailabilityZones(Aws::Vector&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } /** *

The Availability Zones for the load balancer.

*/ inline LoadBalancerDescription& WithAvailabilityZones(const Aws::Vector& value) { SetAvailabilityZones(value); return *this;} /** *

The Availability Zones for the load balancer.

*/ inline LoadBalancerDescription& WithAvailabilityZones(Aws::Vector&& value) { SetAvailabilityZones(std::move(value)); return *this;} /** *

The Availability Zones for the load balancer.

*/ inline LoadBalancerDescription& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

The Availability Zones for the load balancer.

*/ inline LoadBalancerDescription& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } /** *

The Availability Zones for the load balancer.

*/ inline LoadBalancerDescription& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

The IDs of the subnets for the load balancer.

*/ inline const Aws::Vector& GetSubnets() const{ return m_subnets; } /** *

The IDs of the subnets for the load balancer.

*/ inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; } /** *

The IDs of the subnets for the load balancer.

*/ inline void SetSubnets(const Aws::Vector& value) { m_subnetsHasBeenSet = true; m_subnets = value; } /** *

The IDs of the subnets for the load balancer.

*/ inline void SetSubnets(Aws::Vector&& value) { m_subnetsHasBeenSet = true; m_subnets = std::move(value); } /** *

The IDs of the subnets for the load balancer.

*/ inline LoadBalancerDescription& WithSubnets(const Aws::Vector& value) { SetSubnets(value); return *this;} /** *

The IDs of the subnets for the load balancer.

*/ inline LoadBalancerDescription& WithSubnets(Aws::Vector&& value) { SetSubnets(std::move(value)); return *this;} /** *

The IDs of the subnets for the load balancer.

*/ inline LoadBalancerDescription& AddSubnets(const Aws::String& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } /** *

The IDs of the subnets for the load balancer.

*/ inline LoadBalancerDescription& AddSubnets(Aws::String&& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(std::move(value)); return *this; } /** *

The IDs of the subnets for the load balancer.

*/ inline LoadBalancerDescription& AddSubnets(const char* value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } /** *

The ID of the VPC for the load balancer.

*/ inline const Aws::String& GetVPCId() const{ return m_vPCId; } /** *

The ID of the VPC for the load balancer.

*/ inline bool VPCIdHasBeenSet() const { return m_vPCIdHasBeenSet; } /** *

The ID of the VPC for the load balancer.

*/ inline void SetVPCId(const Aws::String& value) { m_vPCIdHasBeenSet = true; m_vPCId = value; } /** *

The ID of the VPC for the load balancer.

*/ inline void SetVPCId(Aws::String&& value) { m_vPCIdHasBeenSet = true; m_vPCId = std::move(value); } /** *

The ID of the VPC for the load balancer.

*/ inline void SetVPCId(const char* value) { m_vPCIdHasBeenSet = true; m_vPCId.assign(value); } /** *

The ID of the VPC for the load balancer.

*/ inline LoadBalancerDescription& WithVPCId(const Aws::String& value) { SetVPCId(value); return *this;} /** *

The ID of the VPC for the load balancer.

*/ inline LoadBalancerDescription& WithVPCId(Aws::String&& value) { SetVPCId(std::move(value)); return *this;} /** *

The ID of the VPC for the load balancer.

*/ inline LoadBalancerDescription& WithVPCId(const char* value) { SetVPCId(value); return *this;} /** *

The IDs of the instances for the load balancer.

*/ inline const Aws::Vector& GetInstances() const{ return m_instances; } /** *

The IDs of the instances for the load balancer.

*/ inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; } /** *

The IDs of the instances for the load balancer.

*/ inline void SetInstances(const Aws::Vector& value) { m_instancesHasBeenSet = true; m_instances = value; } /** *

The IDs of the instances for the load balancer.

*/ inline void SetInstances(Aws::Vector&& value) { m_instancesHasBeenSet = true; m_instances = std::move(value); } /** *

The IDs of the instances for the load balancer.

*/ inline LoadBalancerDescription& WithInstances(const Aws::Vector& value) { SetInstances(value); return *this;} /** *

The IDs of the instances for the load balancer.

*/ inline LoadBalancerDescription& WithInstances(Aws::Vector&& value) { SetInstances(std::move(value)); return *this;} /** *

The IDs of the instances for the load balancer.

*/ inline LoadBalancerDescription& AddInstances(const Instance& value) { m_instancesHasBeenSet = true; m_instances.push_back(value); return *this; } /** *

The IDs of the instances for the load balancer.

*/ inline LoadBalancerDescription& AddInstances(Instance&& value) { m_instancesHasBeenSet = true; m_instances.push_back(std::move(value)); return *this; } /** *

Information about the health checks conducted on the load balancer.

*/ inline const HealthCheck& GetHealthCheck() const{ return m_healthCheck; } /** *

Information about the health checks conducted on the load balancer.

*/ inline bool HealthCheckHasBeenSet() const { return m_healthCheckHasBeenSet; } /** *

Information about the health checks conducted on the load balancer.

*/ inline void SetHealthCheck(const HealthCheck& value) { m_healthCheckHasBeenSet = true; m_healthCheck = value; } /** *

Information about the health checks conducted on the load balancer.

*/ inline void SetHealthCheck(HealthCheck&& value) { m_healthCheckHasBeenSet = true; m_healthCheck = std::move(value); } /** *

Information about the health checks conducted on the load balancer.

*/ inline LoadBalancerDescription& WithHealthCheck(const HealthCheck& value) { SetHealthCheck(value); return *this;} /** *

Information about the health checks conducted on the load balancer.

*/ inline LoadBalancerDescription& WithHealthCheck(HealthCheck&& value) { SetHealthCheck(std::move(value)); return *this;} /** *

The security group for the load balancer, which you can use as part of your * inbound rules for your registered instances. To only allow traffic from load * balancers, add a security group rule that specifies this source security group * as the inbound source.

*/ inline const SourceSecurityGroup& GetSourceSecurityGroup() const{ return m_sourceSecurityGroup; } /** *

The security group for the load balancer, which you can use as part of your * inbound rules for your registered instances. To only allow traffic from load * balancers, add a security group rule that specifies this source security group * as the inbound source.

*/ inline bool SourceSecurityGroupHasBeenSet() const { return m_sourceSecurityGroupHasBeenSet; } /** *

The security group for the load balancer, which you can use as part of your * inbound rules for your registered instances. To only allow traffic from load * balancers, add a security group rule that specifies this source security group * as the inbound source.

*/ inline void SetSourceSecurityGroup(const SourceSecurityGroup& value) { m_sourceSecurityGroupHasBeenSet = true; m_sourceSecurityGroup = value; } /** *

The security group for the load balancer, which you can use as part of your * inbound rules for your registered instances. To only allow traffic from load * balancers, add a security group rule that specifies this source security group * as the inbound source.

*/ inline void SetSourceSecurityGroup(SourceSecurityGroup&& value) { m_sourceSecurityGroupHasBeenSet = true; m_sourceSecurityGroup = std::move(value); } /** *

The security group for the load balancer, which you can use as part of your * inbound rules for your registered instances. To only allow traffic from load * balancers, add a security group rule that specifies this source security group * as the inbound source.

*/ inline LoadBalancerDescription& WithSourceSecurityGroup(const SourceSecurityGroup& value) { SetSourceSecurityGroup(value); return *this;} /** *

The security group for the load balancer, which you can use as part of your * inbound rules for your registered instances. To only allow traffic from load * balancers, add a security group rule that specifies this source security group * as the inbound source.

*/ inline LoadBalancerDescription& WithSourceSecurityGroup(SourceSecurityGroup&& value) { SetSourceSecurityGroup(std::move(value)); return *this;} /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline const Aws::Vector& GetSecurityGroups() const{ return m_securityGroups; } /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline void SetSecurityGroups(const Aws::Vector& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; } /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline void SetSecurityGroups(Aws::Vector&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); } /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline LoadBalancerDescription& WithSecurityGroups(const Aws::Vector& value) { SetSecurityGroups(value); return *this;} /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline LoadBalancerDescription& WithSecurityGroups(Aws::Vector&& value) { SetSecurityGroups(std::move(value)); return *this;} /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline LoadBalancerDescription& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline LoadBalancerDescription& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } /** *

The security groups for the load balancer. Valid only for load balancers in a * VPC.

*/ inline LoadBalancerDescription& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *

The date and time the load balancer was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

The date and time the load balancer was created.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

The date and time the load balancer was created.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

The date and time the load balancer was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

The date and time the load balancer was created.

*/ inline LoadBalancerDescription& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

The date and time the load balancer was created.

*/ inline LoadBalancerDescription& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline const Aws::String& GetScheme() const{ return m_scheme; } /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; } /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline void SetScheme(const Aws::String& value) { m_schemeHasBeenSet = true; m_scheme = value; } /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline void SetScheme(Aws::String&& value) { m_schemeHasBeenSet = true; m_scheme = std::move(value); } /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline void SetScheme(const char* value) { m_schemeHasBeenSet = true; m_scheme.assign(value); } /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline LoadBalancerDescription& WithScheme(const Aws::String& value) { SetScheme(value); return *this;} /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline LoadBalancerDescription& WithScheme(Aws::String&& value) { SetScheme(std::move(value)); return *this;} /** *

The type of load balancer. Valid only for load balancers in a VPC.

If * Scheme is internet-facing, the load balancer has a * public DNS name that resolves to a public IP address.

If * Scheme is internal, the load balancer has a public DNS * name that resolves to a private IP address.

*/ inline LoadBalancerDescription& WithScheme(const char* value) { SetScheme(value); return *this;} private: Aws::String m_loadBalancerName; bool m_loadBalancerNameHasBeenSet = false; Aws::String m_dNSName; bool m_dNSNameHasBeenSet = false; Aws::String m_canonicalHostedZoneName; bool m_canonicalHostedZoneNameHasBeenSet = false; Aws::String m_canonicalHostedZoneNameID; bool m_canonicalHostedZoneNameIDHasBeenSet = false; Aws::Vector m_listenerDescriptions; bool m_listenerDescriptionsHasBeenSet = false; Policies m_policies; bool m_policiesHasBeenSet = false; Aws::Vector m_backendServerDescriptions; bool m_backendServerDescriptionsHasBeenSet = false; Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet = false; Aws::Vector m_subnets; bool m_subnetsHasBeenSet = false; Aws::String m_vPCId; bool m_vPCIdHasBeenSet = false; Aws::Vector m_instances; bool m_instancesHasBeenSet = false; HealthCheck m_healthCheck; bool m_healthCheckHasBeenSet = false; SourceSecurityGroup m_sourceSecurityGroup; bool m_sourceSecurityGroupHasBeenSet = false; Aws::Vector m_securityGroups; bool m_securityGroupsHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; Aws::String m_scheme; bool m_schemeHasBeenSet = false; }; } // namespace Model } // namespace ElasticLoadBalancing } // namespace Aws