/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the elasticloadbalancing-2012-06-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ElasticLoadBalancing.Model
{
///
/// Information about a load balancer.
///
public partial class LoadBalancerDescription
{
private List _availabilityZones = new List();
private List _backendServerDescriptions = new List();
private string _canonicalHostedZoneName;
private string _canonicalHostedZoneNameID;
private DateTime? _createdTime;
private string _dnsName;
private HealthCheck _healthCheck;
private List _instances = new List();
private List _listenerDescriptions = new List();
private string _loadBalancerName;
private Policies _policies;
private string _scheme;
private List _securityGroups = new List();
private SourceSecurityGroup _sourceSecurityGroup;
private List _subnets = new List();
private string _vpcId;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public LoadBalancerDescription() { }
///
/// Gets and sets the property AvailabilityZones.
///
/// The Availability Zones for the load balancer.
///
///
public List AvailabilityZones
{
get { return this._availabilityZones; }
set { this._availabilityZones = value; }
}
// Check to see if AvailabilityZones property is set
internal bool IsSetAvailabilityZones()
{
return this._availabilityZones != null && this._availabilityZones.Count > 0;
}
///
/// Gets and sets the property BackendServerDescriptions.
///
/// Information about your EC2 instances.
///
///
public List BackendServerDescriptions
{
get { return this._backendServerDescriptions; }
set { this._backendServerDescriptions = value; }
}
// Check to see if BackendServerDescriptions property is set
internal bool IsSetBackendServerDescriptions()
{
return this._backendServerDescriptions != null && this._backendServerDescriptions.Count > 0;
}
///
/// Gets and sets the property CanonicalHostedZoneName.
///
/// The DNS name of the load balancer.
///
///
///
/// For more information, see Configure
/// a Custom Domain Name in the Classic Load Balancers Guide.
///
///
public string CanonicalHostedZoneName
{
get { return this._canonicalHostedZoneName; }
set { this._canonicalHostedZoneName = value; }
}
// Check to see if CanonicalHostedZoneName property is set
internal bool IsSetCanonicalHostedZoneName()
{
return this._canonicalHostedZoneName != null;
}
///
/// Gets and sets the property CanonicalHostedZoneNameID.
///
/// The ID of the Amazon Route 53 hosted zone for the load balancer.
///
///
public string CanonicalHostedZoneNameID
{
get { return this._canonicalHostedZoneNameID; }
set { this._canonicalHostedZoneNameID = value; }
}
// Check to see if CanonicalHostedZoneNameID property is set
internal bool IsSetCanonicalHostedZoneNameID()
{
return this._canonicalHostedZoneNameID != null;
}
///
/// Gets and sets the property CreatedTime.
///
/// The date and time the load balancer was created.
///
///
public DateTime CreatedTime
{
get { return this._createdTime.GetValueOrDefault(); }
set { this._createdTime = value; }
}
// Check to see if CreatedTime property is set
internal bool IsSetCreatedTime()
{
return this._createdTime.HasValue;
}
///
/// Gets and sets the property DNSName.
///
/// The DNS name of the load balancer.
///
///
public string DNSName
{
get { return this._dnsName; }
set { this._dnsName = value; }
}
// Check to see if DNSName property is set
internal bool IsSetDNSName()
{
return this._dnsName != null;
}
///
/// Gets and sets the property HealthCheck.
///
/// Information about the health checks conducted on the load balancer.
///
///
public HealthCheck HealthCheck
{
get { return this._healthCheck; }
set { this._healthCheck = value; }
}
// Check to see if HealthCheck property is set
internal bool IsSetHealthCheck()
{
return this._healthCheck != null;
}
///
/// Gets and sets the property Instances.
///
/// The IDs of the instances for the load balancer.
///
///
public List Instances
{
get { return this._instances; }
set { this._instances = value; }
}
// Check to see if Instances property is set
internal bool IsSetInstances()
{
return this._instances != null && this._instances.Count > 0;
}
///
/// Gets and sets the property ListenerDescriptions.
///
/// The listeners for the load balancer.
///
///
public List ListenerDescriptions
{
get { return this._listenerDescriptions; }
set { this._listenerDescriptions = value; }
}
// Check to see if ListenerDescriptions property is set
internal bool IsSetListenerDescriptions()
{
return this._listenerDescriptions != null && this._listenerDescriptions.Count > 0;
}
///
/// Gets and sets the property LoadBalancerName.
///
/// The name of the load balancer.
///
///
public string LoadBalancerName
{
get { return this._loadBalancerName; }
set { this._loadBalancerName = value; }
}
// Check to see if LoadBalancerName property is set
internal bool IsSetLoadBalancerName()
{
return this._loadBalancerName != null;
}
///
/// Gets and sets the property Policies.
///
/// The policies defined for the load balancer.
///
///
public Policies Policies
{
get { return this._policies; }
set { this._policies = value; }
}
// Check to see if Policies property is set
internal bool IsSetPolicies()
{
return this._policies != null;
}
///
/// Gets and sets the property 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.
///
///
public string Scheme
{
get { return this._scheme; }
set { this._scheme = value; }
}
// Check to see if Scheme property is set
internal bool IsSetScheme()
{
return this._scheme != null;
}
///
/// Gets and sets the property SecurityGroups.
///
/// The security groups for the load balancer. Valid only for load balancers in a VPC.
///
///
public List SecurityGroups
{
get { return this._securityGroups; }
set { this._securityGroups = value; }
}
// Check to see if SecurityGroups property is set
internal bool IsSetSecurityGroups()
{
return this._securityGroups != null && this._securityGroups.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
public SourceSecurityGroup SourceSecurityGroup
{
get { return this._sourceSecurityGroup; }
set { this._sourceSecurityGroup = value; }
}
// Check to see if SourceSecurityGroup property is set
internal bool IsSetSourceSecurityGroup()
{
return this._sourceSecurityGroup != null;
}
///
/// Gets and sets the property Subnets.
///
/// The IDs of the subnets for the load balancer.
///
///
public List Subnets
{
get { return this._subnets; }
set { this._subnets = value; }
}
// Check to see if Subnets property is set
internal bool IsSetSubnets()
{
return this._subnets != null && this._subnets.Count > 0;
}
///
/// Gets and sets the property VPCId.
///
/// The ID of the VPC for the load balancer.
///
///
public string VPCId
{
get { return this._vpcId; }
set { this._vpcId = value; }
}
// Check to see if VPCId property is set
internal bool IsSetVPCId()
{
return this._vpcId != null;
}
}
}