/* * 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 batch-2016-08-10.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.Batch.Model { /// /// An object that represents the details of a container that's part of a job. /// public partial class ContainerDetail { private List _command = new List(); private string _containerInstanceArn; private List _environment = new List(); private EphemeralStorage _ephemeralStorage; private string _executionRoleArn; private int? _exitCode; private FargatePlatformConfiguration _fargatePlatformConfiguration; private string _image; private string _instanceType; private string _jobRoleArn; private LinuxParameters _linuxParameters; private LogConfiguration _logConfiguration; private string _logStreamName; private int? _memory; private List _mountPoints = new List(); private NetworkConfiguration _networkConfiguration; private List _networkInterfaces = new List(); private bool? _privileged; private bool? _readonlyRootFilesystem; private string _reason; private List _resourceRequirements = new List(); private RuntimePlatform _runtimePlatform; private List _secrets = new List(); private string _taskArn; private List _ulimits = new List(); private string _user; private int? _vcpus; private List _volumes = new List(); /// /// Gets and sets the property Command. /// /// The command that's passed to the container. /// /// public List Command { get { return this._command; } set { this._command = value; } } // Check to see if Command property is set internal bool IsSetCommand() { return this._command != null && this._command.Count > 0; } /// /// Gets and sets the property ContainerInstanceArn. /// /// The Amazon Resource Name (ARN) of the container instance that the container is running /// on. /// /// 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 Environment. /// /// The environment variables to pass to a container. /// /// /// /// Environment variables cannot start with "AWS_BATCH". This naming convention /// is reserved for variables that Batch sets. /// /// /// public List Environment { get { return this._environment; } set { this._environment = value; } } // Check to see if Environment property is set internal bool IsSetEnvironment() { return this._environment != null && this._environment.Count > 0; } /// /// Gets and sets the property EphemeralStorage. /// /// The amount of ephemeral storage allocated for the task. This parameter is used to /// expand the total amount of ephemeral storage available, beyond the default amount, /// for tasks hosted on Fargate. /// /// 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 ExecutionRoleArn. /// /// The Amazon Resource Name (ARN) of the execution role that Batch can assume. For more /// information, see Batch /// execution IAM role in the Batch User Guide. /// /// public string ExecutionRoleArn { get { return this._executionRoleArn; } set { this._executionRoleArn = value; } } // Check to see if ExecutionRoleArn property is set internal bool IsSetExecutionRoleArn() { return this._executionRoleArn != null; } /// /// Gets and sets the property ExitCode. /// /// The exit code to return upon completion. /// /// public int ExitCode { get { return this._exitCode.GetValueOrDefault(); } set { this._exitCode = value; } } // Check to see if ExitCode property is set internal bool IsSetExitCode() { return this._exitCode.HasValue; } /// /// Gets and sets the property FargatePlatformConfiguration. /// /// The platform configuration for jobs that are running on Fargate resources. Jobs that /// are running on EC2 resources must not specify this parameter. /// /// public FargatePlatformConfiguration FargatePlatformConfiguration { get { return this._fargatePlatformConfiguration; } set { this._fargatePlatformConfiguration = value; } } // Check to see if FargatePlatformConfiguration property is set internal bool IsSetFargatePlatformConfiguration() { return this._fargatePlatformConfiguration != null; } /// /// Gets and sets the property Image. /// /// The image used to start the container. /// /// public string Image { get { return this._image; } set { this._image = value; } } // Check to see if Image property is set internal bool IsSetImage() { return this._image != null; } /// /// Gets and sets the property InstanceType. /// /// The instance type of the underlying host infrastructure of a multi-node parallel job. /// /// /// /// This parameter isn't applicable to jobs that are running on Fargate resources. /// /// /// public string InstanceType { get { return this._instanceType; } set { this._instanceType = value; } } // Check to see if InstanceType property is set internal bool IsSetInstanceType() { return this._instanceType != null; } /// /// Gets and sets the property JobRoleArn. /// /// The Amazon Resource Name (ARN) that's associated with the job when run. /// /// public string JobRoleArn { get { return this._jobRoleArn; } set { this._jobRoleArn = value; } } // Check to see if JobRoleArn property is set internal bool IsSetJobRoleArn() { return this._jobRoleArn != null; } /// /// Gets and sets the property LinuxParameters. /// /// Linux-specific modifications that are applied to the container, such as details for /// device mappings. /// /// public LinuxParameters LinuxParameters { get { return this._linuxParameters; } set { this._linuxParameters = value; } } // Check to see if LinuxParameters property is set internal bool IsSetLinuxParameters() { return this._linuxParameters != null; } /// /// Gets and sets the property LogConfiguration. /// /// The log configuration specification for the container. /// /// /// /// This parameter maps to LogConfig in the Create /// a container section of the Docker /// Remote API and the --log-driver option to docker /// run. By default, containers use the same logging driver that the Docker daemon /// uses. However, the container might use a different logging driver than the Docker /// daemon by specifying a log driver with this parameter in the container definition. /// To use a different logging driver for a container, the log system must be configured /// properly on the container instance. Or, alternatively, it must be configured on a /// different log server for remote logging options. For more information on the options /// for different supported log drivers, see Configure /// logging drivers in the Docker documentation. /// /// /// /// Batch currently supports a subset of the logging drivers available to the Docker daemon /// (shown in the LogConfiguration data type). Additional log drivers might be /// available in future releases of the Amazon ECS container agent. /// /// /// /// This parameter requires version 1.18 of the Docker Remote API or greater on your container /// instance. To check the Docker Remote API version on your container instance, log in /// to your container instance and run the following command: sudo docker version /// | grep "Server API version" /// /// /// /// The Amazon ECS container agent running on a container instance must register the logging /// drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS /// environment variable before containers placed on that instance can use these log configuration /// options. For more information, see Amazon /// ECS container agent configuration in the Amazon Elastic Container Service Developer /// Guide. /// /// /// public LogConfiguration LogConfiguration { get { return this._logConfiguration; } set { this._logConfiguration = value; } } // Check to see if LogConfiguration property is set internal bool IsSetLogConfiguration() { return this._logConfiguration != null; } /// /// Gets and sets the property LogStreamName. /// /// The name of the Amazon CloudWatch Logs log stream that's associated with the container. /// The log group for Batch jobs is /aws/batch/job. Each container attempt /// receives a log stream name when they reach the RUNNING status. /// /// public string LogStreamName { get { return this._logStreamName; } set { this._logStreamName = value; } } // Check to see if LogStreamName property is set internal bool IsSetLogStreamName() { return this._logStreamName != null; } /// /// Gets and sets the property Memory. /// /// For jobs running on EC2 resources that didn't specify memory requirements using resourceRequirements, /// the number of MiB of memory reserved for the job. For other jobs, including all run /// on Fargate resources, see resourceRequirements. /// /// public int Memory { get { return this._memory.GetValueOrDefault(); } set { this._memory = value; } } // Check to see if Memory property is set internal bool IsSetMemory() { return this._memory.HasValue; } /// /// Gets and sets the property MountPoints. /// /// The mount points for data volumes in your container. /// /// public List MountPoints { get { return this._mountPoints; } set { this._mountPoints = value; } } // Check to see if MountPoints property is set internal bool IsSetMountPoints() { return this._mountPoints != null && this._mountPoints.Count > 0; } /// /// Gets and sets the property NetworkConfiguration. /// /// The network configuration for jobs that are running on Fargate resources. Jobs that /// are running on EC2 resources must not specify this parameter. /// /// 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 NetworkInterfaces. /// /// The network interfaces that are associated with the job. /// /// public List NetworkInterfaces { get { return this._networkInterfaces; } set { this._networkInterfaces = value; } } // Check to see if NetworkInterfaces property is set internal bool IsSetNetworkInterfaces() { return this._networkInterfaces != null && this._networkInterfaces.Count > 0; } /// /// Gets and sets the property Privileged. /// /// When this parameter is true, the container is given elevated permissions on the host /// container instance (similar to the root user). The default value is false. /// /// /// /// This parameter isn't applicable to jobs that are running on Fargate resources and /// shouldn't be provided, or specified as false. /// /// /// public bool Privileged { get { return this._privileged.GetValueOrDefault(); } set { this._privileged = value; } } // Check to see if Privileged property is set internal bool IsSetPrivileged() { return this._privileged.HasValue; } /// /// Gets and sets the property ReadonlyRootFilesystem. /// /// When this parameter is true, the container is given read-only access to its root file /// system. This parameter maps to ReadonlyRootfs in the Create /// a container section of the Docker /// Remote API and the --read-only option to /// docker run . /// /// public bool ReadonlyRootFilesystem { get { return this._readonlyRootFilesystem.GetValueOrDefault(); } set { this._readonlyRootFilesystem = value; } } // Check to see if ReadonlyRootFilesystem property is set internal bool IsSetReadonlyRootFilesystem() { return this._readonlyRootFilesystem.HasValue; } /// /// Gets and sets the property Reason. /// /// A short (255 max characters) human-readable string to provide additional details for /// a running or stopped container. /// /// public string Reason { get { return this._reason; } set { this._reason = value; } } // Check to see if Reason property is set internal bool IsSetReason() { return this._reason != null; } /// /// Gets and sets the property ResourceRequirements. /// /// The type and amount of resources to assign to a container. The supported resources /// include GPU, MEMORY, and VCPU. /// /// public List ResourceRequirements { get { return this._resourceRequirements; } set { this._resourceRequirements = value; } } // Check to see if ResourceRequirements property is set internal bool IsSetResourceRequirements() { return this._resourceRequirements != null && this._resourceRequirements.Count > 0; } /// /// Gets and sets the property RuntimePlatform. /// public RuntimePlatform RuntimePlatform { get { return this._runtimePlatform; } set { this._runtimePlatform = value; } } // Check to see if RuntimePlatform property is set internal bool IsSetRuntimePlatform() { return this._runtimePlatform != null; } /// /// Gets and sets the property Secrets. /// /// The secrets to pass to the container. For more information, see Specifying /// sensitive data in the Batch User Guide. /// /// public List Secrets { get { return this._secrets; } set { this._secrets = value; } } // Check to see if Secrets property is set internal bool IsSetSecrets() { return this._secrets != null && this._secrets.Count > 0; } /// /// Gets and sets the property TaskArn. /// /// The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with the container /// job. Each container attempt receives a task ARN when they reach the STARTING /// status. /// /// 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 Ulimits. /// /// A list of ulimit values to set in the container. This parameter maps /// to Ulimits in the Create /// a container section of the Docker /// Remote API and the --ulimit option to docker /// run. /// /// /// /// This parameter isn't applicable to jobs that are running on Fargate resources. /// /// /// public List Ulimits { get { return this._ulimits; } set { this._ulimits = value; } } // Check to see if Ulimits property is set internal bool IsSetUlimits() { return this._ulimits != null && this._ulimits.Count > 0; } /// /// Gets and sets the property User. /// /// The user name to use inside the container. This parameter maps to User /// in the Create /// a container section of the Docker /// Remote API and the --user option to docker /// run. /// /// public string User { get { return this._user; } set { this._user = value; } } // Check to see if User property is set internal bool IsSetUser() { return this._user != null; } /// /// Gets and sets the property Vcpus. /// /// The number of vCPUs reserved for the container. For jobs that run on EC2 resources, /// you can specify the vCPU requirement for the job using resourceRequirements, /// but you can't specify the vCPU requirements in both the vcpus and resourceRequirements /// object. This parameter maps to CpuShares in the Create /// a container section of the Docker /// Remote API and the --cpu-shares option to docker /// run. Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one /// vCPU. This is required but can be specified in several places. It must be specified /// for each node at least once. /// /// /// /// This parameter isn't applicable to jobs that run on Fargate resources. For jobs that /// run on Fargate resources, you must specify the vCPU requirement for the job using /// resourceRequirements. /// /// /// public int Vcpus { get { return this._vcpus.GetValueOrDefault(); } set { this._vcpus = value; } } // Check to see if Vcpus property is set internal bool IsSetVcpus() { return this._vcpus.HasValue; } /// /// Gets and sets the property Volumes. /// /// A list of volumes that are associated with the job. /// /// public List Volumes { get { return this._volumes; } set { this._volumes = value; } } // Check to see if Volumes property is set internal bool IsSetVolumes() { return this._volumes != null && this._volumes.Count > 0; } } }