/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace 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.

See Also:

AWS * API Reference

*/ class EksContainer { public: AWS_BATCH_API EksContainer(); AWS_BATCH_API EksContainer(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API EksContainer& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline const Aws::String& GetName() const{ return m_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.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

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.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

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.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

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.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

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.

*/ inline EksContainer& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

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.

*/ inline EksContainer& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

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.

*/ inline EksContainer& WithName(const char* value) { SetName(value); return *this;} /** *

The Docker image used to start the container.

*/ inline const Aws::String& GetImage() const{ return m_image; } /** *

The Docker image used to start the container.

*/ inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } /** *

The Docker image used to start the container.

*/ inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; } /** *

The Docker image used to start the container.

*/ inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); } /** *

The Docker image used to start the container.

*/ inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); } /** *

The Docker image used to start the container.

*/ inline EksContainer& WithImage(const Aws::String& value) { SetImage(value); return *this;} /** *

The Docker image used to start the container.

*/ inline EksContainer& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;} /** *

The Docker image used to start the container.

*/ inline EksContainer& WithImage(const char* value) { SetImage(value); return *this;} /** *

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.

*/ inline const Aws::String& GetImagePullPolicy() const{ return m_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.

*/ inline bool ImagePullPolicyHasBeenSet() const { return m_imagePullPolicyHasBeenSet; } /** *

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.

*/ inline void SetImagePullPolicy(const Aws::String& value) { m_imagePullPolicyHasBeenSet = true; m_imagePullPolicy = value; } /** *

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.

*/ inline void SetImagePullPolicy(Aws::String&& value) { m_imagePullPolicyHasBeenSet = true; m_imagePullPolicy = std::move(value); } /** *

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.

*/ inline void SetImagePullPolicy(const char* value) { m_imagePullPolicyHasBeenSet = true; m_imagePullPolicy.assign(value); } /** *

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.

*/ inline EksContainer& WithImagePullPolicy(const Aws::String& value) { SetImagePullPolicy(value); return *this;} /** *

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.

*/ inline EksContainer& WithImagePullPolicy(Aws::String&& value) { SetImagePullPolicy(std::move(value)); return *this;} /** *

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.

*/ inline EksContainer& WithImagePullPolicy(const char* value) { SetImagePullPolicy(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetCommand() const{ return m_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.

*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *

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.

*/ inline void SetCommand(const Aws::Vector& value) { m_commandHasBeenSet = true; m_command = value; } /** *

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.

*/ inline void SetCommand(Aws::Vector&& value) { m_commandHasBeenSet = true; m_command = std::move(value); } /** *

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.

*/ inline EksContainer& WithCommand(const Aws::Vector& value) { SetCommand(value); return *this;} /** *

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.

*/ inline EksContainer& WithCommand(Aws::Vector&& value) { SetCommand(std::move(value)); return *this;} /** *

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.

*/ inline EksContainer& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *

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.

*/ inline EksContainer& AddCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command.push_back(std::move(value)); return *this; } /** *

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.

*/ inline EksContainer& AddCommand(const char* value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *

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.

*/ inline const Aws::Vector& GetArgs() const{ return m_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.

*/ inline bool ArgsHasBeenSet() const { return m_argsHasBeenSet; } /** *

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.

*/ inline void SetArgs(const Aws::Vector& value) { m_argsHasBeenSet = true; m_args = value; } /** *

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.

*/ inline void SetArgs(Aws::Vector&& value) { m_argsHasBeenSet = true; m_args = std::move(value); } /** *

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.

*/ inline EksContainer& WithArgs(const Aws::Vector& value) { SetArgs(value); return *this;} /** *

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.

*/ inline EksContainer& WithArgs(Aws::Vector&& value) { SetArgs(std::move(value)); return *this;} /** *

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.

*/ inline EksContainer& AddArgs(const Aws::String& value) { m_argsHasBeenSet = true; m_args.push_back(value); return *this; } /** *

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.

*/ inline EksContainer& AddArgs(Aws::String&& value) { m_argsHasBeenSet = true; m_args.push_back(std::move(value)); return *this; } /** *

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.

*/ inline EksContainer& AddArgs(const char* value) { m_argsHasBeenSet = true; m_args.push_back(value); return *this; } /** *

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.

*/ inline const Aws::Vector& GetEnv() const{ return m_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.

*/ inline bool EnvHasBeenSet() const { return m_envHasBeenSet; } /** *

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.

*/ inline void SetEnv(const Aws::Vector& value) { m_envHasBeenSet = true; m_env = value; } /** *

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.

*/ inline void SetEnv(Aws::Vector&& value) { m_envHasBeenSet = true; m_env = std::move(value); } /** *

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.

*/ inline EksContainer& WithEnv(const Aws::Vector& value) { SetEnv(value); return *this;} /** *

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.

*/ inline EksContainer& WithEnv(Aws::Vector&& value) { SetEnv(std::move(value)); return *this;} /** *

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.

*/ inline EksContainer& AddEnv(const EksContainerEnvironmentVariable& value) { m_envHasBeenSet = true; m_env.push_back(value); return *this; } /** *

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.

*/ inline EksContainer& AddEnv(EksContainerEnvironmentVariable&& value) { m_envHasBeenSet = true; m_env.push_back(std::move(value)); return *this; } /** *

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.

*/ inline const EksContainerResourceRequirements& GetResources() const{ return m_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.

*/ inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; } /** *

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.

*/ inline void SetResources(const EksContainerResourceRequirements& value) { m_resourcesHasBeenSet = true; m_resources = value; } /** *

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.

*/ inline void SetResources(EksContainerResourceRequirements&& value) { m_resourcesHasBeenSet = true; m_resources = std::move(value); } /** *

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.

*/ inline EksContainer& WithResources(const EksContainerResourceRequirements& value) { SetResources(value); return *this;} /** *

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.

*/ inline EksContainer& WithResources(EksContainerResourceRequirements&& value) { SetResources(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Vector& GetVolumeMounts() const{ return m_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.

*/ inline bool VolumeMountsHasBeenSet() const { return m_volumeMountsHasBeenSet; } /** *

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.

*/ inline void SetVolumeMounts(const Aws::Vector& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts = value; } /** *

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.

*/ inline void SetVolumeMounts(Aws::Vector&& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts = std::move(value); } /** *

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.

*/ inline EksContainer& WithVolumeMounts(const Aws::Vector& value) { SetVolumeMounts(value); return *this;} /** *

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.

*/ inline EksContainer& WithVolumeMounts(Aws::Vector&& value) { SetVolumeMounts(std::move(value)); return *this;} /** *

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.

*/ inline EksContainer& AddVolumeMounts(const EksContainerVolumeMount& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts.push_back(value); return *this; } /** *

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.

*/ inline EksContainer& AddVolumeMounts(EksContainerVolumeMount&& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts.push_back(std::move(value)); return *this; } /** *

The security context for a job. For more information, see Configure * a security context for a pod or container in the Kubernetes * documentation.

*/ inline const EksContainerSecurityContext& GetSecurityContext() const{ return m_securityContext; } /** *

The security context for a job. For more information, see Configure * a security context for a pod or container in the Kubernetes * documentation.

*/ inline bool SecurityContextHasBeenSet() const { return m_securityContextHasBeenSet; } /** *

The security context for a job. For more information, see Configure * a security context for a pod or container in the Kubernetes * documentation.

*/ inline void SetSecurityContext(const EksContainerSecurityContext& value) { m_securityContextHasBeenSet = true; m_securityContext = value; } /** *

The security context for a job. For more information, see Configure * a security context for a pod or container in the Kubernetes * documentation.

*/ inline void SetSecurityContext(EksContainerSecurityContext&& value) { m_securityContextHasBeenSet = true; m_securityContext = std::move(value); } /** *

The security context for a job. For more information, see Configure * a security context for a pod or container in the Kubernetes * documentation.

*/ inline EksContainer& WithSecurityContext(const EksContainerSecurityContext& value) { SetSecurityContext(value); return *this;} /** *

The security context for a job. For more information, see Configure * a security context for a pod or container in the Kubernetes * documentation.

*/ inline EksContainer& WithSecurityContext(EksContainerSecurityContext&& value) { SetSecurityContext(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_image; bool m_imageHasBeenSet = false; Aws::String m_imagePullPolicy; bool m_imagePullPolicyHasBeenSet = false; Aws::Vector m_command; bool m_commandHasBeenSet = false; Aws::Vector m_args; bool m_argsHasBeenSet = false; Aws::Vector m_env; bool m_envHasBeenSet = false; EksContainerResourceRequirements m_resources; bool m_resourcesHasBeenSet = false; Aws::Vector m_volumeMounts; bool m_volumeMountsHasBeenSet = false; EksContainerSecurityContext m_securityContext; bool m_securityContextHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws