/*
* 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
{
///
/// The overrides that should be sent to a container.
///
///
///
/// For information about using Batch overrides when you connect event sources to targets,
/// see BatchContainerOverrides.
///
///
public partial class ContainerOverrides
{
private List _command = new List();
private List _environment = new List();
private string _instanceType;
private int? _memory;
private List _resourceRequirements = new List();
private int? _vcpus;
///
/// Gets and sets the property Command.
///
/// The command to send to the container that overrides the default command from the Docker
/// image or the job definition.
///
///
///
/// This parameter can't contain an empty string.
///
///
///
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 Environment.
///
/// The environment variables to send to the container. You can add new environment variables,
/// which are added to the container at launch, or you can override the existing environment
/// variables from the Docker image or the job definition.
///
///
///
/// 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 InstanceType.
///
/// The instance type to use for a multi-node parallel job.
///
///
///
/// This parameter isn't applicable to single-node container jobs or jobs that run on
/// Fargate resources, and shouldn't be provided.
///
///
///
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 Memory.
///
/// This parameter is deprecated, use resourceRequirements
to override the
/// memory requirements specified in the job definition. It's not supported for jobs running
/// on Fargate resources. For jobs that run on EC2 resources, it overrides the memory
/// parameter set in the job definition, but doesn't override any memory requirement that's
/// specified in the resourceRequirements
structure in the job definition.
/// To override memory requirements that are specified in the resourceRequirements
/// structure in the job definition, resourceRequirements
must be specified
/// in the SubmitJob
request, with type
set to MEMORY
/// and value
set to the new value. For more information, see Can't
/// override job definition resource requirements in the Batch User Guide.
///
///
[Obsolete("This field is deprecated, use resourceRequirements instead.")]
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 ResourceRequirements.
///
/// The type and amount of resources to assign to a container. This overrides the settings
/// in the job definition. 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 Vcpus.
///
/// This parameter is deprecated, use resourceRequirements
to override the
/// vcpus
parameter that's set in the job definition. It's not supported
/// for jobs running on Fargate resources. For jobs that run on EC2 resources, it overrides
/// the vcpus
parameter set in the job definition, but doesn't override any
/// vCPU requirement specified in the resourceRequirements
structure in the
/// job definition. To override vCPU requirements that are specified in the resourceRequirements
/// structure in the job definition, resourceRequirements
must be specified
/// in the SubmitJob
request, with type
set to VCPU
/// and value
set to the new value. For more information, see Can't
/// override job definition resource requirements in the Batch User Guide.
///
///
[Obsolete("This field is deprecated, use resourceRequirements instead.")]
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;
}
}
}