/* * 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 { /// /// Details on a task in a cluster. /// public partial class Task { private List _attachments = new List(); private List _attributes = new List(); private string _availabilityZone; private string _capacityProviderName; private string _clusterArn; private Connectivity _connectivity; private DateTime? _connectivityAt; private string _containerInstanceArn; private List _containers = new List(); private string _cpu; private DateTime? _createdAt; private string _desiredStatus; private bool? _enableExecuteCommand; private EphemeralStorage _ephemeralStorage; private DateTime? _executionStoppedAt; private string _group; private HealthStatus _healthStatus; private List _inferenceAccelerators = new List(); private string _lastStatus; private LaunchType _launchType; private string _memory; private TaskOverride _overrides; private string _platformFamily; private string _platformVersion; private DateTime? _pullStartedAt; private DateTime? _pullStoppedAt; private DateTime? _startedAt; private string _startedBy; private TaskStopCode _stopCode; private DateTime? _stoppedAt; private string _stoppedReason; private DateTime? _stoppingAt; private List _tags = new List(); private string _taskArn; private string _taskDefinitionArn; private long? _version; /// /// Gets and sets the property Attachments. /// /// The Elastic Network Adapter that's associated with the task if the task uses the awsvpc /// network mode. /// /// 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 Attributes. /// /// The attributes of the task /// /// public List Attributes { get { return this._attributes; } set { this._attributes = value; } } // Check to see if Attributes property is set internal bool IsSetAttributes() { return this._attributes != null && this._attributes.Count > 0; } /// /// Gets and sets the property AvailabilityZone. /// /// The Availability Zone for the task. /// /// public string AvailabilityZone { get { return this._availabilityZone; } set { this._availabilityZone = value; } } // Check to see if AvailabilityZone property is set internal bool IsSetAvailabilityZone() { return this._availabilityZone != null; } /// /// Gets and sets the property CapacityProviderName. /// /// The capacity provider that's associated with the task. /// /// public string CapacityProviderName { get { return this._capacityProviderName; } set { this._capacityProviderName = value; } } // Check to see if CapacityProviderName property is set internal bool IsSetCapacityProviderName() { return this._capacityProviderName != null; } /// /// Gets and sets the property ClusterArn. /// /// The ARN of the cluster that hosts the task. /// /// 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 Connectivity. /// /// The connectivity status of a task. /// /// public Connectivity Connectivity { get { return this._connectivity; } set { this._connectivity = value; } } // Check to see if Connectivity property is set internal bool IsSetConnectivity() { return this._connectivity != null; } /// /// Gets and sets the property ConnectivityAt. /// /// The Unix timestamp for the time when the task last went into CONNECTED /// status. /// /// public DateTime ConnectivityAt { get { return this._connectivityAt.GetValueOrDefault(); } set { this._connectivityAt = value; } } // Check to see if ConnectivityAt property is set internal bool IsSetConnectivityAt() { return this._connectivityAt.HasValue; } /// /// Gets and sets the property ContainerInstanceArn. /// /// The ARN of the container instances that host the task. /// /// public string ContainerInstanceArn { get { return this._containerInstanceArn; } set { this._containerInstanceArn = value; } } // Check to see if ContainerInstanceArn property is set internal bool IsSetContainerInstanceArn() { return this._containerInstanceArn != null; } /// /// Gets and sets the property Containers. /// /// The containers that's associated with the task. /// /// public List Containers { get { return this._containers; } set { this._containers = value; } } // Check to see if Containers property is set internal bool IsSetContainers() { return this._containers != null && this._containers.Count > 0; } /// /// Gets and sets the property Cpu. /// /// The number of CPU units used by the task as expressed in a task definition. It can /// be expressed as an integer using CPU units (for example, 1024). It can /// also be expressed as a string using vCPUs (for example, 1 vCPU or 1 /// vcpu). String values are converted to an integer that indicates the CPU units /// when the task definition is registered. /// /// /// /// If you use the EC2 launch type, this field is optional. Supported values are between /// 128 CPU units (0.125 vCPUs) and 10240 CPU units /// (10 vCPUs). /// /// /// /// If you use the Fargate launch type, this field is required. You must use one of the /// following values. These values determine the range of supported values for the memory /// parameter: /// /// /// /// The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate. /// ///
  • /// /// 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), /// 2048 (2 GB) /// ///
  • /// /// 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 /// (3 GB), 4096 (4 GB) /// ///
  • /// /// 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 /// (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) /// ///
  • /// /// 2048 (2 vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) /// in increments of 1024 (1 GB) /// ///
  • /// /// 4096 (4 vCPU) - Available memory values: 8192 (8 GB) and 30720 (30 GB) /// in increments of 1024 (1 GB) /// ///
  • /// /// 8192 (8 vCPU) - Available memory values: 16 GB and 60 GB in 4 GB increments /// /// /// /// This option requires Linux platform 1.4.0 or later. /// ///
  • /// /// 16384 (16vCPU) - Available memory values: 32GB and 120 GB in 8 GB increments /// /// /// /// This option requires Linux platform 1.4.0 or later. /// ///
///
public string Cpu { get { return this._cpu; } set { this._cpu = value; } } // Check to see if Cpu property is set internal bool IsSetCpu() { return this._cpu != null; } /// /// Gets and sets the property CreatedAt. /// /// The Unix timestamp for the time when the task was created. More specifically, it's /// for the time when the task entered the PENDING state. /// /// 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 DesiredStatus. /// /// The desired status of the task. For more information, see Task /// Lifecycle. /// /// public string DesiredStatus { get { return this._desiredStatus; } set { this._desiredStatus = value; } } // Check to see if DesiredStatus property is set internal bool IsSetDesiredStatus() { return this._desiredStatus != null; } /// /// Gets and sets the property EnableExecuteCommand. /// /// Determines whether execute command functionality is turned on for this task. If true, /// execute command functionality is turned on all the containers in the task. /// /// public bool EnableExecuteCommand { get { return this._enableExecuteCommand.GetValueOrDefault(); } set { this._enableExecuteCommand = value; } } // Check to see if EnableExecuteCommand property is set internal bool IsSetEnableExecuteCommand() { return this._enableExecuteCommand.HasValue; } /// /// Gets and sets the property EphemeralStorage. /// /// The ephemeral storage settings for the task. /// /// public EphemeralStorage EphemeralStorage { get { return this._ephemeralStorage; } set { this._ephemeralStorage = value; } } // Check to see if EphemeralStorage property is set internal bool IsSetEphemeralStorage() { return this._ephemeralStorage != null; } /// /// Gets and sets the property ExecutionStoppedAt. /// /// The Unix timestamp for the time when the task execution stopped. /// /// public DateTime ExecutionStoppedAt { get { return this._executionStoppedAt.GetValueOrDefault(); } set { this._executionStoppedAt = value; } } // Check to see if ExecutionStoppedAt property is set internal bool IsSetExecutionStoppedAt() { return this._executionStoppedAt.HasValue; } /// /// Gets and sets the property Group. /// /// The name of the task group that's associated with the task. /// /// public string Group { get { return this._group; } set { this._group = value; } } // Check to see if Group property is set internal bool IsSetGroup() { return this._group != null; } /// /// Gets and sets the property HealthStatus. /// /// The health status for the task. It's determined by the health of the essential containers /// in the task. If all essential containers in the task are reporting as HEALTHY, /// the task status also reports as HEALTHY. If any essential containers /// in the task are reporting as UNHEALTHY or UNKNOWN, the task /// status also reports as UNHEALTHY or UNKNOWN. /// /// /// /// The Amazon ECS container agent doesn't monitor or report on Docker health checks that /// are embedded in a container image and not specified in the container definition. For /// example, this includes those specified in a parent image or from the image's Dockerfile. /// Health check parameters that are specified in a container definition override any /// Docker health checks that are found in the container image. /// /// /// public HealthStatus HealthStatus { get { return this._healthStatus; } set { this._healthStatus = value; } } // Check to see if HealthStatus property is set internal bool IsSetHealthStatus() { return this._healthStatus != null; } /// /// Gets and sets the property InferenceAccelerators. /// /// The Elastic Inference accelerator that's associated with the task. /// /// public List InferenceAccelerators { get { return this._inferenceAccelerators; } set { this._inferenceAccelerators = value; } } // Check to see if InferenceAccelerators property is set internal bool IsSetInferenceAccelerators() { return this._inferenceAccelerators != null && this._inferenceAccelerators.Count > 0; } /// /// Gets and sets the property LastStatus. /// /// The last known status for the task. For more information, see Task /// Lifecycle. /// /// public string LastStatus { get { return this._lastStatus; } set { this._lastStatus = value; } } // Check to see if LastStatus property is set internal bool IsSetLastStatus() { return this._lastStatus != null; } /// /// Gets and sets the property LaunchType. /// /// The infrastructure where your task runs on. For more information, see Amazon /// ECS launch types in the Amazon Elastic Container Service Developer Guide. /// /// 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 Memory. /// /// The amount of memory (in MiB) that the task uses as expressed in a task definition. /// It can be expressed as an integer using MiB (for example, 1024). If it's /// expressed as a string using GB (for example, 1GB or 1 GB), /// it's converted to an integer indicating the MiB when the task definition is registered. /// /// /// /// If you use the EC2 launch type, this field is optional. /// /// /// /// If you use the Fargate launch type, this field is required. You must use one of the /// following values. The value that you choose determines the range of supported values /// for the cpu parameter. /// ///
  • /// /// 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 /// vCPU) /// ///
  • /// /// 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: /// 512 (.5 vCPU) /// ///
  • /// /// 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 /// (8 GB) - Available cpu values: 1024 (1 vCPU) /// ///
  • /// /// Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu /// values: 2048 (2 vCPU) /// ///
  • /// /// Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu /// values: 4096 (4 vCPU) /// ///
  • /// /// Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 /// (8 vCPU) /// /// /// /// This option requires Linux platform 1.4.0 or later. /// ///
  • /// /// Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 /// (16 vCPU) /// /// /// /// This option requires Linux platform 1.4.0 or later. /// ///
///
public string Memory { get { return this._memory; } set { this._memory = value; } } // Check to see if Memory property is set internal bool IsSetMemory() { return this._memory != null; } /// /// Gets and sets the property Overrides. /// /// One or more container overrides. /// /// public TaskOverride Overrides { get { return this._overrides; } set { this._overrides = value; } } // Check to see if Overrides property is set internal bool IsSetOverrides() { return this._overrides != null; } /// /// Gets and sets the property PlatformFamily. /// /// The operating system that your tasks are running on. A platform family is specified /// only for tasks that use the Fargate launch type. /// /// /// /// All tasks that run as part of this service must use the same platformFamily /// value as the service (for example, LINUX.). /// /// public string PlatformFamily { get { return this._platformFamily; } set { this._platformFamily = value; } } // Check to see if PlatformFamily property is set internal bool IsSetPlatformFamily() { return this._platformFamily != null; } /// /// Gets and sets the property PlatformVersion. /// /// The platform version where your task runs on. A platform version is only specified /// for tasks that use the Fargate launch type. If you didn't specify one, the LATEST /// platform version is used. For more information, see Fargate /// Platform Versions in the Amazon Elastic Container Service Developer Guide. /// /// 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 PullStartedAt. /// /// The Unix timestamp for the time when the container image pull began. /// /// public DateTime PullStartedAt { get { return this._pullStartedAt.GetValueOrDefault(); } set { this._pullStartedAt = value; } } // Check to see if PullStartedAt property is set internal bool IsSetPullStartedAt() { return this._pullStartedAt.HasValue; } /// /// Gets and sets the property PullStoppedAt. /// /// The Unix timestamp for the time when the container image pull completed. /// /// public DateTime PullStoppedAt { get { return this._pullStoppedAt.GetValueOrDefault(); } set { this._pullStoppedAt = value; } } // Check to see if PullStoppedAt property is set internal bool IsSetPullStoppedAt() { return this._pullStoppedAt.HasValue; } /// /// Gets and sets the property StartedAt. /// /// The Unix timestamp for the time when the task started. More specifically, it's for /// the time when the task transitioned from the PENDING state to the RUNNING /// state. /// /// public DateTime StartedAt { get { return this._startedAt.GetValueOrDefault(); } set { this._startedAt = value; } } // Check to see if StartedAt property is set internal bool IsSetStartedAt() { return this._startedAt.HasValue; } /// /// Gets and sets the property StartedBy. /// /// The tag specified when a task is started. If an Amazon ECS service started the task, /// the startedBy parameter contains the deployment ID of that service. /// /// public string StartedBy { get { return this._startedBy; } set { this._startedBy = value; } } // Check to see if StartedBy property is set internal bool IsSetStartedBy() { return this._startedBy != null; } /// /// Gets and sets the property StopCode. /// /// The stop code indicating why a task was stopped. The stoppedReason might /// contain additional details. /// /// /// /// The following are valid values: /// ///
  • /// /// TaskFailedToStart /// ///
  • /// /// EssentialContainerExited /// ///
  • /// /// UserInitiated /// ///
  • /// /// TerminationNotice /// ///
  • /// /// ServiceSchedulerInitiated /// ///
  • /// /// SpotInterruption /// ///
///
public TaskStopCode StopCode { get { return this._stopCode; } set { this._stopCode = value; } } // Check to see if StopCode property is set internal bool IsSetStopCode() { return this._stopCode != null; } /// /// Gets and sets the property StoppedAt. /// /// The Unix timestamp for the time when the task was stopped. More specifically, it's /// for the time when the task transitioned from the RUNNING state to the /// STOPPED state. /// /// public DateTime StoppedAt { get { return this._stoppedAt.GetValueOrDefault(); } set { this._stoppedAt = value; } } // Check to see if StoppedAt property is set internal bool IsSetStoppedAt() { return this._stoppedAt.HasValue; } /// /// Gets and sets the property StoppedReason. /// /// The reason that the task was stopped. /// /// public string StoppedReason { get { return this._stoppedReason; } set { this._stoppedReason = value; } } // Check to see if StoppedReason property is set internal bool IsSetStoppedReason() { return this._stoppedReason != null; } /// /// Gets and sets the property StoppingAt. /// /// The Unix timestamp for the time when the task stops. More specifically, it's for the /// time when the task transitions from the RUNNING state to STOPPED. /// /// public DateTime StoppingAt { get { return this._stoppingAt.GetValueOrDefault(); } set { this._stoppingAt = value; } } // Check to see if StoppingAt property is set internal bool IsSetStoppingAt() { return this._stoppingAt.HasValue; } /// /// Gets and sets the property Tags. /// /// The metadata that you apply to the task to help you categorize and organize the task. /// Each tag consists of a key and an optional value. You define both the key and value. /// /// /// /// 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 TaskArn. /// /// The Amazon Resource Name (ARN) of the task. /// /// public string TaskArn { get { return this._taskArn; } set { this._taskArn = value; } } // Check to see if TaskArn property is set internal bool IsSetTaskArn() { return this._taskArn != null; } /// /// Gets and sets the property TaskDefinitionArn. /// /// The ARN of the task definition that creates the task. /// /// public string TaskDefinitionArn { get { return this._taskDefinitionArn; } set { this._taskDefinitionArn = value; } } // Check to see if TaskDefinitionArn property is set internal bool IsSetTaskDefinitionArn() { return this._taskDefinitionArn != null; } /// /// Gets and sets the property Version. /// /// The version counter for the task. Every time a task experiences a change that starts /// a CloudWatch event, the version counter is incremented. If you replicate your Amazon /// ECS task state with CloudWatch Events, you can compare the version of a task reported /// by the Amazon ECS API actions with the version reported in CloudWatch Events for the /// task (inside the detail object) to verify that the version in your event /// stream is current. /// /// public long Version { get { return this._version.GetValueOrDefault(); } set { this._version = value; } } // Check to see if Version property is set internal bool IsSetVersion() { return this._version.HasValue; } } }