/*
* Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.elasticloadbalancing.model;
import java.io.Serializable;
/**
* <p>
* Information about a load balancer.
* </p>
*/
public class LoadBalancerDescription implements Serializable {
/**
* <p>
* The name of the load balancer.
* </p>
*/
private String loadBalancerName;
/**
* <p>
* The external DNS name of the load balancer.
* </p>
*/
private String dNSName;
/**
* <p>
* The Amazon Route 53 hosted zone associated with the load balancer.
* </p>
* <p>
* For more information, see <a href=
* "http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html"
* >Using Domain Names With Elastic Load Balancing</a> in the <i>Elastic
* Load Balancing Developer Guide</i>.
* </p>
*/
private String canonicalHostedZoneName;
/**
* <p>
* The ID of the Amazon Route 53 hosted zone name associated with the load
* balancer.
* </p>
*/
private String canonicalHostedZoneNameID;
/**
* <p>
* The listeners for the load balancer.
* </p>
*/
private java.util.List<ListenerDescription> listenerDescriptions = new java.util.ArrayList<ListenerDescription>();
/**
* <p>
* The policies defined for the load balancer.
* </p>
*/
private Policies policies;
/**
* <p>
* Information about the back-end servers.
* </p>
*/
private java.util.List<BackendServerDescription> backendServerDescriptions = new java.util.ArrayList<BackendServerDescription>();
/**
* <p>
* The Availability Zones for the load balancer.
* </p>
*/
private java.util.List<String> availabilityZones = new java.util.ArrayList<String>();
/**
* <p>
* The IDs of the subnets for the load balancer.
* </p>
*/
private java.util.List<String> subnets = new java.util.ArrayList<String>();
/**
* <p>
* The ID of the VPC for the load balancer.
* </p>
*/
private String vPCId;
/**
* <p>
* The IDs of the instances for the load balancer.
* </p>
*/
private java.util.List<Instance> instances = new java.util.ArrayList<Instance>();
/**
* <p>
* Information about the health checks conducted on the load balancer.
* </p>
*/
private HealthCheck healthCheck;
/**
* <p>
* The security group that you can use as part of your inbound rules for
* your load balancer's back-end application instances. To only allow
* traffic from load balancers, add a security group rule to your back end
* instance that specifies this source security group as the inbound source.
* </p>
*/
private SourceSecurityGroup sourceSecurityGroup;
/**
* <p>
* The security groups for the load balancer. Valid only for load balancers
* in a VPC.
* </p>
*/
private java.util.List<String> securityGroups = new java.util.ArrayList<String>();
/**
* <p>
* The date and time the load balancer was created.
* </p>
*/
private java.util.Date createdTime;
/**
* <p>
* The type of load balancer. Valid only for load balancers in a VPC.
* </p>
* <p>
* If <code>Scheme</code> is <code>internet-facing</code>, the load balancer
* has a public DNS name that resolves to a public IP address.
* </p>
* <p>
* If <code>Scheme</code> is <code>internal</code>, the load balancer has a
* public DNS name that resolves to a private IP address.
* </p>
*/
private String scheme;
/**
* <p>
* The name of the load balancer.
* </p>
*
* @return <p>
* The name of the load balancer.
* </p>
*/
public String getLoadBalancerName() {
return loadBalancerName;
}
/**
* <p>
* The name of the load balancer.
* </p>
*
* @param loadBalancerName <p>
* The name of the load balancer.
* </p>
*/
public void setLoadBalancerName(String loadBalancerName) {
this.loadBalancerName = loadBalancerName;
}
/**
* <p>
* The name of the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param loadBalancerName <p>
* The name of the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withLoadBalancerName(String loadBalancerName) {
this.loadBalancerName = loadBalancerName;
return this;
}
/**
* <p>
* The external DNS name of the load balancer.
* </p>
*
* @return <p>
* The external DNS name of the load balancer.
* </p>
*/
public String getDNSName() {
return dNSName;
}
/**
* <p>
* The external DNS name of the load balancer.
* </p>
*
* @param dNSName <p>
* The external DNS name of the load balancer.
* </p>
*/
public void setDNSName(String dNSName) {
this.dNSName = dNSName;
}
/**
* <p>
* The external DNS name of the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param dNSName <p>
* The external DNS name of the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withDNSName(String dNSName) {
this.dNSName = dNSName;
return this;
}
/**
* <p>
* The Amazon Route 53 hosted zone associated with the load balancer.
* </p>
* <p>
* For more information, see <a href=
* "http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html"
* >Using Domain Names With Elastic Load Balancing</a> in the <i>Elastic
* Load Balancing Developer Guide</i>.
* </p>
*
* @return <p>
* The Amazon Route 53 hosted zone associated with the load
* balancer.
* </p>
* <p>
* For more information, see <a href=
* "http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html"
* >Using Domain Names With Elastic Load Balancing</a> in the
* <i>Elastic Load Balancing Developer Guide</i>.
* </p>
*/
public String getCanonicalHostedZoneName() {
return canonicalHostedZoneName;
}
/**
* <p>
* The Amazon Route 53 hosted zone associated with the load balancer.
* </p>
* <p>
* For more information, see <a href=
* "http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html"
* >Using Domain Names With Elastic Load Balancing</a> in the <i>Elastic
* Load Balancing Developer Guide</i>.
* </p>
*
* @param canonicalHostedZoneName <p>
* The Amazon Route 53 hosted zone associated with the load
* balancer.
* </p>
* <p>
* For more information, see <a href=
* "http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html"
* >Using Domain Names With Elastic Load Balancing</a> in the
* <i>Elastic Load Balancing Developer Guide</i>.
* </p>
*/
public void setCanonicalHostedZoneName(String canonicalHostedZoneName) {
this.canonicalHostedZoneName = canonicalHostedZoneName;
}
/**
* <p>
* The Amazon Route 53 hosted zone associated with the load balancer.
* </p>
* <p>
* For more information, see <a href=
* "http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html"
* >Using Domain Names With Elastic Load Balancing</a> in the <i>Elastic
* Load Balancing Developer Guide</i>.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param canonicalHostedZoneName <p>
* The Amazon Route 53 hosted zone associated with the load
* balancer.
* </p>
* <p>
* For more information, see <a href=
* "http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html"
* >Using Domain Names With Elastic Load Balancing</a> in the
* <i>Elastic Load Balancing Developer Guide</i>.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withCanonicalHostedZoneName(String canonicalHostedZoneName) {
this.canonicalHostedZoneName = canonicalHostedZoneName;
return this;
}
/**
* <p>
* The ID of the Amazon Route 53 hosted zone name associated with the load
* balancer.
* </p>
*
* @return <p>
* The ID of the Amazon Route 53 hosted zone name associated with
* the load balancer.
* </p>
*/
public String getCanonicalHostedZoneNameID() {
return canonicalHostedZoneNameID;
}
/**
* <p>
* The ID of the Amazon Route 53 hosted zone name associated with the load
* balancer.
* </p>
*
* @param canonicalHostedZoneNameID <p>
* The ID of the Amazon Route 53 hosted zone name associated with
* the load balancer.
* </p>
*/
public void setCanonicalHostedZoneNameID(String canonicalHostedZoneNameID) {
this.canonicalHostedZoneNameID = canonicalHostedZoneNameID;
}
/**
* <p>
* The ID of the Amazon Route 53 hosted zone name associated with the load
* balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param canonicalHostedZoneNameID <p>
* The ID of the Amazon Route 53 hosted zone name associated with
* the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withCanonicalHostedZoneNameID(String canonicalHostedZoneNameID) {
this.canonicalHostedZoneNameID = canonicalHostedZoneNameID;
return this;
}
/**
* <p>
* The listeners for the load balancer.
* </p>
*
* @return <p>
* The listeners for the load balancer.
* </p>
*/
public java.util.List<ListenerDescription> getListenerDescriptions() {
return listenerDescriptions;
}
/**
* <p>
* The listeners for the load balancer.
* </p>
*
* @param listenerDescriptions <p>
* The listeners for the load balancer.
* </p>
*/
public void setListenerDescriptions(
java.util.Collection<ListenerDescription> listenerDescriptions) {
if (listenerDescriptions == null) {
this.listenerDescriptions = null;
return;
}
this.listenerDescriptions = new java.util.ArrayList<ListenerDescription>(
listenerDescriptions);
}
/**
* <p>
* The listeners for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param listenerDescriptions <p>
* The listeners for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withListenerDescriptions(
ListenerDescription... listenerDescriptions) {
if (getListenerDescriptions() == null) {
this.listenerDescriptions = new java.util.ArrayList<ListenerDescription>(
listenerDescriptions.length);
}
for (ListenerDescription value : listenerDescriptions) {
this.listenerDescriptions.add(value);
}
return this;
}
/**
* <p>
* The listeners for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param listenerDescriptions <p>
* The listeners for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withListenerDescriptions(
java.util.Collection<ListenerDescription> listenerDescriptions) {
setListenerDescriptions(listenerDescriptions);
return this;
}
/**
* <p>
* The policies defined for the load balancer.
* </p>
*
* @return <p>
* The policies defined for the load balancer.
* </p>
*/
public Policies getPolicies() {
return policies;
}
/**
* <p>
* The policies defined for the load balancer.
* </p>
*
* @param policies <p>
* The policies defined for the load balancer.
* </p>
*/
public void setPolicies(Policies policies) {
this.policies = policies;
}
/**
* <p>
* The policies defined for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param policies <p>
* The policies defined for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withPolicies(Policies policies) {
this.policies = policies;
return this;
}
/**
* <p>
* Information about the back-end servers.
* </p>
*
* @return <p>
* Information about the back-end servers.
* </p>
*/
public java.util.List<BackendServerDescription> getBackendServerDescriptions() {
return backendServerDescriptions;
}
/**
* <p>
* Information about the back-end servers.
* </p>
*
* @param backendServerDescriptions <p>
* Information about the back-end servers.
* </p>
*/
public void setBackendServerDescriptions(
java.util.Collection<BackendServerDescription> backendServerDescriptions) {
if (backendServerDescriptions == null) {
this.backendServerDescriptions = null;
return;
}
this.backendServerDescriptions = new java.util.ArrayList<BackendServerDescription>(
backendServerDescriptions);
}
/**
* <p>
* Information about the back-end servers.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param backendServerDescriptions <p>
* Information about the back-end servers.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withBackendServerDescriptions(
BackendServerDescription... backendServerDescriptions) {
if (getBackendServerDescriptions() == null) {
this.backendServerDescriptions = new java.util.ArrayList<BackendServerDescription>(
backendServerDescriptions.length);
}
for (BackendServerDescription value : backendServerDescriptions) {
this.backendServerDescriptions.add(value);
}
return this;
}
/**
* <p>
* Information about the back-end servers.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param backendServerDescriptions <p>
* Information about the back-end servers.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withBackendServerDescriptions(
java.util.Collection<BackendServerDescription> backendServerDescriptions) {
setBackendServerDescriptions(backendServerDescriptions);
return this;
}
/**
* <p>
* The Availability Zones for the load balancer.
* </p>
*
* @return <p>
* The Availability Zones for the load balancer.
* </p>
*/
public java.util.List<String> getAvailabilityZones() {
return availabilityZones;
}
/**
* <p>
* The Availability Zones for the load balancer.
* </p>
*
* @param availabilityZones <p>
* The Availability Zones for the load balancer.
* </p>
*/
public void setAvailabilityZones(java.util.Collection<String> availabilityZones) {
if (availabilityZones == null) {
this.availabilityZones = null;
return;
}
this.availabilityZones = new java.util.ArrayList<String>(availabilityZones);
}
/**
* <p>
* The Availability Zones for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param availabilityZones <p>
* The Availability Zones for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withAvailabilityZones(String... availabilityZones) {
if (getAvailabilityZones() == null) {
this.availabilityZones = new java.util.ArrayList<String>(availabilityZones.length);
}
for (String value : availabilityZones) {
this.availabilityZones.add(value);
}
return this;
}
/**
* <p>
* The Availability Zones for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param availabilityZones <p>
* The Availability Zones for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withAvailabilityZones(
java.util.Collection<String> availabilityZones) {
setAvailabilityZones(availabilityZones);
return this;
}
/**
* <p>
* The IDs of the subnets for the load balancer.
* </p>
*
* @return <p>
* The IDs of the subnets for the load balancer.
* </p>
*/
public java.util.List<String> getSubnets() {
return subnets;
}
/**
* <p>
* The IDs of the subnets for the load balancer.
* </p>
*
* @param subnets <p>
* The IDs of the subnets for the load balancer.
* </p>
*/
public void setSubnets(java.util.Collection<String> subnets) {
if (subnets == null) {
this.subnets = null;
return;
}
this.subnets = new java.util.ArrayList<String>(subnets);
}
/**
* <p>
* The IDs of the subnets for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param subnets <p>
* The IDs of the subnets for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withSubnets(String... subnets) {
if (getSubnets() == null) {
this.subnets = new java.util.ArrayList<String>(subnets.length);
}
for (String value : subnets) {
this.subnets.add(value);
}
return this;
}
/**
* <p>
* The IDs of the subnets for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param subnets <p>
* The IDs of the subnets for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withSubnets(java.util.Collection<String> subnets) {
setSubnets(subnets);
return this;
}
/**
* <p>
* The ID of the VPC for the load balancer.
* </p>
*
* @return <p>
* The ID of the VPC for the load balancer.
* </p>
*/
public String getVPCId() {
return vPCId;
}
/**
* <p>
* The ID of the VPC for the load balancer.
* </p>
*
* @param vPCId <p>
* The ID of the VPC for the load balancer.
* </p>
*/
public void setVPCId(String vPCId) {
this.vPCId = vPCId;
}
/**
* <p>
* The ID of the VPC for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param vPCId <p>
* The ID of the VPC for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withVPCId(String vPCId) {
this.vPCId = vPCId;
return this;
}
/**
* <p>
* The IDs of the instances for the load balancer.
* </p>
*
* @return <p>
* The IDs of the instances for the load balancer.
* </p>
*/
public java.util.List<Instance> getInstances() {
return instances;
}
/**
* <p>
* The IDs of the instances for the load balancer.
* </p>
*
* @param instances <p>
* The IDs of the instances for the load balancer.
* </p>
*/
public void setInstances(java.util.Collection<Instance> instances) {
if (instances == null) {
this.instances = null;
return;
}
this.instances = new java.util.ArrayList<Instance>(instances);
}
/**
* <p>
* The IDs of the instances for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param instances <p>
* The IDs of the instances for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withInstances(Instance... instances) {
if (getInstances() == null) {
this.instances = new java.util.ArrayList<Instance>(instances.length);
}
for (Instance value : instances) {
this.instances.add(value);
}
return this;
}
/**
* <p>
* The IDs of the instances for the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param instances <p>
* The IDs of the instances for the load balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withInstances(java.util.Collection<Instance> instances) {
setInstances(instances);
return this;
}
/**
* <p>
* Information about the health checks conducted on the load balancer.
* </p>
*
* @return <p>
* Information about the health checks conducted on the load
* balancer.
* </p>
*/
public HealthCheck getHealthCheck() {
return healthCheck;
}
/**
* <p>
* Information about the health checks conducted on the load balancer.
* </p>
*
* @param healthCheck <p>
* Information about the health checks conducted on the load
* balancer.
* </p>
*/
public void setHealthCheck(HealthCheck healthCheck) {
this.healthCheck = healthCheck;
}
/**
* <p>
* Information about the health checks conducted on the load balancer.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param healthCheck <p>
* Information about the health checks conducted on the load
* balancer.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withHealthCheck(HealthCheck healthCheck) {
this.healthCheck = healthCheck;
return this;
}
/**
* <p>
* The security group that you can use as part of your inbound rules for
* your load balancer's back-end application instances. To only allow
* traffic from load balancers, add a security group rule to your back end
* instance that specifies this source security group as the inbound source.
* </p>
*
* @return <p>
* The security group that you can use as part of your inbound rules
* for your load balancer's back-end application instances. To only
* allow traffic from load balancers, add a security group rule to
* your back end instance that specifies this source security group
* as the inbound source.
* </p>
*/
public SourceSecurityGroup getSourceSecurityGroup() {
return sourceSecurityGroup;
}
/**
* <p>
* The security group that you can use as part of your inbound rules for
* your load balancer's back-end application instances. To only allow
* traffic from load balancers, add a security group rule to your back end
* instance that specifies this source security group as the inbound source.
* </p>
*
* @param sourceSecurityGroup <p>
* The security group that you can use as part of your inbound
* rules for your load balancer's back-end application instances.
* To only allow traffic from load balancers, add a security
* group rule to your back end instance that specifies this
* source security group as the inbound source.
* </p>
*/
public void setSourceSecurityGroup(SourceSecurityGroup sourceSecurityGroup) {
this.sourceSecurityGroup = sourceSecurityGroup;
}
/**
* <p>
* The security group that you can use as part of your inbound rules for
* your load balancer's back-end application instances. To only allow
* traffic from load balancers, add a security group rule to your back end
* instance that specifies this source security group as the inbound source.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param sourceSecurityGroup <p>
* The security group that you can use as part of your inbound
* rules for your load balancer's back-end application instances.
* To only allow traffic from load balancers, add a security
* group rule to your back end instance that specifies this
* source security group as the inbound source.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withSourceSecurityGroup(SourceSecurityGroup sourceSecurityGroup) {
this.sourceSecurityGroup = sourceSecurityGroup;
return this;
}
/**
* <p>
* The security groups for the load balancer. Valid only for load balancers
* in a VPC.
* </p>
*
* @return <p>
* The security groups for the load balancer. Valid only for load
* balancers in a VPC.
* </p>
*/
public java.util.List<String> getSecurityGroups() {
return securityGroups;
}
/**
* <p>
* The security groups for the load balancer. Valid only for load balancers
* in a VPC.
* </p>
*
* @param securityGroups <p>
* The security groups for the load balancer. Valid only for load
* balancers in a VPC.
* </p>
*/
public void setSecurityGroups(java.util.Collection<String> securityGroups) {
if (securityGroups == null) {
this.securityGroups = null;
return;
}
this.securityGroups = new java.util.ArrayList<String>(securityGroups);
}
/**
* <p>
* The security groups for the load balancer. Valid only for load balancers
* in a VPC.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param securityGroups <p>
* The security groups for the load balancer. Valid only for load
* balancers in a VPC.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withSecurityGroups(String... securityGroups) {
if (getSecurityGroups() == null) {
this.securityGroups = new java.util.ArrayList<String>(securityGroups.length);
}
for (String value : securityGroups) {
this.securityGroups.add(value);
}
return this;
}
/**
* <p>
* The security groups for the load balancer. Valid only for load balancers
* in a VPC.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param securityGroups <p>
* The security groups for the load balancer. Valid only for load
* balancers in a VPC.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withSecurityGroups(java.util.Collection<String> securityGroups) {
setSecurityGroups(securityGroups);
return this;
}
/**
* <p>
* The date and time the load balancer was created.
* </p>
*
* @return <p>
* The date and time the load balancer was created.
* </p>
*/
public java.util.Date getCreatedTime() {
return createdTime;
}
/**
* <p>
* The date and time the load balancer was created.
* </p>
*
* @param createdTime <p>
* The date and time the load balancer was created.
* </p>
*/
public void setCreatedTime(java.util.Date createdTime) {
this.createdTime = createdTime;
}
/**
* <p>
* The date and time the load balancer was created.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param createdTime <p>
* The date and time the load balancer was created.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withCreatedTime(java.util.Date createdTime) {
this.createdTime = createdTime;
return this;
}
/**
* <p>
* The type of load balancer. Valid only for load balancers in a VPC.
* </p>
* <p>
* If <code>Scheme</code> is <code>internet-facing</code>, the load balancer
* has a public DNS name that resolves to a public IP address.
* </p>
* <p>
* If <code>Scheme</code> is <code>internal</code>, the load balancer has a
* public DNS name that resolves to a private IP address.
* </p>
*
* @return <p>
* The type of load balancer. Valid only for load balancers in a
* VPC.
* </p>
* <p>
* If <code>Scheme</code> is <code>internet-facing</code>, the load
* balancer has a public DNS name that resolves to a public IP
* address.
* </p>
* <p>
* If <code>Scheme</code> is <code>internal</code>, the load
* balancer has a public DNS name that resolves to a private IP
* address.
* </p>
*/
public String getScheme() {
return scheme;
}
/**
* <p>
* The type of load balancer. Valid only for load balancers in a VPC.
* </p>
* <p>
* If <code>Scheme</code> is <code>internet-facing</code>, the load balancer
* has a public DNS name that resolves to a public IP address.
* </p>
* <p>
* If <code>Scheme</code> is <code>internal</code>, the load balancer has a
* public DNS name that resolves to a private IP address.
* </p>
*
* @param scheme <p>
* The type of load balancer. Valid only for load balancers in a
* VPC.
* </p>
* <p>
* If <code>Scheme</code> is <code>internet-facing</code>, the
* load balancer has a public DNS name that resolves to a public
* IP address.
* </p>
* <p>
* If <code>Scheme</code> is <code>internal</code>, the load
* balancer has a public DNS name that resolves to a private IP
* address.
* </p>
*/
public void setScheme(String scheme) {
this.scheme = scheme;
}
/**
* <p>
* The type of load balancer. Valid only for load balancers in a VPC.
* </p>
* <p>
* If <code>Scheme</code> is <code>internet-facing</code>, the load balancer
* has a public DNS name that resolves to a public IP address.
* </p>
* <p>
* If <code>Scheme</code> is <code>internal</code>, the load balancer has a
* public DNS name that resolves to a private IP address.
* </p>
* <p>
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param scheme <p>
* The type of load balancer. Valid only for load balancers in a
* VPC.
* </p>
* <p>
* If <code>Scheme</code> is <code>internet-facing</code>, the
* load balancer has a public DNS name that resolves to a public
* IP address.
* </p>
* <p>
* If <code>Scheme</code> is <code>internal</code>, the load
* balancer has a public DNS name that resolves to a private IP
* address.
* </p>
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public LoadBalancerDescription withScheme(String scheme) {
this.scheme = scheme;
return this;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @return A string representation of this object.
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getLoadBalancerName() != null)
sb.append("LoadBalancerName: " + getLoadBalancerName() + ",");
if (getDNSName() != null)
sb.append("DNSName: " + getDNSName() + ",");
if (getCanonicalHostedZoneName() != null)
sb.append("CanonicalHostedZoneName: " + getCanonicalHostedZoneName() + ",");
if (getCanonicalHostedZoneNameID() != null)
sb.append("CanonicalHostedZoneNameID: " + getCanonicalHostedZoneNameID() + ",");
if (getListenerDescriptions() != null)
sb.append("ListenerDescriptions: " + getListenerDescriptions() + ",");
if (getPolicies() != null)
sb.append("Policies: " + getPolicies() + ",");
if (getBackendServerDescriptions() != null)
sb.append("BackendServerDescriptions: " + getBackendServerDescriptions() + ",");
if (getAvailabilityZones() != null)
sb.append("AvailabilityZones: " + getAvailabilityZones() + ",");
if (getSubnets() != null)
sb.append("Subnets: " + getSubnets() + ",");
if (getVPCId() != null)
sb.append("VPCId: " + getVPCId() + ",");
if (getInstances() != null)
sb.append("Instances: " + getInstances() + ",");
if (getHealthCheck() != null)
sb.append("HealthCheck: " + getHealthCheck() + ",");
if (getSourceSecurityGroup() != null)
sb.append("SourceSecurityGroup: " + getSourceSecurityGroup() + ",");
if (getSecurityGroups() != null)
sb.append("SecurityGroups: " + getSecurityGroups() + ",");
if (getCreatedTime() != null)
sb.append("CreatedTime: " + getCreatedTime() + ",");
if (getScheme() != null)
sb.append("Scheme: " + getScheme());
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode
+ ((getLoadBalancerName() == null) ? 0 : getLoadBalancerName().hashCode());
hashCode = prime * hashCode + ((getDNSName() == null) ? 0 : getDNSName().hashCode());
hashCode = prime
* hashCode
+ ((getCanonicalHostedZoneName() == null) ? 0 : getCanonicalHostedZoneName()
.hashCode());
hashCode = prime
* hashCode
+ ((getCanonicalHostedZoneNameID() == null) ? 0 : getCanonicalHostedZoneNameID()
.hashCode());
hashCode = prime * hashCode
+ ((getListenerDescriptions() == null) ? 0 : getListenerDescriptions().hashCode());
hashCode = prime * hashCode + ((getPolicies() == null) ? 0 : getPolicies().hashCode());
hashCode = prime
* hashCode
+ ((getBackendServerDescriptions() == null) ? 0 : getBackendServerDescriptions()
.hashCode());
hashCode = prime * hashCode
+ ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode());
hashCode = prime * hashCode + ((getSubnets() == null) ? 0 : getSubnets().hashCode());
hashCode = prime * hashCode + ((getVPCId() == null) ? 0 : getVPCId().hashCode());
hashCode = prime * hashCode + ((getInstances() == null) ? 0 : getInstances().hashCode());
hashCode = prime * hashCode
+ ((getHealthCheck() == null) ? 0 : getHealthCheck().hashCode());
hashCode = prime * hashCode
+ ((getSourceSecurityGroup() == null) ? 0 : getSourceSecurityGroup().hashCode());
hashCode = prime * hashCode
+ ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode());
hashCode = prime * hashCode
+ ((getCreatedTime() == null) ? 0 : getCreatedTime().hashCode());
hashCode = prime * hashCode + ((getScheme() == null) ? 0 : getScheme().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof LoadBalancerDescription == false)
return false;
LoadBalancerDescription other = (LoadBalancerDescription) obj;
if (other.getLoadBalancerName() == null ^ this.getLoadBalancerName() == null)
return false;
if (other.getLoadBalancerName() != null
&& other.getLoadBalancerName().equals(this.getLoadBalancerName()) == false)
return false;
if (other.getDNSName() == null ^ this.getDNSName() == null)
return false;
if (other.getDNSName() != null && other.getDNSName().equals(this.getDNSName()) == false)
return false;
if (other.getCanonicalHostedZoneName() == null ^ this.getCanonicalHostedZoneName() == null)
return false;
if (other.getCanonicalHostedZoneName() != null
&& other.getCanonicalHostedZoneName().equals(this.getCanonicalHostedZoneName()) == false)
return false;
if (other.getCanonicalHostedZoneNameID() == null
^ this.getCanonicalHostedZoneNameID() == null)
return false;
if (other.getCanonicalHostedZoneNameID() != null
&& other.getCanonicalHostedZoneNameID().equals(this.getCanonicalHostedZoneNameID()) == false)
return false;
if (other.getListenerDescriptions() == null ^ this.getListenerDescriptions() == null)
return false;
if (other.getListenerDescriptions() != null
&& other.getListenerDescriptions().equals(this.getListenerDescriptions()) == false)
return false;
if (other.getPolicies() == null ^ this.getPolicies() == null)
return false;
if (other.getPolicies() != null && other.getPolicies().equals(this.getPolicies()) == false)
return false;
if (other.getBackendServerDescriptions() == null
^ this.getBackendServerDescriptions() == null)
return false;
if (other.getBackendServerDescriptions() != null
&& other.getBackendServerDescriptions().equals(this.getBackendServerDescriptions()) == false)
return false;
if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null)
return false;
if (other.getAvailabilityZones() != null
&& other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false)
return false;
if (other.getSubnets() == null ^ this.getSubnets() == null)
return false;
if (other.getSubnets() != null && other.getSubnets().equals(this.getSubnets()) == false)
return false;
if (other.getVPCId() == null ^ this.getVPCId() == null)
return false;
if (other.getVPCId() != null && other.getVPCId().equals(this.getVPCId()) == false)
return false;
if (other.getInstances() == null ^ this.getInstances() == null)
return false;
if (other.getInstances() != null
&& other.getInstances().equals(this.getInstances()) == false)
return false;
if (other.getHealthCheck() == null ^ this.getHealthCheck() == null)
return false;
if (other.getHealthCheck() != null
&& other.getHealthCheck().equals(this.getHealthCheck()) == false)
return false;
if (other.getSourceSecurityGroup() == null ^ this.getSourceSecurityGroup() == null)
return false;
if (other.getSourceSecurityGroup() != null
&& other.getSourceSecurityGroup().equals(this.getSourceSecurityGroup()) == false)
return false;
if (other.getSecurityGroups() == null ^ this.getSecurityGroups() == null)
return false;
if (other.getSecurityGroups() != null
&& other.getSecurityGroups().equals(this.getSecurityGroups()) == false)
return false;
if (other.getCreatedTime() == null ^ this.getCreatedTime() == null)
return false;
if (other.getCreatedTime() != null
&& other.getCreatedTime().equals(this.getCreatedTime()) == false)
return false;
if (other.getScheme() == null ^ this.getScheme() == null)
return false;
if (other.getScheme() != null && other.getScheme().equals(this.getScheme()) == false)
return false;
return true;
}
}