/* * 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 { /// /// Container for the parameters to the CreateCluster operation. /// Creates a new Amazon ECS cluster. By default, your account receives a default /// cluster when you launch your first container instance. However, you can create your /// own cluster with a unique name with the CreateCluster action. /// /// /// /// When you call the CreateCluster API operation, Amazon ECS attempts to create /// the Amazon ECS service-linked role for your account. This is so that it can manage /// required resources in other Amazon Web Services services on your behalf. However, /// if the user that makes the call doesn't have permissions to create the service-linked /// role, it isn't created. For more information, see Using /// service-linked roles for Amazon ECS in the Amazon Elastic Container Service /// Developer Guide. /// /// /// public partial class CreateClusterRequest : AmazonECSRequest { private List _capacityProviders = new List(); private string _clusterName; private ClusterConfiguration _configuration; private List _defaultCapacityProviderStrategy = new List(); private ClusterServiceConnectDefaultsRequest _serviceConnectDefaults; private List _settings = new List(); private List _tags = new List(); /// /// Gets and sets the property CapacityProviders. /// /// The short name of one or more capacity providers to associate with the cluster. A /// capacity provider must be associated with a cluster before it can be included as part /// of the default capacity provider strategy of the cluster or used in a capacity provider /// strategy when calling the CreateService /// or RunTask /// actions. /// /// /// /// If specifying a capacity provider that uses an Auto Scaling group, the capacity provider /// must be created but not associated with another cluster. New Auto Scaling group capacity /// providers can be created with the CreateCapacityProvider /// API operation. /// /// /// /// To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT /// capacity providers. The Fargate capacity providers are available to all accounts and /// only need to be associated with a cluster to be used. /// /// /// /// The PutCapacityProvider /// API operation is used to update the list of available capacity providers for a cluster /// after the cluster is created. /// /// 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 ClusterName. /// /// The name of your cluster. If you don't specify a name for your cluster, you create /// a cluster that's named default. Up to 255 letters (uppercase and lowercase), /// numbers, underscores, and hyphens are allowed. /// /// 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 capacity provider strategy to set as the default for the cluster. After a default /// capacity provider strategy is set for a cluster, when you call the CreateService /// or RunTask /// APIs with no capacity provider strategy or launch type specified, the default capacity /// provider strategy for the cluster is used. /// /// /// /// If a default capacity provider strategy isn't defined for a cluster when it was created, /// it can be defined later with the PutClusterCapacityProviders API operation. /// /// 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 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 ClusterServiceConnectDefaultsRequest 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 setting to use when creating a cluster. This parameter is used to turn on CloudWatch /// Container Insights for a cluster. If this value is specified, it overrides the containerInsights /// value set with PutAccountSetting or PutAccountSettingDefault. /// /// 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 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; } } }