/* * 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 { /// /// Describes an Amazon Lightsail container service. /// public partial class ContainerService { private string _arn; private string _containerServiceName; private DateTime? _createdAt; private ContainerServiceDeployment _currentDeployment; private bool? _isDisabled; private ResourceLocation _location; private ContainerServiceDeployment _nextDeployment; private ContainerServicePowerName _power; private string _powerId; private string _principalArn; private string _privateDomainName; private PrivateRegistryAccess _privateRegistryAccess; private Dictionary> _publicDomainNames = new Dictionary>(); private ResourceType _resourceType; private int? _scale; private ContainerServiceState _state; private ContainerServiceStateDetail _stateDetail; private List _tags = new List(); private string _url; /// /// Gets and sets the property Arn. /// /// The Amazon Resource Name (ARN) of the container service. /// /// public string Arn { get { return this._arn; } set { this._arn = value; } } // Check to see if Arn property is set internal bool IsSetArn() { return this._arn != null; } /// /// Gets and sets the property ContainerServiceName. /// /// The name of the container service. /// /// [AWSProperty(Min=1, Max=63)] public string ContainerServiceName { get { return this._containerServiceName; } set { this._containerServiceName = value; } } // Check to see if ContainerServiceName property is set internal bool IsSetContainerServiceName() { return this._containerServiceName != null; } /// /// Gets and sets the property CreatedAt. /// /// The timestamp when the container service was created. /// /// public DateTime CreatedAt { get { return this._createdAt.GetValueOrDefault(); } set { this._createdAt = value; } } // Check to see if CreatedAt property is set internal bool IsSetCreatedAt() { return this._createdAt.HasValue; } /// /// Gets and sets the property CurrentDeployment. /// /// An object that describes the current container deployment of the container service. /// /// public ContainerServiceDeployment CurrentDeployment { get { return this._currentDeployment; } set { this._currentDeployment = value; } } // Check to see if CurrentDeployment property is set internal bool IsSetCurrentDeployment() { return this._currentDeployment != null; } /// /// Gets and sets the property IsDisabled. /// /// A Boolean value indicating whether the container service is disabled. /// /// public bool IsDisabled { get { return this._isDisabled.GetValueOrDefault(); } set { this._isDisabled = value; } } // Check to see if IsDisabled property is set internal bool IsSetIsDisabled() { return this._isDisabled.HasValue; } /// /// Gets and sets the property Location. /// /// An object that describes the location of the container service, such as the Amazon /// Web Services Region and Availability Zone. /// /// public ResourceLocation Location { get { return this._location; } set { this._location = value; } } // Check to see if Location property is set internal bool IsSetLocation() { return this._location != null; } /// /// Gets and sets the property NextDeployment. /// /// An object that describes the next deployment of the container service. /// /// /// /// This value is null when there is no deployment in a pending /// state. /// /// public ContainerServiceDeployment NextDeployment { get { return this._nextDeployment; } set { this._nextDeployment = value; } } // Check to see if NextDeployment property is set internal bool IsSetNextDeployment() { return this._nextDeployment != null; } /// /// Gets and sets the property Power. /// /// The power specification of the container service. /// /// /// /// The power specifies the amount of RAM, the number of vCPUs, and the base price of /// the container service. /// /// public ContainerServicePowerName Power { get { return this._power; } set { this._power = value; } } // Check to see if Power property is set internal bool IsSetPower() { return this._power != null; } /// /// Gets and sets the property PowerId. /// /// The ID of the power of the container service. /// /// public string PowerId { get { return this._powerId; } set { this._powerId = value; } } // Check to see if PowerId property is set internal bool IsSetPowerId() { return this._powerId != null; } /// /// Gets and sets the property PrincipalArn. /// /// The principal ARN of the container service. /// /// /// /// The principal ARN can be used to create a trust relationship between your standard /// Amazon Web Services account and your Lightsail container service. This allows you /// to give your service permission to access resources in your standard Amazon Web Services /// account. /// /// public string PrincipalArn { get { return this._principalArn; } set { this._principalArn = value; } } // Check to see if PrincipalArn property is set internal bool IsSetPrincipalArn() { return this._principalArn != null; } /// /// Gets and sets the property PrivateDomainName. /// /// The private domain name of the container service. /// /// /// /// The private domain name is accessible only by other resources within the default virtual /// private cloud (VPC) of your Lightsail account. /// /// public string PrivateDomainName { get { return this._privateDomainName; } set { this._privateDomainName = value; } } // Check to see if PrivateDomainName property is set internal bool IsSetPrivateDomainName() { return this._privateDomainName != null; } /// /// Gets and sets the property PrivateRegistryAccess. /// /// An object that describes the configuration for the container service to access private /// container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) /// private repositories. /// /// /// /// For more information, see Configuring /// access to an Amazon ECR private repository for an Amazon Lightsail container service /// in the Amazon Lightsail Developer Guide. /// /// public PrivateRegistryAccess PrivateRegistryAccess { get { return this._privateRegistryAccess; } set { this._privateRegistryAccess = value; } } // Check to see if PrivateRegistryAccess property is set internal bool IsSetPrivateRegistryAccess() { return this._privateRegistryAccess != null; } /// /// Gets and sets the property PublicDomainNames. /// /// The public domain name of the container service, such as example.com /// and www.example.com. /// /// /// /// You can specify up to four public domain names for a container service. The domain /// names that you specify are used when you create a deployment with a container configured /// as the public endpoint of your container service. /// /// /// /// If you don't specify public domain names, then you can use the default domain of the /// container service. /// /// /// /// You must create and validate an SSL/TLS certificate before you can use public domain /// names with your container service. Use the CreateCertificate action to /// create a certificate for the public domain names you want to use with your container /// service. /// /// /// /// See CreateContainerService or UpdateContainerService for /// information about how to specify public domain names for your Lightsail container /// service. /// /// public Dictionary> PublicDomainNames { get { return this._publicDomainNames; } set { this._publicDomainNames = value; } } // Check to see if PublicDomainNames property is set internal bool IsSetPublicDomainNames() { return this._publicDomainNames != null && this._publicDomainNames.Count > 0; } /// /// Gets and sets the property ResourceType. /// /// The Lightsail resource type of the container service (i.e., ContainerService). /// /// public ResourceType ResourceType { get { return this._resourceType; } set { this._resourceType = value; } } // Check to see if ResourceType property is set internal bool IsSetResourceType() { return this._resourceType != null; } /// /// Gets and sets the property Scale. /// /// The scale specification of the container service. /// /// /// /// The scale specifies the allocated compute nodes of the container service. /// /// [AWSProperty(Min=1, Max=20)] public int Scale { get { return this._scale.GetValueOrDefault(); } set { this._scale = value; } } // Check to see if Scale property is set internal bool IsSetScale() { return this._scale.HasValue; } /// /// Gets and sets the property State. /// /// The current state of the container service. /// /// /// /// The following container service states are possible: /// ///
  • /// /// PENDING - The container service is being created. /// ///
  • /// /// READY - The container service is running but it does not have an active /// container deployment. /// ///
  • /// /// DEPLOYING - The container service is launching a container deployment. /// ///
  • /// /// RUNNING - The container service is running and it has an active container /// deployment. /// ///
  • /// /// UPDATING - The container service capacity or its custom domains are /// being updated. /// ///
  • /// /// DELETING - The container service is being deleted. /// ///
  • /// /// DISABLED - The container service is disabled, and its active deployment /// and containers, if any, are shut down. /// ///
///
public ContainerServiceState 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 StateDetail. /// /// An object that describes the current state of the container service. /// /// /// /// The state detail is populated only when a container service is in a PENDING, /// DEPLOYING, or UPDATING state. /// /// /// public ContainerServiceStateDetail StateDetail { get { return this._stateDetail; } set { this._stateDetail = value; } } // Check to see if StateDetail property is set internal bool IsSetStateDetail() { return this._stateDetail != null; } /// /// Gets and sets the property Tags. /// /// The tag keys and optional values for the resource. For more information about tags /// in Lightsail, see the Amazon /// Lightsail Developer Guide. /// /// 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 Url. /// /// The publicly accessible URL of the container service. /// /// /// /// If no public endpoint is specified in the currentDeployment, this URL /// returns a 404 response. /// /// public string Url { get { return this._url; } set { this._url = value; } } // Check to see if Url property is set internal bool IsSetUrl() { return this._url != null; } } }