/* * 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 CreateTaskSet operation. /// Create a task set in the specified cluster and service. This is used when a service /// uses the EXTERNAL deployment controller type. For more information, see /// Amazon /// ECS deployment types in the Amazon Elastic Container Service Developer Guide. /// public partial class CreateTaskSetRequest : AmazonECSRequest { private List _capacityProviderStrategy = new List(); private string _clientToken; private string _cluster; private string _externalId; private LaunchType _launchType; private List _loadBalancers = new List(); private NetworkConfiguration _networkConfiguration; private string _platformVersion; private Scale _scale; private string _service; private List _serviceRegistries = new List(); private List _tags = new List(); private string _taskDefinition; /// /// Gets and sets the property CapacityProviderStrategy. /// /// The capacity provider strategy to use for the task set. /// /// /// /// A capacity provider strategy consists of one or more capacity providers along with /// the base and weight to assign to them. A capacity provider /// must be associated with the cluster to be used in a capacity provider strategy. The /// PutClusterCapacityProviders API is used to associate a capacity provider with /// a cluster. Only capacity providers with an ACTIVE or UPDATING /// status can be used. /// /// /// /// If a capacityProviderStrategy is specified, the launchType /// parameter must be omitted. If no capacityProviderStrategy or launchType /// is specified, the defaultCapacityProviderStrategy for the cluster is /// used. /// /// /// /// If specifying a capacity provider that uses an Auto Scaling group, the capacity provider /// must already be created. New 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 PutClusterCapacityProviders API operation is used to update the list of /// available capacity providers for a cluster after the cluster is created. /// /// public List CapacityProviderStrategy { get { return this._capacityProviderStrategy; } set { this._capacityProviderStrategy = value; } } // Check to see if CapacityProviderStrategy property is set internal bool IsSetCapacityProviderStrategy() { return this._capacityProviderStrategy != null && this._capacityProviderStrategy.Count > 0; } /// /// Gets and sets the property ClientToken. /// /// The identifier that you provide to ensure the idempotency of the request. It's case /// sensitive and must be unique. It can be up to 32 ASCII characters are allowed. /// /// public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property Cluster. /// /// The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service /// to create the task set in. /// /// [AWSProperty(Required=true)] public string Cluster { get { return this._cluster; } set { this._cluster = value; } } // Check to see if Cluster property is set internal bool IsSetCluster() { return this._cluster != null; } /// /// Gets and sets the property ExternalId. /// /// An optional non-unique tag that identifies this task set in external systems. If the /// task set is associated with a service discovery registry, the tasks in this task set /// will have the ECS_TASK_SET_EXTERNAL_ID Cloud Map attribute set to the /// provided value. /// /// public string ExternalId { get { return this._externalId; } set { this._externalId = value; } } // Check to see if ExternalId property is set internal bool IsSetExternalId() { return this._externalId != null; } /// /// Gets and sets the property LaunchType. /// /// The launch type that new tasks in the task set uses. For more information, see Amazon /// ECS launch types in the Amazon Elastic Container Service Developer Guide. /// /// /// /// If a launchType is specified, the capacityProviderStrategy /// parameter must be omitted. /// /// public LaunchType LaunchType { get { return this._launchType; } set { this._launchType = value; } } // Check to see if LaunchType property is set internal bool IsSetLaunchType() { return this._launchType != null; } /// /// Gets and sets the property LoadBalancers. /// /// A load balancer object representing the load balancer to use with the task set. The /// supported load balancer types are either an Application Load Balancer or a Network /// Load Balancer. /// /// public List LoadBalancers { get { return this._loadBalancers; } set { this._loadBalancers = value; } } // Check to see if LoadBalancers property is set internal bool IsSetLoadBalancers() { return this._loadBalancers != null && this._loadBalancers.Count > 0; } /// /// Gets and sets the property NetworkConfiguration. /// /// An object representing the network configuration for a task set. /// /// public NetworkConfiguration NetworkConfiguration { get { return this._networkConfiguration; } set { this._networkConfiguration = value; } } // Check to see if NetworkConfiguration property is set internal bool IsSetNetworkConfiguration() { return this._networkConfiguration != null; } /// /// Gets and sets the property PlatformVersion. /// /// The platform version that the tasks in the task set uses. A platform version is specified /// only for tasks using the Fargate launch type. If one isn't specified, the LATEST /// platform version is used. /// /// public string PlatformVersion { get { return this._platformVersion; } set { this._platformVersion = value; } } // Check to see if PlatformVersion property is set internal bool IsSetPlatformVersion() { return this._platformVersion != null; } /// /// Gets and sets the property Scale. /// /// A floating-point percentage of the desired number of tasks to place and keep running /// in the task set. /// /// public Scale Scale { get { return this._scale; } set { this._scale = value; } } // Check to see if Scale property is set internal bool IsSetScale() { return this._scale != null; } /// /// Gets and sets the property Service. /// /// The short name or full Amazon Resource Name (ARN) of the service to create the task /// set in. /// /// [AWSProperty(Required=true)] public string Service { get { return this._service; } set { this._service = value; } } // Check to see if Service property is set internal bool IsSetService() { return this._service != null; } /// /// Gets and sets the property ServiceRegistries. /// /// The details of the service discovery registries to assign to this task set. For more /// information, see Service /// discovery. /// /// public List ServiceRegistries { get { return this._serviceRegistries; } set { this._serviceRegistries = value; } } // Check to see if ServiceRegistries property is set internal bool IsSetServiceRegistries() { return this._serviceRegistries != null && this._serviceRegistries.Count > 0; } /// /// Gets and sets the property Tags. /// /// The metadata that you apply to the task set to help you categorize and organize them. /// Each tag consists of a key and an optional value. You define both. When a service /// is deleted, the tags are deleted. /// /// /// /// 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; } /// /// Gets and sets the property TaskDefinition. /// /// The task definition for the tasks in the task set to use. /// /// [AWSProperty(Required=true)] public string TaskDefinition { get { return this._taskDefinition; } set { this._taskDefinition = value; } } // Check to see if TaskDefinition property is set internal bool IsSetTaskDefinition() { return this._taskDefinition != null; } } }