/* * 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 { /// /// EKS container properties are used in job definitions for Amazon EKS based job definitions /// to describe the properties for a container node in the pod that's launched as part /// of a job. This can't be specified for Amazon ECS based job definitions. /// public partial class EksContainer { private List _args = new List(); private List _command = new List(); private List _env = new List(); private string _image; private string _imagePullPolicy; private string _name; 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. This isn't run within a shell. If this isn't specified, /// the ENTRYPOINT of the container image is used. 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) will be passed as $(VAR_NAME) /// whether or not the VAR_NAME environment variable exists. The entrypoint /// can't be updated. For more information, see ENTRYPOINT /// in the Dockerfile reference and Define /// a command and arguments for a container and 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 Image. /// /// The Docker image used to start the container. /// /// [AWSProperty(Required=true)] 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 IfNotPresent. /// However, if the :latest tag is specified, it defaults to Always. /// 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 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; } } }