/*
* 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 details for container properties that are returned by DescribeJobs
/// for jobs that use Amazon EKS.
///
public partial class EksContainerDetail
{
private List _args = new List();
private List _command = new List();
private List _env = new List();
private int? _exitCode;
private string _image;
private string _imagePullPolicy;
private string _name;
private string _reason;
private EksContainerResourceRequirements _resources;
private EksContainerSecurityContext _securityContext;
private List _volumeMounts = new List();
///
/// Gets and sets the property Args.
///
/// An array of arguments to the entrypoint. If this isn't specified, the CMD
/// of the container image is used. This corresponds to the args
member in
/// the Entrypoint
/// portion of the Pod
/// in Kubernetes. Environment variable references are expanded using the container's
/// environment.
///
///
///
/// If the referenced environment variable doesn't exist, the reference in the command
/// isn't changed. For example, if the reference is to "$(NAME1)
" and the
/// NAME1
environment variable doesn't exist, the command string will remain
/// "$(NAME1)
". $$
is replaced with $
and the resulting
/// string isn't expanded. For example, $$(VAR_NAME)
is passed as $(VAR_NAME)
/// whether or not the VAR_NAME
environment variable exists. For more information,
/// see CMD in the
/// Dockerfile reference and Define
/// a command and arguments for a pod in the Kubernetes documentation.
///
///
public List Args
{
get { return this._args; }
set { this._args = value; }
}
// Check to see if Args property is set
internal bool IsSetArgs()
{
return this._args != null && this._args.Count > 0;
}
///
/// Gets and sets the property Command.
///
/// The entrypoint for the container. For more information, see Entrypoint
/// in the Kubernetes documentation.
///
///
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 Env.
///
/// 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 Env
{
get { return this._env; }
set { this._env = value; }
}
// Check to see if Env property is set
internal bool IsSetEnv()
{
return this._env != null && this._env.Count > 0;
}
///
/// Gets and sets the property ExitCode.
///
/// The exit code for the job attempt. A non-zero exit code is considered failed.
///
///
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 Image.
///
/// The Docker 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 ImagePullPolicy.
///
/// The image pull policy for the container. Supported values are Always
,
/// IfNotPresent
, and Never
. This parameter defaults to Always
/// if the :latest
tag is specified, IfNotPresent
otherwise.
/// For more information, see Updating
/// images in the Kubernetes documentation.
///
///
public string ImagePullPolicy
{
get { return this._imagePullPolicy; }
set { this._imagePullPolicy = value; }
}
// Check to see if ImagePullPolicy property is set
internal bool IsSetImagePullPolicy()
{
return this._imagePullPolicy != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the container. If the name isn't specified, the default name "Default
"
/// is used. Each container in a pod must have a unique name.
///
///
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property Reason.
///
/// A short human-readable string to provide additional details for a running or stopped
/// container. It can be up to 255 characters long.
///
///
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 Resources.
///
/// The type and amount of resources to assign to a container. The supported resources
/// include memory
, cpu
, and nvidia.com/gpu
. For
/// more information, see Resource
/// management for pods and containers in the Kubernetes documentation.
///
///
public EksContainerResourceRequirements Resources
{
get { return this._resources; }
set { this._resources = value; }
}
// Check to see if Resources property is set
internal bool IsSetResources()
{
return this._resources != null;
}
///
/// Gets and sets the property SecurityContext.
///
/// The security context for a job. For more information, see Configure
/// a security context for a pod or container in the Kubernetes documentation.
///
///
public EksContainerSecurityContext SecurityContext
{
get { return this._securityContext; }
set { this._securityContext = value; }
}
// Check to see if SecurityContext property is set
internal bool IsSetSecurityContext()
{
return this._securityContext != null;
}
///
/// Gets and sets the property VolumeMounts.
///
/// The volume mounts for the container. Batch supports emptyDir
, hostPath
,
/// and secret
volume types. For more information about volumes and volume
/// mounts in Kubernetes, see Volumes
/// in the Kubernetes documentation.
///
///
public List VolumeMounts
{
get { return this._volumeMounts; }
set { this._volumeMounts = value; }
}
// Check to see if VolumeMounts property is set
internal bool IsSetVolumeMounts()
{
return this._volumeMounts != null && this._volumeMounts.Count > 0;
}
}
}