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

Object representing any Kubernetes overrides to a job definition that's used * in a SubmitJob API operation.

See Also:

AWS * API Reference

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

The override of the Docker image that's used to start the container.

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

The override of the Docker image that's used to start the container.

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

The override of the Docker image that's used to start the container.

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

The override of the Docker image that's used to start the container.

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

The override of the Docker image that's used to start the container.

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

The override of the Docker image that's used to start the container.

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

The override of the Docker image that's used to start the container.

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

The override of the Docker image that's used to start the container.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

*/ inline const Aws::Vector& GetCommand() const{ return m_command; } /** *

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The command to send to the container that overrides the default command from * the Docker image or the job definition.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

*/ inline const Aws::Vector& GetArgs() const{ return m_args; } /** *

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

The arguments to the entrypoint to send to the container that overrides the * default arguments from the Docker image or the job definition. For more * information, see CMD in the * Dockerfile reference and Define * a command an arguments for a pod in the Kubernetes documentation.

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

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.

*/ inline const Aws::Vector& GetEnv() const{ return m_env; } /** *

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

*/ inline EksContainerOverride& 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. These override the * settings in the job definition. 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. These override the * settings in the job definition. 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. These override the * settings in the job definition. 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. These override the * settings in the job definition. 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. These override the * settings in the job definition. 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 EksContainerOverride& WithResources(const EksContainerResourceRequirements& value) { SetResources(value); return *this;} /** *

The type and amount of resources to assign to a container. These override the * settings in the job definition. 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 EksContainerOverride& WithResources(EksContainerResourceRequirements&& value) { SetResources(std::move(value)); return *this;} private: Aws::String m_image; bool m_imageHasBeenSet = 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; }; } // namespace Model } // namespace Batch } // namespace Aws