/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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