/*
* 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 lightsail-2016-11-28.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.Lightsail.Model
{
///
/// Container for the parameters to the CreateLoadBalancer operation.
/// Creates a Lightsail load balancer. To learn more about deciding whether to load balance
/// your application, see Configure
/// your Lightsail instances for load balancing. You can create up to 5 load balancers
/// per AWS Region in your account.
///
///
///
/// When you create a load balancer, you can specify a unique name and port settings.
/// To change additional load balancer settings, use the UpdateLoadBalancerAttribute
/// operation.
///
///
///
/// The create load balancer
operation supports tag-based access control
/// via request tags. For more information, see the Amazon
/// Lightsail Developer Guide.
///
///
public partial class CreateLoadBalancerRequest : AmazonLightsailRequest
{
private List _certificateAlternativeNames = new List();
private string _certificateDomainName;
private string _certificateName;
private string _healthCheckPath;
private int? _instancePort;
private IpAddressType _ipAddressType;
private string _loadBalancerName;
private List _tags = new List();
private string _tlsPolicyName;
///
/// Gets and sets the property CertificateAlternativeNames.
///
/// The optional alternative domains and subdomains to use with your SSL/TLS certificate
/// (e.g., www.example.com
, example.com
, m.example.com
,
/// blog.example.com
).
///
///
public List CertificateAlternativeNames
{
get { return this._certificateAlternativeNames; }
set { this._certificateAlternativeNames = value; }
}
// Check to see if CertificateAlternativeNames property is set
internal bool IsSetCertificateAlternativeNames()
{
return this._certificateAlternativeNames != null && this._certificateAlternativeNames.Count > 0;
}
///
/// Gets and sets the property CertificateDomainName.
///
/// The domain name with which your certificate is associated (e.g., example.com
).
///
///
///
/// If you specify certificateDomainName
, then certificateName
/// is required (and vice-versa).
///
///
public string CertificateDomainName
{
get { return this._certificateDomainName; }
set { this._certificateDomainName = value; }
}
// Check to see if CertificateDomainName property is set
internal bool IsSetCertificateDomainName()
{
return this._certificateDomainName != null;
}
///
/// Gets and sets the property CertificateName.
///
/// The name of the SSL/TLS certificate.
///
///
///
/// If you specify certificateName
, then certificateDomainName
/// is required (and vice-versa).
///
///
public string CertificateName
{
get { return this._certificateName; }
set { this._certificateName = value; }
}
// Check to see if CertificateName property is set
internal bool IsSetCertificateName()
{
return this._certificateName != null;
}
///
/// Gets and sets the property HealthCheckPath.
///
/// The path you provided to perform the load balancer health check. If you didn't specify
/// a health check path, Lightsail uses the root path of your website (e.g., "/"
).
///
///
///
/// You may want to specify a custom health check path other than the root of your application
/// if your home page loads slowly or has a lot of media or scripting on it.
///
///
public string HealthCheckPath
{
get { return this._healthCheckPath; }
set { this._healthCheckPath = value; }
}
// Check to see if HealthCheckPath property is set
internal bool IsSetHealthCheckPath()
{
return this._healthCheckPath != null;
}
///
/// Gets and sets the property InstancePort.
///
/// The instance port where you're creating your load balancer.
///
///
[AWSProperty(Required=true, Min=-1, Max=65535)]
public int InstancePort
{
get { return this._instancePort.GetValueOrDefault(); }
set { this._instancePort = value; }
}
// Check to see if InstancePort property is set
internal bool IsSetInstancePort()
{
return this._instancePort.HasValue;
}
///
/// Gets and sets the property IpAddressType.
///
/// The IP address type for the load balancer.
///
///
///
/// The possible values are ipv4
for IPv4 only, and dualstack
/// for IPv4 and IPv6.
///
///
///
/// The default value is dualstack
.
///
///
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 LoadBalancerName.
///
/// The name of your load balancer.
///
///
[AWSProperty(Required=true)]
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 Tags.
///
/// The tag keys and optional values to add to the resource during create.
///
///
///
/// Use the TagResource
action to tag a resource after it's created.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TlsPolicyName.
///
/// The name of the TLS policy to apply to the load balancer.
///
///
///
/// Use the GetLoadBalancerTlsPolicies
/// action to get a list of TLS policy names that you can specify.
///
///
///
/// For more information about load balancer TLS policies, see Configuring
/// TLS security policies on your Amazon Lightsail load balancers in the Amazon
/// Lightsail Developer Guide.
///
///
public string TlsPolicyName
{
get { return this._tlsPolicyName; }
set { this._tlsPolicyName = value; }
}
// Check to see if TlsPolicyName property is set
internal bool IsSetTlsPolicyName()
{
return this._tlsPolicyName != null;
}
}
}