/** * 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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace Batch { namespace Model { class CancelJobRequest; class CreateComputeEnvironmentRequest; class CreateJobQueueRequest; class DeleteComputeEnvironmentRequest; class DeleteJobQueueRequest; class DeregisterJobDefinitionRequest; class DescribeComputeEnvironmentsRequest; class DescribeJobDefinitionsRequest; class DescribeJobQueuesRequest; class DescribeJobsRequest; class ListJobsRequest; class RegisterJobDefinitionRequest; class SubmitJobRequest; class TerminateJobRequest; class UpdateComputeEnvironmentRequest; class UpdateJobQueueRequest; typedef Aws::Utils::Outcome CancelJobOutcome; typedef Aws::Utils::Outcome CreateComputeEnvironmentOutcome; typedef Aws::Utils::Outcome CreateJobQueueOutcome; typedef Aws::Utils::Outcome DeleteComputeEnvironmentOutcome; typedef Aws::Utils::Outcome DeleteJobQueueOutcome; typedef Aws::Utils::Outcome DeregisterJobDefinitionOutcome; typedef Aws::Utils::Outcome DescribeComputeEnvironmentsOutcome; typedef Aws::Utils::Outcome DescribeJobDefinitionsOutcome; typedef Aws::Utils::Outcome DescribeJobQueuesOutcome; typedef Aws::Utils::Outcome DescribeJobsOutcome; typedef Aws::Utils::Outcome ListJobsOutcome; typedef Aws::Utils::Outcome RegisterJobDefinitionOutcome; typedef Aws::Utils::Outcome SubmitJobOutcome; typedef Aws::Utils::Outcome TerminateJobOutcome; typedef Aws::Utils::Outcome UpdateComputeEnvironmentOutcome; typedef Aws::Utils::Outcome UpdateJobQueueOutcome; typedef std::future CancelJobOutcomeCallable; typedef std::future CreateComputeEnvironmentOutcomeCallable; typedef std::future CreateJobQueueOutcomeCallable; typedef std::future DeleteComputeEnvironmentOutcomeCallable; typedef std::future DeleteJobQueueOutcomeCallable; typedef std::future DeregisterJobDefinitionOutcomeCallable; typedef std::future DescribeComputeEnvironmentsOutcomeCallable; typedef std::future DescribeJobDefinitionsOutcomeCallable; typedef std::future DescribeJobQueuesOutcomeCallable; typedef std::future DescribeJobsOutcomeCallable; typedef std::future ListJobsOutcomeCallable; typedef std::future RegisterJobDefinitionOutcomeCallable; typedef std::future SubmitJobOutcomeCallable; typedef std::future TerminateJobOutcomeCallable; typedef std::future UpdateComputeEnvironmentOutcomeCallable; typedef std::future UpdateJobQueueOutcomeCallable; } // namespace Model class BatchClient; typedef std::function&) > CancelJobResponseReceivedHandler; typedef std::function&) > CreateComputeEnvironmentResponseReceivedHandler; typedef std::function&) > CreateJobQueueResponseReceivedHandler; typedef std::function&) > DeleteComputeEnvironmentResponseReceivedHandler; typedef std::function&) > DeleteJobQueueResponseReceivedHandler; typedef std::function&) > DeregisterJobDefinitionResponseReceivedHandler; typedef std::function&) > DescribeComputeEnvironmentsResponseReceivedHandler; typedef std::function&) > DescribeJobDefinitionsResponseReceivedHandler; typedef std::function&) > DescribeJobQueuesResponseReceivedHandler; typedef std::function&) > DescribeJobsResponseReceivedHandler; typedef std::function&) > ListJobsResponseReceivedHandler; typedef std::function&) > RegisterJobDefinitionResponseReceivedHandler; typedef std::function&) > SubmitJobResponseReceivedHandler; typedef std::function&) > TerminateJobResponseReceivedHandler; typedef std::function&) > UpdateComputeEnvironmentResponseReceivedHandler; typedef std::function&) > UpdateJobQueueResponseReceivedHandler; /** *

AWS Batch enables you to run batch computing workloads on the AWS Cloud. * Batch computing is a common way for developers, scientists, and engineers to * access large amounts of compute resources, and AWS Batch removes the * undifferentiated heavy lifting of configuring and managing the required * infrastructure. AWS Batch will be familiar to users of traditional batch * computing software. This service can efficiently provision resources in response * to jobs submitted in order to eliminate capacity constraints, reduce compute * costs, and deliver results quickly.

As a fully managed service, AWS Batch * enables developers, scientists, and engineers to run batch computing workloads * of any scale. AWS Batch automatically provisions compute resources and optimizes * the workload distribution based on the quantity and scale of the workloads. With * AWS Batch, there is no need to install or manage batch computing software, which * allows you to focus on analyzing results and solving problems. AWS Batch reduces * operational complexities, saves time, and reduces costs, which makes it easy for * developers, scientists, and engineers to run their batch jobs in the AWS * Cloud.

*/ class AWS_BATCH_API BatchClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ BatchClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ BatchClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ BatchClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~BatchClient(); /** *

Cancels a job in an AWS Batch job queue. Jobs that are in the * SUBMITTED, PENDING, or RUNNABLE state are * cancelled. Jobs that have progressed to STARTING or * RUNNING are not cancelled (but the API operation still succeeds, * even if no job is cancelled); these jobs must be terminated with the * TerminateJob operation.

See Also:

AWS API * Reference

*/ virtual Model::CancelJobOutcome CancelJob(const Model::CancelJobRequest& request) const; /** *

Cancels a job in an AWS Batch job queue. Jobs that are in the * SUBMITTED, PENDING, or RUNNABLE state are * cancelled. Jobs that have progressed to STARTING or * RUNNING are not cancelled (but the API operation still succeeds, * even if no job is cancelled); these jobs must be terminated with the * TerminateJob operation.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CancelJobOutcomeCallable CancelJobCallable(const Model::CancelJobRequest& request) const; /** *

Cancels a job in an AWS Batch job queue. Jobs that are in the * SUBMITTED, PENDING, or RUNNABLE state are * cancelled. Jobs that have progressed to STARTING or * RUNNING are not cancelled (but the API operation still succeeds, * even if no job is cancelled); these jobs must be terminated with the * TerminateJob operation.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CancelJobAsync(const Model::CancelJobRequest& request, const CancelJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an AWS Batch compute environment. You can create MANAGED * or UNMANAGED compute environments.

In a managed compute * environment, AWS Batch manages the capacity and instance types of the compute * resources within the environment. This is based on the compute resource * specification that you define or the launch * template that you specify when you create the compute environment. You can * choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed * compute environment. You can optionally set a maximum price so that Spot * Instances only launch when the Spot Instance price is below a specified * percentage of the On-Demand price.

Multi-node parallel jobs are * not supported on Spot Instances.

In an unmanaged compute * environment, you can manage your own compute resources. This provides more * compute resource configuration options, such as using a custom AMI, but you must * ensure that your AMI meets the Amazon ECS container instance AMI specification. * For more information, see Container * Instance AMIs in the Amazon Elastic Container Service Developer * Guide. After you have created your unmanaged compute environment, you can * use the DescribeComputeEnvironments operation to find the Amazon ECS * cluster that is associated with it. Then, manually launch your container * instances into that Amazon ECS cluster. For more information, see Launching * an Amazon ECS Container Instance in the Amazon Elastic Container Service * Developer Guide.

AWS Batch does not upgrade the AMIs in a * compute environment after it is created (for example, when a newer version of * the Amazon ECS-optimized AMI is available). You are responsible for the * management of the guest operating system (including updates and security * patches) and any additional application software or utilities that you install * on the compute resources. To use a new AMI for your AWS Batch jobs:

    *
  1. Create a new compute environment with the new AMI.

  2. Add * the compute environment to an existing job queue.

  3. Remove the * old compute environment from your job queue.

  4. Delete the old * compute environment.

See Also:

AWS * API Reference

*/ virtual Model::CreateComputeEnvironmentOutcome CreateComputeEnvironment(const Model::CreateComputeEnvironmentRequest& request) const; /** *

Creates an AWS Batch compute environment. You can create MANAGED * or UNMANAGED compute environments.

In a managed compute * environment, AWS Batch manages the capacity and instance types of the compute * resources within the environment. This is based on the compute resource * specification that you define or the launch * template that you specify when you create the compute environment. You can * choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed * compute environment. You can optionally set a maximum price so that Spot * Instances only launch when the Spot Instance price is below a specified * percentage of the On-Demand price.

Multi-node parallel jobs are * not supported on Spot Instances.

In an unmanaged compute * environment, you can manage your own compute resources. This provides more * compute resource configuration options, such as using a custom AMI, but you must * ensure that your AMI meets the Amazon ECS container instance AMI specification. * For more information, see Container * Instance AMIs in the Amazon Elastic Container Service Developer * Guide. After you have created your unmanaged compute environment, you can * use the DescribeComputeEnvironments operation to find the Amazon ECS * cluster that is associated with it. Then, manually launch your container * instances into that Amazon ECS cluster. For more information, see Launching * an Amazon ECS Container Instance in the Amazon Elastic Container Service * Developer Guide.

AWS Batch does not upgrade the AMIs in a * compute environment after it is created (for example, when a newer version of * the Amazon ECS-optimized AMI is available). You are responsible for the * management of the guest operating system (including updates and security * patches) and any additional application software or utilities that you install * on the compute resources. To use a new AMI for your AWS Batch jobs:

    *
  1. Create a new compute environment with the new AMI.

  2. Add * the compute environment to an existing job queue.

  3. Remove the * old compute environment from your job queue.

  4. Delete the old * compute environment.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateComputeEnvironmentOutcomeCallable CreateComputeEnvironmentCallable(const Model::CreateComputeEnvironmentRequest& request) const; /** *

Creates an AWS Batch compute environment. You can create MANAGED * or UNMANAGED compute environments.

In a managed compute * environment, AWS Batch manages the capacity and instance types of the compute * resources within the environment. This is based on the compute resource * specification that you define or the launch * template that you specify when you create the compute environment. You can * choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed * compute environment. You can optionally set a maximum price so that Spot * Instances only launch when the Spot Instance price is below a specified * percentage of the On-Demand price.

Multi-node parallel jobs are * not supported on Spot Instances.

In an unmanaged compute * environment, you can manage your own compute resources. This provides more * compute resource configuration options, such as using a custom AMI, but you must * ensure that your AMI meets the Amazon ECS container instance AMI specification. * For more information, see Container * Instance AMIs in the Amazon Elastic Container Service Developer * Guide. After you have created your unmanaged compute environment, you can * use the DescribeComputeEnvironments operation to find the Amazon ECS * cluster that is associated with it. Then, manually launch your container * instances into that Amazon ECS cluster. For more information, see Launching * an Amazon ECS Container Instance in the Amazon Elastic Container Service * Developer Guide.

AWS Batch does not upgrade the AMIs in a * compute environment after it is created (for example, when a newer version of * the Amazon ECS-optimized AMI is available). You are responsible for the * management of the guest operating system (including updates and security * patches) and any additional application software or utilities that you install * on the compute resources. To use a new AMI for your AWS Batch jobs:

    *
  1. Create a new compute environment with the new AMI.

  2. Add * the compute environment to an existing job queue.

  3. Remove the * old compute environment from your job queue.

  4. Delete the old * compute environment.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateComputeEnvironmentAsync(const Model::CreateComputeEnvironmentRequest& request, const CreateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an AWS Batch job queue. When you create a job queue, you associate * one or more compute environments to the queue and assign an order of preference * for the compute environments.

You also set a priority to the job queue * that determines the order in which the AWS Batch scheduler places jobs onto its * associated compute environments. For example, if a compute environment is * associated with more than one job queue, the job queue with a higher priority is * given preference for scheduling jobs to that compute environment.

See * Also:

AWS * API Reference

*/ virtual Model::CreateJobQueueOutcome CreateJobQueue(const Model::CreateJobQueueRequest& request) const; /** *

Creates an AWS Batch job queue. When you create a job queue, you associate * one or more compute environments to the queue and assign an order of preference * for the compute environments.

You also set a priority to the job queue * that determines the order in which the AWS Batch scheduler places jobs onto its * associated compute environments. For example, if a compute environment is * associated with more than one job queue, the job queue with a higher priority is * given preference for scheduling jobs to that compute environment.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateJobQueueOutcomeCallable CreateJobQueueCallable(const Model::CreateJobQueueRequest& request) const; /** *

Creates an AWS Batch job queue. When you create a job queue, you associate * one or more compute environments to the queue and assign an order of preference * for the compute environments.

You also set a priority to the job queue * that determines the order in which the AWS Batch scheduler places jobs onto its * associated compute environments. For example, if a compute environment is * associated with more than one job queue, the job queue with a higher priority is * given preference for scheduling jobs to that compute environment.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateJobQueueAsync(const Model::CreateJobQueueRequest& request, const CreateJobQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes an AWS Batch compute environment.

Before you can delete a * compute environment, you must set its state to DISABLED with the * UpdateComputeEnvironment API operation and disassociate it from any job * queues with the UpdateJobQueue API operation.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteComputeEnvironmentOutcome DeleteComputeEnvironment(const Model::DeleteComputeEnvironmentRequest& request) const; /** *

Deletes an AWS Batch compute environment.

Before you can delete a * compute environment, you must set its state to DISABLED with the * UpdateComputeEnvironment API operation and disassociate it from any job * queues with the UpdateJobQueue API operation.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteComputeEnvironmentOutcomeCallable DeleteComputeEnvironmentCallable(const Model::DeleteComputeEnvironmentRequest& request) const; /** *

Deletes an AWS Batch compute environment.

Before you can delete a * compute environment, you must set its state to DISABLED with the * UpdateComputeEnvironment API operation and disassociate it from any job * queues with the UpdateJobQueue API operation.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteComputeEnvironmentAsync(const Model::DeleteComputeEnvironmentRequest& request, const DeleteComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified job queue. You must first disable submissions for a * queue with the UpdateJobQueue operation. All jobs in the queue are * terminated when you delete a job queue.

It is not necessary to * disassociate compute environments from a queue before submitting a * DeleteJobQueue request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteJobQueueOutcome DeleteJobQueue(const Model::DeleteJobQueueRequest& request) const; /** *

Deletes the specified job queue. You must first disable submissions for a * queue with the UpdateJobQueue operation. All jobs in the queue are * terminated when you delete a job queue.

It is not necessary to * disassociate compute environments from a queue before submitting a * DeleteJobQueue request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteJobQueueOutcomeCallable DeleteJobQueueCallable(const Model::DeleteJobQueueRequest& request) const; /** *

Deletes the specified job queue. You must first disable submissions for a * queue with the UpdateJobQueue operation. All jobs in the queue are * terminated when you delete a job queue.

It is not necessary to * disassociate compute environments from a queue before submitting a * DeleteJobQueue request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteJobQueueAsync(const Model::DeleteJobQueueRequest& request, const DeleteJobQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deregisters an AWS Batch job definition. Job definitions will be permanently * deleted after 180 days.

See Also:

AWS * API Reference

*/ virtual Model::DeregisterJobDefinitionOutcome DeregisterJobDefinition(const Model::DeregisterJobDefinitionRequest& request) const; /** *

Deregisters an AWS Batch job definition. Job definitions will be permanently * deleted after 180 days.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeregisterJobDefinitionOutcomeCallable DeregisterJobDefinitionCallable(const Model::DeregisterJobDefinitionRequest& request) const; /** *

Deregisters an AWS Batch job definition. Job definitions will be permanently * deleted after 180 days.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeregisterJobDefinitionAsync(const Model::DeregisterJobDefinitionRequest& request, const DeregisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes one or more of your compute environments.

If you are using * an unmanaged compute environment, you can use the * DescribeComputeEnvironment operation to determine the * ecsClusterArn that you should launch your Amazon ECS container * instances into.

See Also:

AWS * API Reference

*/ virtual Model::DescribeComputeEnvironmentsOutcome DescribeComputeEnvironments(const Model::DescribeComputeEnvironmentsRequest& request) const; /** *

Describes one or more of your compute environments.

If you are using * an unmanaged compute environment, you can use the * DescribeComputeEnvironment operation to determine the * ecsClusterArn that you should launch your Amazon ECS container * instances into.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeComputeEnvironmentsOutcomeCallable DescribeComputeEnvironmentsCallable(const Model::DescribeComputeEnvironmentsRequest& request) const; /** *

Describes one or more of your compute environments.

If you are using * an unmanaged compute environment, you can use the * DescribeComputeEnvironment operation to determine the * ecsClusterArn that you should launch your Amazon ECS container * instances into.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeComputeEnvironmentsAsync(const Model::DescribeComputeEnvironmentsRequest& request, const DescribeComputeEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes a list of job definitions. You can specify a status * (such as ACTIVE) to only return job definitions that match that * status.

See Also:

AWS * API Reference

*/ virtual Model::DescribeJobDefinitionsOutcome DescribeJobDefinitions(const Model::DescribeJobDefinitionsRequest& request) const; /** *

Describes a list of job definitions. You can specify a status * (such as ACTIVE) to only return job definitions that match that * status.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeJobDefinitionsOutcomeCallable DescribeJobDefinitionsCallable(const Model::DescribeJobDefinitionsRequest& request) const; /** *

Describes a list of job definitions. You can specify a status * (such as ACTIVE) to only return job definitions that match that * status.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeJobDefinitionsAsync(const Model::DescribeJobDefinitionsRequest& request, const DescribeJobDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes one or more of your job queues.

See Also:

AWS * API Reference

*/ virtual Model::DescribeJobQueuesOutcome DescribeJobQueues(const Model::DescribeJobQueuesRequest& request) const; /** *

Describes one or more of your job queues.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeJobQueuesOutcomeCallable DescribeJobQueuesCallable(const Model::DescribeJobQueuesRequest& request) const; /** *

Describes one or more of your job queues.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeJobQueuesAsync(const Model::DescribeJobQueuesRequest& request, const DescribeJobQueuesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes a list of AWS Batch jobs.

See Also:

AWS * API Reference

*/ virtual Model::DescribeJobsOutcome DescribeJobs(const Model::DescribeJobsRequest& request) const; /** *

Describes a list of AWS Batch jobs.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeJobsOutcomeCallable DescribeJobsCallable(const Model::DescribeJobsRequest& request) const; /** *

Describes a list of AWS Batch jobs.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeJobsAsync(const Model::DescribeJobsRequest& request, const DescribeJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of AWS Batch jobs.

You must specify only one of the * following:

  • a job queue ID to return a list of jobs in that job * queue

  • a multi-node parallel job ID to return a list of that * job's nodes

  • an array job ID to return a list of that job's * children

You can filter the results by job status with the * jobStatus parameter. If you do not specify a status, only * RUNNING jobs are returned.

See Also:

AWS API * Reference

*/ virtual Model::ListJobsOutcome ListJobs(const Model::ListJobsRequest& request) const; /** *

Returns a list of AWS Batch jobs.

You must specify only one of the * following:

  • a job queue ID to return a list of jobs in that job * queue

  • a multi-node parallel job ID to return a list of that * job's nodes

  • an array job ID to return a list of that job's * children

You can filter the results by job status with the * jobStatus parameter. If you do not specify a status, only * RUNNING jobs are returned.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListJobsOutcomeCallable ListJobsCallable(const Model::ListJobsRequest& request) const; /** *

Returns a list of AWS Batch jobs.

You must specify only one of the * following:

  • a job queue ID to return a list of jobs in that job * queue

  • a multi-node parallel job ID to return a list of that * job's nodes

  • an array job ID to return a list of that job's * children

You can filter the results by job status with the * jobStatus parameter. If you do not specify a status, only * RUNNING jobs are returned.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListJobsAsync(const Model::ListJobsRequest& request, const ListJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Registers an AWS Batch job definition.

See Also:

AWS * API Reference

*/ virtual Model::RegisterJobDefinitionOutcome RegisterJobDefinition(const Model::RegisterJobDefinitionRequest& request) const; /** *

Registers an AWS Batch job definition.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RegisterJobDefinitionOutcomeCallable RegisterJobDefinitionCallable(const Model::RegisterJobDefinitionRequest& request) const; /** *

Registers an AWS Batch job definition.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RegisterJobDefinitionAsync(const Model::RegisterJobDefinitionRequest& request, const RegisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Submits an AWS Batch job from a job definition. Parameters specified during * SubmitJob override parameters defined in the job * definition.

See Also:

AWS API * Reference

*/ virtual Model::SubmitJobOutcome SubmitJob(const Model::SubmitJobRequest& request) const; /** *

Submits an AWS Batch job from a job definition. Parameters specified during * SubmitJob override parameters defined in the job * definition.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SubmitJobOutcomeCallable SubmitJobCallable(const Model::SubmitJobRequest& request) const; /** *

Submits an AWS Batch job from a job definition. Parameters specified during * SubmitJob override parameters defined in the job * definition.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SubmitJobAsync(const Model::SubmitJobRequest& request, const SubmitJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Terminates a job in a job queue. Jobs that are in the STARTING * or RUNNING state are terminated, which causes them to transition to * FAILED. Jobs that have not progressed to the STARTING * state are cancelled.

See Also:

AWS * API Reference

*/ virtual Model::TerminateJobOutcome TerminateJob(const Model::TerminateJobRequest& request) const; /** *

Terminates a job in a job queue. Jobs that are in the STARTING * or RUNNING state are terminated, which causes them to transition to * FAILED. Jobs that have not progressed to the STARTING * state are cancelled.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TerminateJobOutcomeCallable TerminateJobCallable(const Model::TerminateJobRequest& request) const; /** *

Terminates a job in a job queue. Jobs that are in the STARTING * or RUNNING state are terminated, which causes them to transition to * FAILED. Jobs that have not progressed to the STARTING * state are cancelled.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TerminateJobAsync(const Model::TerminateJobRequest& request, const TerminateJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates an AWS Batch compute environment.

See Also:

AWS * API Reference

*/ virtual Model::UpdateComputeEnvironmentOutcome UpdateComputeEnvironment(const Model::UpdateComputeEnvironmentRequest& request) const; /** *

Updates an AWS Batch compute environment.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateComputeEnvironmentOutcomeCallable UpdateComputeEnvironmentCallable(const Model::UpdateComputeEnvironmentRequest& request) const; /** *

Updates an AWS Batch compute environment.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateComputeEnvironmentAsync(const Model::UpdateComputeEnvironmentRequest& request, const UpdateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates a job queue.

See Also:

AWS * API Reference

*/ virtual Model::UpdateJobQueueOutcome UpdateJobQueue(const Model::UpdateJobQueueRequest& request) const; /** *

Updates a job queue.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateJobQueueOutcomeCallable UpdateJobQueueCallable(const Model::UpdateJobQueueRequest& request) const; /** *

Updates a job queue.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateJobQueueAsync(const Model::UpdateJobQueueRequest& request, const UpdateJobQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CancelJobAsyncHelper(const Model::CancelJobRequest& request, const CancelJobResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateComputeEnvironmentAsyncHelper(const Model::CreateComputeEnvironmentRequest& request, const CreateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateJobQueueAsyncHelper(const Model::CreateJobQueueRequest& request, const CreateJobQueueResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteComputeEnvironmentAsyncHelper(const Model::DeleteComputeEnvironmentRequest& request, const DeleteComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteJobQueueAsyncHelper(const Model::DeleteJobQueueRequest& request, const DeleteJobQueueResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeregisterJobDefinitionAsyncHelper(const Model::DeregisterJobDefinitionRequest& request, const DeregisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeComputeEnvironmentsAsyncHelper(const Model::DescribeComputeEnvironmentsRequest& request, const DescribeComputeEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeJobDefinitionsAsyncHelper(const Model::DescribeJobDefinitionsRequest& request, const DescribeJobDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeJobQueuesAsyncHelper(const Model::DescribeJobQueuesRequest& request, const DescribeJobQueuesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeJobsAsyncHelper(const Model::DescribeJobsRequest& request, const DescribeJobsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListJobsAsyncHelper(const Model::ListJobsRequest& request, const ListJobsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RegisterJobDefinitionAsyncHelper(const Model::RegisterJobDefinitionRequest& request, const RegisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SubmitJobAsyncHelper(const Model::SubmitJobRequest& request, const SubmitJobResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TerminateJobAsyncHelper(const Model::TerminateJobRequest& request, const TerminateJobResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateComputeEnvironmentAsyncHelper(const Model::UpdateComputeEnvironmentRequest& request, const UpdateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateJobQueueAsyncHelper(const Model::UpdateJobQueueRequest& request, const UpdateJobQueueResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace Batch } // namespace Aws