{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- |
-- Module : Amazonka.Batch
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Derived from API version @2016-08-10@ of the AWS service descriptions, licensed under Apache 2.0.
--
-- Batch
--
-- Using Batch, you can run batch computing workloads on the Amazon Web
-- Services Cloud. Batch computing is a common means for developers,
-- scientists, and engineers to access large amounts of compute resources.
-- Batch uses the advantages of the batch computing to remove the
-- undifferentiated heavy lifting of configuring and managing required
-- infrastructure. At the same time, it also adopts a familiar batch
-- computing software approach. You can use Batch to efficiently provision
-- resources d, and work toward eliminating capacity constraints, reducing
-- your overall compute costs, and delivering results more quickly.
--
-- As a fully managed service, Batch can run batch computing workloads of
-- any scale. Batch automatically provisions compute resources and
-- optimizes workload distribution based on the quantity and scale of your
-- specific workloads. With Batch, there\'s no need to install or manage
-- batch computing software. This means that you can focus on analyzing
-- results and solving your specific problems instead.
module Amazonka.Batch
( -- * Service Configuration
defaultService,
-- * Errors
-- $errors
-- ** ClientException
_ClientException,
-- ** ServerException
_ServerException,
-- * Waiters
-- $waiters
-- * Operations
-- $operations
-- ** CancelJob
CancelJob (CancelJob'),
newCancelJob,
CancelJobResponse (CancelJobResponse'),
newCancelJobResponse,
-- ** CreateComputeEnvironment
CreateComputeEnvironment (CreateComputeEnvironment'),
newCreateComputeEnvironment,
CreateComputeEnvironmentResponse (CreateComputeEnvironmentResponse'),
newCreateComputeEnvironmentResponse,
-- ** CreateJobQueue
CreateJobQueue (CreateJobQueue'),
newCreateJobQueue,
CreateJobQueueResponse (CreateJobQueueResponse'),
newCreateJobQueueResponse,
-- ** CreateSchedulingPolicy
CreateSchedulingPolicy (CreateSchedulingPolicy'),
newCreateSchedulingPolicy,
CreateSchedulingPolicyResponse (CreateSchedulingPolicyResponse'),
newCreateSchedulingPolicyResponse,
-- ** DeleteComputeEnvironment
DeleteComputeEnvironment (DeleteComputeEnvironment'),
newDeleteComputeEnvironment,
DeleteComputeEnvironmentResponse (DeleteComputeEnvironmentResponse'),
newDeleteComputeEnvironmentResponse,
-- ** DeleteJobQueue
DeleteJobQueue (DeleteJobQueue'),
newDeleteJobQueue,
DeleteJobQueueResponse (DeleteJobQueueResponse'),
newDeleteJobQueueResponse,
-- ** DeleteSchedulingPolicy
DeleteSchedulingPolicy (DeleteSchedulingPolicy'),
newDeleteSchedulingPolicy,
DeleteSchedulingPolicyResponse (DeleteSchedulingPolicyResponse'),
newDeleteSchedulingPolicyResponse,
-- ** DeregisterJobDefinition
DeregisterJobDefinition (DeregisterJobDefinition'),
newDeregisterJobDefinition,
DeregisterJobDefinitionResponse (DeregisterJobDefinitionResponse'),
newDeregisterJobDefinitionResponse,
-- ** DescribeComputeEnvironments (Paginated)
DescribeComputeEnvironments (DescribeComputeEnvironments'),
newDescribeComputeEnvironments,
DescribeComputeEnvironmentsResponse (DescribeComputeEnvironmentsResponse'),
newDescribeComputeEnvironmentsResponse,
-- ** DescribeJobDefinitions (Paginated)
DescribeJobDefinitions (DescribeJobDefinitions'),
newDescribeJobDefinitions,
DescribeJobDefinitionsResponse (DescribeJobDefinitionsResponse'),
newDescribeJobDefinitionsResponse,
-- ** DescribeJobQueues (Paginated)
DescribeJobQueues (DescribeJobQueues'),
newDescribeJobQueues,
DescribeJobQueuesResponse (DescribeJobQueuesResponse'),
newDescribeJobQueuesResponse,
-- ** DescribeJobs
DescribeJobs (DescribeJobs'),
newDescribeJobs,
DescribeJobsResponse (DescribeJobsResponse'),
newDescribeJobsResponse,
-- ** DescribeSchedulingPolicies
DescribeSchedulingPolicies (DescribeSchedulingPolicies'),
newDescribeSchedulingPolicies,
DescribeSchedulingPoliciesResponse (DescribeSchedulingPoliciesResponse'),
newDescribeSchedulingPoliciesResponse,
-- ** ListJobs (Paginated)
ListJobs (ListJobs'),
newListJobs,
ListJobsResponse (ListJobsResponse'),
newListJobsResponse,
-- ** ListSchedulingPolicies (Paginated)
ListSchedulingPolicies (ListSchedulingPolicies'),
newListSchedulingPolicies,
ListSchedulingPoliciesResponse (ListSchedulingPoliciesResponse'),
newListSchedulingPoliciesResponse,
-- ** ListTagsForResource
ListTagsForResource (ListTagsForResource'),
newListTagsForResource,
ListTagsForResourceResponse (ListTagsForResourceResponse'),
newListTagsForResourceResponse,
-- ** RegisterJobDefinition
RegisterJobDefinition (RegisterJobDefinition'),
newRegisterJobDefinition,
RegisterJobDefinitionResponse (RegisterJobDefinitionResponse'),
newRegisterJobDefinitionResponse,
-- ** SubmitJob
SubmitJob (SubmitJob'),
newSubmitJob,
SubmitJobResponse (SubmitJobResponse'),
newSubmitJobResponse,
-- ** TagResource
TagResource (TagResource'),
newTagResource,
TagResourceResponse (TagResourceResponse'),
newTagResourceResponse,
-- ** TerminateJob
TerminateJob (TerminateJob'),
newTerminateJob,
TerminateJobResponse (TerminateJobResponse'),
newTerminateJobResponse,
-- ** UntagResource
UntagResource (UntagResource'),
newUntagResource,
UntagResourceResponse (UntagResourceResponse'),
newUntagResourceResponse,
-- ** UpdateComputeEnvironment
UpdateComputeEnvironment (UpdateComputeEnvironment'),
newUpdateComputeEnvironment,
UpdateComputeEnvironmentResponse (UpdateComputeEnvironmentResponse'),
newUpdateComputeEnvironmentResponse,
-- ** UpdateJobQueue
UpdateJobQueue (UpdateJobQueue'),
newUpdateJobQueue,
UpdateJobQueueResponse (UpdateJobQueueResponse'),
newUpdateJobQueueResponse,
-- ** UpdateSchedulingPolicy
UpdateSchedulingPolicy (UpdateSchedulingPolicy'),
newUpdateSchedulingPolicy,
UpdateSchedulingPolicyResponse (UpdateSchedulingPolicyResponse'),
newUpdateSchedulingPolicyResponse,
-- * Types
-- ** ArrayJobDependency
ArrayJobDependency (..),
-- ** AssignPublicIp
AssignPublicIp (..),
-- ** CEState
CEState (..),
-- ** CEStatus
CEStatus (..),
-- ** CEType
CEType (..),
-- ** CRAllocationStrategy
CRAllocationStrategy (..),
-- ** CRType
CRType (..),
-- ** CRUpdateAllocationStrategy
CRUpdateAllocationStrategy (..),
-- ** DeviceCgroupPermission
DeviceCgroupPermission (..),
-- ** EFSAuthorizationConfigIAM
EFSAuthorizationConfigIAM (..),
-- ** EFSTransitEncryption
EFSTransitEncryption (..),
-- ** JQState
JQState (..),
-- ** JQStatus
JQStatus (..),
-- ** JobDefinitionType
JobDefinitionType (..),
-- ** JobStatus
JobStatus (..),
-- ** LogDriver
LogDriver (..),
-- ** OrchestrationType
OrchestrationType (..),
-- ** PlatformCapability
PlatformCapability (..),
-- ** ResourceType
ResourceType (..),
-- ** RetryAction
RetryAction (..),
-- ** ArrayProperties
ArrayProperties (ArrayProperties'),
newArrayProperties,
-- ** ArrayPropertiesDetail
ArrayPropertiesDetail (ArrayPropertiesDetail'),
newArrayPropertiesDetail,
-- ** ArrayPropertiesSummary
ArrayPropertiesSummary (ArrayPropertiesSummary'),
newArrayPropertiesSummary,
-- ** AttemptContainerDetail
AttemptContainerDetail (AttemptContainerDetail'),
newAttemptContainerDetail,
-- ** AttemptDetail
AttemptDetail (AttemptDetail'),
newAttemptDetail,
-- ** ComputeEnvironmentDetail
ComputeEnvironmentDetail (ComputeEnvironmentDetail'),
newComputeEnvironmentDetail,
-- ** ComputeEnvironmentOrder
ComputeEnvironmentOrder (ComputeEnvironmentOrder'),
newComputeEnvironmentOrder,
-- ** ComputeResource
ComputeResource (ComputeResource'),
newComputeResource,
-- ** ComputeResourceUpdate
ComputeResourceUpdate (ComputeResourceUpdate'),
newComputeResourceUpdate,
-- ** ContainerDetail
ContainerDetail (ContainerDetail'),
newContainerDetail,
-- ** ContainerOverrides
ContainerOverrides (ContainerOverrides'),
newContainerOverrides,
-- ** ContainerProperties
ContainerProperties (ContainerProperties'),
newContainerProperties,
-- ** ContainerSummary
ContainerSummary (ContainerSummary'),
newContainerSummary,
-- ** Device
Device (Device'),
newDevice,
-- ** EFSAuthorizationConfig
EFSAuthorizationConfig (EFSAuthorizationConfig'),
newEFSAuthorizationConfig,
-- ** EFSVolumeConfiguration
EFSVolumeConfiguration (EFSVolumeConfiguration'),
newEFSVolumeConfiguration,
-- ** Ec2Configuration
Ec2Configuration (Ec2Configuration'),
newEc2Configuration,
-- ** EksAttemptContainerDetail
EksAttemptContainerDetail (EksAttemptContainerDetail'),
newEksAttemptContainerDetail,
-- ** EksAttemptDetail
EksAttemptDetail (EksAttemptDetail'),
newEksAttemptDetail,
-- ** EksConfiguration
EksConfiguration (EksConfiguration'),
newEksConfiguration,
-- ** EksContainer
EksContainer (EksContainer'),
newEksContainer,
-- ** EksContainerDetail
EksContainerDetail (EksContainerDetail'),
newEksContainerDetail,
-- ** EksContainerEnvironmentVariable
EksContainerEnvironmentVariable (EksContainerEnvironmentVariable'),
newEksContainerEnvironmentVariable,
-- ** EksContainerOverride
EksContainerOverride (EksContainerOverride'),
newEksContainerOverride,
-- ** EksContainerResourceRequirements
EksContainerResourceRequirements (EksContainerResourceRequirements'),
newEksContainerResourceRequirements,
-- ** EksContainerSecurityContext
EksContainerSecurityContext (EksContainerSecurityContext'),
newEksContainerSecurityContext,
-- ** EksContainerVolumeMount
EksContainerVolumeMount (EksContainerVolumeMount'),
newEksContainerVolumeMount,
-- ** EksEmptyDir
EksEmptyDir (EksEmptyDir'),
newEksEmptyDir,
-- ** EksHostPath
EksHostPath (EksHostPath'),
newEksHostPath,
-- ** EksPodProperties
EksPodProperties (EksPodProperties'),
newEksPodProperties,
-- ** EksPodPropertiesDetail
EksPodPropertiesDetail (EksPodPropertiesDetail'),
newEksPodPropertiesDetail,
-- ** EksPodPropertiesOverride
EksPodPropertiesOverride (EksPodPropertiesOverride'),
newEksPodPropertiesOverride,
-- ** EksProperties
EksProperties (EksProperties'),
newEksProperties,
-- ** EksPropertiesDetail
EksPropertiesDetail (EksPropertiesDetail'),
newEksPropertiesDetail,
-- ** EksPropertiesOverride
EksPropertiesOverride (EksPropertiesOverride'),
newEksPropertiesOverride,
-- ** EksSecret
EksSecret (EksSecret'),
newEksSecret,
-- ** EksVolume
EksVolume (EksVolume'),
newEksVolume,
-- ** EvaluateOnExit
EvaluateOnExit (EvaluateOnExit'),
newEvaluateOnExit,
-- ** FairsharePolicy
FairsharePolicy (FairsharePolicy'),
newFairsharePolicy,
-- ** FargatePlatformConfiguration
FargatePlatformConfiguration (FargatePlatformConfiguration'),
newFargatePlatformConfiguration,
-- ** Host
Host (Host'),
newHost,
-- ** JobDefinition
JobDefinition (JobDefinition'),
newJobDefinition,
-- ** JobDependency
JobDependency (JobDependency'),
newJobDependency,
-- ** JobDetail
JobDetail (JobDetail'),
newJobDetail,
-- ** JobQueueDetail
JobQueueDetail (JobQueueDetail'),
newJobQueueDetail,
-- ** JobSummary
JobSummary (JobSummary'),
newJobSummary,
-- ** JobTimeout
JobTimeout (JobTimeout'),
newJobTimeout,
-- ** KeyValuePair
KeyValuePair (KeyValuePair'),
newKeyValuePair,
-- ** KeyValuesPair
KeyValuesPair (KeyValuesPair'),
newKeyValuesPair,
-- ** LaunchTemplateSpecification
LaunchTemplateSpecification (LaunchTemplateSpecification'),
newLaunchTemplateSpecification,
-- ** LinuxParameters
LinuxParameters (LinuxParameters'),
newLinuxParameters,
-- ** LogConfiguration
LogConfiguration (LogConfiguration'),
newLogConfiguration,
-- ** MountPoint
MountPoint (MountPoint'),
newMountPoint,
-- ** NetworkConfiguration
NetworkConfiguration (NetworkConfiguration'),
newNetworkConfiguration,
-- ** NetworkInterface
NetworkInterface (NetworkInterface'),
newNetworkInterface,
-- ** NodeDetails
NodeDetails (NodeDetails'),
newNodeDetails,
-- ** NodeOverrides
NodeOverrides (NodeOverrides'),
newNodeOverrides,
-- ** NodeProperties
NodeProperties (NodeProperties'),
newNodeProperties,
-- ** NodePropertiesSummary
NodePropertiesSummary (NodePropertiesSummary'),
newNodePropertiesSummary,
-- ** NodePropertyOverride
NodePropertyOverride (NodePropertyOverride'),
newNodePropertyOverride,
-- ** NodeRangeProperty
NodeRangeProperty (NodeRangeProperty'),
newNodeRangeProperty,
-- ** ResourceRequirement
ResourceRequirement (ResourceRequirement'),
newResourceRequirement,
-- ** RetryStrategy
RetryStrategy (RetryStrategy'),
newRetryStrategy,
-- ** SchedulingPolicyDetail
SchedulingPolicyDetail (SchedulingPolicyDetail'),
newSchedulingPolicyDetail,
-- ** SchedulingPolicyListingDetail
SchedulingPolicyListingDetail (SchedulingPolicyListingDetail'),
newSchedulingPolicyListingDetail,
-- ** Secret
Secret (Secret'),
newSecret,
-- ** ShareAttributes
ShareAttributes (ShareAttributes'),
newShareAttributes,
-- ** Tmpfs
Tmpfs (Tmpfs'),
newTmpfs,
-- ** Ulimit
Ulimit (Ulimit'),
newUlimit,
-- ** UpdatePolicy
UpdatePolicy (UpdatePolicy'),
newUpdatePolicy,
-- ** Volume
Volume (Volume'),
newVolume,
)
where
import Amazonka.Batch.CancelJob
import Amazonka.Batch.CreateComputeEnvironment
import Amazonka.Batch.CreateJobQueue
import Amazonka.Batch.CreateSchedulingPolicy
import Amazonka.Batch.DeleteComputeEnvironment
import Amazonka.Batch.DeleteJobQueue
import Amazonka.Batch.DeleteSchedulingPolicy
import Amazonka.Batch.DeregisterJobDefinition
import Amazonka.Batch.DescribeComputeEnvironments
import Amazonka.Batch.DescribeJobDefinitions
import Amazonka.Batch.DescribeJobQueues
import Amazonka.Batch.DescribeJobs
import Amazonka.Batch.DescribeSchedulingPolicies
import Amazonka.Batch.Lens
import Amazonka.Batch.ListJobs
import Amazonka.Batch.ListSchedulingPolicies
import Amazonka.Batch.ListTagsForResource
import Amazonka.Batch.RegisterJobDefinition
import Amazonka.Batch.SubmitJob
import Amazonka.Batch.TagResource
import Amazonka.Batch.TerminateJob
import Amazonka.Batch.Types
import Amazonka.Batch.UntagResource
import Amazonka.Batch.UpdateComputeEnvironment
import Amazonka.Batch.UpdateJobQueue
import Amazonka.Batch.UpdateSchedulingPolicy
import Amazonka.Batch.Waiters
-- $errors
-- Error matchers are designed for use with the functions provided by
-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.
-- This allows catching (and rethrowing) service specific errors returned
-- by 'Batch'.
-- $operations
-- Some AWS operations return results that are incomplete and require subsequent
-- requests in order to obtain the entire result set. The process of sending
-- subsequent requests to continue where a previous request left off is called
-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to
-- 1000 objects at a time, and you must send subsequent requests with the
-- appropriate Marker in order to retrieve the next page of results.
--
-- Operations that have an 'AWSPager' instance can transparently perform subsequent
-- requests, correctly setting Markers and other request facets to iterate through
-- the entire result set of a truncated API operation. Operations which support
-- this have an additional note in the documentation.
--
-- Many operations have the ability to filter results on the server side. See the
-- individual operation parameters for details.
-- $waiters
-- Waiters poll by repeatedly sending a request until some remote success condition
-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification
-- determines how many attempts should be made, in addition to delay and retry strategies.