/** * 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 #include #include #include #include namespace Aws { namespace Batch { namespace Model { /** */ class AWS_BATCH_API SubmitJobRequest : public BatchRequest { public: SubmitJobRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "SubmitJob"; } Aws::String SerializePayload() const override; /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline const Aws::String& GetJobName() const{ return m_jobName; } /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; } /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; } /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); } /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); } /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline SubmitJobRequest& WithJobName(const Aws::String& value) { SetJobName(value); return *this;} /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline SubmitJobRequest& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;} /** *

The name of the job. The first character must be alphanumeric, and up to 128 * letters (uppercase and lowercase), numbers, hyphens, and underscores are * allowed.

*/ inline SubmitJobRequest& WithJobName(const char* value) { SetJobName(value); return *this;} /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline const Aws::String& GetJobQueue() const{ return m_jobQueue; } /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; } /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; } /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); } /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); } /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline SubmitJobRequest& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;} /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline SubmitJobRequest& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;} /** *

The job queue into which the job is submitted. You can specify either the * name or the Amazon Resource Name (ARN) of the queue.

*/ inline SubmitJobRequest& WithJobQueue(const char* value) { SetJobQueue(value); return *this;} /** *

The array properties for the submitted job, such as the size of the array. * The array size can be between 2 and 10,000. If you specify array properties for * a job, it becomes an array job. For more information, see Array * Jobs in the AWS Batch User Guide.

*/ inline const ArrayProperties& GetArrayProperties() const{ return m_arrayProperties; } /** *

The array properties for the submitted job, such as the size of the array. * The array size can be between 2 and 10,000. If you specify array properties for * a job, it becomes an array job. For more information, see Array * Jobs in the AWS Batch User Guide.

*/ inline bool ArrayPropertiesHasBeenSet() const { return m_arrayPropertiesHasBeenSet; } /** *

The array properties for the submitted job, such as the size of the array. * The array size can be between 2 and 10,000. If you specify array properties for * a job, it becomes an array job. For more information, see Array * Jobs in the AWS Batch User Guide.

*/ inline void SetArrayProperties(const ArrayProperties& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = value; } /** *

The array properties for the submitted job, such as the size of the array. * The array size can be between 2 and 10,000. If you specify array properties for * a job, it becomes an array job. For more information, see Array * Jobs in the AWS Batch User Guide.

*/ inline void SetArrayProperties(ArrayProperties&& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = std::move(value); } /** *

The array properties for the submitted job, such as the size of the array. * The array size can be between 2 and 10,000. If you specify array properties for * a job, it becomes an array job. For more information, see Array * Jobs in the AWS Batch User Guide.

*/ inline SubmitJobRequest& WithArrayProperties(const ArrayProperties& value) { SetArrayProperties(value); return *this;} /** *

The array properties for the submitted job, such as the size of the array. * The array size can be between 2 and 10,000. If you specify array properties for * a job, it becomes an array job. For more information, see Array * Jobs in the AWS Batch User Guide.

*/ inline SubmitJobRequest& WithArrayProperties(ArrayProperties&& value) { SetArrayProperties(std::move(value)); return *this;} /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline const Aws::Vector& GetDependsOn() const{ return m_dependsOn; } /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; } /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline void SetDependsOn(const Aws::Vector& value) { m_dependsOnHasBeenSet = true; m_dependsOn = value; } /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline void SetDependsOn(Aws::Vector&& value) { m_dependsOnHasBeenSet = true; m_dependsOn = std::move(value); } /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline SubmitJobRequest& WithDependsOn(const Aws::Vector& value) { SetDependsOn(value); return *this;} /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline SubmitJobRequest& WithDependsOn(Aws::Vector&& value) { SetDependsOn(std::move(value)); return *this;} /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline SubmitJobRequest& AddDependsOn(const JobDependency& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; } /** *

A list of dependencies for the job. A job can depend upon a maximum of 20 * jobs. You can specify a SEQUENTIAL type dependency without * specifying a job ID for array jobs so that each child array job completes * sequentially, starting at index 0. You can also specify an N_TO_N * type dependency with a job ID for array jobs. In that case, each index child of * this job must wait for the corresponding index child of each dependency to * complete before it can begin.

*/ inline SubmitJobRequest& AddDependsOn(JobDependency&& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(std::move(value)); return *this; } /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline const Aws::String& GetJobDefinition() const{ return m_jobDefinition; } /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline bool JobDefinitionHasBeenSet() const { return m_jobDefinitionHasBeenSet; } /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline void SetJobDefinition(const Aws::String& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = value; } /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline void SetJobDefinition(Aws::String&& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = std::move(value); } /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline void SetJobDefinition(const char* value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition.assign(value); } /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline SubmitJobRequest& WithJobDefinition(const Aws::String& value) { SetJobDefinition(value); return *this;} /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline SubmitJobRequest& WithJobDefinition(Aws::String&& value) { SetJobDefinition(std::move(value)); return *this;} /** *

The job definition used by this job. This value can be one of * name, name:revision, or the Amazon Resource Name (ARN) * for the job definition. If name is specified without a revision * then the latest active revision is used.

*/ inline SubmitJobRequest& WithJobDefinition(const char* value) { SetJobDefinition(value); return *this;} /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

Additional parameters passed to the job that replace parameter substitution * placeholders that are set in the job definition. Parameters are specified as a * key and value pair mapping. Parameters in a SubmitJob request * override any corresponding parameter defaults from the job definition.

*/ inline SubmitJobRequest& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified job definition and the overrides it should receive. * You can override the default command for a container (that is specified in the * job definition or the Docker image) with a command override. You * can also override existing environment variables (that are specified in the job * definition or Docker image) on a container or add new environment variables to * it with an environment override.

*/ inline const ContainerOverrides& GetContainerOverrides() const{ return m_containerOverrides; } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified job definition and the overrides it should receive. * You can override the default command for a container (that is specified in the * job definition or the Docker image) with a command override. You * can also override existing environment variables (that are specified in the job * definition or Docker image) on a container or add new environment variables to * it with an environment override.

*/ inline bool ContainerOverridesHasBeenSet() const { return m_containerOverridesHasBeenSet; } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified job definition and the overrides it should receive. * You can override the default command for a container (that is specified in the * job definition or the Docker image) with a command override. You * can also override existing environment variables (that are specified in the job * definition or Docker image) on a container or add new environment variables to * it with an environment override.

*/ inline void SetContainerOverrides(const ContainerOverrides& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = value; } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified job definition and the overrides it should receive. * You can override the default command for a container (that is specified in the * job definition or the Docker image) with a command override. You * can also override existing environment variables (that are specified in the job * definition or Docker image) on a container or add new environment variables to * it with an environment override.

*/ inline void SetContainerOverrides(ContainerOverrides&& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = std::move(value); } /** *

A list of container overrides in JSON format that specify the name of a * container in the specified job definition and the overrides it should receive. * You can override the default command for a container (that is specified in the * job definition or the Docker image) with a command override. You * can also override existing environment variables (that are specified in the job * definition or Docker image) on a container or add new environment variables to * it with an environment override.

*/ inline SubmitJobRequest& WithContainerOverrides(const ContainerOverrides& value) { SetContainerOverrides(value); return *this;} /** *

A list of container overrides in JSON format that specify the name of a * container in the specified job definition and the overrides it should receive. * You can override the default command for a container (that is specified in the * job definition or the Docker image) with a command override. You * can also override existing environment variables (that are specified in the job * definition or Docker image) on a container or add new environment variables to * it with an environment override.

*/ inline SubmitJobRequest& WithContainerOverrides(ContainerOverrides&& value) { SetContainerOverrides(std::move(value)); return *this;} /** *

A list of node overrides in JSON format that specify the node range to target * and the container overrides for that node range.

*/ inline const NodeOverrides& GetNodeOverrides() const{ return m_nodeOverrides; } /** *

A list of node overrides in JSON format that specify the node range to target * and the container overrides for that node range.

*/ inline bool NodeOverridesHasBeenSet() const { return m_nodeOverridesHasBeenSet; } /** *

A list of node overrides in JSON format that specify the node range to target * and the container overrides for that node range.

*/ inline void SetNodeOverrides(const NodeOverrides& value) { m_nodeOverridesHasBeenSet = true; m_nodeOverrides = value; } /** *

A list of node overrides in JSON format that specify the node range to target * and the container overrides for that node range.

*/ inline void SetNodeOverrides(NodeOverrides&& value) { m_nodeOverridesHasBeenSet = true; m_nodeOverrides = std::move(value); } /** *

A list of node overrides in JSON format that specify the node range to target * and the container overrides for that node range.

*/ inline SubmitJobRequest& WithNodeOverrides(const NodeOverrides& value) { SetNodeOverrides(value); return *this;} /** *

A list of node overrides in JSON format that specify the node range to target * and the container overrides for that node range.

*/ inline SubmitJobRequest& WithNodeOverrides(NodeOverrides&& value) { SetNodeOverrides(std::move(value)); return *this;} /** *

The retry strategy to use for failed jobs from this SubmitJob * operation. When a retry strategy is specified here, it overrides the retry * strategy defined in the job definition.

*/ inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; } /** *

The retry strategy to use for failed jobs from this SubmitJob * operation. When a retry strategy is specified here, it overrides the retry * strategy defined in the job definition.

*/ inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; } /** *

The retry strategy to use for failed jobs from this SubmitJob * operation. When a retry strategy is specified here, it overrides the retry * strategy defined in the job definition.

*/ inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; } /** *

The retry strategy to use for failed jobs from this SubmitJob * operation. When a retry strategy is specified here, it overrides the retry * strategy defined in the job definition.

*/ inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); } /** *

The retry strategy to use for failed jobs from this SubmitJob * operation. When a retry strategy is specified here, it overrides the retry * strategy defined in the job definition.

*/ inline SubmitJobRequest& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;} /** *

The retry strategy to use for failed jobs from this SubmitJob * operation. When a retry strategy is specified here, it overrides the retry * strategy defined in the job definition.

*/ inline SubmitJobRequest& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;} /** *

The timeout configuration for this SubmitJob operation. You can * specify a timeout duration after which AWS Batch terminates your jobs if they * have not finished. If a job is terminated due to a timeout, it is not retried. * The minimum value for the timeout is 60 seconds. This configuration overrides * any timeout configuration specified in the job definition. For array jobs, child * jobs have the same timeout configuration as the parent job. For more * information, see Job * Timeouts in the Amazon Elastic Container Service Developer Guide.

*/ inline const JobTimeout& GetTimeout() const{ return m_timeout; } /** *

The timeout configuration for this SubmitJob operation. You can * specify a timeout duration after which AWS Batch terminates your jobs if they * have not finished. If a job is terminated due to a timeout, it is not retried. * The minimum value for the timeout is 60 seconds. This configuration overrides * any timeout configuration specified in the job definition. For array jobs, child * jobs have the same timeout configuration as the parent job. For more * information, see Job * Timeouts in the Amazon Elastic Container Service Developer Guide.

*/ inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; } /** *

The timeout configuration for this SubmitJob operation. You can * specify a timeout duration after which AWS Batch terminates your jobs if they * have not finished. If a job is terminated due to a timeout, it is not retried. * The minimum value for the timeout is 60 seconds. This configuration overrides * any timeout configuration specified in the job definition. For array jobs, child * jobs have the same timeout configuration as the parent job. For more * information, see Job * Timeouts in the Amazon Elastic Container Service Developer Guide.

*/ inline void SetTimeout(const JobTimeout& value) { m_timeoutHasBeenSet = true; m_timeout = value; } /** *

The timeout configuration for this SubmitJob operation. You can * specify a timeout duration after which AWS Batch terminates your jobs if they * have not finished. If a job is terminated due to a timeout, it is not retried. * The minimum value for the timeout is 60 seconds. This configuration overrides * any timeout configuration specified in the job definition. For array jobs, child * jobs have the same timeout configuration as the parent job. For more * information, see Job * Timeouts in the Amazon Elastic Container Service Developer Guide.

*/ inline void SetTimeout(JobTimeout&& value) { m_timeoutHasBeenSet = true; m_timeout = std::move(value); } /** *

The timeout configuration for this SubmitJob operation. You can * specify a timeout duration after which AWS Batch terminates your jobs if they * have not finished. If a job is terminated due to a timeout, it is not retried. * The minimum value for the timeout is 60 seconds. This configuration overrides * any timeout configuration specified in the job definition. For array jobs, child * jobs have the same timeout configuration as the parent job. For more * information, see Job * Timeouts in the Amazon Elastic Container Service Developer Guide.

*/ inline SubmitJobRequest& WithTimeout(const JobTimeout& value) { SetTimeout(value); return *this;} /** *

The timeout configuration for this SubmitJob operation. You can * specify a timeout duration after which AWS Batch terminates your jobs if they * have not finished. If a job is terminated due to a timeout, it is not retried. * The minimum value for the timeout is 60 seconds. This configuration overrides * any timeout configuration specified in the job definition. For array jobs, child * jobs have the same timeout configuration as the parent job. For more * information, see Job * Timeouts in the Amazon Elastic Container Service Developer Guide.

*/ inline SubmitJobRequest& WithTimeout(JobTimeout&& value) { SetTimeout(std::move(value)); return *this;} private: Aws::String m_jobName; bool m_jobNameHasBeenSet; Aws::String m_jobQueue; bool m_jobQueueHasBeenSet; ArrayProperties m_arrayProperties; bool m_arrayPropertiesHasBeenSet; Aws::Vector m_dependsOn; bool m_dependsOnHasBeenSet; Aws::String m_jobDefinition; bool m_jobDefinitionHasBeenSet; Aws::Map m_parameters; bool m_parametersHasBeenSet; ContainerOverrides m_containerOverrides; bool m_containerOverridesHasBeenSet; NodeOverrides m_nodeOverrides; bool m_nodeOverridesHasBeenSet; RetryStrategy m_retryStrategy; bool m_retryStrategyHasBeenSet; JobTimeout m_timeout; bool m_timeoutHasBeenSet; }; } // namespace Model } // namespace Batch } // namespace Aws