/*
* 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 elasticloadbalancingv2-2015-12-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.ElasticLoadBalancingV2.Model
{
///
/// Information about a load balancer.
///
public partial class LoadBalancer
{
private List _availabilityZones = new List();
private string _canonicalHostedZoneId;
private DateTime? _createdTime;
private string _customerOwnedIpv4Pool;
private string _dnsName;
private IpAddressType _ipAddressType;
private string _loadBalancerArn;
private string _loadBalancerName;
private LoadBalancerSchemeEnum _scheme;
private List _securityGroups = new List();
private LoadBalancerState _state;
private LoadBalancerTypeEnum _type;
private string _vpcId;
///
/// Gets and sets the property AvailabilityZones.
///
/// The subnets 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 CanonicalHostedZoneId.
///
/// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
///
///
public string CanonicalHostedZoneId
{
get { return this._canonicalHostedZoneId; }
set { this._canonicalHostedZoneId = value; }
}
// Check to see if CanonicalHostedZoneId property is set
internal bool IsSetCanonicalHostedZoneId()
{
return this._canonicalHostedZoneId != 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 CustomerOwnedIpv4Pool.
///
/// [Application Load Balancers on Outposts] The ID of the customer-owned address pool.
///
///
[AWSProperty(Max=256)]
public string CustomerOwnedIpv4Pool
{
get { return this._customerOwnedIpv4Pool; }
set { this._customerOwnedIpv4Pool = value; }
}
// Check to see if CustomerOwnedIpv4Pool property is set
internal bool IsSetCustomerOwnedIpv4Pool()
{
return this._customerOwnedIpv4Pool != null;
}
///
/// Gets and sets the property DNSName.
///
/// The public 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 IpAddressType.
///
/// The type of IP addresses used by the subnets for your load balancer. The possible
/// values are ipv4
(for IPv4 addresses) and dualstack
(for
/// IPv4 and IPv6 addresses).
///
///
public IpAddressType IpAddressType
{
get { return this._ipAddressType; }
set { this._ipAddressType = value; }
}
// Check to see if IpAddressType property is set
internal bool IsSetIpAddressType()
{
return this._ipAddressType != null;
}
///
/// Gets and sets the property LoadBalancerArn.
///
/// The Amazon Resource Name (ARN) of the load balancer.
///
///
public string LoadBalancerArn
{
get { return this._loadBalancerArn; }
set { this._loadBalancerArn = value; }
}
// Check to see if LoadBalancerArn property is set
internal bool IsSetLoadBalancerArn()
{
return this._loadBalancerArn != null;
}
///
/// 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 Scheme.
///
/// The nodes of an Internet-facing load balancer have public IP addresses. The DNS name
/// of an Internet-facing load balancer is publicly resolvable to the public IP addresses
/// of the nodes. Therefore, Internet-facing load balancers can route requests from clients
/// over the internet.
///
///
///
/// The nodes of an internal load balancer have only private IP addresses. The DNS name
/// of an internal load balancer is publicly resolvable to the private IP addresses of
/// the nodes. Therefore, internal load balancers can route requests only from clients
/// with access to the VPC for the load balancer.
///
///
public LoadBalancerSchemeEnum 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 IDs of the security groups for the load balancer.
///
///
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 State.
///
/// The state of the load balancer.
///
///
public LoadBalancerState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property Type.
///
/// The type of load balancer.
///
///
public LoadBalancerTypeEnum Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// 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;
}
}
}