/*
* 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 ecs-2014-11-13.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.ECS.Model
{
///
/// A regional grouping of one or more container instances where you can run task requests.
/// Each account receives a default cluster the first time you use the Amazon ECS service,
/// but you may also create other clusters. Clusters may contain more than one instance
/// type simultaneously.
///
public partial class Cluster
{
private int? _activeServicesCount;
private List _attachments = new List();
private string _attachmentsStatus;
private List _capacityProviders = new List();
private string _clusterArn;
private string _clusterName;
private ClusterConfiguration _configuration;
private List _defaultCapacityProviderStrategy = new List();
private int? _pendingTasksCount;
private int? _registeredContainerInstancesCount;
private int? _runningTasksCount;
private ClusterServiceConnectDefaults _serviceConnectDefaults;
private List _settings = new List();
private List _statistics = new List();
private string _status;
private List _tags = new List();
///
/// Gets and sets the property ActiveServicesCount.
///
/// The number of services that are running on the cluster in an ACTIVE
state.
/// You can view these services with ListServices.
///
///
public int ActiveServicesCount
{
get { return this._activeServicesCount.GetValueOrDefault(); }
set { this._activeServicesCount = value; }
}
// Check to see if ActiveServicesCount property is set
internal bool IsSetActiveServicesCount()
{
return this._activeServicesCount.HasValue;
}
///
/// Gets and sets the property Attachments.
///
/// The resources attached to a cluster. When using a capacity provider with a cluster,
/// the capacity provider and associated resources are returned as cluster attachments.
///
///
public List Attachments
{
get { return this._attachments; }
set { this._attachments = value; }
}
// Check to see if Attachments property is set
internal bool IsSetAttachments()
{
return this._attachments != null && this._attachments.Count > 0;
}
///
/// Gets and sets the property AttachmentsStatus.
///
/// The status of the capacity providers associated with the cluster. The following are
/// the states that are returned.
///
/// - UPDATE_IN_PROGRESS
-
///
/// The available capacity providers for the cluster are updating.
///
///
- UPDATE_COMPLETE
-
///
/// The capacity providers have successfully updated.
///
///
- UPDATE_FAILED
-
///
/// The capacity provider updates failed.
///
///
///
public string AttachmentsStatus
{
get { return this._attachmentsStatus; }
set { this._attachmentsStatus = value; }
}
// Check to see if AttachmentsStatus property is set
internal bool IsSetAttachmentsStatus()
{
return this._attachmentsStatus != null;
}
///
/// Gets and sets the property CapacityProviders.
///
/// The capacity providers associated with the cluster.
///
///
public List CapacityProviders
{
get { return this._capacityProviders; }
set { this._capacityProviders = value; }
}
// Check to see if CapacityProviders property is set
internal bool IsSetCapacityProviders()
{
return this._capacityProviders != null && this._capacityProviders.Count > 0;
}
///
/// Gets and sets the property ClusterArn.
///
/// The Amazon Resource Name (ARN) that identifies the cluster. For more information about
/// the ARN format, see Amazon
/// Resource Name (ARN) in the Amazon ECS Developer Guide.
///
///
public string ClusterArn
{
get { return this._clusterArn; }
set { this._clusterArn = value; }
}
// Check to see if ClusterArn property is set
internal bool IsSetClusterArn()
{
return this._clusterArn != null;
}
///
/// Gets and sets the property ClusterName.
///
/// A user-generated string that you use to identify your cluster.
///
///
public string ClusterName
{
get { return this._clusterName; }
set { this._clusterName = value; }
}
// Check to see if ClusterName property is set
internal bool IsSetClusterName()
{
return this._clusterName != null;
}
///
/// Gets and sets the property Configuration.
///
/// The execute command configuration for the cluster.
///
///
public ClusterConfiguration Configuration
{
get { return this._configuration; }
set { this._configuration = value; }
}
// Check to see if Configuration property is set
internal bool IsSetConfiguration()
{
return this._configuration != null;
}
///
/// Gets and sets the property DefaultCapacityProviderStrategy.
///
/// The default capacity provider strategy for the cluster. When services or tasks are
/// run in the cluster with no launch type or capacity provider strategy specified, the
/// default capacity provider strategy is used.
///
///
public List DefaultCapacityProviderStrategy
{
get { return this._defaultCapacityProviderStrategy; }
set { this._defaultCapacityProviderStrategy = value; }
}
// Check to see if DefaultCapacityProviderStrategy property is set
internal bool IsSetDefaultCapacityProviderStrategy()
{
return this._defaultCapacityProviderStrategy != null && this._defaultCapacityProviderStrategy.Count > 0;
}
///
/// Gets and sets the property PendingTasksCount.
///
/// The number of tasks in the cluster that are in the PENDING
state.
///
///
public int PendingTasksCount
{
get { return this._pendingTasksCount.GetValueOrDefault(); }
set { this._pendingTasksCount = value; }
}
// Check to see if PendingTasksCount property is set
internal bool IsSetPendingTasksCount()
{
return this._pendingTasksCount.HasValue;
}
///
/// Gets and sets the property RegisteredContainerInstancesCount.
///
/// The number of container instances registered into the cluster. This includes container
/// instances in both ACTIVE
and DRAINING
status.
///
///
public int RegisteredContainerInstancesCount
{
get { return this._registeredContainerInstancesCount.GetValueOrDefault(); }
set { this._registeredContainerInstancesCount = value; }
}
// Check to see if RegisteredContainerInstancesCount property is set
internal bool IsSetRegisteredContainerInstancesCount()
{
return this._registeredContainerInstancesCount.HasValue;
}
///
/// Gets and sets the property RunningTasksCount.
///
/// The number of tasks in the cluster that are in the RUNNING
state.
///
///
public int RunningTasksCount
{
get { return this._runningTasksCount.GetValueOrDefault(); }
set { this._runningTasksCount = value; }
}
// Check to see if RunningTasksCount property is set
internal bool IsSetRunningTasksCount()
{
return this._runningTasksCount.HasValue;
}
///
/// Gets and sets the property ServiceConnectDefaults.
///
/// Use this parameter to set a default Service Connect namespace. After you set a default
/// Service Connect namespace, any new services with Service Connect turned on that are
/// created in the cluster are added as client services in the namespace. This setting
/// only applies to new services that set the enabled
parameter to true
/// in the ServiceConnectConfiguration
. You can set the namespace of each
/// service individually in the ServiceConnectConfiguration
to override this
/// default parameter.
///
///
///
/// Tasks that run in a namespace can use short names to connect to services in the namespace.
/// Tasks can connect to services across all of the clusters in the namespace. Tasks connect
/// through a managed proxy container that collects logs and metrics for increased visibility.
/// Only the tasks that Amazon ECS services create are supported with Service Connect.
/// For more information, see Service
/// Connect in the Amazon Elastic Container Service Developer Guide.
///
///
public ClusterServiceConnectDefaults ServiceConnectDefaults
{
get { return this._serviceConnectDefaults; }
set { this._serviceConnectDefaults = value; }
}
// Check to see if ServiceConnectDefaults property is set
internal bool IsSetServiceConnectDefaults()
{
return this._serviceConnectDefaults != null;
}
///
/// Gets and sets the property Settings.
///
/// The settings for the cluster. This parameter indicates whether CloudWatch Container
/// Insights is on or off for a cluster.
///
///
public List Settings
{
get { return this._settings; }
set { this._settings = value; }
}
// Check to see if Settings property is set
internal bool IsSetSettings()
{
return this._settings != null && this._settings.Count > 0;
}
///
/// Gets and sets the property Statistics.
///
/// Additional information about your clusters that are separated by launch type. They
/// include the following:
///
/// -
///
/// runningEC2TasksCount
///
///
-
///
/// RunningFargateTasksCount
///
///
-
///
/// pendingEC2TasksCount
///
///
-
///
/// pendingFargateTasksCount
///
///
-
///
/// activeEC2ServiceCount
///
///
-
///
/// activeFargateServiceCount
///
///
-
///
/// drainingEC2ServiceCount
///
///
-
///
/// drainingFargateServiceCount
///
///
///
public List Statistics
{
get { return this._statistics; }
set { this._statistics = value; }
}
// Check to see if Statistics property is set
internal bool IsSetStatistics()
{
return this._statistics != null && this._statistics.Count > 0;
}
///
/// Gets and sets the property Status.
///
/// The status of the cluster. The following are the possible states that are returned.
///
/// - ACTIVE
-
///
/// The cluster is ready to accept tasks and if applicable you can register container
/// instances with the cluster.
///
///
- PROVISIONING
-
///
/// The cluster has capacity providers that are associated with it and the resources needed
/// for the capacity provider are being created.
///
///
- DEPROVISIONING
-
///
/// The cluster has capacity providers that are associated with it and the resources needed
/// for the capacity provider are being deleted.
///
///
- FAILED
-
///
/// The cluster has capacity providers that are associated with it and the resources needed
/// for the capacity provider have failed to create.
///
///
- INACTIVE
-
///
/// The cluster has been deleted. Clusters with an
INACTIVE
status may remain
/// discoverable in your account for a period of time. However, this behavior is subject
/// to change in the future. We don't recommend that you rely on INACTIVE
/// clusters persisting.
///
///
///
public string Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Tags.
///
/// The metadata that you apply to the cluster to help you categorize and organize them.
/// Each tag consists of a key and an optional value. You define both.
///
///
///
/// The following basic restrictions apply to tags:
///
/// -
///
/// Maximum number of tags per resource - 50
///
///
-
///
/// For each resource, each tag key must be unique, and each tag key can have only one
/// value.
///
///
-
///
/// Maximum key length - 128 Unicode characters in UTF-8
///
///
-
///
/// Maximum value length - 256 Unicode characters in UTF-8
///
///
-
///
/// If your tagging schema is used across multiple services and resources, remember that
/// other services may have restrictions on allowed characters. Generally allowed characters
/// are: letters, numbers, and spaces representable in UTF-8, and the following characters:
/// + - = . _ : / @.
///
///
-
///
/// Tag keys and values are case-sensitive.
///
///
-
///
/// Do not use
aws:
, AWS:
, or any upper or lowercase combination
/// of such as a prefix for either keys or values as it is reserved for Amazon Web Services
/// use. You cannot edit or delete tag keys or values with this prefix. Tags with this
/// prefix do not count against your tags per resource limit.
///
///
///
[AWSProperty(Min=0, Max=50)]
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;
}
}
}