aws-elixir v0.4.0 AWS.Batch

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.

Summary

Functions

Cancels jobs 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 jobs are cancelled); these jobs must be terminated with the TerminateJob operation

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

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

Deletes an AWS Batch compute environment

Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation and terminate any jobs that have not completed with the TerminateJob

Deregisters an AWS Batch job definition

Describes one or more of your compute environments

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

Describes one or more of your job queues

Describes a list of AWS Batch jobs

Returns a list of task jobs for a specified job queue. You can filter the results by job status with the jobStatus parameter

Registers an AWS Batch job definition

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

Terminates jobs 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

Updates an AWS Batch compute environment

Functions

cancel_job(client, input, options \\ [])

Cancels jobs 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 jobs are cancelled); these jobs must be terminated with the TerminateJob operation.

create_compute_environment(client, input, options \\ [])

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

In a managed compute environment, AWS Batch manages the compute resources within the environment, based on the compute resources that you specify. Instances launched into a managed compute environment use the latest Amazon ECS-optimized AMI. You can choose to use Amazon EC2 On-Demand instances in your managed compute environment, or you can use Amazon EC2 Spot instances that only launch when the Spot bid price is below a specified percentage of the On-Demand price.

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 EC2 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 and then manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon EC2 Container Service Developer Guide.

create_job_queue(client, input, options \\ [])

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.

delete_compute_environment(client, input, options \\ [])

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.

delete_job_queue(client, input, options \\ [])

Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation and terminate any jobs that have not completed with the TerminateJob.

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

deregister_job_definition(client, input, options \\ [])

Deregisters an AWS Batch job definition.

describe_compute_environments(client, input, options \\ [])

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.

describe_job_definitions(client, input, options \\ [])

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

describe_job_queues(client, input, options \\ [])

Describes one or more of your job queues.

describe_jobs(client, input, options \\ [])

Describes a list of AWS Batch jobs.

list_jobs(client, input, options \\ [])

Returns a list of task jobs for a specified job queue. You can filter the results by job status with the jobStatus parameter.

register_job_definition(client, input, options \\ [])

Registers an AWS Batch job definition.

submit_job(client, input, options \\ [])

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

terminate_job(client, input, options \\ [])

Terminates jobs 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.

update_compute_environment(client, input, options \\ [])

Updates an AWS Batch compute environment.

update_job_queue(client, input, options \\ [])

Updates a job queue.