-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Amazon Batch SDK.
--
-- Derived from API version 2016-08-10 of the AWS service
-- descriptions, licensed under Apache 2.0.
--
-- The types from this library are intended to be used with
-- amazonka, which provides mechanisms for specifying AuthN/AuthZ
-- information, sending requests, and receiving responses.
--
-- It is recommended to use generic lenses or optics from packages such
-- as generic-lens or optics to modify optional fields and
-- deconstruct responses.
--
-- Generated lenses can be found in Amazonka.Batch.Lens and are
-- suitable for use with a lens package such as lens or
-- lens-family-core.
--
-- See Amazonka.Batch and the AWS documentation to get
-- started.
@package amazonka-batch
@version 2.0
module Amazonka.Batch.Types.ArrayJobDependency
newtype ArrayJobDependency
ArrayJobDependency' :: Text -> ArrayJobDependency
[fromArrayJobDependency] :: ArrayJobDependency -> Text
pattern ArrayJobDependency_N_TO_N :: ArrayJobDependency
pattern ArrayJobDependency_SEQUENTIAL :: ArrayJobDependency
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance GHC.Generics.Generic Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance GHC.Classes.Ord Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance GHC.Classes.Eq Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance GHC.Read.Read Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
instance GHC.Show.Show Amazonka.Batch.Types.ArrayJobDependency.ArrayJobDependency
module Amazonka.Batch.Types.ArrayProperties
-- | An object that represents an Batch array job.
--
-- See: newArrayProperties smart constructor.
data ArrayProperties
ArrayProperties' :: Maybe Int -> ArrayProperties
-- | The size of the array job.
[$sel:size:ArrayProperties'] :: ArrayProperties -> Maybe Int
-- | Create a value of ArrayProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:size:ArrayProperties', arrayProperties_size - The
-- size of the array job.
newArrayProperties :: ArrayProperties
-- | The size of the array job.
arrayProperties_size :: Lens' ArrayProperties (Maybe Int)
instance GHC.Generics.Generic Amazonka.Batch.Types.ArrayProperties.ArrayProperties
instance GHC.Show.Show Amazonka.Batch.Types.ArrayProperties.ArrayProperties
instance GHC.Read.Read Amazonka.Batch.Types.ArrayProperties.ArrayProperties
instance GHC.Classes.Eq Amazonka.Batch.Types.ArrayProperties.ArrayProperties
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ArrayProperties.ArrayProperties
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ArrayProperties.ArrayProperties
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ArrayProperties.ArrayProperties
module Amazonka.Batch.Types.ArrayPropertiesDetail
-- | An object that represents the array properties of a job.
--
-- See: newArrayPropertiesDetail smart constructor.
data ArrayPropertiesDetail
ArrayPropertiesDetail' :: Maybe Int -> Maybe Int -> Maybe (HashMap Text Int) -> ArrayPropertiesDetail
-- | The job index within the array that's associated with this job. This
-- parameter is returned for array job children.
[$sel:index:ArrayPropertiesDetail'] :: ArrayPropertiesDetail -> Maybe Int
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
[$sel:size:ArrayPropertiesDetail'] :: ArrayPropertiesDetail -> Maybe Int
-- | A summary of the number of array job children in each available job
-- status. This parameter is returned for parent array jobs.
[$sel:statusSummary:ArrayPropertiesDetail'] :: ArrayPropertiesDetail -> Maybe (HashMap Text Int)
-- | Create a value of ArrayPropertiesDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:index:ArrayPropertiesDetail',
-- arrayPropertiesDetail_index - The job index within the array
-- that's associated with this job. This parameter is returned for array
-- job children.
--
-- $sel:size:ArrayPropertiesDetail',
-- arrayPropertiesDetail_size - The size of the array job. This
-- parameter is returned for parent array jobs.
--
-- $sel:statusSummary:ArrayPropertiesDetail',
-- arrayPropertiesDetail_statusSummary - A summary of the number
-- of array job children in each available job status. This parameter is
-- returned for parent array jobs.
newArrayPropertiesDetail :: ArrayPropertiesDetail
-- | The job index within the array that's associated with this job. This
-- parameter is returned for array job children.
arrayPropertiesDetail_index :: Lens' ArrayPropertiesDetail (Maybe Int)
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
arrayPropertiesDetail_size :: Lens' ArrayPropertiesDetail (Maybe Int)
-- | A summary of the number of array job children in each available job
-- status. This parameter is returned for parent array jobs.
arrayPropertiesDetail_statusSummary :: Lens' ArrayPropertiesDetail (Maybe (HashMap Text Int))
instance GHC.Generics.Generic Amazonka.Batch.Types.ArrayPropertiesDetail.ArrayPropertiesDetail
instance GHC.Show.Show Amazonka.Batch.Types.ArrayPropertiesDetail.ArrayPropertiesDetail
instance GHC.Read.Read Amazonka.Batch.Types.ArrayPropertiesDetail.ArrayPropertiesDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.ArrayPropertiesDetail.ArrayPropertiesDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ArrayPropertiesDetail.ArrayPropertiesDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ArrayPropertiesDetail.ArrayPropertiesDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ArrayPropertiesDetail.ArrayPropertiesDetail
module Amazonka.Batch.Types.ArrayPropertiesSummary
-- | An object that represents the array properties of a job.
--
-- See: newArrayPropertiesSummary smart constructor.
data ArrayPropertiesSummary
ArrayPropertiesSummary' :: Maybe Int -> Maybe Int -> ArrayPropertiesSummary
-- | The job index within the array that's associated with this job. This
-- parameter is returned for children of array jobs.
[$sel:index:ArrayPropertiesSummary'] :: ArrayPropertiesSummary -> Maybe Int
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
[$sel:size:ArrayPropertiesSummary'] :: ArrayPropertiesSummary -> Maybe Int
-- | Create a value of ArrayPropertiesSummary with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:index:ArrayPropertiesSummary',
-- arrayPropertiesSummary_index - The job index within the array
-- that's associated with this job. This parameter is returned for
-- children of array jobs.
--
-- $sel:size:ArrayPropertiesSummary',
-- arrayPropertiesSummary_size - The size of the array job. This
-- parameter is returned for parent array jobs.
newArrayPropertiesSummary :: ArrayPropertiesSummary
-- | The job index within the array that's associated with this job. This
-- parameter is returned for children of array jobs.
arrayPropertiesSummary_index :: Lens' ArrayPropertiesSummary (Maybe Int)
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
arrayPropertiesSummary_size :: Lens' ArrayPropertiesSummary (Maybe Int)
instance GHC.Generics.Generic Amazonka.Batch.Types.ArrayPropertiesSummary.ArrayPropertiesSummary
instance GHC.Show.Show Amazonka.Batch.Types.ArrayPropertiesSummary.ArrayPropertiesSummary
instance GHC.Read.Read Amazonka.Batch.Types.ArrayPropertiesSummary.ArrayPropertiesSummary
instance GHC.Classes.Eq Amazonka.Batch.Types.ArrayPropertiesSummary.ArrayPropertiesSummary
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ArrayPropertiesSummary.ArrayPropertiesSummary
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ArrayPropertiesSummary.ArrayPropertiesSummary
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ArrayPropertiesSummary.ArrayPropertiesSummary
module Amazonka.Batch.Types.AssignPublicIp
newtype AssignPublicIp
AssignPublicIp' :: Text -> AssignPublicIp
[fromAssignPublicIp] :: AssignPublicIp -> Text
pattern AssignPublicIp_DISABLED :: AssignPublicIp
pattern AssignPublicIp_ENABLED :: AssignPublicIp
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Control.DeepSeq.NFData Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance GHC.Generics.Generic Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance GHC.Classes.Ord Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance GHC.Classes.Eq Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance GHC.Read.Read Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
instance GHC.Show.Show Amazonka.Batch.Types.AssignPublicIp.AssignPublicIp
module Amazonka.Batch.Types.CEState
newtype CEState
CEState' :: Text -> CEState
[fromCEState] :: CEState -> Text
pattern CEState_DISABLED :: CEState
pattern CEState_ENABLED :: CEState
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.CEState.CEState
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.CEState.CEState
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.CEState.CEState
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.CEState.CEState
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.CEState.CEState
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.CEState.CEState
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.CEState.CEState
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.CEState.CEState
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.CEState.CEState
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.CEState.CEState
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.CEState.CEState
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.CEState.CEState
instance Control.DeepSeq.NFData Amazonka.Batch.Types.CEState.CEState
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.CEState.CEState
instance GHC.Generics.Generic Amazonka.Batch.Types.CEState.CEState
instance GHC.Classes.Ord Amazonka.Batch.Types.CEState.CEState
instance GHC.Classes.Eq Amazonka.Batch.Types.CEState.CEState
instance GHC.Read.Read Amazonka.Batch.Types.CEState.CEState
instance GHC.Show.Show Amazonka.Batch.Types.CEState.CEState
module Amazonka.Batch.Types.CEStatus
newtype CEStatus
CEStatus' :: Text -> CEStatus
[fromCEStatus] :: CEStatus -> Text
pattern CEStatus_CREATING :: CEStatus
pattern CEStatus_DELETED :: CEStatus
pattern CEStatus_DELETING :: CEStatus
pattern CEStatus_INVALID :: CEStatus
pattern CEStatus_UPDATING :: CEStatus
pattern CEStatus_VALID :: CEStatus
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.CEStatus.CEStatus
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.CEStatus.CEStatus
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.CEStatus.CEStatus
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.CEStatus.CEStatus
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.CEStatus.CEStatus
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.CEStatus.CEStatus
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.CEStatus.CEStatus
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.CEStatus.CEStatus
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.CEStatus.CEStatus
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.CEStatus.CEStatus
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.CEStatus.CEStatus
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.CEStatus.CEStatus
instance Control.DeepSeq.NFData Amazonka.Batch.Types.CEStatus.CEStatus
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.CEStatus.CEStatus
instance GHC.Generics.Generic Amazonka.Batch.Types.CEStatus.CEStatus
instance GHC.Classes.Ord Amazonka.Batch.Types.CEStatus.CEStatus
instance GHC.Classes.Eq Amazonka.Batch.Types.CEStatus.CEStatus
instance GHC.Read.Read Amazonka.Batch.Types.CEStatus.CEStatus
instance GHC.Show.Show Amazonka.Batch.Types.CEStatus.CEStatus
module Amazonka.Batch.Types.CEType
newtype CEType
CEType' :: Text -> CEType
[fromCEType] :: CEType -> Text
pattern CEType_MANAGED :: CEType
pattern CEType_UNMANAGED :: CEType
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.CEType.CEType
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.CEType.CEType
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.CEType.CEType
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.CEType.CEType
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.CEType.CEType
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.CEType.CEType
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.CEType.CEType
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.CEType.CEType
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.CEType.CEType
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.CEType.CEType
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.CEType.CEType
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.CEType.CEType
instance Control.DeepSeq.NFData Amazonka.Batch.Types.CEType.CEType
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.CEType.CEType
instance GHC.Generics.Generic Amazonka.Batch.Types.CEType.CEType
instance GHC.Classes.Ord Amazonka.Batch.Types.CEType.CEType
instance GHC.Classes.Eq Amazonka.Batch.Types.CEType.CEType
instance GHC.Read.Read Amazonka.Batch.Types.CEType.CEType
instance GHC.Show.Show Amazonka.Batch.Types.CEType.CEType
module Amazonka.Batch.Types.CRAllocationStrategy
newtype CRAllocationStrategy
CRAllocationStrategy' :: Text -> CRAllocationStrategy
[fromCRAllocationStrategy] :: CRAllocationStrategy -> Text
pattern CRAllocationStrategy_BEST_FIT :: CRAllocationStrategy
pattern CRAllocationStrategy_BEST_FIT_PROGRESSIVE :: CRAllocationStrategy
pattern CRAllocationStrategy_SPOT_CAPACITY_OPTIMIZED :: CRAllocationStrategy
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Control.DeepSeq.NFData Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance GHC.Generics.Generic Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance GHC.Classes.Ord Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance GHC.Classes.Eq Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance GHC.Read.Read Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
instance GHC.Show.Show Amazonka.Batch.Types.CRAllocationStrategy.CRAllocationStrategy
module Amazonka.Batch.Types.CRType
newtype CRType
CRType' :: Text -> CRType
[fromCRType] :: CRType -> Text
pattern CRType_EC2 :: CRType
pattern CRType_FARGATE :: CRType
pattern CRType_FARGATE_SPOT :: CRType
pattern CRType_SPOT :: CRType
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.CRType.CRType
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.CRType.CRType
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.CRType.CRType
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.CRType.CRType
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.CRType.CRType
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.CRType.CRType
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.CRType.CRType
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.CRType.CRType
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.CRType.CRType
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.CRType.CRType
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.CRType.CRType
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.CRType.CRType
instance Control.DeepSeq.NFData Amazonka.Batch.Types.CRType.CRType
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.CRType.CRType
instance GHC.Generics.Generic Amazonka.Batch.Types.CRType.CRType
instance GHC.Classes.Ord Amazonka.Batch.Types.CRType.CRType
instance GHC.Classes.Eq Amazonka.Batch.Types.CRType.CRType
instance GHC.Read.Read Amazonka.Batch.Types.CRType.CRType
instance GHC.Show.Show Amazonka.Batch.Types.CRType.CRType
module Amazonka.Batch.Types.CRUpdateAllocationStrategy
newtype CRUpdateAllocationStrategy
CRUpdateAllocationStrategy' :: Text -> CRUpdateAllocationStrategy
[fromCRUpdateAllocationStrategy] :: CRUpdateAllocationStrategy -> Text
pattern CRUpdateAllocationStrategy_BEST_FIT_PROGRESSIVE :: CRUpdateAllocationStrategy
pattern CRUpdateAllocationStrategy_SPOT_CAPACITY_OPTIMIZED :: CRUpdateAllocationStrategy
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Control.DeepSeq.NFData Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance GHC.Generics.Generic Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance GHC.Classes.Ord Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance GHC.Classes.Eq Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance GHC.Read.Read Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
instance GHC.Show.Show Amazonka.Batch.Types.CRUpdateAllocationStrategy.CRUpdateAllocationStrategy
module Amazonka.Batch.Types.ComputeEnvironmentOrder
-- | The order that compute environments are tried in for job placement
-- within a queue. Compute environments are tried in ascending order. For
-- example, if two compute environments are associated with a job queue,
-- the compute environment with a lower order integer value is tried for
-- job placement first. Compute environments must be in the
-- VALID state before you can associate them with a job queue.
-- All of the compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT);
-- EC2 and Fargate compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
--
-- See: newComputeEnvironmentOrder smart constructor.
data ComputeEnvironmentOrder
ComputeEnvironmentOrder' :: Int -> Text -> ComputeEnvironmentOrder
-- | The order of the compute environment. Compute environments are tried
-- in ascending order. For example, if two compute environments are
-- associated with a job queue, the compute environment with a lower
-- order integer value is tried for job placement first.
[$sel:order:ComputeEnvironmentOrder'] :: ComputeEnvironmentOrder -> Int
-- | The Amazon Resource Name (ARN) of the compute environment.
[$sel:computeEnvironment:ComputeEnvironmentOrder'] :: ComputeEnvironmentOrder -> Text
-- | Create a value of ComputeEnvironmentOrder with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:order:ComputeEnvironmentOrder',
-- computeEnvironmentOrder_order - The order of the compute
-- environment. Compute environments are tried in ascending order. For
-- example, if two compute environments are associated with a job queue,
-- the compute environment with a lower order integer value is
-- tried for job placement first.
--
-- $sel:computeEnvironment:ComputeEnvironmentOrder',
-- computeEnvironmentOrder_computeEnvironment - The Amazon
-- Resource Name (ARN) of the compute environment.
newComputeEnvironmentOrder :: Int -> Text -> ComputeEnvironmentOrder
-- | The order of the compute environment. Compute environments are tried
-- in ascending order. For example, if two compute environments are
-- associated with a job queue, the compute environment with a lower
-- order integer value is tried for job placement first.
computeEnvironmentOrder_order :: Lens' ComputeEnvironmentOrder Int
-- | The Amazon Resource Name (ARN) of the compute environment.
computeEnvironmentOrder_computeEnvironment :: Lens' ComputeEnvironmentOrder Text
instance GHC.Generics.Generic Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
instance GHC.Show.Show Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
instance GHC.Read.Read Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
instance GHC.Classes.Eq Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ComputeEnvironmentOrder.ComputeEnvironmentOrder
module Amazonka.Batch.Types.ContainerSummary
-- | An object that represents summary details of a container within a job.
--
-- See: newContainerSummary smart constructor.
data ContainerSummary
ContainerSummary' :: Maybe Int -> Maybe Text -> ContainerSummary
-- | The exit code to return upon completion.
[$sel:exitCode:ContainerSummary'] :: ContainerSummary -> Maybe Int
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:ContainerSummary'] :: ContainerSummary -> Maybe Text
-- | Create a value of ContainerSummary with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:exitCode:ContainerSummary',
-- containerSummary_exitCode - The exit code to return upon
-- completion.
--
-- $sel:reason:ContainerSummary', containerSummary_reason -
-- A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
newContainerSummary :: ContainerSummary
-- | The exit code to return upon completion.
containerSummary_exitCode :: Lens' ContainerSummary (Maybe Int)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
containerSummary_reason :: Lens' ContainerSummary (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.ContainerSummary.ContainerSummary
instance GHC.Show.Show Amazonka.Batch.Types.ContainerSummary.ContainerSummary
instance GHC.Read.Read Amazonka.Batch.Types.ContainerSummary.ContainerSummary
instance GHC.Classes.Eq Amazonka.Batch.Types.ContainerSummary.ContainerSummary
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ContainerSummary.ContainerSummary
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ContainerSummary.ContainerSummary
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ContainerSummary.ContainerSummary
module Amazonka.Batch.Types.DeviceCgroupPermission
newtype DeviceCgroupPermission
DeviceCgroupPermission' :: Text -> DeviceCgroupPermission
[fromDeviceCgroupPermission] :: DeviceCgroupPermission -> Text
pattern DeviceCgroupPermission_MKNOD :: DeviceCgroupPermission
pattern DeviceCgroupPermission_READ :: DeviceCgroupPermission
pattern DeviceCgroupPermission_WRITE :: DeviceCgroupPermission
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Control.DeepSeq.NFData Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance GHC.Generics.Generic Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance GHC.Classes.Ord Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance GHC.Classes.Eq Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance GHC.Read.Read Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
instance GHC.Show.Show Amazonka.Batch.Types.DeviceCgroupPermission.DeviceCgroupPermission
module Amazonka.Batch.Types.Device
-- | An object that represents a container instance host device.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- See: newDevice smart constructor.
data Device
Device' :: Maybe Text -> Maybe [DeviceCgroupPermission] -> Text -> Device
-- | The path inside the container that's used to expose the host device.
-- By default, the hostPath value is used.
[$sel:containerPath:Device'] :: Device -> Maybe Text
-- | The explicit permissions to provide to the container for the device.
-- By default, the container has permissions for read,
-- write, and mknod for the device.
[$sel:permissions:Device'] :: Device -> Maybe [DeviceCgroupPermission]
-- | The path for the device on the host container instance.
[$sel:hostPath:Device'] :: Device -> Text
-- | Create a value of Device with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerPath:Device', device_containerPath - The
-- path inside the container that's used to expose the host device. By
-- default, the hostPath value is used.
--
-- $sel:permissions:Device', device_permissions - The
-- explicit permissions to provide to the container for the device. By
-- default, the container has permissions for read,
-- write, and mknod for the device.
--
-- $sel:hostPath:Device', device_hostPath - The path for
-- the device on the host container instance.
newDevice :: Text -> Device
-- | The path inside the container that's used to expose the host device.
-- By default, the hostPath value is used.
device_containerPath :: Lens' Device (Maybe Text)
-- | The explicit permissions to provide to the container for the device.
-- By default, the container has permissions for read,
-- write, and mknod for the device.
device_permissions :: Lens' Device (Maybe [DeviceCgroupPermission])
-- | The path for the device on the host container instance.
device_hostPath :: Lens' Device Text
instance GHC.Generics.Generic Amazonka.Batch.Types.Device.Device
instance GHC.Show.Show Amazonka.Batch.Types.Device.Device
instance GHC.Read.Read Amazonka.Batch.Types.Device.Device
instance GHC.Classes.Eq Amazonka.Batch.Types.Device.Device
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.Device.Device
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.Device.Device
instance Control.DeepSeq.NFData Amazonka.Batch.Types.Device.Device
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.Device.Device
module Amazonka.Batch.Types.EFSAuthorizationConfigIAM
newtype EFSAuthorizationConfigIAM
EFSAuthorizationConfigIAM' :: Text -> EFSAuthorizationConfigIAM
[fromEFSAuthorizationConfigIAM] :: EFSAuthorizationConfigIAM -> Text
pattern EFSAuthorizationConfigIAM_DISABLED :: EFSAuthorizationConfigIAM
pattern EFSAuthorizationConfigIAM_ENABLED :: EFSAuthorizationConfigIAM
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance GHC.Generics.Generic Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance GHC.Classes.Ord Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance GHC.Classes.Eq Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance GHC.Read.Read Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
instance GHC.Show.Show Amazonka.Batch.Types.EFSAuthorizationConfigIAM.EFSAuthorizationConfigIAM
module Amazonka.Batch.Types.EFSAuthorizationConfig
-- | The authorization configuration details for the Amazon EFS file
-- system.
--
-- See: newEFSAuthorizationConfig smart constructor.
data EFSAuthorizationConfig
EFSAuthorizationConfig' :: Maybe Text -> Maybe EFSAuthorizationConfigIAM -> EFSAuthorizationConfig
-- | The Amazon EFS access point ID to use. If an access point is
-- specified, the root directory value specified in the
-- EFSVolumeConfiguration must either be omitted or set to
-- / which enforces the path set on the EFS access point. If an
-- access point is used, transit encryption must be enabled in the
-- EFSVolumeConfiguration. For more information, see Working
-- with Amazon EFS access points in the Amazon Elastic File System
-- User Guide.
[$sel:accessPointId:EFSAuthorizationConfig'] :: EFSAuthorizationConfig -> Maybe Text
-- | Whether or not to use the Batch job IAM role defined in a job
-- definition when mounting the Amazon EFS file system. If enabled,
-- transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
[$sel:iam:EFSAuthorizationConfig'] :: EFSAuthorizationConfig -> Maybe EFSAuthorizationConfigIAM
-- | Create a value of EFSAuthorizationConfig with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:accessPointId:EFSAuthorizationConfig',
-- eFSAuthorizationConfig_accessPointId - The Amazon EFS access
-- point ID to use. If an access point is specified, the root directory
-- value specified in the EFSVolumeConfiguration must either be
-- omitted or set to / which enforces the path set on the EFS
-- access point. If an access point is used, transit encryption must be
-- enabled in the EFSVolumeConfiguration. For more information,
-- see Working with Amazon EFS access points in the Amazon
-- Elastic File System User Guide.
--
-- $sel:iam:EFSAuthorizationConfig',
-- eFSAuthorizationConfig_iam - Whether or not to use the Batch
-- job IAM role defined in a job definition when mounting the Amazon EFS
-- file system. If enabled, transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
newEFSAuthorizationConfig :: EFSAuthorizationConfig
-- | The Amazon EFS access point ID to use. If an access point is
-- specified, the root directory value specified in the
-- EFSVolumeConfiguration must either be omitted or set to
-- / which enforces the path set on the EFS access point. If an
-- access point is used, transit encryption must be enabled in the
-- EFSVolumeConfiguration. For more information, see Working
-- with Amazon EFS access points in the Amazon Elastic File System
-- User Guide.
eFSAuthorizationConfig_accessPointId :: Lens' EFSAuthorizationConfig (Maybe Text)
-- | Whether or not to use the Batch job IAM role defined in a job
-- definition when mounting the Amazon EFS file system. If enabled,
-- transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
eFSAuthorizationConfig_iam :: Lens' EFSAuthorizationConfig (Maybe EFSAuthorizationConfigIAM)
instance GHC.Generics.Generic Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
instance GHC.Show.Show Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
instance GHC.Read.Read Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
instance GHC.Classes.Eq Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EFSAuthorizationConfig.EFSAuthorizationConfig
module Amazonka.Batch.Types.EFSTransitEncryption
newtype EFSTransitEncryption
EFSTransitEncryption' :: Text -> EFSTransitEncryption
[fromEFSTransitEncryption] :: EFSTransitEncryption -> Text
pattern EFSTransitEncryption_DISABLED :: EFSTransitEncryption
pattern EFSTransitEncryption_ENABLED :: EFSTransitEncryption
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance GHC.Generics.Generic Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance GHC.Classes.Ord Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance GHC.Classes.Eq Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance GHC.Read.Read Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
instance GHC.Show.Show Amazonka.Batch.Types.EFSTransitEncryption.EFSTransitEncryption
module Amazonka.Batch.Types.EFSVolumeConfiguration
-- | This is used when you're using an Amazon Elastic File System file
-- system for job storage. For more information, see Amazon EFS
-- Volumes in the Batch User Guide.
--
-- See: newEFSVolumeConfiguration smart constructor.
data EFSVolumeConfiguration
EFSVolumeConfiguration' :: Maybe EFSAuthorizationConfig -> Maybe Text -> Maybe EFSTransitEncryption -> Maybe Int -> Text -> EFSVolumeConfiguration
-- | The authorization configuration details for the Amazon EFS file
-- system.
[$sel:authorizationConfig:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe EFSAuthorizationConfig
-- | The directory within the Amazon EFS file system to mount as the root
-- directory inside the host. If this parameter is omitted, the root of
-- the Amazon EFS volume is used instead. Specifying / has the
-- same effect as omitting this parameter. The maximum length is 4,096
-- characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
[$sel:rootDirectory:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe Text
-- | Determines whether to enable encryption for Amazon EFS data in transit
-- between the Amazon ECS host and the Amazon EFS server. Transit
-- encryption must be enabled if Amazon EFS IAM authorization is used. If
-- this parameter is omitted, the default value of DISABLED is
-- used. For more information, see Encrypting data in transit in
-- the Amazon Elastic File System User Guide.
[$sel:transitEncryption:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe EFSTransitEncryption
-- | The port to use when sending encrypted data between the Amazon ECS
-- host and the Amazon EFS server. If you don't specify a transit
-- encryption port, it uses the port selection strategy that the Amazon
-- EFS mount helper uses. The value must be between 0 and 65,535. For
-- more information, see EFS mount helper in the Amazon Elastic
-- File System User Guide.
[$sel:transitEncryptionPort:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe Int
-- | The Amazon EFS file system ID to use.
[$sel:fileSystemId:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Text
-- | Create a value of EFSVolumeConfiguration with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:authorizationConfig:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_authorizationConfig - The authorization
-- configuration details for the Amazon EFS file system.
--
-- $sel:rootDirectory:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_rootDirectory - The directory within the
-- Amazon EFS file system to mount as the root directory inside the host.
-- If this parameter is omitted, the root of the Amazon EFS volume is
-- used instead. Specifying / has the same effect as omitting
-- this parameter. The maximum length is 4,096 characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
--
-- $sel:transitEncryption:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_transitEncryption - Determines whether
-- to enable encryption for Amazon EFS data in transit between the Amazon
-- ECS host and the Amazon EFS server. Transit encryption must be enabled
-- if Amazon EFS IAM authorization is used. If this parameter is omitted,
-- the default value of DISABLED is used. For more information,
-- see Encrypting data in transit in the Amazon Elastic File
-- System User Guide.
--
-- $sel:transitEncryptionPort:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_transitEncryptionPort - The port to use
-- when sending encrypted data between the Amazon ECS host and the Amazon
-- EFS server. If you don't specify a transit encryption port, it uses
-- the port selection strategy that the Amazon EFS mount helper uses. The
-- value must be between 0 and 65,535. For more information, see EFS
-- mount helper in the Amazon Elastic File System User Guide.
--
-- $sel:fileSystemId:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_fileSystemId - The Amazon EFS file
-- system ID to use.
newEFSVolumeConfiguration :: Text -> EFSVolumeConfiguration
-- | The authorization configuration details for the Amazon EFS file
-- system.
eFSVolumeConfiguration_authorizationConfig :: Lens' EFSVolumeConfiguration (Maybe EFSAuthorizationConfig)
-- | The directory within the Amazon EFS file system to mount as the root
-- directory inside the host. If this parameter is omitted, the root of
-- the Amazon EFS volume is used instead. Specifying / has the
-- same effect as omitting this parameter. The maximum length is 4,096
-- characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
eFSVolumeConfiguration_rootDirectory :: Lens' EFSVolumeConfiguration (Maybe Text)
-- | Determines whether to enable encryption for Amazon EFS data in transit
-- between the Amazon ECS host and the Amazon EFS server. Transit
-- encryption must be enabled if Amazon EFS IAM authorization is used. If
-- this parameter is omitted, the default value of DISABLED is
-- used. For more information, see Encrypting data in transit in
-- the Amazon Elastic File System User Guide.
eFSVolumeConfiguration_transitEncryption :: Lens' EFSVolumeConfiguration (Maybe EFSTransitEncryption)
-- | The port to use when sending encrypted data between the Amazon ECS
-- host and the Amazon EFS server. If you don't specify a transit
-- encryption port, it uses the port selection strategy that the Amazon
-- EFS mount helper uses. The value must be between 0 and 65,535. For
-- more information, see EFS mount helper in the Amazon Elastic
-- File System User Guide.
eFSVolumeConfiguration_transitEncryptionPort :: Lens' EFSVolumeConfiguration (Maybe Int)
-- | The Amazon EFS file system ID to use.
eFSVolumeConfiguration_fileSystemId :: Lens' EFSVolumeConfiguration Text
instance GHC.Generics.Generic Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
instance GHC.Show.Show Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
instance GHC.Read.Read Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
instance GHC.Classes.Eq Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EFSVolumeConfiguration.EFSVolumeConfiguration
module Amazonka.Batch.Types.Ec2Configuration
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2 (Amazon Linux
-- 2).
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newEc2Configuration smart constructor.
data Ec2Configuration
Ec2Configuration' :: Maybe Text -> Maybe Text -> Text -> Ec2Configuration
-- | The AMI ID used for instances launched in the compute environment that
-- match the image type. This setting overrides the imageId set
-- in the computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
[$sel:imageIdOverride:Ec2Configuration'] :: Ec2Configuration -> Maybe Text
-- | The Kubernetes version for the compute environment. If you don't
-- specify a value, the latest version that Batch supports is used.
[$sel:imageKubernetesVersion:Ec2Configuration'] :: Ec2Configuration -> Maybe Text
-- | The image type to match with the instance type to select an AMI. The
-- supported values are different for ECS and EKS
-- resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
[$sel:imageType:Ec2Configuration'] :: Ec2Configuration -> Text
-- | Create a value of Ec2Configuration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:imageIdOverride:Ec2Configuration',
-- ec2Configuration_imageIdOverride - The AMI ID used for
-- instances launched in the compute environment that match the image
-- type. This setting overrides the imageId set in the
-- computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:imageKubernetesVersion:Ec2Configuration',
-- ec2Configuration_imageKubernetesVersion - The Kubernetes
-- version for the compute environment. If you don't specify a value, the
-- latest version that Batch supports is used.
--
-- $sel:imageType:Ec2Configuration',
-- ec2Configuration_imageType - The image type to match with the
-- instance type to select an AMI. The supported values are different for
-- ECS and EKS resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
newEc2Configuration :: Text -> Ec2Configuration
-- | The AMI ID used for instances launched in the compute environment that
-- match the image type. This setting overrides the imageId set
-- in the computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
ec2Configuration_imageIdOverride :: Lens' Ec2Configuration (Maybe Text)
-- | The Kubernetes version for the compute environment. If you don't
-- specify a value, the latest version that Batch supports is used.
ec2Configuration_imageKubernetesVersion :: Lens' Ec2Configuration (Maybe Text)
-- | The image type to match with the instance type to select an AMI. The
-- supported values are different for ECS and EKS
-- resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
ec2Configuration_imageType :: Lens' Ec2Configuration Text
instance GHC.Generics.Generic Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
instance GHC.Show.Show Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
instance GHC.Read.Read Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
instance GHC.Classes.Eq Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
instance Control.DeepSeq.NFData Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.Ec2Configuration.Ec2Configuration
module Amazonka.Batch.Types.EksAttemptContainerDetail
-- | An object that represents the details for an attempt for a job attempt
-- that an Amazon EKS container runs.
--
-- See: newEksAttemptContainerDetail smart constructor.
data EksAttemptContainerDetail
EksAttemptContainerDetail' :: Maybe Int -> Maybe Text -> EksAttemptContainerDetail
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
[$sel:exitCode:EksAttemptContainerDetail'] :: EksAttemptContainerDetail -> Maybe Int
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:EksAttemptContainerDetail'] :: EksAttemptContainerDetail -> Maybe Text
-- | Create a value of EksAttemptContainerDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:exitCode:EksAttemptContainerDetail',
-- eksAttemptContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:reason:EksAttemptContainerDetail',
-- eksAttemptContainerDetail_reason - A short (255 max characters)
-- human-readable string to provide additional details for a running or
-- stopped container.
newEksAttemptContainerDetail :: EksAttemptContainerDetail
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
eksAttemptContainerDetail_exitCode :: Lens' EksAttemptContainerDetail (Maybe Int)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
eksAttemptContainerDetail_reason :: Lens' EksAttemptContainerDetail (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksAttemptContainerDetail.EksAttemptContainerDetail
instance GHC.Show.Show Amazonka.Batch.Types.EksAttemptContainerDetail.EksAttemptContainerDetail
instance GHC.Read.Read Amazonka.Batch.Types.EksAttemptContainerDetail.EksAttemptContainerDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.EksAttemptContainerDetail.EksAttemptContainerDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksAttemptContainerDetail.EksAttemptContainerDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksAttemptContainerDetail.EksAttemptContainerDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksAttemptContainerDetail.EksAttemptContainerDetail
module Amazonka.Batch.Types.EksAttemptDetail
-- | An object that represents the details of a job attempt for a job
-- attempt by an Amazon EKS container.
--
-- See: newEksAttemptDetail smart constructor.
data EksAttemptDetail
EksAttemptDetail' :: Maybe [EksAttemptContainerDetail] -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Integer -> EksAttemptDetail
-- | The details for the final status of the containers for this job
-- attempt.
[$sel:containers:EksAttemptDetail'] :: EksAttemptDetail -> Maybe [EksAttemptContainerDetail]
-- | The name of the node for this job attempt.
[$sel:nodeName:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Text
-- | The name of the pod for this job attempt.
[$sel:podName:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
[$sel:startedAt:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Integer
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
[$sel:statusReason:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped.
-- This happens when the attempt transitioned from the RUNNING
-- state to a terminal state, such as SUCCEEDED or
-- FAILED.
[$sel:stoppedAt:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Integer
-- | Create a value of EksAttemptDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksAttemptDetail',
-- eksAttemptDetail_containers - The details for the final status
-- of the containers for this job attempt.
--
-- $sel:nodeName:EksAttemptDetail',
-- eksAttemptDetail_nodeName - The name of the node for this job
-- attempt.
--
-- $sel:podName:EksAttemptDetail', eksAttemptDetail_podName
-- - The name of the pod for this job attempt.
--
-- $sel:startedAt:EksAttemptDetail',
-- eksAttemptDetail_startedAt - The Unix timestamp (in
-- milliseconds) for when the attempt was started (when the attempt
-- transitioned from the STARTING state to the RUNNING
-- state).
--
-- $sel:statusReason:EksAttemptDetail',
-- eksAttemptDetail_statusReason - A short, human-readable string
-- to provide additional details for the current status of the job
-- attempt.
--
-- $sel:stoppedAt:EksAttemptDetail',
-- eksAttemptDetail_stoppedAt - The Unix timestamp (in
-- milliseconds) for when the attempt was stopped. This happens when the
-- attempt transitioned from the RUNNING state to a terminal
-- state, such as SUCCEEDED or FAILED.
newEksAttemptDetail :: EksAttemptDetail
-- | The details for the final status of the containers for this job
-- attempt.
eksAttemptDetail_containers :: Lens' EksAttemptDetail (Maybe [EksAttemptContainerDetail])
-- | The name of the node for this job attempt.
eksAttemptDetail_nodeName :: Lens' EksAttemptDetail (Maybe Text)
-- | The name of the pod for this job attempt.
eksAttemptDetail_podName :: Lens' EksAttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
eksAttemptDetail_startedAt :: Lens' EksAttemptDetail (Maybe Integer)
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
eksAttemptDetail_statusReason :: Lens' EksAttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped.
-- This happens when the attempt transitioned from the RUNNING
-- state to a terminal state, such as SUCCEEDED or
-- FAILED.
eksAttemptDetail_stoppedAt :: Lens' EksAttemptDetail (Maybe Integer)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksAttemptDetail.EksAttemptDetail
instance GHC.Show.Show Amazonka.Batch.Types.EksAttemptDetail.EksAttemptDetail
instance GHC.Read.Read Amazonka.Batch.Types.EksAttemptDetail.EksAttemptDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.EksAttemptDetail.EksAttemptDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksAttemptDetail.EksAttemptDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksAttemptDetail.EksAttemptDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksAttemptDetail.EksAttemptDetail
module Amazonka.Batch.Types.EksConfiguration
-- | Configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. The cluster must exist before the compute
-- environment can be created.
--
-- See: newEksConfiguration smart constructor.
data EksConfiguration
EksConfiguration' :: Text -> Text -> EksConfiguration
-- | The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example
-- is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
[$sel:eksClusterArn:EksConfiguration'] :: EksConfiguration -> Text
-- | The namespace of the Amazon EKS cluster. Batch manages pods in this
-- namespace. The value can't left empty or null. It must be fewer than
-- 64 characters long, can't be set to default, can't start with
-- "kube-," and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
[$sel:kubernetesNamespace:EksConfiguration'] :: EksConfiguration -> Text
-- | Create a value of EksConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:eksClusterArn:EksConfiguration',
-- eksConfiguration_eksClusterArn - The Amazon Resource Name (ARN)
-- of the Amazon EKS cluster. An example is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
--
-- $sel:kubernetesNamespace:EksConfiguration',
-- eksConfiguration_kubernetesNamespace - The namespace of the
-- Amazon EKS cluster. Batch manages pods in this namespace. The value
-- can't left empty or null. It must be fewer than 64 characters long,
-- can't be set to default, can't start with "kube-,"
-- and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
newEksConfiguration :: Text -> Text -> EksConfiguration
-- | The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example
-- is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
eksConfiguration_eksClusterArn :: Lens' EksConfiguration Text
-- | The namespace of the Amazon EKS cluster. Batch manages pods in this
-- namespace. The value can't left empty or null. It must be fewer than
-- 64 characters long, can't be set to default, can't start with
-- "kube-," and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
eksConfiguration_kubernetesNamespace :: Lens' EksConfiguration Text
instance GHC.Generics.Generic Amazonka.Batch.Types.EksConfiguration.EksConfiguration
instance GHC.Show.Show Amazonka.Batch.Types.EksConfiguration.EksConfiguration
instance GHC.Read.Read Amazonka.Batch.Types.EksConfiguration.EksConfiguration
instance GHC.Classes.Eq Amazonka.Batch.Types.EksConfiguration.EksConfiguration
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksConfiguration.EksConfiguration
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksConfiguration.EksConfiguration
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksConfiguration.EksConfiguration
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksConfiguration.EksConfiguration
module Amazonka.Batch.Types.EksContainerEnvironmentVariable
-- | An environment variable.
--
-- See: newEksContainerEnvironmentVariable smart
-- constructor.
data EksContainerEnvironmentVariable
EksContainerEnvironmentVariable' :: Maybe Text -> Text -> EksContainerEnvironmentVariable
-- | The value of the environment variable.
[$sel:value:EksContainerEnvironmentVariable'] :: EksContainerEnvironmentVariable -> Maybe Text
-- | The name of the environment variable.
[$sel:name:EksContainerEnvironmentVariable'] :: EksContainerEnvironmentVariable -> Text
-- | Create a value of EksContainerEnvironmentVariable with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:value:EksContainerEnvironmentVariable',
-- eksContainerEnvironmentVariable_value - The value of the
-- environment variable.
--
-- $sel:name:EksContainerEnvironmentVariable',
-- eksContainerEnvironmentVariable_name - The name of the
-- environment variable.
newEksContainerEnvironmentVariable :: Text -> EksContainerEnvironmentVariable
-- | The value of the environment variable.
eksContainerEnvironmentVariable_value :: Lens' EksContainerEnvironmentVariable (Maybe Text)
-- | The name of the environment variable.
eksContainerEnvironmentVariable_name :: Lens' EksContainerEnvironmentVariable Text
instance GHC.Generics.Generic Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
instance GHC.Show.Show Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
instance GHC.Read.Read Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
instance GHC.Classes.Eq Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksContainerEnvironmentVariable.EksContainerEnvironmentVariable
module Amazonka.Batch.Types.EksContainerResourceRequirements
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
--
-- See: newEksContainerResourceRequirements smart
-- constructor.
data EksContainerResourceRequirements
EksContainerResourceRequirements' :: Maybe (HashMap Text Text) -> Maybe (HashMap Text Text) -> EksContainerResourceRequirements
-- | The type and quantity of the resources to reserve for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
[$sel:limits:EksContainerResourceRequirements'] :: EksContainerResourceRequirements -> Maybe (HashMap Text Text)
-- | The type and quantity of the resources to request for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested by using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
[$sel:requests:EksContainerResourceRequirements'] :: EksContainerResourceRequirements -> Maybe (HashMap Text Text)
-- | Create a value of EksContainerResourceRequirements with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:limits:EksContainerResourceRequirements',
-- eksContainerResourceRequirements_limits - The type and quantity
-- of the resources to reserve for the container. The values vary based
-- on the name that's specified. Resources can be requested
-- using either the limits or the requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
--
-- $sel:requests:EksContainerResourceRequirements',
-- eksContainerResourceRequirements_requests - The type and
-- quantity of the resources to request for the container. The values
-- vary based on the name that's specified. Resources can be
-- requested by using either the limits or the requests
-- objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
newEksContainerResourceRequirements :: EksContainerResourceRequirements
-- | The type and quantity of the resources to reserve for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
eksContainerResourceRequirements_limits :: Lens' EksContainerResourceRequirements (Maybe (HashMap Text Text))
-- | The type and quantity of the resources to request for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested by using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
eksContainerResourceRequirements_requests :: Lens' EksContainerResourceRequirements (Maybe (HashMap Text Text))
instance GHC.Generics.Generic Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
instance GHC.Show.Show Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
instance GHC.Read.Read Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
instance GHC.Classes.Eq Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksContainerResourceRequirements.EksContainerResourceRequirements
module Amazonka.Batch.Types.EksContainerOverride
-- | Object representing any Kubernetes overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- See: newEksContainerOverride smart constructor.
data EksContainerOverride
EksContainerOverride' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Text -> Maybe EksContainerResourceRequirements -> EksContainerOverride
-- | 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.
[$sel:args:EksContainerOverride'] :: EksContainerOverride -> Maybe [Text]
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
[$sel:command:EksContainerOverride'] :: EksContainerOverride -> Maybe [Text]
-- | 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.
[$sel:env:EksContainerOverride'] :: EksContainerOverride -> Maybe [EksContainerEnvironmentVariable]
-- | The override of the Docker image that's used to start the container.
[$sel:image:EksContainerOverride'] :: EksContainerOverride -> Maybe Text
-- | 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.
[$sel:resources:EksContainerOverride'] :: EksContainerOverride -> Maybe EksContainerResourceRequirements
-- | Create a value of EksContainerOverride with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainerOverride',
-- eksContainerOverride_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.
--
-- $sel:command:EksContainerOverride',
-- eksContainerOverride_command - The command to send to the
-- container that overrides the default command from the Docker image or
-- the job definition.
--
-- $sel:env:EksContainerOverride', eksContainerOverride_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.
--
-- $sel:image:EksContainerOverride',
-- eksContainerOverride_image - The override of the Docker image
-- that's used to start the container.
--
-- $sel:resources:EksContainerOverride',
-- eksContainerOverride_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.
newEksContainerOverride :: EksContainerOverride
-- | 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.
eksContainerOverride_args :: Lens' EksContainerOverride (Maybe [Text])
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
eksContainerOverride_command :: Lens' EksContainerOverride (Maybe [Text])
-- | 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.
eksContainerOverride_env :: Lens' EksContainerOverride (Maybe [EksContainerEnvironmentVariable])
-- | The override of the Docker image that's used to start the container.
eksContainerOverride_image :: Lens' EksContainerOverride (Maybe Text)
-- | 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.
eksContainerOverride_resources :: Lens' EksContainerOverride (Maybe EksContainerResourceRequirements)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksContainerOverride.EksContainerOverride
instance GHC.Show.Show Amazonka.Batch.Types.EksContainerOverride.EksContainerOverride
instance GHC.Read.Read Amazonka.Batch.Types.EksContainerOverride.EksContainerOverride
instance GHC.Classes.Eq Amazonka.Batch.Types.EksContainerOverride.EksContainerOverride
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksContainerOverride.EksContainerOverride
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksContainerOverride.EksContainerOverride
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksContainerOverride.EksContainerOverride
module Amazonka.Batch.Types.EksContainerSecurityContext
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
--
-- See: newEksContainerSecurityContext smart constructor.
data EksContainerSecurityContext
EksContainerSecurityContext' :: Maybe Bool -> Maybe Bool -> Maybe Integer -> Maybe Bool -> Maybe Integer -> EksContainerSecurityContext
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance. The level of permissions
-- are similar to the root user permissions. The default value
-- is false. This parameter maps to privileged policy
-- in the Privileged pod security policies in the Kubernetes
-- documentation.
[$sel:privileged:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Bool
-- | When this parameter is true, the container is given read-only
-- access to its root file system. The default value is false.
-- This parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
[$sel:readOnlyRootFilesystem:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Bool
-- | When this parameter is specified, the container is run as the
-- specified group ID (gid). If this parameter isn't specified,
-- the default is the group that's specified in the image metadata. This
-- parameter maps to RunAsGroup and MustRunAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
[$sel:runAsGroup:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Integer
-- | When this parameter is specified, the container is run as a user with
-- a uid other than 0. If this parameter isn't specified, so
-- such rule is enforced. This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
[$sel:runAsNonRoot:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Bool
-- | When this parameter is specified, the container is run as the
-- specified user ID (uid). If this parameter isn't specified,
-- the default is the user that's specified in the image metadata. This
-- parameter maps to RunAsUser and MustRanAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
[$sel:runAsUser:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Integer
-- | Create a value of EksContainerSecurityContext with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:privileged:EksContainerSecurityContext',
-- eksContainerSecurityContext_privileged - When this parameter is
-- true, the container is given elevated permissions on the host
-- container instance. The level of permissions are similar to the
-- root user permissions. The default value is false.
-- This parameter maps to privileged policy in the Privileged
-- pod security policies in the Kubernetes documentation.
--
-- $sel:readOnlyRootFilesystem:EksContainerSecurityContext',
-- eksContainerSecurityContext_readOnlyRootFilesystem - When this
-- parameter is true, the container is given read-only access to
-- its root file system. The default value is false. This
-- parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
--
-- $sel:runAsGroup:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsGroup - When this parameter is
-- specified, the container is run as the specified group ID
-- (gid). If this parameter isn't specified, the default is the
-- group that's specified in the image metadata. This parameter maps to
-- RunAsGroup and MustRunAs policy in the Users and
-- groups pod security policies in the Kubernetes
-- documentation.
--
-- $sel:runAsNonRoot:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsNonRoot - When this parameter
-- is specified, the container is run as a user with a uid other
-- than 0. If this parameter isn't specified, so such rule is enforced.
-- This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
--
-- $sel:runAsUser:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsUser - When this parameter is
-- specified, the container is run as the specified user ID
-- (uid). If this parameter isn't specified, the default is the
-- user that's specified in the image metadata. This parameter maps to
-- RunAsUser and MustRanAs policy in the Users and
-- groups pod security policies in the Kubernetes
-- documentation.
newEksContainerSecurityContext :: EksContainerSecurityContext
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance. The level of permissions
-- are similar to the root user permissions. The default value
-- is false. This parameter maps to privileged policy
-- in the Privileged pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_privileged :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is true, the container is given read-only
-- access to its root file system. The default value is false.
-- This parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
eksContainerSecurityContext_readOnlyRootFilesystem :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is specified, the container is run as the
-- specified group ID (gid). If this parameter isn't specified,
-- the default is the group that's specified in the image metadata. This
-- parameter maps to RunAsGroup and MustRunAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_runAsGroup :: Lens' EksContainerSecurityContext (Maybe Integer)
-- | When this parameter is specified, the container is run as a user with
-- a uid other than 0. If this parameter isn't specified, so
-- such rule is enforced. This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
eksContainerSecurityContext_runAsNonRoot :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is specified, the container is run as the
-- specified user ID (uid). If this parameter isn't specified,
-- the default is the user that's specified in the image metadata. This
-- parameter maps to RunAsUser and MustRanAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_runAsUser :: Lens' EksContainerSecurityContext (Maybe Integer)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
instance GHC.Show.Show Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
instance GHC.Read.Read Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
instance GHC.Classes.Eq Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksContainerSecurityContext.EksContainerSecurityContext
module Amazonka.Batch.Types.EksContainerVolumeMount
-- | The volume mounts for a container for an Amazon EKS job. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
--
-- See: newEksContainerVolumeMount smart constructor.
data EksContainerVolumeMount
EksContainerVolumeMount' :: Maybe Text -> Maybe Text -> Maybe Bool -> EksContainerVolumeMount
-- | The path on the container where the volume is mounted.
[$sel:mountPath:EksContainerVolumeMount'] :: EksContainerVolumeMount -> Maybe Text
-- | The name the volume mount. This must match the name of one of the
-- volumes in the pod.
[$sel:name:EksContainerVolumeMount'] :: EksContainerVolumeMount -> Maybe Text
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
[$sel:readOnly:EksContainerVolumeMount'] :: EksContainerVolumeMount -> Maybe Bool
-- | Create a value of EksContainerVolumeMount with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:mountPath:EksContainerVolumeMount',
-- eksContainerVolumeMount_mountPath - The path on the container
-- where the volume is mounted.
--
-- $sel:name:EksContainerVolumeMount',
-- eksContainerVolumeMount_name - The name the volume mount. This
-- must match the name of one of the volumes in the pod.
--
-- $sel:readOnly:EksContainerVolumeMount',
-- eksContainerVolumeMount_readOnly - If this value is
-- true, the container has read-only access to the volume.
-- Otherwise, the container can write to the volume. The default value is
-- false.
newEksContainerVolumeMount :: EksContainerVolumeMount
-- | The path on the container where the volume is mounted.
eksContainerVolumeMount_mountPath :: Lens' EksContainerVolumeMount (Maybe Text)
-- | The name the volume mount. This must match the name of one of the
-- volumes in the pod.
eksContainerVolumeMount_name :: Lens' EksContainerVolumeMount (Maybe Text)
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
eksContainerVolumeMount_readOnly :: Lens' EksContainerVolumeMount (Maybe Bool)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
instance GHC.Show.Show Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
instance GHC.Read.Read Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
instance GHC.Classes.Eq Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksContainerVolumeMount.EksContainerVolumeMount
module Amazonka.Batch.Types.EksContainerDetail
-- | The details for container properties that are returned by
-- DescribeJobs for jobs that use Amazon EKS.
--
-- See: newEksContainerDetail smart constructor.
data EksContainerDetail
EksContainerDetail' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe EksContainerResourceRequirements -> Maybe EksContainerSecurityContext -> Maybe [EksContainerVolumeMount] -> EksContainerDetail
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
[$sel:args:EksContainerDetail'] :: EksContainerDetail -> Maybe [Text]
-- | The entrypoint for the container. For more information, see
-- Entrypoint in the Kubernetes documentation.
[$sel:command:EksContainerDetail'] :: EksContainerDetail -> Maybe [Text]
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:env:EksContainerDetail'] :: EksContainerDetail -> Maybe [EksContainerEnvironmentVariable]
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
[$sel:exitCode:EksContainerDetail'] :: EksContainerDetail -> Maybe Int
-- | The Docker image used to start the container.
[$sel:image:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to Always if the :latest tag is
-- specified, IfNotPresent otherwise. For more information, see
-- Updating images in the Kubernetes documentation.
[$sel:imagePullPolicy:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
[$sel:name:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | A short human-readable string to provide additional details for a
-- running or stopped container. It can be up to 255 characters long.
[$sel:reason:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
[$sel:resources:EksContainerDetail'] :: EksContainerDetail -> Maybe EksContainerResourceRequirements
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
[$sel:securityContext:EksContainerDetail'] :: EksContainerDetail -> Maybe EksContainerSecurityContext
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
[$sel:volumeMounts:EksContainerDetail'] :: EksContainerDetail -> Maybe [EksContainerVolumeMount]
-- | Create a value of EksContainerDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainerDetail', eksContainerDetail_args -
-- An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
--
-- $sel:command:EksContainerDetail',
-- eksContainerDetail_command - The entrypoint for the container.
-- For more information, see Entrypoint in the Kubernetes
-- documentation.
--
-- $sel:env:EksContainerDetail', eksContainerDetail_env -
-- The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:exitCode:EksContainerDetail',
-- eksContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:image:EksContainerDetail', eksContainerDetail_image
-- - The Docker image used to start the container.
--
-- $sel:imagePullPolicy:EksContainerDetail',
-- eksContainerDetail_imagePullPolicy - The image pull policy for
-- the container. Supported values are Always,
-- IfNotPresent, and Never. This parameter defaults to
-- Always if the :latest tag is specified,
-- IfNotPresent otherwise. For more information, see Updating
-- images in the Kubernetes documentation.
--
-- EksContainerDetail, eksContainerDetail_name - The name
-- of the container. If the name isn't specified, the default name
-- "Default" is used. Each container in a pod must have a unique
-- name.
--
-- $sel:reason:EksContainerDetail',
-- eksContainerDetail_reason - A short human-readable string to
-- provide additional details for a running or stopped container. It can
-- be up to 255 characters long.
--
-- $sel:resources:EksContainerDetail',
-- eksContainerDetail_resources - The type and amount of resources
-- to assign to a container. The supported resources include
-- memory, cpu, and nvidia.com/gpu. For more
-- information, see Resource management for pods and containers in
-- the Kubernetes documentation.
--
-- $sel:securityContext:EksContainerDetail',
-- eksContainerDetail_securityContext - The security context for a
-- job. For more information, see Configure a security context for a
-- pod or container in the Kubernetes documentation.
--
-- $sel:volumeMounts:EksContainerDetail',
-- eksContainerDetail_volumeMounts - The volume mounts for the
-- container. Batch supports emptyDir, hostPath, and
-- secret volume types. For more information about volumes and
-- volume mounts in Kubernetes, see Volumes in the Kubernetes
-- documentation.
newEksContainerDetail :: EksContainerDetail
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
eksContainerDetail_args :: Lens' EksContainerDetail (Maybe [Text])
-- | The entrypoint for the container. For more information, see
-- Entrypoint in the Kubernetes documentation.
eksContainerDetail_command :: Lens' EksContainerDetail (Maybe [Text])
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
eksContainerDetail_env :: Lens' EksContainerDetail (Maybe [EksContainerEnvironmentVariable])
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
eksContainerDetail_exitCode :: Lens' EksContainerDetail (Maybe Int)
-- | The Docker image used to start the container.
eksContainerDetail_image :: Lens' EksContainerDetail (Maybe Text)
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to Always if the :latest tag is
-- specified, IfNotPresent otherwise. For more information, see
-- Updating images in the Kubernetes documentation.
eksContainerDetail_imagePullPolicy :: Lens' EksContainerDetail (Maybe Text)
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
eksContainerDetail_name :: Lens' EksContainerDetail (Maybe Text)
-- | A short human-readable string to provide additional details for a
-- running or stopped container. It can be up to 255 characters long.
eksContainerDetail_reason :: Lens' EksContainerDetail (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
eksContainerDetail_resources :: Lens' EksContainerDetail (Maybe EksContainerResourceRequirements)
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
eksContainerDetail_securityContext :: Lens' EksContainerDetail (Maybe EksContainerSecurityContext)
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
eksContainerDetail_volumeMounts :: Lens' EksContainerDetail (Maybe [EksContainerVolumeMount])
instance GHC.Generics.Generic Amazonka.Batch.Types.EksContainerDetail.EksContainerDetail
instance GHC.Show.Show Amazonka.Batch.Types.EksContainerDetail.EksContainerDetail
instance GHC.Read.Read Amazonka.Batch.Types.EksContainerDetail.EksContainerDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.EksContainerDetail.EksContainerDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksContainerDetail.EksContainerDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksContainerDetail.EksContainerDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksContainerDetail.EksContainerDetail
module Amazonka.Batch.Types.EksContainer
-- | EKS container properties are used in job definitions for Amazon EKS
-- based job definitions to describe the properties for a container node
-- in the pod that's launched as part of a job. This can't be specified
-- for Amazon ECS based job definitions.
--
-- See: newEksContainer smart constructor.
data EksContainer
EksContainer' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Text -> Maybe Text -> Maybe EksContainerResourceRequirements -> Maybe EksContainerSecurityContext -> Maybe [EksContainerVolumeMount] -> Text -> EksContainer
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
[$sel:args:EksContainer'] :: EksContainer -> Maybe [Text]
-- | The entrypoint for the container. This isn't run within a shell. If
-- this isn't specified, the ENTRYPOINT of the container image
-- is used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
[$sel:command:EksContainer'] :: EksContainer -> Maybe [Text]
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:env:EksContainer'] :: EksContainer -> Maybe [EksContainerEnvironmentVariable]
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to IfNotPresent. However, if the
-- :latest tag is specified, it defaults to Always. For
-- more information, see Updating images in the Kubernetes
-- documentation.
[$sel:imagePullPolicy:EksContainer'] :: EksContainer -> Maybe Text
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
[$sel:name:EksContainer'] :: EksContainer -> Maybe Text
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
[$sel:resources:EksContainer'] :: EksContainer -> Maybe EksContainerResourceRequirements
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
[$sel:securityContext:EksContainer'] :: EksContainer -> Maybe EksContainerSecurityContext
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
[$sel:volumeMounts:EksContainer'] :: EksContainer -> Maybe [EksContainerVolumeMount]
-- | The Docker image used to start the container.
[$sel:image:EksContainer'] :: EksContainer -> Text
-- | Create a value of EksContainer with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainer', eksContainer_args - An array of
-- arguments to the entrypoint. If this isn't specified, the CMD
-- of the container image is used. This corresponds to the args
-- member in the Entrypoint portion of the Pod in
-- Kubernetes. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
--
-- $sel:command:EksContainer', eksContainer_command - The
-- entrypoint for the container. This isn't run within a shell. If this
-- isn't specified, the ENTRYPOINT of the container image is
-- used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
--
-- $sel:env:EksContainer', eksContainer_env - The
-- environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:imagePullPolicy:EksContainer',
-- eksContainer_imagePullPolicy - The image pull policy for the
-- container. Supported values are Always,
-- IfNotPresent, and Never. This parameter defaults to
-- IfNotPresent. However, if the :latest tag is
-- specified, it defaults to Always. For more information, see
-- Updating images in the Kubernetes documentation.
--
-- EksContainer, eksContainer_name - The name of the
-- container. If the name isn't specified, the default name
-- "Default" is used. Each container in a pod must have a unique
-- name.
--
-- $sel:resources:EksContainer', eksContainer_resources -
-- The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
--
-- $sel:securityContext:EksContainer',
-- eksContainer_securityContext - The security context for a job.
-- For more information, see Configure a security context for a pod or
-- container in the Kubernetes documentation.
--
-- $sel:volumeMounts:EksContainer',
-- eksContainer_volumeMounts - The volume mounts for the
-- container. Batch supports emptyDir, hostPath, and
-- secret volume types. For more information about volumes and
-- volume mounts in Kubernetes, see Volumes in the Kubernetes
-- documentation.
--
-- $sel:image:EksContainer', eksContainer_image - The
-- Docker image used to start the container.
newEksContainer :: Text -> EksContainer
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
eksContainer_args :: Lens' EksContainer (Maybe [Text])
-- | The entrypoint for the container. This isn't run within a shell. If
-- this isn't specified, the ENTRYPOINT of the container image
-- is used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
eksContainer_command :: Lens' EksContainer (Maybe [Text])
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
eksContainer_env :: Lens' EksContainer (Maybe [EksContainerEnvironmentVariable])
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to IfNotPresent. However, if the
-- :latest tag is specified, it defaults to Always. For
-- more information, see Updating images in the Kubernetes
-- documentation.
eksContainer_imagePullPolicy :: Lens' EksContainer (Maybe Text)
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
eksContainer_name :: Lens' EksContainer (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
eksContainer_resources :: Lens' EksContainer (Maybe EksContainerResourceRequirements)
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
eksContainer_securityContext :: Lens' EksContainer (Maybe EksContainerSecurityContext)
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
eksContainer_volumeMounts :: Lens' EksContainer (Maybe [EksContainerVolumeMount])
-- | The Docker image used to start the container.
eksContainer_image :: Lens' EksContainer Text
instance GHC.Generics.Generic Amazonka.Batch.Types.EksContainer.EksContainer
instance GHC.Show.Show Amazonka.Batch.Types.EksContainer.EksContainer
instance GHC.Read.Read Amazonka.Batch.Types.EksContainer.EksContainer
instance GHC.Classes.Eq Amazonka.Batch.Types.EksContainer.EksContainer
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksContainer.EksContainer
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksContainer.EksContainer
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksContainer.EksContainer
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksContainer.EksContainer
module Amazonka.Batch.Types.EksEmptyDir
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- An emptyDir volume is first created when a pod is assigned to
-- a node. It exists as long as that pod is running on that node. The
-- emptyDir volume is initially empty. All containers in the pod
-- can read and write the files in the emptyDir volume. However,
-- the emptyDir volume can be mounted at the same or different
-- paths in each container. When a pod is removed from a node for any
-- reason, the data in the emptyDir is deleted permanently. For
-- more information, see emptyDir in the Kubernetes
-- documentation.
--
-- See: newEksEmptyDir smart constructor.
data EksEmptyDir
EksEmptyDir' :: Maybe Text -> Maybe Text -> EksEmptyDir
-- | The medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
[$sel:medium:EksEmptyDir'] :: EksEmptyDir -> Maybe Text
-- | The maximum size of the volume. By default, there's no maximum size
-- defined.
[$sel:sizeLimit:EksEmptyDir'] :: EksEmptyDir -> Maybe Text
-- | Create a value of EksEmptyDir with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:medium:EksEmptyDir', eksEmptyDir_medium - The
-- medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
--
-- $sel:sizeLimit:EksEmptyDir', eksEmptyDir_sizeLimit - The
-- maximum size of the volume. By default, there's no maximum size
-- defined.
newEksEmptyDir :: EksEmptyDir
-- | The medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
eksEmptyDir_medium :: Lens' EksEmptyDir (Maybe Text)
-- | The maximum size of the volume. By default, there's no maximum size
-- defined.
eksEmptyDir_sizeLimit :: Lens' EksEmptyDir (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
instance GHC.Show.Show Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
instance GHC.Read.Read Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
instance GHC.Classes.Eq Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksEmptyDir.EksEmptyDir
module Amazonka.Batch.Types.EksHostPath
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- A hostPath volume mounts an existing file or directory from
-- the host node's filesystem into your pod. For more information, see
-- hostPath in the Kubernetes documentation.
--
-- See: newEksHostPath smart constructor.
data EksHostPath
EksHostPath' :: Maybe Text -> EksHostPath
-- | The path of the file or directory on the host to mount into containers
-- on the pod.
[$sel:path:EksHostPath'] :: EksHostPath -> Maybe Text
-- | Create a value of EksHostPath with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:path:EksHostPath', eksHostPath_path - The path of
-- the file or directory on the host to mount into containers on the pod.
newEksHostPath :: EksHostPath
-- | The path of the file or directory on the host to mount into containers
-- on the pod.
eksHostPath_path :: Lens' EksHostPath (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksHostPath.EksHostPath
instance GHC.Show.Show Amazonka.Batch.Types.EksHostPath.EksHostPath
instance GHC.Read.Read Amazonka.Batch.Types.EksHostPath.EksHostPath
instance GHC.Classes.Eq Amazonka.Batch.Types.EksHostPath.EksHostPath
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksHostPath.EksHostPath
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksHostPath.EksHostPath
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksHostPath.EksHostPath
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksHostPath.EksHostPath
module Amazonka.Batch.Types.EksPodPropertiesOverride
-- | An object that contains overrides for the Kubernetes pod properties of
-- a job.
--
-- See: newEksPodPropertiesOverride smart constructor.
data EksPodPropertiesOverride
EksPodPropertiesOverride' :: Maybe [EksContainerOverride] -> EksPodPropertiesOverride
-- | The overrides for the container that's used on the Amazon EKS pod.
[$sel:containers:EksPodPropertiesOverride'] :: EksPodPropertiesOverride -> Maybe [EksContainerOverride]
-- | Create a value of EksPodPropertiesOverride with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodPropertiesOverride',
-- eksPodPropertiesOverride_containers - The overrides for the
-- container that's used on the Amazon EKS pod.
newEksPodPropertiesOverride :: EksPodPropertiesOverride
-- | The overrides for the container that's used on the Amazon EKS pod.
eksPodPropertiesOverride_containers :: Lens' EksPodPropertiesOverride (Maybe [EksContainerOverride])
instance GHC.Generics.Generic Amazonka.Batch.Types.EksPodPropertiesOverride.EksPodPropertiesOverride
instance GHC.Show.Show Amazonka.Batch.Types.EksPodPropertiesOverride.EksPodPropertiesOverride
instance GHC.Read.Read Amazonka.Batch.Types.EksPodPropertiesOverride.EksPodPropertiesOverride
instance GHC.Classes.Eq Amazonka.Batch.Types.EksPodPropertiesOverride.EksPodPropertiesOverride
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksPodPropertiesOverride.EksPodPropertiesOverride
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksPodPropertiesOverride.EksPodPropertiesOverride
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksPodPropertiesOverride.EksPodPropertiesOverride
module Amazonka.Batch.Types.EksPropertiesOverride
-- | An object that contains overrides for the Kubernetes resources of a
-- job.
--
-- See: newEksPropertiesOverride smart constructor.
data EksPropertiesOverride
EksPropertiesOverride' :: Maybe EksPodPropertiesOverride -> EksPropertiesOverride
-- | The overrides for the Kubernetes pod resources of a job.
[$sel:podProperties:EksPropertiesOverride'] :: EksPropertiesOverride -> Maybe EksPodPropertiesOverride
-- | Create a value of EksPropertiesOverride with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksPropertiesOverride',
-- eksPropertiesOverride_podProperties - The overrides for the
-- Kubernetes pod resources of a job.
newEksPropertiesOverride :: EksPropertiesOverride
-- | The overrides for the Kubernetes pod resources of a job.
eksPropertiesOverride_podProperties :: Lens' EksPropertiesOverride (Maybe EksPodPropertiesOverride)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksPropertiesOverride.EksPropertiesOverride
instance GHC.Show.Show Amazonka.Batch.Types.EksPropertiesOverride.EksPropertiesOverride
instance GHC.Read.Read Amazonka.Batch.Types.EksPropertiesOverride.EksPropertiesOverride
instance GHC.Classes.Eq Amazonka.Batch.Types.EksPropertiesOverride.EksPropertiesOverride
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksPropertiesOverride.EksPropertiesOverride
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksPropertiesOverride.EksPropertiesOverride
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksPropertiesOverride.EksPropertiesOverride
module Amazonka.Batch.Types.EksSecret
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
--
-- See: newEksSecret smart constructor.
data EksSecret
EksSecret' :: Maybe Bool -> Text -> EksSecret
-- | Specifies whether the secret or the secret's keys must be defined.
[$sel:optional:EksSecret'] :: EksSecret -> Maybe Bool
-- | The name of the secret. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
[$sel:secretName:EksSecret'] :: EksSecret -> Text
-- | Create a value of EksSecret with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:optional:EksSecret', eksSecret_optional - Specifies
-- whether the secret or the secret's keys must be defined.
--
-- $sel:secretName:EksSecret', eksSecret_secretName - The
-- name of the secret. The name must be allowed as a DNS subdomain name.
-- For more information, see DNS subdomain names in the
-- Kubernetes documentation.
newEksSecret :: Text -> EksSecret
-- | Specifies whether the secret or the secret's keys must be defined.
eksSecret_optional :: Lens' EksSecret (Maybe Bool)
-- | The name of the secret. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
eksSecret_secretName :: Lens' EksSecret Text
instance GHC.Generics.Generic Amazonka.Batch.Types.EksSecret.EksSecret
instance GHC.Show.Show Amazonka.Batch.Types.EksSecret.EksSecret
instance GHC.Read.Read Amazonka.Batch.Types.EksSecret.EksSecret
instance GHC.Classes.Eq Amazonka.Batch.Types.EksSecret.EksSecret
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksSecret.EksSecret
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksSecret.EksSecret
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksSecret.EksSecret
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksSecret.EksSecret
module Amazonka.Batch.Types.EksVolume
-- | Specifies an Amazon EKS volume for a job definition.
--
-- See: newEksVolume smart constructor.
data EksVolume
EksVolume' :: Maybe EksEmptyDir -> Maybe EksHostPath -> Maybe EksSecret -> Text -> EksVolume
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- For more information, see emptyDir in the Kubernetes
-- documentation.
[$sel:emptyDir:EksVolume'] :: EksVolume -> Maybe EksEmptyDir
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- For more information, see hostPath in the Kubernetes
-- documentation.
[$sel:hostPath:EksVolume'] :: EksVolume -> Maybe EksHostPath
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
[$sel:secret:EksVolume'] :: EksVolume -> Maybe EksSecret
-- | The name of the volume. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
[$sel:name:EksVolume'] :: EksVolume -> Text
-- | Create a value of EksVolume with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:emptyDir:EksVolume', eksVolume_emptyDir - Specifies
-- the configuration of a Kubernetes emptyDir volume. For more
-- information, see emptyDir in the Kubernetes
-- documentation.
--
-- $sel:hostPath:EksVolume', eksVolume_hostPath - Specifies
-- the configuration of a Kubernetes hostPath volume. For more
-- information, see hostPath in the Kubernetes
-- documentation.
--
-- $sel:secret:EksVolume', eksVolume_secret - Specifies the
-- configuration of a Kubernetes secret volume. For more
-- information, see secret in the Kubernetes documentation.
--
-- $sel:name:EksVolume', eksVolume_name - The name of the
-- volume. The name must be allowed as a DNS subdomain name. For more
-- information, see DNS subdomain names in the Kubernetes
-- documentation.
newEksVolume :: Text -> EksVolume
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- For more information, see emptyDir in the Kubernetes
-- documentation.
eksVolume_emptyDir :: Lens' EksVolume (Maybe EksEmptyDir)
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- For more information, see hostPath in the Kubernetes
-- documentation.
eksVolume_hostPath :: Lens' EksVolume (Maybe EksHostPath)
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
eksVolume_secret :: Lens' EksVolume (Maybe EksSecret)
-- | The name of the volume. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
eksVolume_name :: Lens' EksVolume Text
instance GHC.Generics.Generic Amazonka.Batch.Types.EksVolume.EksVolume
instance GHC.Show.Show Amazonka.Batch.Types.EksVolume.EksVolume
instance GHC.Read.Read Amazonka.Batch.Types.EksVolume.EksVolume
instance GHC.Classes.Eq Amazonka.Batch.Types.EksVolume.EksVolume
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksVolume.EksVolume
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksVolume.EksVolume
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksVolume.EksVolume
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksVolume.EksVolume
module Amazonka.Batch.Types.EksPodPropertiesDetail
-- | The details for the pod.
--
-- See: newEksPodPropertiesDetail smart constructor.
data EksPodPropertiesDetail
EksPodPropertiesDetail' :: Maybe [EksContainerDetail] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [EksVolume] -> EksPodPropertiesDetail
-- | The properties of the container that's used on the Amazon EKS pod.
[$sel:containers:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe [EksContainerDetail]
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. If no value was specified for
-- dnsPolicy in the RegisterJobDefinition API operation,
-- then no value will be returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
[$sel:dnsPolicy:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
[$sel:hostNetwork:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Bool
-- | The name of the node for this job.
[$sel:nodeName:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | The name of the pod for this job.
[$sel:podName:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
[$sel:serviceAccountName:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | Specifies the volumes for a job definition using Amazon EKS resources.
[$sel:volumes:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe [EksVolume]
-- | Create a value of EksPodPropertiesDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_containers - The properties of the
-- container that's used on the Amazon EKS pod.
--
-- $sel:dnsPolicy:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_dnsPolicy - The DNS policy for the pod.
-- The default value is ClusterFirst. If the
-- hostNetwork parameter is not specified, the default is
-- ClusterFirstWithHostNet. ClusterFirst indicates that
-- any DNS query that does not match the configured cluster domain suffix
-- is forwarded to the upstream nameserver inherited from the node. If no
-- value was specified for dnsPolicy in the
-- RegisterJobDefinition API operation, then no value will be
-- returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
--
-- $sel:hostNetwork:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_hostNetwork - Indicates if the pod uses
-- the hosts' network IP address. The default value is true.
-- Setting this to false enables the Kubernetes pod networking
-- model. Most Batch workloads are egress-only and don't require the
-- overhead of IP allocation for each pod for incoming connections. For
-- more information, see Host namespaces and Pod networking
-- in the Kubernetes documentation.
--
-- $sel:nodeName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_nodeName - The name of the node for this
-- job.
--
-- $sel:podName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_podName - The name of the pod for this
-- job.
--
-- $sel:serviceAccountName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_serviceAccountName - The name of the
-- service account that's used to run the pod. For more information, see
-- Kubernetes service accounts and Configure a Kubernetes
-- service account to assume an IAM role in the Amazon EKS User
-- Guide and Configure service accounts for pods in the
-- Kubernetes documentation.
--
-- $sel:volumes:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_volumes - Specifies the volumes for a
-- job definition using Amazon EKS resources.
newEksPodPropertiesDetail :: EksPodPropertiesDetail
-- | The properties of the container that's used on the Amazon EKS pod.
eksPodPropertiesDetail_containers :: Lens' EksPodPropertiesDetail (Maybe [EksContainerDetail])
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. If no value was specified for
-- dnsPolicy in the RegisterJobDefinition API operation,
-- then no value will be returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
eksPodPropertiesDetail_dnsPolicy :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
eksPodPropertiesDetail_hostNetwork :: Lens' EksPodPropertiesDetail (Maybe Bool)
-- | The name of the node for this job.
eksPodPropertiesDetail_nodeName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | The name of the pod for this job.
eksPodPropertiesDetail_podName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
eksPodPropertiesDetail_serviceAccountName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | Specifies the volumes for a job definition using Amazon EKS resources.
eksPodPropertiesDetail_volumes :: Lens' EksPodPropertiesDetail (Maybe [EksVolume])
instance GHC.Generics.Generic Amazonka.Batch.Types.EksPodPropertiesDetail.EksPodPropertiesDetail
instance GHC.Show.Show Amazonka.Batch.Types.EksPodPropertiesDetail.EksPodPropertiesDetail
instance GHC.Read.Read Amazonka.Batch.Types.EksPodPropertiesDetail.EksPodPropertiesDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.EksPodPropertiesDetail.EksPodPropertiesDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksPodPropertiesDetail.EksPodPropertiesDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksPodPropertiesDetail.EksPodPropertiesDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksPodPropertiesDetail.EksPodPropertiesDetail
module Amazonka.Batch.Types.EksPropertiesDetail
-- | An object that contains the details for the Kubernetes resources of a
-- job.
--
-- See: newEksPropertiesDetail smart constructor.
data EksPropertiesDetail
EksPropertiesDetail' :: Maybe EksPodPropertiesDetail -> EksPropertiesDetail
-- | The properties for the Kubernetes pod resources of a job.
[$sel:podProperties:EksPropertiesDetail'] :: EksPropertiesDetail -> Maybe EksPodPropertiesDetail
-- | Create a value of EksPropertiesDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksPropertiesDetail',
-- eksPropertiesDetail_podProperties - The properties for the
-- Kubernetes pod resources of a job.
newEksPropertiesDetail :: EksPropertiesDetail
-- | The properties for the Kubernetes pod resources of a job.
eksPropertiesDetail_podProperties :: Lens' EksPropertiesDetail (Maybe EksPodPropertiesDetail)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksPropertiesDetail.EksPropertiesDetail
instance GHC.Show.Show Amazonka.Batch.Types.EksPropertiesDetail.EksPropertiesDetail
instance GHC.Read.Read Amazonka.Batch.Types.EksPropertiesDetail.EksPropertiesDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.EksPropertiesDetail.EksPropertiesDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksPropertiesDetail.EksPropertiesDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksPropertiesDetail.EksPropertiesDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksPropertiesDetail.EksPropertiesDetail
module Amazonka.Batch.Types.EksPodProperties
-- | The properties for the pod.
--
-- See: newEksPodProperties smart constructor.
data EksPodProperties
EksPodProperties' :: Maybe [EksContainer] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe [EksVolume] -> EksPodProperties
-- | The properties of the container that's used on the Amazon EKS pod.
[$sel:containers:EksPodProperties'] :: EksPodProperties -> Maybe [EksContainer]
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. For more information, see Pod's
-- DNS policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
[$sel:dnsPolicy:EksPodProperties'] :: EksPodProperties -> Maybe Text
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
[$sel:hostNetwork:EksPodProperties'] :: EksPodProperties -> Maybe Bool
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
[$sel:serviceAccountName:EksPodProperties'] :: EksPodProperties -> Maybe Text
-- | Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
[$sel:volumes:EksPodProperties'] :: EksPodProperties -> Maybe [EksVolume]
-- | Create a value of EksPodProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodProperties',
-- eksPodProperties_containers - The properties of the container
-- that's used on the Amazon EKS pod.
--
-- $sel:dnsPolicy:EksPodProperties',
-- eksPodProperties_dnsPolicy - The DNS policy for the pod. The
-- default value is ClusterFirst. If the hostNetwork
-- parameter is not specified, the default is
-- ClusterFirstWithHostNet. ClusterFirst indicates that
-- any DNS query that does not match the configured cluster domain suffix
-- is forwarded to the upstream nameserver inherited from the node. For
-- more information, see Pod's DNS policy in the Kubernetes
-- documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
--
-- $sel:hostNetwork:EksPodProperties',
-- eksPodProperties_hostNetwork - Indicates if the pod uses the
-- hosts' network IP address. The default value is true. Setting
-- this to false enables the Kubernetes pod networking model.
-- Most Batch workloads are egress-only and don't require the overhead of
-- IP allocation for each pod for incoming connections. For more
-- information, see Host namespaces and Pod networking in
-- the Kubernetes documentation.
--
-- $sel:serviceAccountName:EksPodProperties',
-- eksPodProperties_serviceAccountName - The name of the service
-- account that's used to run the pod. For more information, see
-- Kubernetes service accounts and Configure a Kubernetes
-- service account to assume an IAM role in the Amazon EKS User
-- Guide and Configure service accounts for pods in the
-- Kubernetes documentation.
--
-- $sel:volumes:EksPodProperties', eksPodProperties_volumes
-- - Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
newEksPodProperties :: EksPodProperties
-- | The properties of the container that's used on the Amazon EKS pod.
eksPodProperties_containers :: Lens' EksPodProperties (Maybe [EksContainer])
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. For more information, see Pod's
-- DNS policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
eksPodProperties_dnsPolicy :: Lens' EksPodProperties (Maybe Text)
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
eksPodProperties_hostNetwork :: Lens' EksPodProperties (Maybe Bool)
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
eksPodProperties_serviceAccountName :: Lens' EksPodProperties (Maybe Text)
-- | Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
eksPodProperties_volumes :: Lens' EksPodProperties (Maybe [EksVolume])
instance GHC.Generics.Generic Amazonka.Batch.Types.EksPodProperties.EksPodProperties
instance GHC.Show.Show Amazonka.Batch.Types.EksPodProperties.EksPodProperties
instance GHC.Read.Read Amazonka.Batch.Types.EksPodProperties.EksPodProperties
instance GHC.Classes.Eq Amazonka.Batch.Types.EksPodProperties.EksPodProperties
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksPodProperties.EksPodProperties
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksPodProperties.EksPodProperties
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksPodProperties.EksPodProperties
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksPodProperties.EksPodProperties
module Amazonka.Batch.Types.EksProperties
-- | An object that contains the properties for the Kubernetes resources of
-- a job.
--
-- See: newEksProperties smart constructor.
data EksProperties
EksProperties' :: Maybe EksPodProperties -> EksProperties
-- | The properties for the Kubernetes pod resources of a job.
[$sel:podProperties:EksProperties'] :: EksProperties -> Maybe EksPodProperties
-- | Create a value of EksProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksProperties',
-- eksProperties_podProperties - The properties for the Kubernetes
-- pod resources of a job.
newEksProperties :: EksProperties
-- | The properties for the Kubernetes pod resources of a job.
eksProperties_podProperties :: Lens' EksProperties (Maybe EksPodProperties)
instance GHC.Generics.Generic Amazonka.Batch.Types.EksProperties.EksProperties
instance GHC.Show.Show Amazonka.Batch.Types.EksProperties.EksProperties
instance GHC.Read.Read Amazonka.Batch.Types.EksProperties.EksProperties
instance GHC.Classes.Eq Amazonka.Batch.Types.EksProperties.EksProperties
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EksProperties.EksProperties
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EksProperties.EksProperties
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EksProperties.EksProperties
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EksProperties.EksProperties
module Amazonka.Batch.Types.FargatePlatformConfiguration
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that run on EC2 resources must not specify this
-- parameter.
--
-- See: newFargatePlatformConfiguration smart constructor.
data FargatePlatformConfiguration
FargatePlatformConfiguration' :: Maybe Text -> FargatePlatformConfiguration
-- | The Fargate platform version where the jobs are running. A platform
-- version is specified only for jobs that are running on Fargate
-- resources. If one isn't specified, the LATEST platform
-- version is used by default. This uses a recent, approved version of
-- the Fargate platform for compute resources. For more information, see
-- Fargate platform versions in the Amazon Elastic Container
-- Service Developer Guide.
[$sel:platformVersion:FargatePlatformConfiguration'] :: FargatePlatformConfiguration -> Maybe Text
-- | Create a value of FargatePlatformConfiguration with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:platformVersion:FargatePlatformConfiguration',
-- fargatePlatformConfiguration_platformVersion - The Fargate
-- platform version where the jobs are running. A platform version is
-- specified only for jobs that are running on Fargate resources. If one
-- isn't specified, the LATEST platform version is used by
-- default. This uses a recent, approved version of the Fargate platform
-- for compute resources. For more information, see Fargate platform
-- versions in the Amazon Elastic Container Service Developer
-- Guide.
newFargatePlatformConfiguration :: FargatePlatformConfiguration
-- | The Fargate platform version where the jobs are running. A platform
-- version is specified only for jobs that are running on Fargate
-- resources. If one isn't specified, the LATEST platform
-- version is used by default. This uses a recent, approved version of
-- the Fargate platform for compute resources. For more information, see
-- Fargate platform versions in the Amazon Elastic Container
-- Service Developer Guide.
fargatePlatformConfiguration_platformVersion :: Lens' FargatePlatformConfiguration (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
instance GHC.Show.Show Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
instance GHC.Read.Read Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
instance GHC.Classes.Eq Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
instance Control.DeepSeq.NFData Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.FargatePlatformConfiguration.FargatePlatformConfiguration
module Amazonka.Batch.Types.Host
-- | Determine whether your data volume persists on the host container
-- instance and where it's stored. If this parameter is empty, then the
-- Docker daemon assigns a host path for your data volume. However, the
-- data isn't guaranteed to persist after the containers that are
-- associated with it stop running.
--
-- See: newHost smart constructor.
data Host
Host' :: Maybe Text -> Host
-- | The path on the host container instance that's presented to the
-- container. If this parameter is empty, then the Docker daemon has
-- assigned a host path for you. If this parameter contains a file
-- location, then the data volume persists at the specified location on
-- the host container instance until you delete it manually. If the
-- source path location doesn't exist on the host container instance, the
-- Docker daemon creates it. If the location does exist, the contents of
-- the source path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
[$sel:sourcePath:Host'] :: Host -> Maybe Text
-- | Create a value of Host with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:sourcePath:Host', host_sourcePath - The path on the
-- host container instance that's presented to the container. If this
-- parameter is empty, then the Docker daemon has assigned a host path
-- for you. If this parameter contains a file location, then the data
-- volume persists at the specified location on the host container
-- instance until you delete it manually. If the source path location
-- doesn't exist on the host container instance, the Docker daemon
-- creates it. If the location does exist, the contents of the source
-- path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
newHost :: Host
-- | The path on the host container instance that's presented to the
-- container. If this parameter is empty, then the Docker daemon has
-- assigned a host path for you. If this parameter contains a file
-- location, then the data volume persists at the specified location on
-- the host container instance until you delete it manually. If the
-- source path location doesn't exist on the host container instance, the
-- Docker daemon creates it. If the location does exist, the contents of
-- the source path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
host_sourcePath :: Lens' Host (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.Host.Host
instance GHC.Show.Show Amazonka.Batch.Types.Host.Host
instance GHC.Read.Read Amazonka.Batch.Types.Host.Host
instance GHC.Classes.Eq Amazonka.Batch.Types.Host.Host
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.Host.Host
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.Host.Host
instance Control.DeepSeq.NFData Amazonka.Batch.Types.Host.Host
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.Host.Host
module Amazonka.Batch.Types.JQState
newtype JQState
JQState' :: Text -> JQState
[fromJQState] :: JQState -> Text
pattern JQState_DISABLED :: JQState
pattern JQState_ENABLED :: JQState
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.JQState.JQState
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.JQState.JQState
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.JQState.JQState
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.JQState.JQState
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.JQState.JQState
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JQState.JQState
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.JQState.JQState
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.JQState.JQState
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.JQState.JQState
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.JQState.JQState
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.JQState.JQState
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.JQState.JQState
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JQState.JQState
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JQState.JQState
instance GHC.Generics.Generic Amazonka.Batch.Types.JQState.JQState
instance GHC.Classes.Ord Amazonka.Batch.Types.JQState.JQState
instance GHC.Classes.Eq Amazonka.Batch.Types.JQState.JQState
instance GHC.Read.Read Amazonka.Batch.Types.JQState.JQState
instance GHC.Show.Show Amazonka.Batch.Types.JQState.JQState
module Amazonka.Batch.Types.JQStatus
newtype JQStatus
JQStatus' :: Text -> JQStatus
[fromJQStatus] :: JQStatus -> Text
pattern JQStatus_CREATING :: JQStatus
pattern JQStatus_DELETED :: JQStatus
pattern JQStatus_DELETING :: JQStatus
pattern JQStatus_INVALID :: JQStatus
pattern JQStatus_UPDATING :: JQStatus
pattern JQStatus_VALID :: JQStatus
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.JQStatus.JQStatus
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.JQStatus.JQStatus
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.JQStatus.JQStatus
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.JQStatus.JQStatus
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.JQStatus.JQStatus
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JQStatus.JQStatus
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.JQStatus.JQStatus
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.JQStatus.JQStatus
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.JQStatus.JQStatus
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.JQStatus.JQStatus
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.JQStatus.JQStatus
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.JQStatus.JQStatus
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JQStatus.JQStatus
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JQStatus.JQStatus
instance GHC.Generics.Generic Amazonka.Batch.Types.JQStatus.JQStatus
instance GHC.Classes.Ord Amazonka.Batch.Types.JQStatus.JQStatus
instance GHC.Classes.Eq Amazonka.Batch.Types.JQStatus.JQStatus
instance GHC.Read.Read Amazonka.Batch.Types.JQStatus.JQStatus
instance GHC.Show.Show Amazonka.Batch.Types.JQStatus.JQStatus
module Amazonka.Batch.Types.JobDefinitionType
newtype JobDefinitionType
JobDefinitionType' :: Text -> JobDefinitionType
[fromJobDefinitionType] :: JobDefinitionType -> Text
pattern JobDefinitionType_Container :: JobDefinitionType
pattern JobDefinitionType_Multinode :: JobDefinitionType
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance GHC.Generics.Generic Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance GHC.Classes.Ord Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance GHC.Classes.Eq Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance GHC.Read.Read Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
instance GHC.Show.Show Amazonka.Batch.Types.JobDefinitionType.JobDefinitionType
module Amazonka.Batch.Types.JobDependency
-- | An object that represents an Batch job dependency.
--
-- See: newJobDependency smart constructor.
data JobDependency
JobDependency' :: Maybe Text -> Maybe ArrayJobDependency -> JobDependency
-- | The job ID of the Batch job that's associated with this dependency.
[$sel:jobId:JobDependency'] :: JobDependency -> Maybe Text
-- | The type of the job dependency.
[$sel:type':JobDependency'] :: JobDependency -> Maybe ArrayJobDependency
-- | Create a value of JobDependency with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:jobId:JobDependency', jobDependency_jobId - The job
-- ID of the Batch job that's associated with this dependency.
--
-- $sel:type':JobDependency', jobDependency_type - The type
-- of the job dependency.
newJobDependency :: JobDependency
-- | The job ID of the Batch job that's associated with this dependency.
jobDependency_jobId :: Lens' JobDependency (Maybe Text)
-- | The type of the job dependency.
jobDependency_type :: Lens' JobDependency (Maybe ArrayJobDependency)
instance GHC.Generics.Generic Amazonka.Batch.Types.JobDependency.JobDependency
instance GHC.Show.Show Amazonka.Batch.Types.JobDependency.JobDependency
instance GHC.Read.Read Amazonka.Batch.Types.JobDependency.JobDependency
instance GHC.Classes.Eq Amazonka.Batch.Types.JobDependency.JobDependency
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobDependency.JobDependency
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobDependency.JobDependency
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobDependency.JobDependency
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.JobDependency.JobDependency
module Amazonka.Batch.Types.JobQueueDetail
-- | An object that represents the details for an Batch job queue.
--
-- See: newJobQueueDetail smart constructor.
data JobQueueDetail
JobQueueDetail' :: Maybe Text -> Maybe JQStatus -> Maybe Text -> Maybe (HashMap Text Text) -> Text -> Text -> JQState -> Int -> [ComputeEnvironmentOrder] -> JobQueueDetail
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
[$sel:schedulingPolicyArn:JobQueueDetail'] :: JobQueueDetail -> Maybe Text
-- | The status of the job queue (for example, CREATING or
-- VALID).
[$sel:status:JobQueueDetail'] :: JobQueueDetail -> Maybe JQStatus
-- | A short, human-readable string to provide additional details for the
-- current status of the job queue.
[$sel:statusReason:JobQueueDetail'] :: JobQueueDetail -> Maybe Text
-- | The tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
[$sel:tags:JobQueueDetail'] :: JobQueueDetail -> Maybe (HashMap Text Text)
-- | The job queue name.
[$sel:jobQueueName:JobQueueDetail'] :: JobQueueDetail -> Text
-- | The Amazon Resource Name (ARN) of the job queue.
[$sel:jobQueueArn:JobQueueDetail'] :: JobQueueDetail -> Text
-- | Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
[$sel:state:JobQueueDetail'] :: JobQueueDetail -> JQState
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
[$sel:priority:JobQueueDetail'] :: JobQueueDetail -> Int
-- | The compute environments that are attached to the job queue and the
-- order that job placement is preferred. Compute environments are
-- selected for job placement in ascending order.
[$sel:computeEnvironmentOrder:JobQueueDetail'] :: JobQueueDetail -> [ComputeEnvironmentOrder]
-- | Create a value of JobQueueDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:schedulingPolicyArn:JobQueueDetail',
-- jobQueueDetail_schedulingPolicyArn - The Amazon Resource Name
-- (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
--
-- $sel:status:JobQueueDetail', jobQueueDetail_status - The
-- status of the job queue (for example, CREATING or
-- VALID).
--
-- $sel:statusReason:JobQueueDetail',
-- jobQueueDetail_statusReason - A short, human-readable string to
-- provide additional details for the current status of the job queue.
--
-- $sel:tags:JobQueueDetail', jobQueueDetail_tags - The
-- tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
--
-- $sel:jobQueueName:JobQueueDetail',
-- jobQueueDetail_jobQueueName - The job queue name.
--
-- $sel:jobQueueArn:JobQueueDetail',
-- jobQueueDetail_jobQueueArn - The Amazon Resource Name (ARN) of
-- the job queue.
--
-- $sel:state:JobQueueDetail', jobQueueDetail_state -
-- Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
--
-- $sel:priority:JobQueueDetail', jobQueueDetail_priority -
-- The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
--
-- $sel:computeEnvironmentOrder:JobQueueDetail',
-- jobQueueDetail_computeEnvironmentOrder - The compute
-- environments that are attached to the job queue and the order that job
-- placement is preferred. Compute environments are selected for job
-- placement in ascending order.
newJobQueueDetail :: Text -> Text -> JQState -> Int -> JobQueueDetail
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
jobQueueDetail_schedulingPolicyArn :: Lens' JobQueueDetail (Maybe Text)
-- | The status of the job queue (for example, CREATING or
-- VALID).
jobQueueDetail_status :: Lens' JobQueueDetail (Maybe JQStatus)
-- | A short, human-readable string to provide additional details for the
-- current status of the job queue.
jobQueueDetail_statusReason :: Lens' JobQueueDetail (Maybe Text)
-- | The tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
jobQueueDetail_tags :: Lens' JobQueueDetail (Maybe (HashMap Text Text))
-- | The job queue name.
jobQueueDetail_jobQueueName :: Lens' JobQueueDetail Text
-- | The Amazon Resource Name (ARN) of the job queue.
jobQueueDetail_jobQueueArn :: Lens' JobQueueDetail Text
-- | Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
jobQueueDetail_state :: Lens' JobQueueDetail JQState
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
jobQueueDetail_priority :: Lens' JobQueueDetail Int
-- | The compute environments that are attached to the job queue and the
-- order that job placement is preferred. Compute environments are
-- selected for job placement in ascending order.
jobQueueDetail_computeEnvironmentOrder :: Lens' JobQueueDetail [ComputeEnvironmentOrder]
instance GHC.Generics.Generic Amazonka.Batch.Types.JobQueueDetail.JobQueueDetail
instance GHC.Show.Show Amazonka.Batch.Types.JobQueueDetail.JobQueueDetail
instance GHC.Read.Read Amazonka.Batch.Types.JobQueueDetail.JobQueueDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.JobQueueDetail.JobQueueDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobQueueDetail.JobQueueDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobQueueDetail.JobQueueDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobQueueDetail.JobQueueDetail
module Amazonka.Batch.Types.JobStatus
newtype JobStatus
JobStatus' :: Text -> JobStatus
[fromJobStatus] :: JobStatus -> Text
pattern JobStatus_FAILED :: JobStatus
pattern JobStatus_PENDING :: JobStatus
pattern JobStatus_RUNNABLE :: JobStatus
pattern JobStatus_RUNNING :: JobStatus
pattern JobStatus_STARTING :: JobStatus
pattern JobStatus_SUBMITTED :: JobStatus
pattern JobStatus_SUCCEEDED :: JobStatus
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.JobStatus.JobStatus
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.JobStatus.JobStatus
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.JobStatus.JobStatus
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.JobStatus.JobStatus
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.JobStatus.JobStatus
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobStatus.JobStatus
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.JobStatus.JobStatus
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.JobStatus.JobStatus
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.JobStatus.JobStatus
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.JobStatus.JobStatus
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.JobStatus.JobStatus
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.JobStatus.JobStatus
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobStatus.JobStatus
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobStatus.JobStatus
instance GHC.Generics.Generic Amazonka.Batch.Types.JobStatus.JobStatus
instance GHC.Classes.Ord Amazonka.Batch.Types.JobStatus.JobStatus
instance GHC.Classes.Eq Amazonka.Batch.Types.JobStatus.JobStatus
instance GHC.Read.Read Amazonka.Batch.Types.JobStatus.JobStatus
instance GHC.Show.Show Amazonka.Batch.Types.JobStatus.JobStatus
module Amazonka.Batch.Types.JobTimeout
-- | An object that represents a job timeout configuration.
--
-- See: newJobTimeout smart constructor.
data JobTimeout
JobTimeout' :: Maybe Int -> JobTimeout
-- | The job timeout time (in seconds) that's measured from the job
-- attempt's startedAt timestamp. After this time passes, Batch
-- terminates your jobs if they aren't finished. The minimum value for
-- the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
[$sel:attemptDurationSeconds:JobTimeout'] :: JobTimeout -> Maybe Int
-- | Create a value of JobTimeout with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attemptDurationSeconds:JobTimeout',
-- jobTimeout_attemptDurationSeconds - The job timeout time (in
-- seconds) that's measured from the job attempt's startedAt
-- timestamp. After this time passes, Batch terminates your jobs if they
-- aren't finished. The minimum value for the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
newJobTimeout :: JobTimeout
-- | The job timeout time (in seconds) that's measured from the job
-- attempt's startedAt timestamp. After this time passes, Batch
-- terminates your jobs if they aren't finished. The minimum value for
-- the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
jobTimeout_attemptDurationSeconds :: Lens' JobTimeout (Maybe Int)
instance GHC.Generics.Generic Amazonka.Batch.Types.JobTimeout.JobTimeout
instance GHC.Show.Show Amazonka.Batch.Types.JobTimeout.JobTimeout
instance GHC.Read.Read Amazonka.Batch.Types.JobTimeout.JobTimeout
instance GHC.Classes.Eq Amazonka.Batch.Types.JobTimeout.JobTimeout
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobTimeout.JobTimeout
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobTimeout.JobTimeout
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobTimeout.JobTimeout
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.JobTimeout.JobTimeout
module Amazonka.Batch.Types.KeyValuePair
-- | A key-value pair object.
--
-- See: newKeyValuePair smart constructor.
data KeyValuePair
KeyValuePair' :: Maybe Text -> Maybe Text -> KeyValuePair
-- | The name of the key-value pair. For environment variables, this is the
-- name of the environment variable.
[$sel:name:KeyValuePair'] :: KeyValuePair -> Maybe Text
-- | The value of the key-value pair. For environment variables, this is
-- the value of the environment variable.
[$sel:value:KeyValuePair'] :: KeyValuePair -> Maybe Text
-- | Create a value of KeyValuePair with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:KeyValuePair', keyValuePair_name - The name of
-- the key-value pair. For environment variables, this is the name of the
-- environment variable.
--
-- $sel:value:KeyValuePair', keyValuePair_value - The value
-- of the key-value pair. For environment variables, this is the value of
-- the environment variable.
newKeyValuePair :: KeyValuePair
-- | The name of the key-value pair. For environment variables, this is the
-- name of the environment variable.
keyValuePair_name :: Lens' KeyValuePair (Maybe Text)
-- | The value of the key-value pair. For environment variables, this is
-- the value of the environment variable.
keyValuePair_value :: Lens' KeyValuePair (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.KeyValuePair.KeyValuePair
instance GHC.Show.Show Amazonka.Batch.Types.KeyValuePair.KeyValuePair
instance GHC.Read.Read Amazonka.Batch.Types.KeyValuePair.KeyValuePair
instance GHC.Classes.Eq Amazonka.Batch.Types.KeyValuePair.KeyValuePair
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.KeyValuePair.KeyValuePair
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.KeyValuePair.KeyValuePair
instance Control.DeepSeq.NFData Amazonka.Batch.Types.KeyValuePair.KeyValuePair
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.KeyValuePair.KeyValuePair
module Amazonka.Batch.Types.KeyValuesPair
-- | A filter name and value pair that's used to return a more specific
-- list of results from a ListJobs API operation.
--
-- See: newKeyValuesPair smart constructor.
data KeyValuesPair
KeyValuesPair' :: Maybe Text -> Maybe [Text] -> KeyValuesPair
-- | The name of the filter. Filter names are case sensitive.
[$sel:name:KeyValuesPair'] :: KeyValuesPair -> Maybe Text
-- | The filter values.
[$sel:values:KeyValuesPair'] :: KeyValuesPair -> Maybe [Text]
-- | Create a value of KeyValuesPair with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:KeyValuesPair', keyValuesPair_name - The name
-- of the filter. Filter names are case sensitive.
--
-- $sel:values:KeyValuesPair', keyValuesPair_values - The
-- filter values.
newKeyValuesPair :: KeyValuesPair
-- | The name of the filter. Filter names are case sensitive.
keyValuesPair_name :: Lens' KeyValuesPair (Maybe Text)
-- | The filter values.
keyValuesPair_values :: Lens' KeyValuesPair (Maybe [Text])
instance GHC.Generics.Generic Amazonka.Batch.Types.KeyValuesPair.KeyValuesPair
instance GHC.Show.Show Amazonka.Batch.Types.KeyValuesPair.KeyValuesPair
instance GHC.Read.Read Amazonka.Batch.Types.KeyValuesPair.KeyValuesPair
instance GHC.Classes.Eq Amazonka.Batch.Types.KeyValuesPair.KeyValuesPair
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.KeyValuesPair.KeyValuesPair
instance Control.DeepSeq.NFData Amazonka.Batch.Types.KeyValuesPair.KeyValuesPair
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.KeyValuesPair.KeyValuesPair
module Amazonka.Batch.Types.LaunchTemplateSpecification
-- | An object that represents a launch template that's associated with a
-- compute resource. You must specify either the launch template ID or
-- launch template name in the request, but not both.
--
-- If security groups are specified using both the
-- securityGroupIds parameter of
-- CreateComputeEnvironment and the launch template, the values
-- in the securityGroupIds parameter of
-- CreateComputeEnvironment will be used.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newLaunchTemplateSpecification smart constructor.
data LaunchTemplateSpecification
LaunchTemplateSpecification' :: Maybe Text -> Maybe Text -> Maybe Text -> LaunchTemplateSpecification
-- | The ID of the launch template.
[$sel:launchTemplateId:LaunchTemplateSpecification'] :: LaunchTemplateSpecification -> Maybe Text
-- | The name of the launch template.
[$sel:launchTemplateName:LaunchTemplateSpecification'] :: LaunchTemplateSpecification -> Maybe Text
-- | The version number of the launch template, $Latest, or
-- $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
[$sel:version:LaunchTemplateSpecification'] :: LaunchTemplateSpecification -> Maybe Text
-- | Create a value of LaunchTemplateSpecification with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:launchTemplateId:LaunchTemplateSpecification',
-- launchTemplateSpecification_launchTemplateId - The ID of the
-- launch template.
--
-- $sel:launchTemplateName:LaunchTemplateSpecification',
-- launchTemplateSpecification_launchTemplateName - The name of
-- the launch template.
--
-- $sel:version:LaunchTemplateSpecification',
-- launchTemplateSpecification_version - The version number of the
-- launch template, $Latest, or $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
newLaunchTemplateSpecification :: LaunchTemplateSpecification
-- | The ID of the launch template.
launchTemplateSpecification_launchTemplateId :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | The name of the launch template.
launchTemplateSpecification_launchTemplateName :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | The version number of the launch template, $Latest, or
-- $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
launchTemplateSpecification_version :: Lens' LaunchTemplateSpecification (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
instance GHC.Show.Show Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
instance GHC.Read.Read Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
instance GHC.Classes.Eq Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
instance Control.DeepSeq.NFData Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.LaunchTemplateSpecification.LaunchTemplateSpecification
module Amazonka.Batch.Types.ComputeResourceUpdate
-- | An object that represents the attributes of a compute environment that
-- can be updated. For more information, see Updating compute
-- environments in the Batch User Guide.
--
-- See: newComputeResourceUpdate smart constructor.
data ComputeResourceUpdate
ComputeResourceUpdate' :: Maybe CRUpdateAllocationStrategy -> Maybe Int -> Maybe Int -> Maybe [Ec2Configuration] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe LaunchTemplateSpecification -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe (HashMap Text Text) -> Maybe CRType -> Maybe Bool -> ComputeResourceUpdate
-- | The allocation strategy to use for the compute resource if there's not
-- enough instances of the best fitting instance type that can be
-- allocated. This might be because of availability of the instance type
-- in the Region or Amazon EC2 service limits. For more
-- information, see Allocation strategies in the Batch User
-- Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
[$sel:allocationStrategy:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe CRUpdateAllocationStrategy
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, the Spot
-- price must be less than 20% of the current On-Demand price for that
-- Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. For most use cases, we
-- recommend leaving this field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:bidPercentage:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
[$sel:desiredvCpus:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- EC2 instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2Configuration:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Ec2Configuration]
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH. To remove the Amazon EC2 key pair, set this value
-- to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2KeyPair:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure. To remove the custom AMI ID and use the default AMI ID, set
-- this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
[$sel:imageId:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:instanceRole:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
[$sel:instanceTypes:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Text]
-- | The updated launch template to use for your compute resources. You
-- must specify either the launch template ID or launch template name in
-- the request, but not both. For more information, see Launch
-- template support in the Batch User Guide. To remove the
-- custom launch template and use the default launch template, set
-- launchTemplateId or launchTemplateName member of the
-- launch template specification to an empty string. Removing the launch
-- template from a compute environment will not remove the AMI specified
-- in the launch template. In order to update the AMI specified in a
-- launch template, the updateToLatestImageVersion parameter
-- must be set to true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:launchTemplate:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe LaunchTemplateSpecification
-- | The maximum number of Amazon EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
[$sel:maxvCpus:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:minvCpus:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:placementGroup:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. This parameter is required for
-- Fargate compute resources, where it can contain up to 5 security
-- groups. For Fargate compute resources, providing an empty list is
-- handled as if this parameter wasn't specified and no change is made.
-- For EC2 compute resources, providing an empty list removes the
-- security groups from the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
[$sel:securityGroupIds:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Text]
-- | The VPC subnets where the compute resources are launched. Fargate
-- compute resources can contain up to 16 subnets. For Fargate compute
-- resources, providing an empty list will be handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the VPC subnets from the
-- compute resource. For more information, see VPCs and subnets in
-- the Amazon VPC User Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
[$sel:subnets:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Text]
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. These tags aren't seen
-- when using the Batch ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:tags:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe (HashMap Text Text)
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
[$sel:type':ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe CRType
-- | Specifies whether the AMI ID is updated to the latest one that's
-- supported by Batch when the compute environment has an infrastructure
-- update. The default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
[$sel:updateToLatestImageVersion:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Bool
-- | Create a value of ComputeResourceUpdate with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:allocationStrategy:ComputeResourceUpdate',
-- computeResourceUpdate_allocationStrategy - The allocation
-- strategy to use for the compute resource if there's not enough
-- instances of the best fitting instance type that can be allocated.
-- This might be because of availability of the instance type in the
-- Region or Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
--
-- $sel:bidPercentage:ComputeResourceUpdate',
-- computeResourceUpdate_bidPercentage - The maximum percentage
-- that a Spot Instance price can be when compared with the On-Demand
-- price for that instance type before instances are launched. For
-- example, if your maximum percentage is 20%, the Spot price must be
-- less than 20% of the current On-Demand price for that Amazon EC2
-- instance. You always pay the lowest (market) price and never more than
-- your maximum percentage. For most use cases, we recommend leaving this
-- field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:desiredvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_desiredvCpus - The desired number of
-- Amazon EC2 vCPUS in the compute environment. Batch modifies this value
-- between the minimum and maximum values based on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
--
-- $sel:ec2Configuration:ComputeResourceUpdate',
-- computeResourceUpdate_ec2Configuration - Provides information
-- used to select Amazon Machine Images (AMIs) for EC2 instances in the
-- compute environment. If Ec2Configuration isn't specified, the
-- default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2KeyPair:ComputeResourceUpdate',
-- computeResourceUpdate_ec2KeyPair - The Amazon EC2 key pair
-- that's used for instances launched in the compute environment. You can
-- use this key pair to log in to your instances with SSH. To remove the
-- Amazon EC2 key pair, set this value to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:imageId:ComputeResourceUpdate',
-- computeResourceUpdate_imageId - The Amazon Machine Image (AMI)
-- ID used for instances launched in the compute environment. This
-- parameter is overridden by the imageIdOverride member of the
-- Ec2Configuration structure. To remove the custom AMI ID and
-- use the default AMI ID, set this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:instanceRole:ComputeResourceUpdate',
-- computeResourceUpdate_instanceRole - The Amazon ECS instance
-- profile applied to Amazon EC2 instances in a compute environment. You
-- can specify the short name or full Amazon Resource Name (ARN) of an
-- instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:instanceTypes:ComputeResourceUpdate',
-- computeResourceUpdate_instanceTypes - The instances types that
-- can be launched. You can specify instance families to launch any
-- instance type within those families (for example, c5 or
-- p3), or you can specify specific sizes within a family (such
-- as c5.8xlarge). You can also choose optimal to
-- select instance types (from the C4, M4, and R4 instance families) that
-- match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
--
-- $sel:launchTemplate:ComputeResourceUpdate',
-- computeResourceUpdate_launchTemplate - The updated launch
-- template to use for your compute resources. You must specify either
-- the launch template ID or launch template name in the request, but not
-- both. For more information, see Launch template support in the
-- Batch User Guide. To remove the custom launch template and use
-- the default launch template, set launchTemplateId or
-- launchTemplateName member of the launch template
-- specification to an empty string. Removing the launch template from a
-- compute environment will not remove the AMI specified in the launch
-- template. In order to update the AMI specified in a launch template,
-- the updateToLatestImageVersion parameter must be set to
-- true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:maxvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_maxvCpus - The maximum number of Amazon
-- EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
--
-- $sel:minvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_minvCpus - The minimum number of Amazon
-- EC2 vCPUs that an environment should maintain (even if the compute
-- environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:placementGroup:ComputeResourceUpdate',
-- computeResourceUpdate_placementGroup - The Amazon EC2 placement
-- group to associate with your compute resources. If you intend to
-- submit multi-node parallel jobs to your compute environment, you
-- should consider creating a cluster placement group and associate it
-- with your compute resources. This keeps your multi-node parallel job
-- on a logical grouping of instances within a single Availability Zone
-- with high network flow potential. For more information, see
-- Placement groups in the Amazon EC2 User Guide for Linux
-- Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:securityGroupIds:ComputeResourceUpdate',
-- computeResourceUpdate_securityGroupIds - The Amazon EC2
-- security groups that are associated with instances launched in the
-- compute environment. This parameter is required for Fargate compute
-- resources, where it can contain up to 5 security groups. For Fargate
-- compute resources, providing an empty list is handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the security groups from
-- the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- $sel:subnets:ComputeResourceUpdate',
-- computeResourceUpdate_subnets - The VPC subnets where the
-- compute resources are launched. Fargate compute resources can contain
-- up to 16 subnets. For Fargate compute resources, providing an empty
-- list will be handled as if this parameter wasn't specified and no
-- change is made. For EC2 compute resources, providing an empty list
-- removes the VPC subnets from the compute resource. For more
-- information, see VPCs and subnets in the Amazon VPC User
-- Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
--
-- $sel:tags:ComputeResourceUpdate',
-- computeResourceUpdate_tags - Key-value pair tags to be applied
-- to EC2 resources that are launched in the compute environment. For
-- Batch, these take the form of "String1": "String2", where
-- String1 is the tag key and String2 is the tag
-- value-for example, { "Name": "Batch Instance - C4OnDemand" }.
-- This is helpful for recognizing your Batch instances in the Amazon EC2
-- console. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:type':ComputeResourceUpdate',
-- computeResourceUpdate_type - The type of compute environment:
-- EC2, SPOT, FARGATE, or
-- FARGATE_SPOT. For more information, see Compute
-- environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
--
-- $sel:updateToLatestImageVersion:ComputeResourceUpdate',
-- computeResourceUpdate_updateToLatestImageVersion - Specifies
-- whether the AMI ID is updated to the latest one that's supported by
-- Batch when the compute environment has an infrastructure update. The
-- default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
newComputeResourceUpdate :: ComputeResourceUpdate
-- | The allocation strategy to use for the compute resource if there's not
-- enough instances of the best fitting instance type that can be
-- allocated. This might be because of availability of the instance type
-- in the Region or Amazon EC2 service limits. For more
-- information, see Allocation strategies in the Batch User
-- Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
computeResourceUpdate_allocationStrategy :: Lens' ComputeResourceUpdate (Maybe CRUpdateAllocationStrategy)
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, the Spot
-- price must be less than 20% of the current On-Demand price for that
-- Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. For most use cases, we
-- recommend leaving this field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_bidPercentage :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
computeResourceUpdate_desiredvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- EC2 instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_ec2Configuration :: Lens' ComputeResourceUpdate (Maybe [Ec2Configuration])
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH. To remove the Amazon EC2 key pair, set this value
-- to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_ec2KeyPair :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure. To remove the custom AMI ID and use the default AMI ID, set
-- this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
computeResourceUpdate_imageId :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_instanceRole :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
computeResourceUpdate_instanceTypes :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | The updated launch template to use for your compute resources. You
-- must specify either the launch template ID or launch template name in
-- the request, but not both. For more information, see Launch
-- template support in the Batch User Guide. To remove the
-- custom launch template and use the default launch template, set
-- launchTemplateId or launchTemplateName member of the
-- launch template specification to an empty string. Removing the launch
-- template from a compute environment will not remove the AMI specified
-- in the launch template. In order to update the AMI specified in a
-- launch template, the updateToLatestImageVersion parameter
-- must be set to true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_launchTemplate :: Lens' ComputeResourceUpdate (Maybe LaunchTemplateSpecification)
-- | The maximum number of Amazon EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
computeResourceUpdate_maxvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_minvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_placementGroup :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. This parameter is required for
-- Fargate compute resources, where it can contain up to 5 security
-- groups. For Fargate compute resources, providing an empty list is
-- handled as if this parameter wasn't specified and no change is made.
-- For EC2 compute resources, providing an empty list removes the
-- security groups from the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
computeResourceUpdate_securityGroupIds :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | The VPC subnets where the compute resources are launched. Fargate
-- compute resources can contain up to 16 subnets. For Fargate compute
-- resources, providing an empty list will be handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the VPC subnets from the
-- compute resource. For more information, see VPCs and subnets in
-- the Amazon VPC User Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
computeResourceUpdate_subnets :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. These tags aren't seen
-- when using the Batch ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_tags :: Lens' ComputeResourceUpdate (Maybe (HashMap Text Text))
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
computeResourceUpdate_type :: Lens' ComputeResourceUpdate (Maybe CRType)
-- | Specifies whether the AMI ID is updated to the latest one that's
-- supported by Batch when the compute environment has an infrastructure
-- update. The default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
computeResourceUpdate_updateToLatestImageVersion :: Lens' ComputeResourceUpdate (Maybe Bool)
instance GHC.Generics.Generic Amazonka.Batch.Types.ComputeResourceUpdate.ComputeResourceUpdate
instance GHC.Show.Show Amazonka.Batch.Types.ComputeResourceUpdate.ComputeResourceUpdate
instance GHC.Read.Read Amazonka.Batch.Types.ComputeResourceUpdate.ComputeResourceUpdate
instance GHC.Classes.Eq Amazonka.Batch.Types.ComputeResourceUpdate.ComputeResourceUpdate
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ComputeResourceUpdate.ComputeResourceUpdate
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ComputeResourceUpdate.ComputeResourceUpdate
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ComputeResourceUpdate.ComputeResourceUpdate
module Amazonka.Batch.Types.ComputeResource
-- | An object that represents an Batch compute resource. For more
-- information, see Compute environments in the Batch User
-- Guide.
--
-- See: newComputeResource smart constructor.
data ComputeResource
ComputeResource' :: Maybe CRAllocationStrategy -> Maybe Int -> Maybe Int -> Maybe [Ec2Configuration] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe LaunchTemplateSpecification -> Maybe Int -> Maybe Text -> Maybe [Text] -> Maybe Text -> Maybe (HashMap Text Text) -> CRType -> Int -> [Text] -> ComputeResource
-- | The allocation strategy to use for the compute resource if not enough
-- instances of the best fitting instance type can be allocated. This
-- might be because of availability of the instance type in the Region or
-- Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
[$sel:allocationStrategy:ComputeResource'] :: ComputeResource -> Maybe CRAllocationStrategy
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, then the
-- Spot price must be less than 20% of the current On-Demand price for
-- that Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. If you leave this field
-- empty, the default value is 100% of the On-Demand price. For most use
-- cases, we recommend leaving this field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:bidPercentage:ComputeResource'] :: ComputeResource -> Maybe Int
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:desiredvCpus:ComputeResource'] :: ComputeResource -> Maybe Int
-- | Provides information that's used to select Amazon Machine Images
-- (AMIs) for EC2 instances in the compute environment. If
-- Ec2Configuration isn't specified, the default is
-- ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2Configuration:ComputeResource'] :: ComputeResource -> Maybe [Ec2Configuration]
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2KeyPair:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
[$sel:imageId:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:instanceRole:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
[$sel:instanceTypes:ComputeResource'] :: ComputeResource -> Maybe [Text]
-- | The launch template to use for your compute resources. Any other
-- compute resource parameters that you specify in a
-- CreateComputeEnvironment API operation override the same parameters in
-- the launch template. You must specify either the launch template ID or
-- launch template name in the request, but not both. For more
-- information, see Launch template support in the Batch User
-- Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:launchTemplate:ComputeResource'] :: ComputeResource -> Maybe LaunchTemplateSpecification
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:minvCpus:ComputeResource'] :: ComputeResource -> Maybe Int
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:placementGroup:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. One or more security groups must
-- be specified, either in securityGroupIds or using a launch
-- template referenced in launchTemplate. This parameter is
-- required for jobs that are running on Fargate resources and must
-- contain at least one security group. Fargate doesn't support launch
-- templates. If security groups are specified using both
-- securityGroupIds and launchTemplate, the values in
-- securityGroupIds are used.
[$sel:securityGroupIds:ComputeResource'] :: ComputeResource -> Maybe [Text]
-- | The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
-- applied to a SPOT compute environment. This role is required
-- if the allocation strategy set to BEST_FIT or if the
-- allocation strategy isn't specified. For more information, see
-- Amazon EC2 spot fleet role in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
[$sel:spotIamFleetRole:ComputeResource'] :: ComputeResource -> Maybe Text
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:tags:ComputeResource'] :: ComputeResource -> Maybe (HashMap Text Text)
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
[$sel:type':ComputeResource'] :: ComputeResource -> CRType
-- | The maximum number of Amazon EC2 vCPUs that a compute environment can
-- reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
[$sel:maxvCpus:ComputeResource'] :: ComputeResource -> Int
-- | The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
[$sel:subnets:ComputeResource'] :: ComputeResource -> [Text]
-- | Create a value of ComputeResource with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:allocationStrategy:ComputeResource',
-- computeResource_allocationStrategy - The allocation strategy to
-- use for the compute resource if not enough instances of the best
-- fitting instance type can be allocated. This might be because of
-- availability of the instance type in the Region or Amazon EC2
-- service limits. For more information, see Allocation
-- strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
--
-- $sel:bidPercentage:ComputeResource',
-- computeResource_bidPercentage - The maximum percentage that a
-- Spot Instance price can be when compared with the On-Demand price for
-- that instance type before instances are launched. For example, if your
-- maximum percentage is 20%, then the Spot price must be less than 20%
-- of the current On-Demand price for that Amazon EC2 instance. You
-- always pay the lowest (market) price and never more than your maximum
-- percentage. If you leave this field empty, the default value is 100%
-- of the On-Demand price. For most use cases, we recommend leaving this
-- field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:desiredvCpus:ComputeResource',
-- computeResource_desiredvCpus - The desired number of Amazon EC2
-- vCPUS in the compute environment. Batch modifies this value between
-- the minimum and maximum values based on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2Configuration:ComputeResource',
-- computeResource_ec2Configuration - Provides information that's
-- used to select Amazon Machine Images (AMIs) for EC2 instances in the
-- compute environment. If Ec2Configuration isn't specified, the
-- default is ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2KeyPair:ComputeResource',
-- computeResource_ec2KeyPair - The Amazon EC2 key pair that's
-- used for instances launched in the compute environment. You can use
-- this key pair to log in to your instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:imageId:ComputeResource', computeResource_imageId -
-- The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:instanceRole:ComputeResource',
-- computeResource_instanceRole - The Amazon ECS instance profile
-- applied to Amazon EC2 instances in a compute environment. You can
-- specify the short name or full Amazon Resource Name (ARN) of an
-- instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:instanceTypes:ComputeResource',
-- computeResource_instanceTypes - The instances types that can be
-- launched. You can specify instance families to launch any instance
-- type within those families (for example, c5 or p3),
-- or you can specify specific sizes within a family (such as
-- c5.8xlarge). You can also choose optimal to select
-- instance types (from the C4, M4, and R4 instance families) that match
-- the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
--
-- $sel:launchTemplate:ComputeResource',
-- computeResource_launchTemplate - The launch template to use for
-- your compute resources. Any other compute resource parameters that you
-- specify in a CreateComputeEnvironment API operation override the same
-- parameters in the launch template. You must specify either the launch
-- template ID or launch template name in the request, but not both. For
-- more information, see Launch template support in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:minvCpus:ComputeResource', computeResource_minvCpus
-- - The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:placementGroup:ComputeResource',
-- computeResource_placementGroup - The Amazon EC2 placement group
-- to associate with your compute resources. If you intend to submit
-- multi-node parallel jobs to your compute environment, you should
-- consider creating a cluster placement group and associate it with your
-- compute resources. This keeps your multi-node parallel job on a
-- logical grouping of instances within a single Availability Zone with
-- high network flow potential. For more information, see Placement
-- groups in the Amazon EC2 User Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:securityGroupIds:ComputeResource',
-- computeResource_securityGroupIds - The Amazon EC2 security
-- groups that are associated with instances launched in the compute
-- environment. One or more security groups must be specified, either in
-- securityGroupIds or using a launch template referenced in
-- launchTemplate. This parameter is required for jobs that are
-- running on Fargate resources and must contain at least one security
-- group. Fargate doesn't support launch templates. If security groups
-- are specified using both securityGroupIds and
-- launchTemplate, the values in securityGroupIds are
-- used.
--
-- $sel:spotIamFleetRole:ComputeResource',
-- computeResource_spotIamFleetRole - The Amazon Resource Name
-- (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT
-- compute environment. This role is required if the allocation strategy
-- set to BEST_FIT or if the allocation strategy isn't
-- specified. For more information, see Amazon EC2 spot fleet role
-- in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
--
-- $sel:tags:ComputeResource', computeResource_tags -
-- Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:type':ComputeResource', computeResource_type - The
-- type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- $sel:maxvCpus:ComputeResource', computeResource_maxvCpus
-- - The maximum number of Amazon EC2 vCPUs that a compute environment
-- can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
--
-- $sel:subnets:ComputeResource', computeResource_subnets -
-- The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
newComputeResource :: CRType -> Int -> ComputeResource
-- | The allocation strategy to use for the compute resource if not enough
-- instances of the best fitting instance type can be allocated. This
-- might be because of availability of the instance type in the Region or
-- Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
computeResource_allocationStrategy :: Lens' ComputeResource (Maybe CRAllocationStrategy)
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, then the
-- Spot price must be less than 20% of the current On-Demand price for
-- that Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. If you leave this field
-- empty, the default value is 100% of the On-Demand price. For most use
-- cases, we recommend leaving this field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_bidPercentage :: Lens' ComputeResource (Maybe Int)
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_desiredvCpus :: Lens' ComputeResource (Maybe Int)
-- | Provides information that's used to select Amazon Machine Images
-- (AMIs) for EC2 instances in the compute environment. If
-- Ec2Configuration isn't specified, the default is
-- ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_ec2Configuration :: Lens' ComputeResource (Maybe [Ec2Configuration])
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_ec2KeyPair :: Lens' ComputeResource (Maybe Text)
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
computeResource_imageId :: Lens' ComputeResource (Maybe Text)
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_instanceRole :: Lens' ComputeResource (Maybe Text)
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
computeResource_instanceTypes :: Lens' ComputeResource (Maybe [Text])
-- | The launch template to use for your compute resources. Any other
-- compute resource parameters that you specify in a
-- CreateComputeEnvironment API operation override the same parameters in
-- the launch template. You must specify either the launch template ID or
-- launch template name in the request, but not both. For more
-- information, see Launch template support in the Batch User
-- Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_launchTemplate :: Lens' ComputeResource (Maybe LaunchTemplateSpecification)
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_minvCpus :: Lens' ComputeResource (Maybe Int)
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_placementGroup :: Lens' ComputeResource (Maybe Text)
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. One or more security groups must
-- be specified, either in securityGroupIds or using a launch
-- template referenced in launchTemplate. This parameter is
-- required for jobs that are running on Fargate resources and must
-- contain at least one security group. Fargate doesn't support launch
-- templates. If security groups are specified using both
-- securityGroupIds and launchTemplate, the values in
-- securityGroupIds are used.
computeResource_securityGroupIds :: Lens' ComputeResource (Maybe [Text])
-- | The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
-- applied to a SPOT compute environment. This role is required
-- if the allocation strategy set to BEST_FIT or if the
-- allocation strategy isn't specified. For more information, see
-- Amazon EC2 spot fleet role in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
computeResource_spotIamFleetRole :: Lens' ComputeResource (Maybe Text)
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_tags :: Lens' ComputeResource (Maybe (HashMap Text Text))
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
computeResource_type :: Lens' ComputeResource CRType
-- | The maximum number of Amazon EC2 vCPUs that a compute environment can
-- reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
computeResource_maxvCpus :: Lens' ComputeResource Int
-- | The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
computeResource_subnets :: Lens' ComputeResource [Text]
instance GHC.Generics.Generic Amazonka.Batch.Types.ComputeResource.ComputeResource
instance GHC.Show.Show Amazonka.Batch.Types.ComputeResource.ComputeResource
instance GHC.Read.Read Amazonka.Batch.Types.ComputeResource.ComputeResource
instance GHC.Classes.Eq Amazonka.Batch.Types.ComputeResource.ComputeResource
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ComputeResource.ComputeResource
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ComputeResource.ComputeResource
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ComputeResource.ComputeResource
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ComputeResource.ComputeResource
module Amazonka.Batch.Types.LogDriver
newtype LogDriver
LogDriver' :: Text -> LogDriver
[fromLogDriver] :: LogDriver -> Text
pattern LogDriver_Awslogs :: LogDriver
pattern LogDriver_Fluentd :: LogDriver
pattern LogDriver_Gelf :: LogDriver
pattern LogDriver_Journald :: LogDriver
pattern LogDriver_Json_file :: LogDriver
pattern LogDriver_Splunk :: LogDriver
pattern LogDriver_Syslog :: LogDriver
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.LogDriver.LogDriver
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.LogDriver.LogDriver
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.LogDriver.LogDriver
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.LogDriver.LogDriver
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.LogDriver.LogDriver
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.LogDriver.LogDriver
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.LogDriver.LogDriver
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.LogDriver.LogDriver
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.LogDriver.LogDriver
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.LogDriver.LogDriver
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.LogDriver.LogDriver
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.LogDriver.LogDriver
instance Control.DeepSeq.NFData Amazonka.Batch.Types.LogDriver.LogDriver
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.LogDriver.LogDriver
instance GHC.Generics.Generic Amazonka.Batch.Types.LogDriver.LogDriver
instance GHC.Classes.Ord Amazonka.Batch.Types.LogDriver.LogDriver
instance GHC.Classes.Eq Amazonka.Batch.Types.LogDriver.LogDriver
instance GHC.Read.Read Amazonka.Batch.Types.LogDriver.LogDriver
instance GHC.Show.Show Amazonka.Batch.Types.LogDriver.LogDriver
module Amazonka.Batch.Types.MountPoint
-- | Details for a Docker volume mount point that's used in a job's
-- container properties. This parameter maps to Volumes in the
-- Create a container section of the Docker Remote API and
-- the --volume option to docker run.
--
-- See: newMountPoint smart constructor.
data MountPoint
MountPoint' :: Maybe Text -> Maybe Bool -> Maybe Text -> MountPoint
-- | The path on the container where the host volume is mounted.
[$sel:containerPath:MountPoint'] :: MountPoint -> Maybe Text
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
[$sel:readOnly:MountPoint'] :: MountPoint -> Maybe Bool
-- | The name of the volume to mount.
[$sel:sourceVolume:MountPoint'] :: MountPoint -> Maybe Text
-- | Create a value of MountPoint with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerPath:MountPoint', mountPoint_containerPath
-- - The path on the container where the host volume is mounted.
--
-- $sel:readOnly:MountPoint', mountPoint_readOnly - If this
-- value is true, the container has read-only access to the
-- volume. Otherwise, the container can write to the volume. The default
-- value is false.
--
-- $sel:sourceVolume:MountPoint', mountPoint_sourceVolume -
-- The name of the volume to mount.
newMountPoint :: MountPoint
-- | The path on the container where the host volume is mounted.
mountPoint_containerPath :: Lens' MountPoint (Maybe Text)
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
mountPoint_readOnly :: Lens' MountPoint (Maybe Bool)
-- | The name of the volume to mount.
mountPoint_sourceVolume :: Lens' MountPoint (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.MountPoint.MountPoint
instance GHC.Show.Show Amazonka.Batch.Types.MountPoint.MountPoint
instance GHC.Read.Read Amazonka.Batch.Types.MountPoint.MountPoint
instance GHC.Classes.Eq Amazonka.Batch.Types.MountPoint.MountPoint
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.MountPoint.MountPoint
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.MountPoint.MountPoint
instance Control.DeepSeq.NFData Amazonka.Batch.Types.MountPoint.MountPoint
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.MountPoint.MountPoint
module Amazonka.Batch.Types.NetworkConfiguration
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
--
-- See: newNetworkConfiguration smart constructor.
data NetworkConfiguration
NetworkConfiguration' :: Maybe AssignPublicIp -> NetworkConfiguration
-- | Indicates whether the job has a public IP address. For a job that's
-- running on Fargate resources in a private subnet to send outbound
-- traffic to the internet (for example, to pull container images), the
-- private subnet requires a NAT gateway be attached to route requests to
-- the internet. For more information, see Amazon ECS task
-- networking in the Amazon Elastic Container Service Developer
-- Guide. The default value is "DISABLED".
[$sel:assignPublicIp:NetworkConfiguration'] :: NetworkConfiguration -> Maybe AssignPublicIp
-- | Create a value of NetworkConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:assignPublicIp:NetworkConfiguration',
-- networkConfiguration_assignPublicIp - Indicates whether the job
-- has a public IP address. For a job that's running on Fargate resources
-- in a private subnet to send outbound traffic to the internet (for
-- example, to pull container images), the private subnet requires a NAT
-- gateway be attached to route requests to the internet. For more
-- information, see Amazon ECS task networking in the Amazon
-- Elastic Container Service Developer Guide. The default value is
-- "DISABLED".
newNetworkConfiguration :: NetworkConfiguration
-- | Indicates whether the job has a public IP address. For a job that's
-- running on Fargate resources in a private subnet to send outbound
-- traffic to the internet (for example, to pull container images), the
-- private subnet requires a NAT gateway be attached to route requests to
-- the internet. For more information, see Amazon ECS task
-- networking in the Amazon Elastic Container Service Developer
-- Guide. The default value is "DISABLED".
networkConfiguration_assignPublicIp :: Lens' NetworkConfiguration (Maybe AssignPublicIp)
instance GHC.Generics.Generic Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
instance GHC.Show.Show Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
instance GHC.Read.Read Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
instance GHC.Classes.Eq Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.NetworkConfiguration.NetworkConfiguration
module Amazonka.Batch.Types.NetworkInterface
-- | An object that represents the elastic network interface for a
-- multi-node parallel job node.
--
-- See: newNetworkInterface smart constructor.
data NetworkInterface
NetworkInterface' :: Maybe Text -> Maybe Text -> Maybe Text -> NetworkInterface
-- | The attachment ID for the network interface.
[$sel:attachmentId:NetworkInterface'] :: NetworkInterface -> Maybe Text
-- | The private IPv6 address for the network interface.
[$sel:ipv6Address:NetworkInterface'] :: NetworkInterface -> Maybe Text
-- | The private IPv4 address for the network interface.
[$sel:privateIpv4Address:NetworkInterface'] :: NetworkInterface -> Maybe Text
-- | Create a value of NetworkInterface with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attachmentId:NetworkInterface',
-- networkInterface_attachmentId - The attachment ID for the
-- network interface.
--
-- $sel:ipv6Address:NetworkInterface',
-- networkInterface_ipv6Address - The private IPv6 address for the
-- network interface.
--
-- $sel:privateIpv4Address:NetworkInterface',
-- networkInterface_privateIpv4Address - The private IPv4 address
-- for the network interface.
newNetworkInterface :: NetworkInterface
-- | The attachment ID for the network interface.
networkInterface_attachmentId :: Lens' NetworkInterface (Maybe Text)
-- | The private IPv6 address for the network interface.
networkInterface_ipv6Address :: Lens' NetworkInterface (Maybe Text)
-- | The private IPv4 address for the network interface.
networkInterface_privateIpv4Address :: Lens' NetworkInterface (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.NetworkInterface.NetworkInterface
instance GHC.Show.Show Amazonka.Batch.Types.NetworkInterface.NetworkInterface
instance GHC.Read.Read Amazonka.Batch.Types.NetworkInterface.NetworkInterface
instance GHC.Classes.Eq Amazonka.Batch.Types.NetworkInterface.NetworkInterface
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.NetworkInterface.NetworkInterface
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NetworkInterface.NetworkInterface
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NetworkInterface.NetworkInterface
module Amazonka.Batch.Types.AttemptContainerDetail
-- | An object that represents the details of a container that's part of a
-- job attempt.
--
-- See: newAttemptContainerDetail smart constructor.
data AttemptContainerDetail
AttemptContainerDetail' :: Maybe Text -> Maybe Int -> Maybe Text -> Maybe [NetworkInterface] -> Maybe Text -> Maybe Text -> AttemptContainerDetail
-- | The Amazon Resource Name (ARN) of the Amazon ECS container instance
-- that hosts the job attempt.
[$sel:containerInstanceArn:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
[$sel:exitCode:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Int
-- | The name of the CloudWatch Logs log stream that's associated with the
-- container. The log group for Batch jobs is /aws/batch/job.
-- Each container attempt receives a log stream name when they reach the
-- RUNNING status.
[$sel:logStreamName:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | The network interfaces that are associated with the job attempt.
[$sel:networkInterfaces:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe [NetworkInterface]
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the job attempt. Each container attempt receives a
-- task ARN when they reach the STARTING status.
[$sel:taskArn:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | Create a value of AttemptContainerDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerInstanceArn:AttemptContainerDetail',
-- attemptContainerDetail_containerInstanceArn - The Amazon
-- Resource Name (ARN) of the Amazon ECS container instance that hosts
-- the job attempt.
--
-- $sel:exitCode:AttemptContainerDetail',
-- attemptContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:logStreamName:AttemptContainerDetail',
-- attemptContainerDetail_logStreamName - The name of the
-- CloudWatch Logs log stream that's associated with the container. The
-- log group for Batch jobs is /aws/batch/job. Each container
-- attempt receives a log stream name when they reach the
-- RUNNING status.
--
-- $sel:networkInterfaces:AttemptContainerDetail',
-- attemptContainerDetail_networkInterfaces - The network
-- interfaces that are associated with the job attempt.
--
-- $sel:reason:AttemptContainerDetail',
-- attemptContainerDetail_reason - A short (255 max characters)
-- human-readable string to provide additional details for a running or
-- stopped container.
--
-- $sel:taskArn:AttemptContainerDetail',
-- attemptContainerDetail_taskArn - The Amazon Resource Name (ARN)
-- of the Amazon ECS task that's associated with the job attempt. Each
-- container attempt receives a task ARN when they reach the
-- STARTING status.
newAttemptContainerDetail :: AttemptContainerDetail
-- | The Amazon Resource Name (ARN) of the Amazon ECS container instance
-- that hosts the job attempt.
attemptContainerDetail_containerInstanceArn :: Lens' AttemptContainerDetail (Maybe Text)
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
attemptContainerDetail_exitCode :: Lens' AttemptContainerDetail (Maybe Int)
-- | The name of the CloudWatch Logs log stream that's associated with the
-- container. The log group for Batch jobs is /aws/batch/job.
-- Each container attempt receives a log stream name when they reach the
-- RUNNING status.
attemptContainerDetail_logStreamName :: Lens' AttemptContainerDetail (Maybe Text)
-- | The network interfaces that are associated with the job attempt.
attemptContainerDetail_networkInterfaces :: Lens' AttemptContainerDetail (Maybe [NetworkInterface])
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
attemptContainerDetail_reason :: Lens' AttemptContainerDetail (Maybe Text)
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the job attempt. Each container attempt receives a
-- task ARN when they reach the STARTING status.
attemptContainerDetail_taskArn :: Lens' AttemptContainerDetail (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.AttemptContainerDetail.AttemptContainerDetail
instance GHC.Show.Show Amazonka.Batch.Types.AttemptContainerDetail.AttemptContainerDetail
instance GHC.Read.Read Amazonka.Batch.Types.AttemptContainerDetail.AttemptContainerDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.AttemptContainerDetail.AttemptContainerDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.AttemptContainerDetail.AttemptContainerDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.AttemptContainerDetail.AttemptContainerDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.AttemptContainerDetail.AttemptContainerDetail
module Amazonka.Batch.Types.AttemptDetail
-- | An object that represents a job attempt.
--
-- See: newAttemptDetail smart constructor.
data AttemptDetail
AttemptDetail' :: Maybe AttemptContainerDetail -> Maybe Integer -> Maybe Text -> Maybe Integer -> AttemptDetail
-- | The details for the container in this job attempt.
[$sel:container:AttemptDetail'] :: AttemptDetail -> Maybe AttemptContainerDetail
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
[$sel:startedAt:AttemptDetail'] :: AttemptDetail -> Maybe Integer
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
[$sel:statusReason:AttemptDetail'] :: AttemptDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
[$sel:stoppedAt:AttemptDetail'] :: AttemptDetail -> Maybe Integer
-- | Create a value of AttemptDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:container:AttemptDetail', attemptDetail_container -
-- The details for the container in this job attempt.
--
-- $sel:startedAt:AttemptDetail', attemptDetail_startedAt -
-- The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
--
-- $sel:statusReason:AttemptDetail',
-- attemptDetail_statusReason - A short, human-readable string to
-- provide additional details for the current status of the job attempt.
--
-- $sel:stoppedAt:AttemptDetail', attemptDetail_stoppedAt -
-- The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
newAttemptDetail :: AttemptDetail
-- | The details for the container in this job attempt.
attemptDetail_container :: Lens' AttemptDetail (Maybe AttemptContainerDetail)
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
attemptDetail_startedAt :: Lens' AttemptDetail (Maybe Integer)
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
attemptDetail_statusReason :: Lens' AttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
attemptDetail_stoppedAt :: Lens' AttemptDetail (Maybe Integer)
instance GHC.Generics.Generic Amazonka.Batch.Types.AttemptDetail.AttemptDetail
instance GHC.Show.Show Amazonka.Batch.Types.AttemptDetail.AttemptDetail
instance GHC.Read.Read Amazonka.Batch.Types.AttemptDetail.AttemptDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.AttemptDetail.AttemptDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.AttemptDetail.AttemptDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.AttemptDetail.AttemptDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.AttemptDetail.AttemptDetail
module Amazonka.Batch.Types.NodeDetails
-- | An object that represents the details of a multi-node parallel job
-- node.
--
-- See: newNodeDetails smart constructor.
data NodeDetails
NodeDetails' :: Maybe Bool -> Maybe Int -> NodeDetails
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
[$sel:isMainNode:NodeDetails'] :: NodeDetails -> Maybe Bool
-- | The node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
[$sel:nodeIndex:NodeDetails'] :: NodeDetails -> Maybe Int
-- | Create a value of NodeDetails with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:isMainNode:NodeDetails', nodeDetails_isMainNode -
-- Specifies whether the current node is the main node for a multi-node
-- parallel job.
--
-- $sel:nodeIndex:NodeDetails', nodeDetails_nodeIndex - The
-- node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
newNodeDetails :: NodeDetails
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
nodeDetails_isMainNode :: Lens' NodeDetails (Maybe Bool)
-- | The node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
nodeDetails_nodeIndex :: Lens' NodeDetails (Maybe Int)
instance GHC.Generics.Generic Amazonka.Batch.Types.NodeDetails.NodeDetails
instance GHC.Show.Show Amazonka.Batch.Types.NodeDetails.NodeDetails
instance GHC.Read.Read Amazonka.Batch.Types.NodeDetails.NodeDetails
instance GHC.Classes.Eq Amazonka.Batch.Types.NodeDetails.NodeDetails
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.NodeDetails.NodeDetails
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NodeDetails.NodeDetails
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NodeDetails.NodeDetails
module Amazonka.Batch.Types.NodePropertiesSummary
-- | An object that represents the properties of a node that's associated
-- with a multi-node parallel job.
--
-- See: newNodePropertiesSummary smart constructor.
data NodePropertiesSummary
NodePropertiesSummary' :: Maybe Bool -> Maybe Int -> Maybe Int -> NodePropertiesSummary
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
[$sel:isMainNode:NodePropertiesSummary'] :: NodePropertiesSummary -> Maybe Bool
-- | The node index for the node. Node index numbering begins at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
[$sel:nodeIndex:NodePropertiesSummary'] :: NodePropertiesSummary -> Maybe Int
-- | The number of nodes that are associated with a multi-node parallel
-- job.
[$sel:numNodes:NodePropertiesSummary'] :: NodePropertiesSummary -> Maybe Int
-- | Create a value of NodePropertiesSummary with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:isMainNode:NodePropertiesSummary',
-- nodePropertiesSummary_isMainNode - Specifies whether the
-- current node is the main node for a multi-node parallel job.
--
-- $sel:nodeIndex:NodePropertiesSummary',
-- nodePropertiesSummary_nodeIndex - The node index for the node.
-- Node index numbering begins at zero. This index is also available on
-- the node with the AWS_BATCH_JOB_NODE_INDEX environment
-- variable.
--
-- $sel:numNodes:NodePropertiesSummary',
-- nodePropertiesSummary_numNodes - The number of nodes that are
-- associated with a multi-node parallel job.
newNodePropertiesSummary :: NodePropertiesSummary
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
nodePropertiesSummary_isMainNode :: Lens' NodePropertiesSummary (Maybe Bool)
-- | The node index for the node. Node index numbering begins at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
nodePropertiesSummary_nodeIndex :: Lens' NodePropertiesSummary (Maybe Int)
-- | The number of nodes that are associated with a multi-node parallel
-- job.
nodePropertiesSummary_numNodes :: Lens' NodePropertiesSummary (Maybe Int)
instance GHC.Generics.Generic Amazonka.Batch.Types.NodePropertiesSummary.NodePropertiesSummary
instance GHC.Show.Show Amazonka.Batch.Types.NodePropertiesSummary.NodePropertiesSummary
instance GHC.Read.Read Amazonka.Batch.Types.NodePropertiesSummary.NodePropertiesSummary
instance GHC.Classes.Eq Amazonka.Batch.Types.NodePropertiesSummary.NodePropertiesSummary
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.NodePropertiesSummary.NodePropertiesSummary
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NodePropertiesSummary.NodePropertiesSummary
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NodePropertiesSummary.NodePropertiesSummary
module Amazonka.Batch.Types.JobSummary
-- | An object that represents summary details of a job.
--
-- See: newJobSummary smart constructor.
data JobSummary
JobSummary' :: Maybe ArrayPropertiesSummary -> Maybe ContainerSummary -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe NodePropertiesSummary -> Maybe Integer -> Maybe JobStatus -> Maybe Text -> Maybe Integer -> Text -> Text -> JobSummary
-- | The array properties of the job, if it's an array job.
[$sel:arrayProperties:JobSummary'] :: JobSummary -> Maybe ArrayPropertiesSummary
-- | An object that represents the details of the container that's
-- associated with the job.
[$sel:container:JobSummary'] :: JobSummary -> Maybe ContainerSummary
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
[$sel:createdAt:JobSummary'] :: JobSummary -> Maybe Integer
-- | The Amazon Resource Name (ARN) of the job.
[$sel:jobArn:JobSummary'] :: JobSummary -> Maybe Text
-- | The Amazon Resource Name (ARN) of the job definition.
[$sel:jobDefinition:JobSummary'] :: JobSummary -> Maybe Text
-- | The node properties for a single node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
[$sel:nodeProperties:JobSummary'] :: JobSummary -> Maybe NodePropertiesSummary
-- | The Unix timestamp for when the job was started. More specifically,
-- it's when the job transitioned from the STARTING state to the
-- RUNNING state.
[$sel:startedAt:JobSummary'] :: JobSummary -> Maybe Integer
-- | The current status for the job.
[$sel:status:JobSummary'] :: JobSummary -> Maybe JobStatus
-- | A short, human-readable string to provide more details for the current
-- status of the job.
[$sel:statusReason:JobSummary'] :: JobSummary -> Maybe Text
-- | The Unix timestamp for when the job was stopped. More specifically,
-- it's when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
[$sel:stoppedAt:JobSummary'] :: JobSummary -> Maybe Integer
-- | The job ID.
[$sel:jobId:JobSummary'] :: JobSummary -> Text
-- | The job name.
[$sel:jobName:JobSummary'] :: JobSummary -> Text
-- | Create a value of JobSummary with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayProperties:JobSummary',
-- jobSummary_arrayProperties - The array properties of the job,
-- if it's an array job.
--
-- $sel:container:JobSummary', jobSummary_container - An
-- object that represents the details of the container that's associated
-- with the job.
--
-- $sel:createdAt:JobSummary', jobSummary_createdAt - The
-- Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
--
-- $sel:jobArn:JobSummary', jobSummary_jobArn - The Amazon
-- Resource Name (ARN) of the job.
--
-- $sel:jobDefinition:JobSummary', jobSummary_jobDefinition
-- - The Amazon Resource Name (ARN) of the job definition.
--
-- $sel:nodeProperties:JobSummary',
-- jobSummary_nodeProperties - The node properties for a single
-- node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
--
-- $sel:startedAt:JobSummary', jobSummary_startedAt - The
-- Unix timestamp for when the job was started. More specifically, it's
-- when the job transitioned from the STARTING state to the
-- RUNNING state.
--
-- $sel:status:JobSummary', jobSummary_status - The current
-- status for the job.
--
-- $sel:statusReason:JobSummary', jobSummary_statusReason -
-- A short, human-readable string to provide more details for the current
-- status of the job.
--
-- $sel:stoppedAt:JobSummary', jobSummary_stoppedAt - The
-- Unix timestamp for when the job was stopped. More specifically, it's
-- when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
--
-- $sel:jobId:JobSummary', jobSummary_jobId - The job ID.
--
-- $sel:jobName:JobSummary', jobSummary_jobName - The job
-- name.
newJobSummary :: Text -> Text -> JobSummary
-- | The array properties of the job, if it's an array job.
jobSummary_arrayProperties :: Lens' JobSummary (Maybe ArrayPropertiesSummary)
-- | An object that represents the details of the container that's
-- associated with the job.
jobSummary_container :: Lens' JobSummary (Maybe ContainerSummary)
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
jobSummary_createdAt :: Lens' JobSummary (Maybe Integer)
-- | The Amazon Resource Name (ARN) of the job.
jobSummary_jobArn :: Lens' JobSummary (Maybe Text)
-- | The Amazon Resource Name (ARN) of the job definition.
jobSummary_jobDefinition :: Lens' JobSummary (Maybe Text)
-- | The node properties for a single node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
jobSummary_nodeProperties :: Lens' JobSummary (Maybe NodePropertiesSummary)
-- | The Unix timestamp for when the job was started. More specifically,
-- it's when the job transitioned from the STARTING state to the
-- RUNNING state.
jobSummary_startedAt :: Lens' JobSummary (Maybe Integer)
-- | The current status for the job.
jobSummary_status :: Lens' JobSummary (Maybe JobStatus)
-- | A short, human-readable string to provide more details for the current
-- status of the job.
jobSummary_statusReason :: Lens' JobSummary (Maybe Text)
-- | The Unix timestamp for when the job was stopped. More specifically,
-- it's when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
jobSummary_stoppedAt :: Lens' JobSummary (Maybe Integer)
-- | The job ID.
jobSummary_jobId :: Lens' JobSummary Text
-- | The job name.
jobSummary_jobName :: Lens' JobSummary Text
instance GHC.Generics.Generic Amazonka.Batch.Types.JobSummary.JobSummary
instance GHC.Show.Show Amazonka.Batch.Types.JobSummary.JobSummary
instance GHC.Read.Read Amazonka.Batch.Types.JobSummary.JobSummary
instance GHC.Classes.Eq Amazonka.Batch.Types.JobSummary.JobSummary
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobSummary.JobSummary
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobSummary.JobSummary
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobSummary.JobSummary
module Amazonka.Batch.Types.OrchestrationType
newtype OrchestrationType
OrchestrationType' :: Text -> OrchestrationType
[fromOrchestrationType] :: OrchestrationType -> Text
pattern OrchestrationType_ECS :: OrchestrationType
pattern OrchestrationType_EKS :: OrchestrationType
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Control.DeepSeq.NFData Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance GHC.Generics.Generic Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance GHC.Classes.Ord Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance GHC.Classes.Eq Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance GHC.Read.Read Amazonka.Batch.Types.OrchestrationType.OrchestrationType
instance GHC.Show.Show Amazonka.Batch.Types.OrchestrationType.OrchestrationType
module Amazonka.Batch.Types.PlatformCapability
newtype PlatformCapability
PlatformCapability' :: Text -> PlatformCapability
[fromPlatformCapability] :: PlatformCapability -> Text
pattern PlatformCapability_EC2 :: PlatformCapability
pattern PlatformCapability_FARGATE :: PlatformCapability
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Control.DeepSeq.NFData Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance GHC.Generics.Generic Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance GHC.Classes.Ord Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance GHC.Classes.Eq Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance GHC.Read.Read Amazonka.Batch.Types.PlatformCapability.PlatformCapability
instance GHC.Show.Show Amazonka.Batch.Types.PlatformCapability.PlatformCapability
module Amazonka.Batch.Types.ResourceType
newtype ResourceType
ResourceType' :: Text -> ResourceType
[fromResourceType] :: ResourceType -> Text
pattern ResourceType_GPU :: ResourceType
pattern ResourceType_MEMORY :: ResourceType
pattern ResourceType_VCPU :: ResourceType
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.ResourceType.ResourceType
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.ResourceType.ResourceType
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.ResourceType.ResourceType
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ResourceType.ResourceType
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.ResourceType.ResourceType
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ResourceType.ResourceType
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.ResourceType.ResourceType
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.ResourceType.ResourceType
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.ResourceType.ResourceType
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.ResourceType.ResourceType
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.ResourceType.ResourceType
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.ResourceType.ResourceType
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ResourceType.ResourceType
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ResourceType.ResourceType
instance GHC.Generics.Generic Amazonka.Batch.Types.ResourceType.ResourceType
instance GHC.Classes.Ord Amazonka.Batch.Types.ResourceType.ResourceType
instance GHC.Classes.Eq Amazonka.Batch.Types.ResourceType.ResourceType
instance GHC.Read.Read Amazonka.Batch.Types.ResourceType.ResourceType
instance GHC.Show.Show Amazonka.Batch.Types.ResourceType.ResourceType
module Amazonka.Batch.Types.ResourceRequirement
-- | The type and amount of a resource to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
--
-- See: newResourceRequirement smart constructor.
data ResourceRequirement
ResourceRequirement' :: Text -> ResourceType -> ResourceRequirement
-- | The quantity of the specified resource to reserve for the container.
-- The values vary based on the type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
[$sel:value:ResourceRequirement'] :: ResourceRequirement -> Text
-- | The type of resource to assign to a container. The supported resources
-- include GPU, MEMORY, and VCPU.
[$sel:type':ResourceRequirement'] :: ResourceRequirement -> ResourceType
-- | Create a value of ResourceRequirement with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:value:ResourceRequirement',
-- resourceRequirement_value - The quantity of the specified
-- resource to reserve for the container. The values vary based on the
-- type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
--
-- $sel:type':ResourceRequirement',
-- resourceRequirement_type - The type of resource to assign to a
-- container. The supported resources include GPU,
-- MEMORY, and VCPU.
newResourceRequirement :: Text -> ResourceType -> ResourceRequirement
-- | The quantity of the specified resource to reserve for the container.
-- The values vary based on the type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
resourceRequirement_value :: Lens' ResourceRequirement Text
-- | The type of resource to assign to a container. The supported resources
-- include GPU, MEMORY, and VCPU.
resourceRequirement_type :: Lens' ResourceRequirement ResourceType
instance GHC.Generics.Generic Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
instance GHC.Show.Show Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
instance GHC.Read.Read Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
instance GHC.Classes.Eq Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ResourceRequirement.ResourceRequirement
module Amazonka.Batch.Types.ContainerOverrides
-- | The overrides that should be sent to a container.
--
-- See: newContainerOverrides smart constructor.
data ContainerOverrides
ContainerOverrides' :: Maybe [Text] -> Maybe [KeyValuePair] -> Maybe Text -> Maybe Int -> Maybe [ResourceRequirement] -> Maybe Int -> ContainerOverrides
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
[$sel:command:ContainerOverrides'] :: ContainerOverrides -> Maybe [Text]
-- | 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.
[$sel:environment:ContainerOverrides'] :: ContainerOverrides -> Maybe [KeyValuePair]
-- | The instance type to use for a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
[$sel:instanceType:ContainerOverrides'] :: ContainerOverrides -> Maybe Text
-- | This parameter is deprecated, use resourceRequirements to
-- override the memory requirements specified in the job definition. It's
-- not supported for jobs running on Fargate resources. For jobs that run
-- on EC2 resources, it overrides the memory parameter set in
-- the job definition, but doesn't override any memory requirement that's
-- specified in the resourceRequirements structure in the job
-- definition. To override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
[$sel:memory:ContainerOverrides'] :: ContainerOverrides -> Maybe Int
-- | The type and amount of resources to assign to a container. This
-- overrides the settings in the job definition. The supported resources
-- include GPU, MEMORY, and VCPU.
[$sel:resourceRequirements:ContainerOverrides'] :: ContainerOverrides -> Maybe [ResourceRequirement]
-- | This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
[$sel:vcpus:ContainerOverrides'] :: ContainerOverrides -> Maybe Int
-- | Create a value of ContainerOverrides with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerOverrides',
-- containerOverrides_command - The command to send to the
-- container that overrides the default command from the Docker image or
-- the job definition.
--
-- $sel:environment:ContainerOverrides',
-- containerOverrides_environment - 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.
--
-- $sel:instanceType:ContainerOverrides',
-- containerOverrides_instanceType - The instance type to use for
-- a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
--
-- $sel:memory:ContainerOverrides',
-- containerOverrides_memory - This parameter is deprecated, use
-- resourceRequirements to override the memory requirements
-- specified in the job definition. It's not supported for jobs running
-- on Fargate resources. For jobs that run on EC2 resources, it overrides
-- the memory parameter set in the job definition, but doesn't
-- override any memory requirement that's specified in the
-- resourceRequirements structure in the job definition. To
-- override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
--
-- $sel:resourceRequirements:ContainerOverrides',
-- containerOverrides_resourceRequirements - The type and amount
-- of resources to assign to a container. This overrides the settings in
-- the job definition. The supported resources include GPU,
-- MEMORY, and VCPU.
--
-- $sel:vcpus:ContainerOverrides', containerOverrides_vcpus
-- - This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
newContainerOverrides :: ContainerOverrides
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
containerOverrides_command :: Lens' ContainerOverrides (Maybe [Text])
-- | 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.
containerOverrides_environment :: Lens' ContainerOverrides (Maybe [KeyValuePair])
-- | The instance type to use for a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
containerOverrides_instanceType :: Lens' ContainerOverrides (Maybe Text)
-- | This parameter is deprecated, use resourceRequirements to
-- override the memory requirements specified in the job definition. It's
-- not supported for jobs running on Fargate resources. For jobs that run
-- on EC2 resources, it overrides the memory parameter set in
-- the job definition, but doesn't override any memory requirement that's
-- specified in the resourceRequirements structure in the job
-- definition. To override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
containerOverrides_memory :: Lens' ContainerOverrides (Maybe Int)
-- | The type and amount of resources to assign to a container. This
-- overrides the settings in the job definition. The supported resources
-- include GPU, MEMORY, and VCPU.
containerOverrides_resourceRequirements :: Lens' ContainerOverrides (Maybe [ResourceRequirement])
-- | This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
containerOverrides_vcpus :: Lens' ContainerOverrides (Maybe Int)
instance GHC.Generics.Generic Amazonka.Batch.Types.ContainerOverrides.ContainerOverrides
instance GHC.Show.Show Amazonka.Batch.Types.ContainerOverrides.ContainerOverrides
instance GHC.Read.Read Amazonka.Batch.Types.ContainerOverrides.ContainerOverrides
instance GHC.Classes.Eq Amazonka.Batch.Types.ContainerOverrides.ContainerOverrides
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ContainerOverrides.ContainerOverrides
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ContainerOverrides.ContainerOverrides
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ContainerOverrides.ContainerOverrides
module Amazonka.Batch.Types.NodePropertyOverride
-- | The object that represents any node overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- See: newNodePropertyOverride smart constructor.
data NodePropertyOverride
NodePropertyOverride' :: Maybe ContainerOverrides -> Text -> NodePropertyOverride
-- | The overrides that are sent to a node range.
[$sel:containerOverrides:NodePropertyOverride'] :: NodePropertyOverride -> Maybe ContainerOverrides
-- | The range of nodes, using node index values, that's used to override.
-- A range of 0:3 indicates nodes with index values of
-- 0 through 3. If the starting range value is omitted
-- (:n), then 0 is used to start the range. If the
-- ending range value is omitted (n:), then the highest possible
-- node index is used to end the range.
[$sel:targetNodes:NodePropertyOverride'] :: NodePropertyOverride -> Text
-- | Create a value of NodePropertyOverride with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerOverrides:NodePropertyOverride',
-- nodePropertyOverride_containerOverrides - The overrides that
-- are sent to a node range.
--
-- $sel:targetNodes:NodePropertyOverride',
-- nodePropertyOverride_targetNodes - The range of nodes, using
-- node index values, that's used to override. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range.
newNodePropertyOverride :: Text -> NodePropertyOverride
-- | The overrides that are sent to a node range.
nodePropertyOverride_containerOverrides :: Lens' NodePropertyOverride (Maybe ContainerOverrides)
-- | The range of nodes, using node index values, that's used to override.
-- A range of 0:3 indicates nodes with index values of
-- 0 through 3. If the starting range value is omitted
-- (:n), then 0 is used to start the range. If the
-- ending range value is omitted (n:), then the highest possible
-- node index is used to end the range.
nodePropertyOverride_targetNodes :: Lens' NodePropertyOverride Text
instance GHC.Generics.Generic Amazonka.Batch.Types.NodePropertyOverride.NodePropertyOverride
instance GHC.Show.Show Amazonka.Batch.Types.NodePropertyOverride.NodePropertyOverride
instance GHC.Read.Read Amazonka.Batch.Types.NodePropertyOverride.NodePropertyOverride
instance GHC.Classes.Eq Amazonka.Batch.Types.NodePropertyOverride.NodePropertyOverride
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NodePropertyOverride.NodePropertyOverride
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NodePropertyOverride.NodePropertyOverride
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.NodePropertyOverride.NodePropertyOverride
module Amazonka.Batch.Types.NodeOverrides
-- | An object that represents any node overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs. Rather, use
-- containerOverrides instead.
--
-- See: newNodeOverrides smart constructor.
data NodeOverrides
NodeOverrides' :: Maybe [NodePropertyOverride] -> Maybe Int -> NodeOverrides
-- | The node property overrides for the job.
[$sel:nodePropertyOverrides:NodeOverrides'] :: NodeOverrides -> Maybe [NodePropertyOverride]
-- | The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
[$sel:numNodes:NodeOverrides'] :: NodeOverrides -> Maybe Int
-- | Create a value of NodeOverrides with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:nodePropertyOverrides:NodeOverrides',
-- nodeOverrides_nodePropertyOverrides - The node property
-- overrides for the job.
--
-- $sel:numNodes:NodeOverrides', nodeOverrides_numNodes -
-- The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
newNodeOverrides :: NodeOverrides
-- | The node property overrides for the job.
nodeOverrides_nodePropertyOverrides :: Lens' NodeOverrides (Maybe [NodePropertyOverride])
-- | The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
nodeOverrides_numNodes :: Lens' NodeOverrides (Maybe Int)
instance GHC.Generics.Generic Amazonka.Batch.Types.NodeOverrides.NodeOverrides
instance GHC.Show.Show Amazonka.Batch.Types.NodeOverrides.NodeOverrides
instance GHC.Read.Read Amazonka.Batch.Types.NodeOverrides.NodeOverrides
instance GHC.Classes.Eq Amazonka.Batch.Types.NodeOverrides.NodeOverrides
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NodeOverrides.NodeOverrides
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NodeOverrides.NodeOverrides
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.NodeOverrides.NodeOverrides
module Amazonka.Batch.Types.RetryAction
newtype RetryAction
RetryAction' :: Text -> RetryAction
[fromRetryAction] :: RetryAction -> Text
pattern RetryAction_EXIT :: RetryAction
pattern RetryAction_RETRY :: RetryAction
instance Amazonka.Data.XML.ToXML Amazonka.Batch.Types.RetryAction.RetryAction
instance Amazonka.Data.XML.FromXML Amazonka.Batch.Types.RetryAction.RetryAction
instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Batch.Types.RetryAction.RetryAction
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.RetryAction.RetryAction
instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Batch.Types.RetryAction.RetryAction
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.RetryAction.RetryAction
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.Types.RetryAction.RetryAction
instance Amazonka.Data.Headers.ToHeader Amazonka.Batch.Types.RetryAction.RetryAction
instance Amazonka.Data.Log.ToLog Amazonka.Batch.Types.RetryAction.RetryAction
instance Amazonka.Data.ByteString.ToByteString Amazonka.Batch.Types.RetryAction.RetryAction
instance Amazonka.Data.Text.ToText Amazonka.Batch.Types.RetryAction.RetryAction
instance Amazonka.Data.Text.FromText Amazonka.Batch.Types.RetryAction.RetryAction
instance Control.DeepSeq.NFData Amazonka.Batch.Types.RetryAction.RetryAction
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.RetryAction.RetryAction
instance GHC.Generics.Generic Amazonka.Batch.Types.RetryAction.RetryAction
instance GHC.Classes.Ord Amazonka.Batch.Types.RetryAction.RetryAction
instance GHC.Classes.Eq Amazonka.Batch.Types.RetryAction.RetryAction
instance GHC.Read.Read Amazonka.Batch.Types.RetryAction.RetryAction
instance GHC.Show.Show Amazonka.Batch.Types.RetryAction.RetryAction
module Amazonka.Batch.Types.EvaluateOnExit
-- | Specifies an array of up to 5 conditions to be met, and an action to
-- take (RETRY or EXIT) if all conditions are met. If
-- none of the EvaluateOnExit conditions in a
-- RetryStrategy match, then the job is retried.
--
-- See: newEvaluateOnExit smart constructor.
data EvaluateOnExit
EvaluateOnExit' :: Maybe Text -> Maybe Text -> Maybe Text -> RetryAction -> EvaluateOnExit
-- | Contains a glob pattern to match against the decimal representation of
-- the ExitCode returned for a job. The pattern can be up to 512
-- characters long. It can contain only numbers, and can end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
--
-- The string can contain up to 512 characters.
[$sel:onExitCode:EvaluateOnExit'] :: EvaluateOnExit -> Maybe Text
-- | Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
[$sel:onReason:EvaluateOnExit'] :: EvaluateOnExit -> Maybe Text
-- | Contains a glob pattern to match against the StatusReason
-- returned for a job. The pattern can contain up to 512 characters. It
-- can contain letters, numbers, periods (.), colons (:), and white
-- spaces (including spaces or tabs). It can optionally end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
[$sel:onStatusReason:EvaluateOnExit'] :: EvaluateOnExit -> Maybe Text
-- | Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
[$sel:action:EvaluateOnExit'] :: EvaluateOnExit -> RetryAction
-- | Create a value of EvaluateOnExit with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:onExitCode:EvaluateOnExit',
-- evaluateOnExit_onExitCode - Contains a glob pattern to match
-- against the decimal representation of the ExitCode returned
-- for a job. The pattern can be up to 512 characters long. It can
-- contain only numbers, and can end with an asterisk (*) so that only
-- the start of the string needs to be an exact match.
--
-- The string can contain up to 512 characters.
--
-- $sel:onReason:EvaluateOnExit', evaluateOnExit_onReason -
-- Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
--
-- $sel:onStatusReason:EvaluateOnExit',
-- evaluateOnExit_onStatusReason - Contains a glob pattern to
-- match against the StatusReason returned for a job. The
-- pattern can contain up to 512 characters. It can contain letters,
-- numbers, periods (.), colons (:), and white spaces (including spaces
-- or tabs). It can optionally end with an asterisk (*) so that only the
-- start of the string needs to be an exact match.
--
-- $sel:action:EvaluateOnExit', evaluateOnExit_action -
-- Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
newEvaluateOnExit :: RetryAction -> EvaluateOnExit
-- | Contains a glob pattern to match against the decimal representation of
-- the ExitCode returned for a job. The pattern can be up to 512
-- characters long. It can contain only numbers, and can end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
--
-- The string can contain up to 512 characters.
evaluateOnExit_onExitCode :: Lens' EvaluateOnExit (Maybe Text)
-- | Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
evaluateOnExit_onReason :: Lens' EvaluateOnExit (Maybe Text)
-- | Contains a glob pattern to match against the StatusReason
-- returned for a job. The pattern can contain up to 512 characters. It
-- can contain letters, numbers, periods (.), colons (:), and white
-- spaces (including spaces or tabs). It can optionally end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
evaluateOnExit_onStatusReason :: Lens' EvaluateOnExit (Maybe Text)
-- | Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
evaluateOnExit_action :: Lens' EvaluateOnExit RetryAction
instance GHC.Generics.Generic Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
instance GHC.Show.Show Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
instance GHC.Read.Read Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
instance GHC.Classes.Eq Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
instance Control.DeepSeq.NFData Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.EvaluateOnExit.EvaluateOnExit
module Amazonka.Batch.Types.RetryStrategy
-- | The retry strategy that's associated with a job. For more information,
-- see Automated job retries in the Batch User Guide.
--
-- See: newRetryStrategy smart constructor.
data RetryStrategy
RetryStrategy' :: Maybe Int -> Maybe [EvaluateOnExit] -> RetryStrategy
-- | The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
[$sel:attempts:RetryStrategy'] :: RetryStrategy -> Maybe Int
-- | Array of up to 5 objects that specify the conditions where jobs are
-- retried or failed. If this parameter is specified, then the
-- attempts parameter must also be specified. If none of the
-- listed conditions match, then the job is retried.
[$sel:evaluateOnExit:RetryStrategy'] :: RetryStrategy -> Maybe [EvaluateOnExit]
-- | Create a value of RetryStrategy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attempts:RetryStrategy', retryStrategy_attempts -
-- The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
--
-- $sel:evaluateOnExit:RetryStrategy',
-- retryStrategy_evaluateOnExit - Array of up to 5 objects that
-- specify the conditions where jobs are retried or failed. If this
-- parameter is specified, then the attempts parameter must also
-- be specified. If none of the listed conditions match, then the job is
-- retried.
newRetryStrategy :: RetryStrategy
-- | The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
retryStrategy_attempts :: Lens' RetryStrategy (Maybe Int)
-- | Array of up to 5 objects that specify the conditions where jobs are
-- retried or failed. If this parameter is specified, then the
-- attempts parameter must also be specified. If none of the
-- listed conditions match, then the job is retried.
retryStrategy_evaluateOnExit :: Lens' RetryStrategy (Maybe [EvaluateOnExit])
instance GHC.Generics.Generic Amazonka.Batch.Types.RetryStrategy.RetryStrategy
instance GHC.Show.Show Amazonka.Batch.Types.RetryStrategy.RetryStrategy
instance GHC.Read.Read Amazonka.Batch.Types.RetryStrategy.RetryStrategy
instance GHC.Classes.Eq Amazonka.Batch.Types.RetryStrategy.RetryStrategy
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.RetryStrategy.RetryStrategy
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.RetryStrategy.RetryStrategy
instance Control.DeepSeq.NFData Amazonka.Batch.Types.RetryStrategy.RetryStrategy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.RetryStrategy.RetryStrategy
module Amazonka.Batch.Types.SchedulingPolicyListingDetail
-- | An object that contains the details of a scheduling policy that's
-- returned in a ListSchedulingPolicy action.
--
-- See: newSchedulingPolicyListingDetail smart constructor.
data SchedulingPolicyListingDetail
SchedulingPolicyListingDetail' :: Text -> SchedulingPolicyListingDetail
-- | Amazon Resource Name (ARN) of the scheduling policy.
[$sel:arn:SchedulingPolicyListingDetail'] :: SchedulingPolicyListingDetail -> Text
-- | Create a value of SchedulingPolicyListingDetail with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arn:SchedulingPolicyListingDetail',
-- schedulingPolicyListingDetail_arn - Amazon Resource Name (ARN)
-- of the scheduling policy.
newSchedulingPolicyListingDetail :: Text -> SchedulingPolicyListingDetail
-- | Amazon Resource Name (ARN) of the scheduling policy.
schedulingPolicyListingDetail_arn :: Lens' SchedulingPolicyListingDetail Text
instance GHC.Generics.Generic Amazonka.Batch.Types.SchedulingPolicyListingDetail.SchedulingPolicyListingDetail
instance GHC.Show.Show Amazonka.Batch.Types.SchedulingPolicyListingDetail.SchedulingPolicyListingDetail
instance GHC.Read.Read Amazonka.Batch.Types.SchedulingPolicyListingDetail.SchedulingPolicyListingDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.SchedulingPolicyListingDetail.SchedulingPolicyListingDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.SchedulingPolicyListingDetail.SchedulingPolicyListingDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.SchedulingPolicyListingDetail.SchedulingPolicyListingDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.SchedulingPolicyListingDetail.SchedulingPolicyListingDetail
module Amazonka.Batch.Types.Secret
-- | An object that represents the secret to expose to your container.
-- Secrets can be exposed to a container in the following ways:
--
--
-- - To inject sensitive data into your containers as environment
-- variables, use the secrets container definition
-- parameter.
-- - To reference sensitive information in the log configuration of a
-- container, use the secretOptions container definition
-- parameter.
--
--
-- For more information, see Specifying sensitive data in the
-- Batch User Guide.
--
-- See: newSecret smart constructor.
data Secret
Secret' :: Text -> Text -> Secret
-- | The name of the secret.
[$sel:name:Secret'] :: Secret -> Text
-- | The secret to expose to the container. The supported values are either
-- the full Amazon Resource Name (ARN) of the Secrets Manager secret or
-- the full ARN of the parameter in the Amazon Web Services Systems
-- Manager Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
[$sel:valueFrom:Secret'] :: Secret -> Text
-- | Create a value of Secret with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:Secret', secret_name - The name of the secret.
--
-- $sel:valueFrom:Secret', secret_valueFrom - The secret to
-- expose to the container. The supported values are either the full
-- Amazon Resource Name (ARN) of the Secrets Manager secret or the full
-- ARN of the parameter in the Amazon Web Services Systems Manager
-- Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
newSecret :: Text -> Text -> Secret
-- | The name of the secret.
secret_name :: Lens' Secret Text
-- | The secret to expose to the container. The supported values are either
-- the full Amazon Resource Name (ARN) of the Secrets Manager secret or
-- the full ARN of the parameter in the Amazon Web Services Systems
-- Manager Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
secret_valueFrom :: Lens' Secret Text
instance GHC.Generics.Generic Amazonka.Batch.Types.Secret.Secret
instance GHC.Show.Show Amazonka.Batch.Types.Secret.Secret
instance GHC.Read.Read Amazonka.Batch.Types.Secret.Secret
instance GHC.Classes.Eq Amazonka.Batch.Types.Secret.Secret
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.Secret.Secret
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.Secret.Secret
instance Control.DeepSeq.NFData Amazonka.Batch.Types.Secret.Secret
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.Secret.Secret
module Amazonka.Batch.Types.LogConfiguration
-- | Log configuration options to send to a custom log driver for the
-- container.
--
-- See: newLogConfiguration smart constructor.
data LogConfiguration
LogConfiguration' :: Maybe (HashMap Text Text) -> Maybe [Secret] -> LogDriver -> LogConfiguration
-- | The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
[$sel:options:LogConfiguration'] :: LogConfiguration -> Maybe (HashMap Text Text)
-- | The secrets to pass to the log configuration. For more information,
-- see Specifying sensitive data in the Batch User Guide.
[$sel:secretOptions:LogConfiguration'] :: LogConfiguration -> Maybe [Secret]
-- | The log driver to use for the container. The valid values that are
-- listed for this parameter are log drivers that the Amazon ECS
-- container agent can communicate with by default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
[$sel:logDriver:LogConfiguration'] :: LogConfiguration -> LogDriver
-- | Create a value of LogConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:options:LogConfiguration', logConfiguration_options
-- - The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
--
-- $sel:secretOptions:LogConfiguration',
-- logConfiguration_secretOptions - The secrets to pass to the log
-- configuration. For more information, see Specifying sensitive
-- data in the Batch User Guide.
--
-- $sel:logDriver:LogConfiguration',
-- logConfiguration_logDriver - The log driver to use for the
-- container. The valid values that are listed for this parameter are log
-- drivers that the Amazon ECS container agent can communicate with by
-- default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
newLogConfiguration :: LogDriver -> LogConfiguration
-- | The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
logConfiguration_options :: Lens' LogConfiguration (Maybe (HashMap Text Text))
-- | The secrets to pass to the log configuration. For more information,
-- see Specifying sensitive data in the Batch User Guide.
logConfiguration_secretOptions :: Lens' LogConfiguration (Maybe [Secret])
-- | The log driver to use for the container. The valid values that are
-- listed for this parameter are log drivers that the Amazon ECS
-- container agent can communicate with by default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
logConfiguration_logDriver :: Lens' LogConfiguration LogDriver
instance GHC.Generics.Generic Amazonka.Batch.Types.LogConfiguration.LogConfiguration
instance GHC.Show.Show Amazonka.Batch.Types.LogConfiguration.LogConfiguration
instance GHC.Read.Read Amazonka.Batch.Types.LogConfiguration.LogConfiguration
instance GHC.Classes.Eq Amazonka.Batch.Types.LogConfiguration.LogConfiguration
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.LogConfiguration.LogConfiguration
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.LogConfiguration.LogConfiguration
instance Control.DeepSeq.NFData Amazonka.Batch.Types.LogConfiguration.LogConfiguration
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.LogConfiguration.LogConfiguration
module Amazonka.Batch.Types.ShareAttributes
-- | Specifies the weights for the fair share identifiers for the fair
-- share policy. Fair share identifiers that aren't included have a
-- default weight of 1.0.
--
-- See: newShareAttributes smart constructor.
data ShareAttributes
ShareAttributes' :: Maybe Double -> Text -> ShareAttributes
-- | The weight factor for the fair share identifier. The default value is
-- 1.0. A lower value has a higher priority for compute resources. For
-- example, jobs that use a share identifier with a weight factor of
-- 0.125 (1/8) get 8 times the compute resources of jobs that use a share
-- identifier with a weight factor of 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
[$sel:weightFactor:ShareAttributes'] :: ShareAttributes -> Maybe Double
-- | A fair share identifier or fair share identifier prefix. If the string
-- ends with an asterisk (*), this entry specifies the weight factor to
-- use for fair share identifiers that start with that prefix. The list
-- of fair share identifiers in a fair share policy can't overlap. For
-- example, you can't have one that specifies a shareIdentifier
-- of UserA* and another that specifies a
-- shareIdentifier of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
[$sel:shareIdentifier:ShareAttributes'] :: ShareAttributes -> Text
-- | Create a value of ShareAttributes with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:weightFactor:ShareAttributes',
-- shareAttributes_weightFactor - The weight factor for the fair
-- share identifier. The default value is 1.0. A lower value has a higher
-- priority for compute resources. For example, jobs that use a share
-- identifier with a weight factor of 0.125 (1/8) get 8 times the compute
-- resources of jobs that use a share identifier with a weight factor of
-- 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
--
-- $sel:shareIdentifier:ShareAttributes',
-- shareAttributes_shareIdentifier - A fair share identifier or
-- fair share identifier prefix. If the string ends with an asterisk (*),
-- this entry specifies the weight factor to use for fair share
-- identifiers that start with that prefix. The list of fair share
-- identifiers in a fair share policy can't overlap. For example, you
-- can't have one that specifies a shareIdentifier of
-- UserA* and another that specifies a shareIdentifier
-- of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
newShareAttributes :: Text -> ShareAttributes
-- | The weight factor for the fair share identifier. The default value is
-- 1.0. A lower value has a higher priority for compute resources. For
-- example, jobs that use a share identifier with a weight factor of
-- 0.125 (1/8) get 8 times the compute resources of jobs that use a share
-- identifier with a weight factor of 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
shareAttributes_weightFactor :: Lens' ShareAttributes (Maybe Double)
-- | A fair share identifier or fair share identifier prefix. If the string
-- ends with an asterisk (*), this entry specifies the weight factor to
-- use for fair share identifiers that start with that prefix. The list
-- of fair share identifiers in a fair share policy can't overlap. For
-- example, you can't have one that specifies a shareIdentifier
-- of UserA* and another that specifies a
-- shareIdentifier of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
shareAttributes_shareIdentifier :: Lens' ShareAttributes Text
instance GHC.Generics.Generic Amazonka.Batch.Types.ShareAttributes.ShareAttributes
instance GHC.Show.Show Amazonka.Batch.Types.ShareAttributes.ShareAttributes
instance GHC.Read.Read Amazonka.Batch.Types.ShareAttributes.ShareAttributes
instance GHC.Classes.Eq Amazonka.Batch.Types.ShareAttributes.ShareAttributes
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ShareAttributes.ShareAttributes
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ShareAttributes.ShareAttributes
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ShareAttributes.ShareAttributes
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ShareAttributes.ShareAttributes
module Amazonka.Batch.Types.FairsharePolicy
-- | The fair share policy for a scheduling policy.
--
-- See: newFairsharePolicy smart constructor.
data FairsharePolicy
FairsharePolicy' :: Maybe Int -> Maybe Int -> Maybe [ShareAttributes] -> FairsharePolicy
-- | A value used to reserve some of the available maximum vCPU for fair
-- share identifiers that aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
[$sel:computeReservation:FairsharePolicy'] :: FairsharePolicy -> Maybe Int
-- | The amount of time (in seconds) to use to calculate a fair share
-- percentage for each fair share identifier in use. A value of zero (0)
-- indicates that only current usage is measured. The decay allows for
-- more recently run jobs to have more weight than jobs that ran earlier.
-- The maximum supported value is 604800 (1 week).
[$sel:shareDecaySeconds:FairsharePolicy'] :: FairsharePolicy -> Maybe Int
-- | An array of SharedIdentifier objects that contain the weights
-- for the fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
[$sel:shareDistribution:FairsharePolicy'] :: FairsharePolicy -> Maybe [ShareAttributes]
-- | Create a value of FairsharePolicy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:computeReservation:FairsharePolicy',
-- fairsharePolicy_computeReservation - A value used to reserve
-- some of the available maximum vCPU for fair share identifiers that
-- aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
--
-- $sel:shareDecaySeconds:FairsharePolicy',
-- fairsharePolicy_shareDecaySeconds - The amount of time (in
-- seconds) to use to calculate a fair share percentage for each fair
-- share identifier in use. A value of zero (0) indicates that only
-- current usage is measured. The decay allows for more recently run jobs
-- to have more weight than jobs that ran earlier. The maximum supported
-- value is 604800 (1 week).
--
-- $sel:shareDistribution:FairsharePolicy',
-- fairsharePolicy_shareDistribution - An array of
-- SharedIdentifier objects that contain the weights for the
-- fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
newFairsharePolicy :: FairsharePolicy
-- | A value used to reserve some of the available maximum vCPU for fair
-- share identifiers that aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
fairsharePolicy_computeReservation :: Lens' FairsharePolicy (Maybe Int)
-- | The amount of time (in seconds) to use to calculate a fair share
-- percentage for each fair share identifier in use. A value of zero (0)
-- indicates that only current usage is measured. The decay allows for
-- more recently run jobs to have more weight than jobs that ran earlier.
-- The maximum supported value is 604800 (1 week).
fairsharePolicy_shareDecaySeconds :: Lens' FairsharePolicy (Maybe Int)
-- | An array of SharedIdentifier objects that contain the weights
-- for the fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
fairsharePolicy_shareDistribution :: Lens' FairsharePolicy (Maybe [ShareAttributes])
instance GHC.Generics.Generic Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
instance GHC.Show.Show Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
instance GHC.Read.Read Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
instance GHC.Classes.Eq Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
instance Control.DeepSeq.NFData Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.FairsharePolicy.FairsharePolicy
module Amazonka.Batch.Types.SchedulingPolicyDetail
-- | An object that represents a scheduling policy.
--
-- See: newSchedulingPolicyDetail smart constructor.
data SchedulingPolicyDetail
SchedulingPolicyDetail' :: Maybe FairsharePolicy -> Maybe (HashMap Text Text) -> Text -> Text -> SchedulingPolicyDetail
-- | The fair share policy for the scheduling policy.
[$sel:fairsharePolicy:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Maybe FairsharePolicy
-- | The tags that you apply to the scheduling policy to categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- resources in Amazon Web Services General Reference.
[$sel:tags:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Maybe (HashMap Text Text)
-- | The name of the scheduling policy.
[$sel:name:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
[$sel:arn:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Text
-- | Create a value of SchedulingPolicyDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:fairsharePolicy:SchedulingPolicyDetail',
-- schedulingPolicyDetail_fairsharePolicy - The fair share policy
-- for the scheduling policy.
--
-- $sel:tags:SchedulingPolicyDetail',
-- schedulingPolicyDetail_tags - The tags that you apply to the
-- scheduling policy to categorize and organize your resources. Each tag
-- consists of a key and an optional value. For more information, see
-- Tagging Amazon Web Services resources in Amazon Web Services
-- General Reference.
--
-- $sel:name:SchedulingPolicyDetail',
-- schedulingPolicyDetail_name - The name of the scheduling
-- policy.
--
-- $sel:arn:SchedulingPolicyDetail',
-- schedulingPolicyDetail_arn - The Amazon Resource Name (ARN) of
-- the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
newSchedulingPolicyDetail :: Text -> Text -> SchedulingPolicyDetail
-- | The fair share policy for the scheduling policy.
schedulingPolicyDetail_fairsharePolicy :: Lens' SchedulingPolicyDetail (Maybe FairsharePolicy)
-- | The tags that you apply to the scheduling policy to categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- resources in Amazon Web Services General Reference.
schedulingPolicyDetail_tags :: Lens' SchedulingPolicyDetail (Maybe (HashMap Text Text))
-- | The name of the scheduling policy.
schedulingPolicyDetail_name :: Lens' SchedulingPolicyDetail Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
schedulingPolicyDetail_arn :: Lens' SchedulingPolicyDetail Text
instance GHC.Generics.Generic Amazonka.Batch.Types.SchedulingPolicyDetail.SchedulingPolicyDetail
instance GHC.Show.Show Amazonka.Batch.Types.SchedulingPolicyDetail.SchedulingPolicyDetail
instance GHC.Read.Read Amazonka.Batch.Types.SchedulingPolicyDetail.SchedulingPolicyDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.SchedulingPolicyDetail.SchedulingPolicyDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.SchedulingPolicyDetail.SchedulingPolicyDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.SchedulingPolicyDetail.SchedulingPolicyDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.SchedulingPolicyDetail.SchedulingPolicyDetail
module Amazonka.Batch.Types.Tmpfs
-- | The container path, mount options, and size of the tmpfs
-- mount.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newTmpfs smart constructor.
data Tmpfs
Tmpfs' :: Maybe [Text] -> Text -> Int -> Tmpfs
-- | The list of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
[$sel:mountOptions:Tmpfs'] :: Tmpfs -> Maybe [Text]
-- | The absolute file path in the container where the tmpfs
-- volume is mounted.
[$sel:containerPath:Tmpfs'] :: Tmpfs -> Text
-- | The size (in MiB) of the tmpfs volume.
[$sel:size:Tmpfs'] :: Tmpfs -> Int
-- | Create a value of Tmpfs with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:mountOptions:Tmpfs', tmpfs_mountOptions - The list
-- of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
--
-- $sel:containerPath:Tmpfs', tmpfs_containerPath - The
-- absolute file path in the container where the tmpfs volume is
-- mounted.
--
-- $sel:size:Tmpfs', tmpfs_size - The size (in MiB) of the
-- tmpfs volume.
newTmpfs :: Text -> Int -> Tmpfs
-- | The list of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
tmpfs_mountOptions :: Lens' Tmpfs (Maybe [Text])
-- | The absolute file path in the container where the tmpfs
-- volume is mounted.
tmpfs_containerPath :: Lens' Tmpfs Text
-- | The size (in MiB) of the tmpfs volume.
tmpfs_size :: Lens' Tmpfs Int
instance GHC.Generics.Generic Amazonka.Batch.Types.Tmpfs.Tmpfs
instance GHC.Show.Show Amazonka.Batch.Types.Tmpfs.Tmpfs
instance GHC.Read.Read Amazonka.Batch.Types.Tmpfs.Tmpfs
instance GHC.Classes.Eq Amazonka.Batch.Types.Tmpfs.Tmpfs
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.Tmpfs.Tmpfs
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.Tmpfs.Tmpfs
instance Control.DeepSeq.NFData Amazonka.Batch.Types.Tmpfs.Tmpfs
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.Tmpfs.Tmpfs
module Amazonka.Batch.Types.LinuxParameters
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
--
-- See: newLinuxParameters smart constructor.
data LinuxParameters
LinuxParameters' :: Maybe [Device] -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe [Tmpfs] -> LinuxParameters
-- | Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:devices:LinuxParameters'] :: LinuxParameters -> Maybe [Device]
-- | If true, run an init process inside the container that
-- forwards signals and reaps processes. This parameter maps to the
-- --init option to docker run. This parameter requires
-- version 1.25 of the Docker Remote API or greater on your container
-- instance. To check the Docker Remote API version on your container
-- instance, log in to your container instance and run the following
-- command: sudo docker version | grep "Server API version"
[$sel:initProcessEnabled:LinuxParameters'] :: LinuxParameters -> Maybe Bool
-- | The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:maxSwap:LinuxParameters'] :: LinuxParameters -> Maybe Int
-- | The value for the size (in MiB) of the /dev/shm volume. This
-- parameter maps to the --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:sharedMemorySize:LinuxParameters'] :: LinuxParameters -> Maybe Int
-- | You can use this parameter to tune a container's memory swappiness
-- behavior. A swappiness value of 0 causes swapping to
-- not occur unless absolutely necessary. A swappiness value of
-- 100 causes pages to be swapped aggressively. Valid values are
-- whole numbers between 0 and 100. If the
-- swappiness parameter isn't specified, a default value of
-- 60 is used. If a value isn't specified for maxSwap,
-- then this parameter is ignored. If maxSwap is set to 0, the
-- container doesn't use swap. This parameter maps to the
-- --memory-swappiness option to docker run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:swappiness:LinuxParameters'] :: LinuxParameters -> Maybe Int
-- | The container path, mount options, and size (in MiB) of the
-- tmpfs mount. This parameter maps to the --tmpfs
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
[$sel:tmpfs:LinuxParameters'] :: LinuxParameters -> Maybe [Tmpfs]
-- | Create a value of LinuxParameters with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:devices:LinuxParameters', linuxParameters_devices -
-- Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:initProcessEnabled:LinuxParameters',
-- linuxParameters_initProcessEnabled - If true, run an
-- init process inside the container that forwards signals and
-- reaps processes. This parameter maps to the --init option to
-- docker run. This parameter requires version 1.25 of the Docker
-- Remote API or greater on your container instance. To check the Docker
-- Remote API version on your container instance, log in to your
-- container instance and run the following command: sudo docker
-- version | grep "Server API version"
--
-- $sel:maxSwap:LinuxParameters', linuxParameters_maxSwap -
-- The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:sharedMemorySize:LinuxParameters',
-- linuxParameters_sharedMemorySize - The value for the size (in
-- MiB) of the /dev/shm volume. This parameter maps to the
-- --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:swappiness:LinuxParameters',
-- linuxParameters_swappiness - You can use this parameter to tune
-- a container's memory swappiness behavior. A swappiness value
-- of 0 causes swapping to not occur unless absolutely
-- necessary. A swappiness value of 100 causes pages to
-- be swapped aggressively. Valid values are whole numbers between
-- 0 and 100. If the swappiness parameter
-- isn't specified, a default value of 60 is used. If a value
-- isn't specified for maxSwap, then this parameter is ignored.
-- If maxSwap is set to 0, the container doesn't use swap. This
-- parameter maps to the --memory-swappiness option to docker
-- run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:tmpfs:LinuxParameters', linuxParameters_tmpfs - The
-- container path, mount options, and size (in MiB) of the tmpfs
-- mount. This parameter maps to the --tmpfs option to docker
-- run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
newLinuxParameters :: LinuxParameters
-- | Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_devices :: Lens' LinuxParameters (Maybe [Device])
-- | If true, run an init process inside the container that
-- forwards signals and reaps processes. This parameter maps to the
-- --init option to docker run. This parameter requires
-- version 1.25 of the Docker Remote API or greater on your container
-- instance. To check the Docker Remote API version on your container
-- instance, log in to your container instance and run the following
-- command: sudo docker version | grep "Server API version"
linuxParameters_initProcessEnabled :: Lens' LinuxParameters (Maybe Bool)
-- | The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_maxSwap :: Lens' LinuxParameters (Maybe Int)
-- | The value for the size (in MiB) of the /dev/shm volume. This
-- parameter maps to the --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_sharedMemorySize :: Lens' LinuxParameters (Maybe Int)
-- | You can use this parameter to tune a container's memory swappiness
-- behavior. A swappiness value of 0 causes swapping to
-- not occur unless absolutely necessary. A swappiness value of
-- 100 causes pages to be swapped aggressively. Valid values are
-- whole numbers between 0 and 100. If the
-- swappiness parameter isn't specified, a default value of
-- 60 is used. If a value isn't specified for maxSwap,
-- then this parameter is ignored. If maxSwap is set to 0, the
-- container doesn't use swap. This parameter maps to the
-- --memory-swappiness option to docker run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_swappiness :: Lens' LinuxParameters (Maybe Int)
-- | The container path, mount options, and size (in MiB) of the
-- tmpfs mount. This parameter maps to the --tmpfs
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
linuxParameters_tmpfs :: Lens' LinuxParameters (Maybe [Tmpfs])
instance GHC.Generics.Generic Amazonka.Batch.Types.LinuxParameters.LinuxParameters
instance GHC.Show.Show Amazonka.Batch.Types.LinuxParameters.LinuxParameters
instance GHC.Read.Read Amazonka.Batch.Types.LinuxParameters.LinuxParameters
instance GHC.Classes.Eq Amazonka.Batch.Types.LinuxParameters.LinuxParameters
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.LinuxParameters.LinuxParameters
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.LinuxParameters.LinuxParameters
instance Control.DeepSeq.NFData Amazonka.Batch.Types.LinuxParameters.LinuxParameters
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.LinuxParameters.LinuxParameters
module Amazonka.Batch.Types.Ulimit
-- | The ulimit settings to pass to the container.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newUlimit smart constructor.
data Ulimit
Ulimit' :: Int -> Text -> Int -> Ulimit
-- | The hard limit for the ulimit type.
[$sel:hardLimit:Ulimit'] :: Ulimit -> Int
-- | The type of the ulimit.
[$sel:name:Ulimit'] :: Ulimit -> Text
-- | The soft limit for the ulimit type.
[$sel:softLimit:Ulimit'] :: Ulimit -> Int
-- | Create a value of Ulimit with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:hardLimit:Ulimit', ulimit_hardLimit - The hard
-- limit for the ulimit type.
--
-- $sel:name:Ulimit', ulimit_name - The type of
-- the ulimit.
--
-- $sel:softLimit:Ulimit', ulimit_softLimit - The soft
-- limit for the ulimit type.
newUlimit :: Int -> Text -> Int -> Ulimit
-- | The hard limit for the ulimit type.
ulimit_hardLimit :: Lens' Ulimit Int
-- | The type of the ulimit.
ulimit_name :: Lens' Ulimit Text
-- | The soft limit for the ulimit type.
ulimit_softLimit :: Lens' Ulimit Int
instance GHC.Generics.Generic Amazonka.Batch.Types.Ulimit.Ulimit
instance GHC.Show.Show Amazonka.Batch.Types.Ulimit.Ulimit
instance GHC.Read.Read Amazonka.Batch.Types.Ulimit.Ulimit
instance GHC.Classes.Eq Amazonka.Batch.Types.Ulimit.Ulimit
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.Ulimit.Ulimit
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.Ulimit.Ulimit
instance Control.DeepSeq.NFData Amazonka.Batch.Types.Ulimit.Ulimit
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.Ulimit.Ulimit
module Amazonka.Batch.Types.UpdatePolicy
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
--
-- See: newUpdatePolicy smart constructor.
data UpdatePolicy
UpdatePolicy' :: Maybe Natural -> Maybe Bool -> UpdatePolicy
-- | Specifies the job timeout (in minutes) when the compute environment
-- infrastructure is updated. The default value is 30.
[$sel:jobExecutionTimeoutMinutes:UpdatePolicy'] :: UpdatePolicy -> Maybe Natural
-- | Specifies whether jobs are automatically terminated when the computer
-- environment infrastructure is updated. The default value is
-- false.
[$sel:terminateJobsOnUpdate:UpdatePolicy'] :: UpdatePolicy -> Maybe Bool
-- | Create a value of UpdatePolicy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:jobExecutionTimeoutMinutes:UpdatePolicy',
-- updatePolicy_jobExecutionTimeoutMinutes - Specifies the job
-- timeout (in minutes) when the compute environment infrastructure is
-- updated. The default value is 30.
--
-- $sel:terminateJobsOnUpdate:UpdatePolicy',
-- updatePolicy_terminateJobsOnUpdate - Specifies whether jobs are
-- automatically terminated when the computer environment infrastructure
-- is updated. The default value is false.
newUpdatePolicy :: UpdatePolicy
-- | Specifies the job timeout (in minutes) when the compute environment
-- infrastructure is updated. The default value is 30.
updatePolicy_jobExecutionTimeoutMinutes :: Lens' UpdatePolicy (Maybe Natural)
-- | Specifies whether jobs are automatically terminated when the computer
-- environment infrastructure is updated. The default value is
-- false.
updatePolicy_terminateJobsOnUpdate :: Lens' UpdatePolicy (Maybe Bool)
instance GHC.Generics.Generic Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
instance GHC.Show.Show Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
instance GHC.Read.Read Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
instance GHC.Classes.Eq Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
instance Control.DeepSeq.NFData Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.UpdatePolicy.UpdatePolicy
module Amazonka.Batch.Types.ComputeEnvironmentDetail
-- | An object that represents an Batch compute environment.
--
-- See: newComputeEnvironmentDetail smart constructor.
data ComputeEnvironmentDetail
ComputeEnvironmentDetail' :: Maybe ComputeResource -> Maybe OrchestrationType -> Maybe Text -> Maybe EksConfiguration -> Maybe Text -> Maybe CEState -> Maybe CEStatus -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe CEType -> Maybe Int -> Maybe UpdatePolicy -> Maybe Text -> Text -> Text -> ComputeEnvironmentDetail
-- | The compute resources defined for the compute environment. For more
-- information, see Compute environments in the Batch User
-- Guide.
[$sel:computeResources:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe ComputeResource
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
[$sel:containerOrchestrationType:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe OrchestrationType
-- | The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
-- that the compute environment uses.
[$sel:ecsClusterArn:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
[$sel:eksConfiguration:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe EksConfiguration
-- | The service role that's associated with the compute environment that
-- allows Batch to make calls to Amazon Web Services API operations on
-- your behalf. For more information, see Batch service IAM role
-- in the Batch User Guide.
[$sel:serviceRole:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The state of the compute environment. The valid values are
-- ENABLED or DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
[$sel:state:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe CEState
-- | The current status of the compute environment (for example,
-- CREATING or VALID).
[$sel:status:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe CEStatus
-- | A short, human-readable string to provide additional details for the
-- current status of the compute environment.
[$sel:statusReason:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The tags applied to the compute environment.
[$sel:tags:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe (HashMap Text Text)
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
[$sel:type':ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe CEType
-- | The maximum number of VCPUs expected to be used for an unmanaged
-- compute environment.
[$sel:unmanagedvCpus:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Int
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
[$sel:updatePolicy:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe UpdatePolicy
-- | Unique identifier for the compute environment.
[$sel:uuid:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
[$sel:computeEnvironmentName:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Text
-- | The Amazon Resource Name (ARN) of the compute environment.
[$sel:computeEnvironmentArn:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Text
-- | Create a value of ComputeEnvironmentDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:computeResources:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeResources - The compute
-- resources defined for the compute environment. For more information,
-- see Compute environments in the Batch User Guide.
--
-- $sel:containerOrchestrationType:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_containerOrchestrationType - The
-- orchestration type of the compute environment. The valid values are
-- ECS (default) or EKS.
--
-- $sel:ecsClusterArn:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_ecsClusterArn - The Amazon Resource
-- Name (ARN) of the underlying Amazon ECS cluster that the compute
-- environment uses.
--
-- $sel:eksConfiguration:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_eksConfiguration - The configuration
-- for the Amazon EKS cluster that supports the Batch compute
-- environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
--
-- $sel:serviceRole:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_serviceRole - The service role that's
-- associated with the compute environment that allows Batch to make
-- calls to Amazon Web Services API operations on your behalf. For more
-- information, see Batch service IAM role in the Batch User
-- Guide.
--
-- $sel:state:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_state - The state of the compute
-- environment. The valid values are ENABLED or
-- DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
--
-- $sel:status:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_status - The current status of the
-- compute environment (for example, CREATING or
-- VALID).
--
-- $sel:statusReason:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_statusReason - A short, human-readable
-- string to provide additional details for the current status of the
-- compute environment.
--
-- ComputeEnvironmentDetail, computeEnvironmentDetail_tags
-- - The tags applied to the compute environment.
--
-- ComputeEnvironmentDetail, computeEnvironmentDetail_type
-- - The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
--
-- $sel:unmanagedvCpus:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_unmanagedvCpus - The maximum number of
-- VCPUs expected to be used for an unmanaged compute environment.
--
-- $sel:updatePolicy:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_updatePolicy - Specifies the
-- infrastructure update policy for the compute environment. For more
-- information about infrastructure updates, see Updating compute
-- environments in the Batch User Guide.
--
-- $sel:uuid:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_uuid - Unique identifier for the
-- compute environment.
--
-- $sel:computeEnvironmentName:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeEnvironmentName - The name of
-- the compute environment. It can be up to 128 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
--
-- $sel:computeEnvironmentArn:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeEnvironmentArn - The Amazon
-- Resource Name (ARN) of the compute environment.
newComputeEnvironmentDetail :: Text -> Text -> ComputeEnvironmentDetail
-- | The compute resources defined for the compute environment. For more
-- information, see Compute environments in the Batch User
-- Guide.
computeEnvironmentDetail_computeResources :: Lens' ComputeEnvironmentDetail (Maybe ComputeResource)
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
computeEnvironmentDetail_containerOrchestrationType :: Lens' ComputeEnvironmentDetail (Maybe OrchestrationType)
-- | The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
-- that the compute environment uses.
computeEnvironmentDetail_ecsClusterArn :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
computeEnvironmentDetail_eksConfiguration :: Lens' ComputeEnvironmentDetail (Maybe EksConfiguration)
-- | The service role that's associated with the compute environment that
-- allows Batch to make calls to Amazon Web Services API operations on
-- your behalf. For more information, see Batch service IAM role
-- in the Batch User Guide.
computeEnvironmentDetail_serviceRole :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The state of the compute environment. The valid values are
-- ENABLED or DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
computeEnvironmentDetail_state :: Lens' ComputeEnvironmentDetail (Maybe CEState)
-- | The current status of the compute environment (for example,
-- CREATING or VALID).
computeEnvironmentDetail_status :: Lens' ComputeEnvironmentDetail (Maybe CEStatus)
-- | A short, human-readable string to provide additional details for the
-- current status of the compute environment.
computeEnvironmentDetail_statusReason :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The tags applied to the compute environment.
computeEnvironmentDetail_tags :: Lens' ComputeEnvironmentDetail (Maybe (HashMap Text Text))
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
computeEnvironmentDetail_type :: Lens' ComputeEnvironmentDetail (Maybe CEType)
-- | The maximum number of VCPUs expected to be used for an unmanaged
-- compute environment.
computeEnvironmentDetail_unmanagedvCpus :: Lens' ComputeEnvironmentDetail (Maybe Int)
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
computeEnvironmentDetail_updatePolicy :: Lens' ComputeEnvironmentDetail (Maybe UpdatePolicy)
-- | Unique identifier for the compute environment.
computeEnvironmentDetail_uuid :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
computeEnvironmentDetail_computeEnvironmentName :: Lens' ComputeEnvironmentDetail Text
-- | The Amazon Resource Name (ARN) of the compute environment.
computeEnvironmentDetail_computeEnvironmentArn :: Lens' ComputeEnvironmentDetail Text
instance GHC.Generics.Generic Amazonka.Batch.Types.ComputeEnvironmentDetail.ComputeEnvironmentDetail
instance GHC.Show.Show Amazonka.Batch.Types.ComputeEnvironmentDetail.ComputeEnvironmentDetail
instance GHC.Read.Read Amazonka.Batch.Types.ComputeEnvironmentDetail.ComputeEnvironmentDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.ComputeEnvironmentDetail.ComputeEnvironmentDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ComputeEnvironmentDetail.ComputeEnvironmentDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ComputeEnvironmentDetail.ComputeEnvironmentDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ComputeEnvironmentDetail.ComputeEnvironmentDetail
module Amazonka.Batch.Types.Volume
-- | A data volume that's used in a job's container properties.
--
-- See: newVolume smart constructor.
data Volume
Volume' :: Maybe EFSVolumeConfiguration -> Maybe Host -> Maybe Text -> Volume
-- | This parameter is specified when you're using an Amazon Elastic File
-- System file system for job storage. Jobs that are running on Fargate
-- resources must specify a platformVersion of at least
-- 1.4.0.
[$sel:efsVolumeConfiguration:Volume'] :: Volume -> Maybe EFSVolumeConfiguration
-- | The contents of the host parameter determine whether your
-- data volume persists on the host container instance and where it's
-- stored. If the host parameter is empty, then the Docker daemon assigns
-- a host path for your data volume. However, the data isn't guaranteed
-- to persist after the containers that are associated with it stop
-- running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
[$sel:host:Volume'] :: Volume -> Maybe Host
-- | The name of the volume. It can be up to 255 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_). This name is referenced in the sourceVolume
-- parameter of container definition mountPoints.
[$sel:name:Volume'] :: Volume -> Maybe Text
-- | Create a value of Volume with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:efsVolumeConfiguration:Volume',
-- volume_efsVolumeConfiguration - This parameter is specified
-- when you're using an Amazon Elastic File System file system for job
-- storage. Jobs that are running on Fargate resources must specify a
-- platformVersion of at least 1.4.0.
--
-- $sel:host:Volume', volume_host - The contents of the
-- host parameter determine whether your data volume persists on
-- the host container instance and where it's stored. If the host
-- parameter is empty, then the Docker daemon assigns a host path for
-- your data volume. However, the data isn't guaranteed to persist after
-- the containers that are associated with it stop running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- $sel:name:Volume', volume_name - The name of the volume.
-- It can be up to 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), and underscores (_). This
-- name is referenced in the sourceVolume parameter of container
-- definition mountPoints.
newVolume :: Volume
-- | This parameter is specified when you're using an Amazon Elastic File
-- System file system for job storage. Jobs that are running on Fargate
-- resources must specify a platformVersion of at least
-- 1.4.0.
volume_efsVolumeConfiguration :: Lens' Volume (Maybe EFSVolumeConfiguration)
-- | The contents of the host parameter determine whether your
-- data volume persists on the host container instance and where it's
-- stored. If the host parameter is empty, then the Docker daemon assigns
-- a host path for your data volume. However, the data isn't guaranteed
-- to persist after the containers that are associated with it stop
-- running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
volume_host :: Lens' Volume (Maybe Host)
-- | The name of the volume. It can be up to 255 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_). This name is referenced in the sourceVolume
-- parameter of container definition mountPoints.
volume_name :: Lens' Volume (Maybe Text)
instance GHC.Generics.Generic Amazonka.Batch.Types.Volume.Volume
instance GHC.Show.Show Amazonka.Batch.Types.Volume.Volume
instance GHC.Read.Read Amazonka.Batch.Types.Volume.Volume
instance GHC.Classes.Eq Amazonka.Batch.Types.Volume.Volume
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.Volume.Volume
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.Volume.Volume
instance Control.DeepSeq.NFData Amazonka.Batch.Types.Volume.Volume
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.Volume.Volume
module Amazonka.Batch.Types.ContainerProperties
-- | Container properties are used for Amazon ECS based job definitions.
-- These properties to describe the container that's launched as part of
-- a job.
--
-- See: newContainerProperties smart constructor.
data ContainerProperties
ContainerProperties' :: Maybe [Text] -> Maybe [KeyValuePair] -> Maybe Text -> Maybe FargatePlatformConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe LinuxParameters -> Maybe LogConfiguration -> Maybe Int -> Maybe [MountPoint] -> Maybe NetworkConfiguration -> Maybe Bool -> Maybe Bool -> Maybe [ResourceRequirement] -> Maybe [Secret] -> Maybe [Ulimit] -> Maybe Text -> Maybe Int -> Maybe [Volume] -> ContainerProperties
-- | The command that's passed to the container. This parameter maps to
-- Cmd in the Create a container section of the Docker
-- Remote API and the COMMAND parameter to docker
-- run. For more information, see
-- https://docs.docker.com/engine/reference/builder/#cmd.
[$sel:command:ContainerProperties'] :: ContainerProperties -> Maybe [Text]
-- | The environment variables to pass to a container. This parameter maps
-- to Env in the Create a container section of the
-- Docker Remote API and the --env option to docker
-- run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:environment:ContainerProperties'] :: ContainerProperties -> Maybe [KeyValuePair]
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For jobs that run on Fargate resources, you must provide an
-- execution role. For more information, see Batch execution IAM
-- role in the Batch User Guide.
[$sel:executionRoleArn:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:fargatePlatformConfiguration:ContainerProperties'] :: ContainerProperties -> Maybe FargatePlatformConfiguration
-- | The image used to start a container. This string is passed directly to
-- the Docker daemon. Images in the Docker Hub registry are available by
-- default. Other repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
[$sel:image:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | The instance type to use for a multi-node parallel job. All node
-- groups in a multi-node parallel job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
[$sel:instanceType:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | The Amazon Resource Name (ARN) of the IAM role that the container can
-- assume for Amazon Web Services permissions. For more information, see
-- IAM roles for tasks in the Amazon Elastic Container Service
-- Developer Guide.
[$sel:jobRoleArn:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
[$sel:linuxParameters:ContainerProperties'] :: ContainerProperties -> Maybe LinuxParameters
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
[$sel:logConfiguration:ContainerProperties'] :: ContainerProperties -> Maybe LogConfiguration
-- | This parameter is deprecated, use resourceRequirements to
-- specify the memory requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs that run on
-- EC2 resources, it specifies the memory hard limit (in MiB) for a
-- container. If your container attempts to exceed the specified number,
-- it's terminated. You must specify at least 4 MiB of memory for a job
-- using this parameter. The memory hard limit can be specified in
-- several places. It must be specified for each node at least once.
[$sel:memory:ContainerProperties'] :: ContainerProperties -> Maybe Int
-- | The mount points for data volumes in your container. This parameter
-- maps to Volumes in the Create a container section of
-- the Docker Remote API and the --volume option to
-- docker run.
[$sel:mountPoints:ContainerProperties'] :: ContainerProperties -> Maybe [MountPoint]
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:networkConfiguration:ContainerProperties'] :: ContainerProperties -> Maybe NetworkConfiguration
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). This parameter maps to Privileged in the
-- Create a container section of the Docker Remote API and
-- the --privileged option to docker run. The default
-- value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
[$sel:privileged:ContainerProperties'] :: ContainerProperties -> Maybe Bool
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run.
[$sel:readonlyRootFilesystem:ContainerProperties'] :: ContainerProperties -> Maybe Bool
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
[$sel:resourceRequirements:ContainerProperties'] :: ContainerProperties -> Maybe [ResourceRequirement]
-- | The secrets for the container. For more information, see Specifying
-- sensitive data in the Batch User Guide.
[$sel:secrets:ContainerProperties'] :: ContainerProperties -> Maybe [Secret]
-- | A list of ulimits to set in the container. This parameter
-- maps to Ulimits in the Create a container section of
-- the Docker Remote API and the --ulimit option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
[$sel:ulimits:ContainerProperties'] :: ContainerProperties -> Maybe [Ulimit]
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
[$sel:user:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | This parameter is deprecated, use resourceRequirements to
-- specify the vCPU requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs running on
-- EC2 resources, it specifies the number of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
[$sel:vcpus:ContainerProperties'] :: ContainerProperties -> Maybe Int
-- | A list of data volumes used in a job.
[$sel:volumes:ContainerProperties'] :: ContainerProperties -> Maybe [Volume]
-- | Create a value of ContainerProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerProperties',
-- containerProperties_command - The command that's passed to the
-- container. This parameter maps to Cmd in the Create a
-- container section of the Docker Remote API and the
-- COMMAND parameter to docker run. For more information,
-- see https://docs.docker.com/engine/reference/builder/#cmd.
--
-- $sel:environment:ContainerProperties',
-- containerProperties_environment - The environment variables to
-- pass to a container. This parameter maps to Env in the
-- Create a container section of the Docker Remote API and
-- the --env option to docker run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:executionRoleArn:ContainerProperties',
-- containerProperties_executionRoleArn - The Amazon Resource Name
-- (ARN) of the execution role that Batch can assume. For jobs that run
-- on Fargate resources, you must provide an execution role. For more
-- information, see Batch execution IAM role in the Batch User
-- Guide.
--
-- $sel:fargatePlatformConfiguration:ContainerProperties',
-- containerProperties_fargatePlatformConfiguration - The platform
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:image:ContainerProperties',
-- containerProperties_image - The image used to start a
-- container. This string is passed directly to the Docker daemon. Images
-- in the Docker Hub registry are available by default. Other
-- repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
--
-- $sel:instanceType:ContainerProperties',
-- containerProperties_instanceType - The instance type to use for
-- a multi-node parallel job. All node groups in a multi-node parallel
-- job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
--
-- $sel:jobRoleArn:ContainerProperties',
-- containerProperties_jobRoleArn - The Amazon Resource Name (ARN)
-- of the IAM role that the container can assume for Amazon Web Services
-- permissions. For more information, see IAM roles for tasks in
-- the Amazon Elastic Container Service Developer Guide.
--
-- $sel:linuxParameters:ContainerProperties',
-- containerProperties_linuxParameters - Linux-specific
-- modifications that are applied to the container, such as details for
-- device mappings.
--
-- $sel:logConfiguration:ContainerProperties',
-- containerProperties_logConfiguration - The log configuration
-- specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
--
-- $sel:memory:ContainerProperties',
-- containerProperties_memory - This parameter is deprecated, use
-- resourceRequirements to specify the memory requirements for
-- the job definition. It's not supported for jobs running on Fargate
-- resources. For jobs that run on EC2 resources, it specifies the memory
-- hard limit (in MiB) for a container. If your container attempts to
-- exceed the specified number, it's terminated. You must specify at
-- least 4 MiB of memory for a job using this parameter. The memory hard
-- limit can be specified in several places. It must be specified for
-- each node at least once.
--
-- $sel:mountPoints:ContainerProperties',
-- containerProperties_mountPoints - The mount points for data
-- volumes in your container. This parameter maps to Volumes in
-- the Create a container section of the Docker Remote API
-- and the --volume option to docker run.
--
-- $sel:networkConfiguration:ContainerProperties',
-- containerProperties_networkConfiguration - The network
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:privileged:ContainerProperties',
-- containerProperties_privileged - When this parameter is true,
-- the container is given elevated permissions on the host container
-- instance (similar to the root user). This parameter maps to
-- Privileged in the Create a container section of the
-- Docker Remote API and the --privileged option to
-- docker run. The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
--
-- $sel:readonlyRootFilesystem:ContainerProperties',
-- containerProperties_readonlyRootFilesystem - When this
-- parameter is true, the container is given read-only access to its root
-- file system. This parameter maps to ReadonlyRootfs in the
-- Create a container section of the Docker Remote API and
-- the --read-only option to docker run.
--
-- $sel:resourceRequirements:ContainerProperties',
-- containerProperties_resourceRequirements - The type and amount
-- of resources to assign to a container. The supported resources include
-- GPU, MEMORY, and VCPU.
--
-- $sel:secrets:ContainerProperties',
-- containerProperties_secrets - The secrets for the container.
-- For more information, see Specifying sensitive data in the
-- Batch User Guide.
--
-- $sel:ulimits:ContainerProperties',
-- containerProperties_ulimits - A list of ulimits to set
-- in the container. This parameter maps to Ulimits in the
-- Create a container section of the Docker Remote API and
-- the --ulimit option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- $sel:user:ContainerProperties', containerProperties_user
-- - The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
--
-- $sel:vcpus:ContainerProperties',
-- containerProperties_vcpus - This parameter is deprecated, use
-- resourceRequirements to specify the vCPU requirements for the
-- job definition. It's not supported for jobs running on Fargate
-- resources. For jobs running on EC2 resources, it specifies the number
-- of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
--
-- $sel:volumes:ContainerProperties',
-- containerProperties_volumes - A list of data volumes used in a
-- job.
newContainerProperties :: ContainerProperties
-- | The command that's passed to the container. This parameter maps to
-- Cmd in the Create a container section of the Docker
-- Remote API and the COMMAND parameter to docker
-- run. For more information, see
-- https://docs.docker.com/engine/reference/builder/#cmd.
containerProperties_command :: Lens' ContainerProperties (Maybe [Text])
-- | The environment variables to pass to a container. This parameter maps
-- to Env in the Create a container section of the
-- Docker Remote API and the --env option to docker
-- run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
containerProperties_environment :: Lens' ContainerProperties (Maybe [KeyValuePair])
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For jobs that run on Fargate resources, you must provide an
-- execution role. For more information, see Batch execution IAM
-- role in the Batch User Guide.
containerProperties_executionRoleArn :: Lens' ContainerProperties (Maybe Text)
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerProperties_fargatePlatformConfiguration :: Lens' ContainerProperties (Maybe FargatePlatformConfiguration)
-- | The image used to start a container. This string is passed directly to
-- the Docker daemon. Images in the Docker Hub registry are available by
-- default. Other repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
containerProperties_image :: Lens' ContainerProperties (Maybe Text)
-- | The instance type to use for a multi-node parallel job. All node
-- groups in a multi-node parallel job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
containerProperties_instanceType :: Lens' ContainerProperties (Maybe Text)
-- | The Amazon Resource Name (ARN) of the IAM role that the container can
-- assume for Amazon Web Services permissions. For more information, see
-- IAM roles for tasks in the Amazon Elastic Container Service
-- Developer Guide.
containerProperties_jobRoleArn :: Lens' ContainerProperties (Maybe Text)
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
containerProperties_linuxParameters :: Lens' ContainerProperties (Maybe LinuxParameters)
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
containerProperties_logConfiguration :: Lens' ContainerProperties (Maybe LogConfiguration)
-- | This parameter is deprecated, use resourceRequirements to
-- specify the memory requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs that run on
-- EC2 resources, it specifies the memory hard limit (in MiB) for a
-- container. If your container attempts to exceed the specified number,
-- it's terminated. You must specify at least 4 MiB of memory for a job
-- using this parameter. The memory hard limit can be specified in
-- several places. It must be specified for each node at least once.
containerProperties_memory :: Lens' ContainerProperties (Maybe Int)
-- | The mount points for data volumes in your container. This parameter
-- maps to Volumes in the Create a container section of
-- the Docker Remote API and the --volume option to
-- docker run.
containerProperties_mountPoints :: Lens' ContainerProperties (Maybe [MountPoint])
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerProperties_networkConfiguration :: Lens' ContainerProperties (Maybe NetworkConfiguration)
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). This parameter maps to Privileged in the
-- Create a container section of the Docker Remote API and
-- the --privileged option to docker run. The default
-- value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
containerProperties_privileged :: Lens' ContainerProperties (Maybe Bool)
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run.
containerProperties_readonlyRootFilesystem :: Lens' ContainerProperties (Maybe Bool)
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
containerProperties_resourceRequirements :: Lens' ContainerProperties (Maybe [ResourceRequirement])
-- | The secrets for the container. For more information, see Specifying
-- sensitive data in the Batch User Guide.
containerProperties_secrets :: Lens' ContainerProperties (Maybe [Secret])
-- | A list of ulimits to set in the container. This parameter
-- maps to Ulimits in the Create a container section of
-- the Docker Remote API and the --ulimit option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
containerProperties_ulimits :: Lens' ContainerProperties (Maybe [Ulimit])
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
containerProperties_user :: Lens' ContainerProperties (Maybe Text)
-- | This parameter is deprecated, use resourceRequirements to
-- specify the vCPU requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs running on
-- EC2 resources, it specifies the number of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
containerProperties_vcpus :: Lens' ContainerProperties (Maybe Int)
-- | A list of data volumes used in a job.
containerProperties_volumes :: Lens' ContainerProperties (Maybe [Volume])
instance GHC.Generics.Generic Amazonka.Batch.Types.ContainerProperties.ContainerProperties
instance GHC.Show.Show Amazonka.Batch.Types.ContainerProperties.ContainerProperties
instance GHC.Read.Read Amazonka.Batch.Types.ContainerProperties.ContainerProperties
instance GHC.Classes.Eq Amazonka.Batch.Types.ContainerProperties.ContainerProperties
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ContainerProperties.ContainerProperties
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ContainerProperties.ContainerProperties
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ContainerProperties.ContainerProperties
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.ContainerProperties.ContainerProperties
module Amazonka.Batch.Types.NodeRangeProperty
-- | An object that represents the properties of the node range for a
-- multi-node parallel job.
--
-- See: newNodeRangeProperty smart constructor.
data NodeRangeProperty
NodeRangeProperty' :: Maybe ContainerProperties -> Text -> NodeRangeProperty
-- | The container details for the node range.
[$sel:container:NodeRangeProperty'] :: NodeRangeProperty -> Maybe ContainerProperties
-- | The range of nodes, using node index values. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range. Your accumulative node ranges must account for all nodes
-- (0:n). You can nest node ranges (for example, 0:10
-- and 4:5). In this case, the 4:5 range properties
-- override the 0:10 properties.
[$sel:targetNodes:NodeRangeProperty'] :: NodeRangeProperty -> Text
-- | Create a value of NodeRangeProperty with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:container:NodeRangeProperty',
-- nodeRangeProperty_container - The container details for the
-- node range.
--
-- $sel:targetNodes:NodeRangeProperty',
-- nodeRangeProperty_targetNodes - The range of nodes, using node
-- index values. A range of 0:3 indicates nodes with index
-- values of 0 through 3. If the starting range value
-- is omitted (:n), then 0 is used to start the range.
-- If the ending range value is omitted (n:), then the highest
-- possible node index is used to end the range. Your accumulative node
-- ranges must account for all nodes (0:n). You can nest node
-- ranges (for example, 0:10 and 4:5). In this case,
-- the 4:5 range properties override the 0:10
-- properties.
newNodeRangeProperty :: Text -> NodeRangeProperty
-- | The container details for the node range.
nodeRangeProperty_container :: Lens' NodeRangeProperty (Maybe ContainerProperties)
-- | The range of nodes, using node index values. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range. Your accumulative node ranges must account for all nodes
-- (0:n). You can nest node ranges (for example, 0:10
-- and 4:5). In this case, the 4:5 range properties
-- override the 0:10 properties.
nodeRangeProperty_targetNodes :: Lens' NodeRangeProperty Text
instance GHC.Generics.Generic Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
instance GHC.Show.Show Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
instance GHC.Read.Read Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
instance GHC.Classes.Eq Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.NodeRangeProperty.NodeRangeProperty
module Amazonka.Batch.Types.NodeProperties
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- Node properties can't be specified for Amazon EKS based job
-- definitions.
--
-- See: newNodeProperties smart constructor.
data NodeProperties
NodeProperties' :: Int -> Int -> [NodeRangeProperty] -> NodeProperties
-- | The number of nodes that are associated with a multi-node parallel
-- job.
[$sel:numNodes:NodeProperties'] :: NodeProperties -> Int
-- | Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
[$sel:mainNode:NodeProperties'] :: NodeProperties -> Int
-- | A list of node ranges and their properties that are associated with a
-- multi-node parallel job.
[$sel:nodeRangeProperties:NodeProperties'] :: NodeProperties -> [NodeRangeProperty]
-- | Create a value of NodeProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:numNodes:NodeProperties', nodeProperties_numNodes -
-- The number of nodes that are associated with a multi-node parallel
-- job.
--
-- $sel:mainNode:NodeProperties', nodeProperties_mainNode -
-- Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
--
-- $sel:nodeRangeProperties:NodeProperties',
-- nodeProperties_nodeRangeProperties - A list of node ranges and
-- their properties that are associated with a multi-node parallel job.
newNodeProperties :: Int -> Int -> NodeProperties
-- | The number of nodes that are associated with a multi-node parallel
-- job.
nodeProperties_numNodes :: Lens' NodeProperties Int
-- | Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
nodeProperties_mainNode :: Lens' NodeProperties Int
-- | A list of node ranges and their properties that are associated with a
-- multi-node parallel job.
nodeProperties_nodeRangeProperties :: Lens' NodeProperties [NodeRangeProperty]
instance GHC.Generics.Generic Amazonka.Batch.Types.NodeProperties.NodeProperties
instance GHC.Show.Show Amazonka.Batch.Types.NodeProperties.NodeProperties
instance GHC.Read.Read Amazonka.Batch.Types.NodeProperties.NodeProperties
instance GHC.Classes.Eq Amazonka.Batch.Types.NodeProperties.NodeProperties
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.NodeProperties.NodeProperties
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.NodeProperties.NodeProperties
instance Control.DeepSeq.NFData Amazonka.Batch.Types.NodeProperties.NodeProperties
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.Types.NodeProperties.NodeProperties
module Amazonka.Batch.Types.JobDefinition
-- | An object that represents an Batch job definition.
--
-- See: newJobDefinition smart constructor.
data JobDefinition
JobDefinition' :: Maybe OrchestrationType -> Maybe ContainerProperties -> Maybe EksProperties -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Int -> Text -> JobDefinition
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
[$sel:containerOrchestrationType:JobDefinition'] :: JobDefinition -> Maybe OrchestrationType
-- | An object with various properties specific to Amazon ECS based jobs.
-- Valid values are containerProperties, eksProperties,
-- and nodeProperties. Only one can be specified.
[$sel:containerProperties:JobDefinition'] :: JobDefinition -> Maybe ContainerProperties
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
[$sel:eksProperties:JobDefinition'] :: JobDefinition -> Maybe EksProperties
-- | An object with various properties that are specific to multi-node
-- parallel jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
[$sel:nodeProperties:JobDefinition'] :: JobDefinition -> Maybe NodeProperties
-- | Default parameters or parameter substitution placeholders that are set
-- in the job definition. Parameters are specified as a key-value pair
-- mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
[$sel:parameters:JobDefinition'] :: JobDefinition -> Maybe (HashMap Text Text)
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
[$sel:platformCapabilities:JobDefinition'] :: JobDefinition -> Maybe [PlatformCapability]
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
[$sel:propagateTags:JobDefinition'] :: JobDefinition -> Maybe Bool
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition.
[$sel:retryStrategy:JobDefinition'] :: JobDefinition -> Maybe RetryStrategy
-- | The scheduling priority of the job definition. This only affects jobs
-- in job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
[$sel:schedulingPriority:JobDefinition'] :: JobDefinition -> Maybe Int
-- | The status of the job definition.
[$sel:status:JobDefinition'] :: JobDefinition -> Maybe Text
-- | The tags that are applied to the job definition.
[$sel:tags:JobDefinition'] :: JobDefinition -> Maybe (HashMap Text Text)
-- | The timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
[$sel:timeout:JobDefinition'] :: JobDefinition -> Maybe JobTimeout
-- | The name of the job definition.
[$sel:jobDefinitionName:JobDefinition'] :: JobDefinition -> Text
-- | The Amazon Resource Name (ARN) for the job definition.
[$sel:jobDefinitionArn:JobDefinition'] :: JobDefinition -> Text
-- | The revision of the job definition.
[$sel:revision:JobDefinition'] :: JobDefinition -> Int
-- | The type of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
[$sel:type':JobDefinition'] :: JobDefinition -> Text
-- | Create a value of JobDefinition with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerOrchestrationType:JobDefinition',
-- jobDefinition_containerOrchestrationType - The orchestration
-- type of the compute environment. The valid values are ECS
-- (default) or EKS.
--
-- $sel:containerProperties:JobDefinition',
-- jobDefinition_containerProperties - An object with various
-- properties specific to Amazon ECS based jobs. Valid values are
-- containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- $sel:eksProperties:JobDefinition',
-- jobDefinition_eksProperties - An object with various properties
-- that are specific to Amazon EKS based jobs. Valid values are
-- containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- $sel:nodeProperties:JobDefinition',
-- jobDefinition_nodeProperties - An object with various
-- properties that are specific to multi-node parallel jobs. Valid values
-- are containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
--
-- $sel:parameters:JobDefinition', jobDefinition_parameters
-- - Default parameters or parameter substitution placeholders that are
-- set in the job definition. Parameters are specified as a key-value
-- pair mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
--
-- $sel:platformCapabilities:JobDefinition',
-- jobDefinition_platformCapabilities - The platform capabilities
-- required by the job definition. If no value is specified, it defaults
-- to EC2. Jobs run on Fargate resources specify
-- FARGATE.
--
-- $sel:propagateTags:JobDefinition',
-- jobDefinition_propagateTags - Specifies whether to propagate
-- the tags from the job or job definition to the corresponding Amazon
-- ECS task. If no value is specified, the tags aren't propagated. Tags
-- can only be propagated to the tasks when the tasks are created. For
-- tags with the same name, job tags are given priority over job
-- definitions tags. If the total number of combined tags from the job
-- and job definition is over 50, the job is moved to the FAILED
-- state.
--
-- $sel:retryStrategy:JobDefinition',
-- jobDefinition_retryStrategy - The retry strategy to use for
-- failed jobs that are submitted with this job definition.
--
-- $sel:schedulingPriority:JobDefinition',
-- jobDefinition_schedulingPriority - The scheduling priority of
-- the job definition. This only affects jobs in job queues with a fair
-- share policy. Jobs with a higher scheduling priority are scheduled
-- before jobs with a lower scheduling priority.
--
-- $sel:status:JobDefinition', jobDefinition_status - The
-- status of the job definition.
--
-- $sel:tags:JobDefinition', jobDefinition_tags - The tags
-- that are applied to the job definition.
--
-- $sel:timeout:JobDefinition', jobDefinition_timeout - The
-- timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
--
-- $sel:jobDefinitionName:JobDefinition',
-- jobDefinition_jobDefinitionName - The name of the job
-- definition.
--
-- $sel:jobDefinitionArn:JobDefinition',
-- jobDefinition_jobDefinitionArn - The Amazon Resource Name (ARN)
-- for the job definition.
--
-- $sel:revision:JobDefinition', jobDefinition_revision -
-- The revision of the job definition.
--
-- $sel:type':JobDefinition', jobDefinition_type - The type
-- of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
newJobDefinition :: Text -> Text -> Int -> Text -> JobDefinition
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
jobDefinition_containerOrchestrationType :: Lens' JobDefinition (Maybe OrchestrationType)
-- | An object with various properties specific to Amazon ECS based jobs.
-- Valid values are containerProperties, eksProperties,
-- and nodeProperties. Only one can be specified.
jobDefinition_containerProperties :: Lens' JobDefinition (Maybe ContainerProperties)
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
jobDefinition_eksProperties :: Lens' JobDefinition (Maybe EksProperties)
-- | An object with various properties that are specific to multi-node
-- parallel jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
jobDefinition_nodeProperties :: Lens' JobDefinition (Maybe NodeProperties)
-- | Default parameters or parameter substitution placeholders that are set
-- in the job definition. Parameters are specified as a key-value pair
-- mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
jobDefinition_parameters :: Lens' JobDefinition (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
jobDefinition_platformCapabilities :: Lens' JobDefinition (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
jobDefinition_propagateTags :: Lens' JobDefinition (Maybe Bool)
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition.
jobDefinition_retryStrategy :: Lens' JobDefinition (Maybe RetryStrategy)
-- | The scheduling priority of the job definition. This only affects jobs
-- in job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
jobDefinition_schedulingPriority :: Lens' JobDefinition (Maybe Int)
-- | The status of the job definition.
jobDefinition_status :: Lens' JobDefinition (Maybe Text)
-- | The tags that are applied to the job definition.
jobDefinition_tags :: Lens' JobDefinition (Maybe (HashMap Text Text))
-- | The timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
jobDefinition_timeout :: Lens' JobDefinition (Maybe JobTimeout)
-- | The name of the job definition.
jobDefinition_jobDefinitionName :: Lens' JobDefinition Text
-- | The Amazon Resource Name (ARN) for the job definition.
jobDefinition_jobDefinitionArn :: Lens' JobDefinition Text
-- | The revision of the job definition.
jobDefinition_revision :: Lens' JobDefinition Int
-- | The type of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
jobDefinition_type :: Lens' JobDefinition Text
instance GHC.Generics.Generic Amazonka.Batch.Types.JobDefinition.JobDefinition
instance GHC.Show.Show Amazonka.Batch.Types.JobDefinition.JobDefinition
instance GHC.Read.Read Amazonka.Batch.Types.JobDefinition.JobDefinition
instance GHC.Classes.Eq Amazonka.Batch.Types.JobDefinition.JobDefinition
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobDefinition.JobDefinition
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobDefinition.JobDefinition
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobDefinition.JobDefinition
module Amazonka.Batch.Types.ContainerDetail
-- | An object that represents the details of a container that's part of a
-- job.
--
-- See: newContainerDetail smart constructor.
data ContainerDetail
ContainerDetail' :: Maybe [Text] -> Maybe Text -> Maybe [KeyValuePair] -> Maybe Text -> Maybe Int -> Maybe FargatePlatformConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe LinuxParameters -> Maybe LogConfiguration -> Maybe Text -> Maybe Int -> Maybe [MountPoint] -> Maybe NetworkConfiguration -> Maybe [NetworkInterface] -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe [ResourceRequirement] -> Maybe [Secret] -> Maybe Text -> Maybe [Ulimit] -> Maybe Text -> Maybe Int -> Maybe [Volume] -> ContainerDetail
-- | The command that's passed to the container.
[$sel:command:ContainerDetail'] :: ContainerDetail -> Maybe [Text]
-- | The Amazon Resource Name (ARN) of the container instance that the
-- container is running on.
[$sel:containerInstanceArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:environment:ContainerDetail'] :: ContainerDetail -> Maybe [KeyValuePair]
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For more information, see Batch execution IAM role in
-- the Batch User Guide.
[$sel:executionRoleArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The exit code to return upon completion.
[$sel:exitCode:ContainerDetail'] :: ContainerDetail -> Maybe Int
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:fargatePlatformConfiguration:ContainerDetail'] :: ContainerDetail -> Maybe FargatePlatformConfiguration
-- | The image used to start the container.
[$sel:image:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The instance type of the underlying host infrastructure of a
-- multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
[$sel:instanceType:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The Amazon Resource Name (ARN) that's associated with the job when
-- run.
[$sel:jobRoleArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
[$sel:linuxParameters:ContainerDetail'] :: ContainerDetail -> Maybe LinuxParameters
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
[$sel:logConfiguration:ContainerDetail'] :: ContainerDetail -> Maybe LogConfiguration
-- | The name of the Amazon CloudWatch Logs log stream that's associated
-- with the container. The log group for Batch jobs is
-- /aws/batch/job. Each container attempt receives a log stream
-- name when they reach the RUNNING status.
[$sel:logStreamName:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
[$sel:memory:ContainerDetail'] :: ContainerDetail -> Maybe Int
-- | The mount points for data volumes in your container.
[$sel:mountPoints:ContainerDetail'] :: ContainerDetail -> Maybe [MountPoint]
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:networkConfiguration:ContainerDetail'] :: ContainerDetail -> Maybe NetworkConfiguration
-- | The network interfaces that are associated with the job.
[$sel:networkInterfaces:ContainerDetail'] :: ContainerDetail -> Maybe [NetworkInterface]
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
[$sel:privileged:ContainerDetail'] :: ContainerDetail -> Maybe Bool
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run .
[$sel:readonlyRootFilesystem:ContainerDetail'] :: ContainerDetail -> Maybe Bool
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
[$sel:resourceRequirements:ContainerDetail'] :: ContainerDetail -> Maybe [ResourceRequirement]
-- | The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
[$sel:secrets:ContainerDetail'] :: ContainerDetail -> Maybe [Secret]
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
[$sel:taskArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
[$sel:ulimits:ContainerDetail'] :: ContainerDetail -> Maybe [Ulimit]
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
[$sel:user:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The number of vCPUs reserved for the container. For jobs that run on
-- EC2 resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
[$sel:vcpus:ContainerDetail'] :: ContainerDetail -> Maybe Int
-- | A list of volumes that are associated with the job.
[$sel:volumes:ContainerDetail'] :: ContainerDetail -> Maybe [Volume]
-- | Create a value of ContainerDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerDetail', containerDetail_command -
-- The command that's passed to the container.
--
-- $sel:containerInstanceArn:ContainerDetail',
-- containerDetail_containerInstanceArn - The Amazon Resource Name
-- (ARN) of the container instance that the container is running on.
--
-- $sel:environment:ContainerDetail',
-- containerDetail_environment - The environment variables to pass
-- to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:executionRoleArn:ContainerDetail',
-- containerDetail_executionRoleArn - The Amazon Resource Name
-- (ARN) of the execution role that Batch can assume. For more
-- information, see Batch execution IAM role in the Batch User
-- Guide.
--
-- $sel:exitCode:ContainerDetail', containerDetail_exitCode
-- - The exit code to return upon completion.
--
-- $sel:fargatePlatformConfiguration:ContainerDetail',
-- containerDetail_fargatePlatformConfiguration - The platform
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:image:ContainerDetail', containerDetail_image - The
-- image used to start the container.
--
-- $sel:instanceType:ContainerDetail',
-- containerDetail_instanceType - The instance type of the
-- underlying host infrastructure of a multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
--
-- $sel:jobRoleArn:ContainerDetail',
-- containerDetail_jobRoleArn - The Amazon Resource Name (ARN)
-- that's associated with the job when run.
--
-- $sel:linuxParameters:ContainerDetail',
-- containerDetail_linuxParameters - Linux-specific modifications
-- that are applied to the container, such as details for device
-- mappings.
--
-- $sel:logConfiguration:ContainerDetail',
-- containerDetail_logConfiguration - The log configuration
-- specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
--
-- $sel:logStreamName:ContainerDetail',
-- containerDetail_logStreamName - The name of the Amazon
-- CloudWatch Logs log stream that's associated with the container. The
-- log group for Batch jobs is /aws/batch/job. Each container
-- attempt receives a log stream name when they reach the
-- RUNNING status.
--
-- $sel:memory:ContainerDetail', containerDetail_memory -
-- For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
--
-- $sel:mountPoints:ContainerDetail',
-- containerDetail_mountPoints - The mount points for data volumes
-- in your container.
--
-- $sel:networkConfiguration:ContainerDetail',
-- containerDetail_networkConfiguration - The network
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:networkInterfaces:ContainerDetail',
-- containerDetail_networkInterfaces - The network interfaces that
-- are associated with the job.
--
-- $sel:privileged:ContainerDetail',
-- containerDetail_privileged - When this parameter is true, the
-- container is given elevated permissions on the host container instance
-- (similar to the root user). The default value is
-- false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
--
-- $sel:readonlyRootFilesystem:ContainerDetail',
-- containerDetail_readonlyRootFilesystem - When this parameter is
-- true, the container is given read-only access to its root file system.
-- This parameter maps to ReadonlyRootfs in the Create a
-- container section of the Docker Remote API and the
-- --read-only option to docker run .
--
-- $sel:reason:ContainerDetail', containerDetail_reason - A
-- short (255 max characters) human-readable string to provide additional
-- details for a running or stopped container.
--
-- $sel:resourceRequirements:ContainerDetail',
-- containerDetail_resourceRequirements - The type and amount of
-- resources to assign to a container. The supported resources include
-- GPU, MEMORY, and VCPU.
--
-- $sel:secrets:ContainerDetail', containerDetail_secrets -
-- The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
--
-- $sel:taskArn:ContainerDetail', containerDetail_taskArn -
-- The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
--
-- $sel:ulimits:ContainerDetail', containerDetail_ulimits -
-- A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
--
-- $sel:user:ContainerDetail', containerDetail_user - The
-- user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
--
-- $sel:vcpus:ContainerDetail', containerDetail_vcpus - The
-- number of vCPUs reserved for the container. For jobs that run on EC2
-- resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
--
-- $sel:volumes:ContainerDetail', containerDetail_volumes -
-- A list of volumes that are associated with the job.
newContainerDetail :: ContainerDetail
-- | The command that's passed to the container.
containerDetail_command :: Lens' ContainerDetail (Maybe [Text])
-- | The Amazon Resource Name (ARN) of the container instance that the
-- container is running on.
containerDetail_containerInstanceArn :: Lens' ContainerDetail (Maybe Text)
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
containerDetail_environment :: Lens' ContainerDetail (Maybe [KeyValuePair])
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For more information, see Batch execution IAM role in
-- the Batch User Guide.
containerDetail_executionRoleArn :: Lens' ContainerDetail (Maybe Text)
-- | The exit code to return upon completion.
containerDetail_exitCode :: Lens' ContainerDetail (Maybe Int)
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerDetail_fargatePlatformConfiguration :: Lens' ContainerDetail (Maybe FargatePlatformConfiguration)
-- | The image used to start the container.
containerDetail_image :: Lens' ContainerDetail (Maybe Text)
-- | The instance type of the underlying host infrastructure of a
-- multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
containerDetail_instanceType :: Lens' ContainerDetail (Maybe Text)
-- | The Amazon Resource Name (ARN) that's associated with the job when
-- run.
containerDetail_jobRoleArn :: Lens' ContainerDetail (Maybe Text)
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
containerDetail_linuxParameters :: Lens' ContainerDetail (Maybe LinuxParameters)
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
containerDetail_logConfiguration :: Lens' ContainerDetail (Maybe LogConfiguration)
-- | The name of the Amazon CloudWatch Logs log stream that's associated
-- with the container. The log group for Batch jobs is
-- /aws/batch/job. Each container attempt receives a log stream
-- name when they reach the RUNNING status.
containerDetail_logStreamName :: Lens' ContainerDetail (Maybe Text)
-- | For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
containerDetail_memory :: Lens' ContainerDetail (Maybe Int)
-- | The mount points for data volumes in your container.
containerDetail_mountPoints :: Lens' ContainerDetail (Maybe [MountPoint])
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerDetail_networkConfiguration :: Lens' ContainerDetail (Maybe NetworkConfiguration)
-- | The network interfaces that are associated with the job.
containerDetail_networkInterfaces :: Lens' ContainerDetail (Maybe [NetworkInterface])
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
containerDetail_privileged :: Lens' ContainerDetail (Maybe Bool)
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run .
containerDetail_readonlyRootFilesystem :: Lens' ContainerDetail (Maybe Bool)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
containerDetail_reason :: Lens' ContainerDetail (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
containerDetail_resourceRequirements :: Lens' ContainerDetail (Maybe [ResourceRequirement])
-- | The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
containerDetail_secrets :: Lens' ContainerDetail (Maybe [Secret])
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
containerDetail_taskArn :: Lens' ContainerDetail (Maybe Text)
-- | A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
containerDetail_ulimits :: Lens' ContainerDetail (Maybe [Ulimit])
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
containerDetail_user :: Lens' ContainerDetail (Maybe Text)
-- | The number of vCPUs reserved for the container. For jobs that run on
-- EC2 resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
containerDetail_vcpus :: Lens' ContainerDetail (Maybe Int)
-- | A list of volumes that are associated with the job.
containerDetail_volumes :: Lens' ContainerDetail (Maybe [Volume])
instance GHC.Generics.Generic Amazonka.Batch.Types.ContainerDetail.ContainerDetail
instance GHC.Show.Show Amazonka.Batch.Types.ContainerDetail.ContainerDetail
instance GHC.Read.Read Amazonka.Batch.Types.ContainerDetail.ContainerDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.ContainerDetail.ContainerDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.ContainerDetail.ContainerDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.ContainerDetail.ContainerDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.ContainerDetail.ContainerDetail
module Amazonka.Batch.Types.JobDetail
-- | An object that represents an Batch job.
--
-- See: newJobDetail smart constructor.
data JobDetail
JobDetail' :: Maybe ArrayPropertiesDetail -> Maybe [AttemptDetail] -> Maybe ContainerDetail -> Maybe Integer -> Maybe [JobDependency] -> Maybe [EksAttemptDetail] -> Maybe EksPropertiesDetail -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe NodeDetails -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Text -> JobStatus -> Text -> JobDetail
-- | The array properties of the job, if it's an array job.
[$sel:arrayProperties:JobDetail'] :: JobDetail -> Maybe ArrayPropertiesDetail
-- | A list of job attempts that are associated with this job.
[$sel:attempts:JobDetail'] :: JobDetail -> Maybe [AttemptDetail]
-- | An object that represents the details for the container that's
-- associated with the job.
[$sel:container:JobDetail'] :: JobDetail -> Maybe ContainerDetail
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
[$sel:createdAt:JobDetail'] :: JobDetail -> Maybe Integer
-- | A list of job IDs that this job depends on.
[$sel:dependsOn:JobDetail'] :: JobDetail -> Maybe [JobDependency]
-- | A list of job attempts that are associated with this job.
[$sel:eksAttempts:JobDetail'] :: JobDetail -> Maybe [EksAttemptDetail]
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
[$sel:eksProperties:JobDetail'] :: JobDetail -> Maybe EksPropertiesDetail
-- | Indicates whether the job is canceled.
[$sel:isCancelled:JobDetail'] :: JobDetail -> Maybe Bool
-- | Indicates whether the job is terminated.
[$sel:isTerminated:JobDetail'] :: JobDetail -> Maybe Bool
-- | The Amazon Resource Name (ARN) of the job.
[$sel:jobArn:JobDetail'] :: JobDetail -> Maybe Text
-- | An object that represents the details of a node that's associated with
-- a multi-node parallel job.
[$sel:nodeDetails:JobDetail'] :: JobDetail -> Maybe NodeDetails
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
[$sel:nodeProperties:JobDetail'] :: JobDetail -> Maybe NodeProperties
-- | Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
[$sel:parameters:JobDetail'] :: JobDetail -> Maybe (HashMap Text Text)
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
[$sel:platformCapabilities:JobDetail'] :: JobDetail -> Maybe [PlatformCapability]
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
[$sel:propagateTags:JobDetail'] :: JobDetail -> Maybe Bool
-- | The retry strategy to use for this job if an attempt fails.
[$sel:retryStrategy:JobDetail'] :: JobDetail -> Maybe RetryStrategy
-- | The scheduling policy of the job definition. This only affects jobs in
-- job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
[$sel:schedulingPriority:JobDetail'] :: JobDetail -> Maybe Int
-- | The share identifier for the job.
[$sel:shareIdentifier:JobDetail'] :: JobDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the job was started.
-- More specifically, it's when the job transitioned from the
-- STARTING state to the RUNNING state. This parameter
-- isn't provided for child jobs of array jobs or multi-node parallel
-- jobs.
[$sel:startedAt:JobDetail'] :: JobDetail -> Maybe Integer
-- | A short, human-readable string to provide more details for the current
-- status of the job.
[$sel:statusReason:JobDetail'] :: JobDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the job was stopped.
-- More specifically, it's when the job transitioned from the
-- RUNNING state to a terminal state, such as SUCCEEDED
-- or FAILED.
[$sel:stoppedAt:JobDetail'] :: JobDetail -> Maybe Integer
-- | The tags that are applied to the job.
[$sel:tags:JobDetail'] :: JobDetail -> Maybe (HashMap Text Text)
-- | The timeout configuration for the job.
[$sel:timeout:JobDetail'] :: JobDetail -> Maybe JobTimeout
-- | The job name.
[$sel:jobName:JobDetail'] :: JobDetail -> Text
-- | The job ID.
[$sel:jobId:JobDetail'] :: JobDetail -> Text
-- | The Amazon Resource Name (ARN) of the job queue that the job is
-- associated with.
[$sel:jobQueue:JobDetail'] :: JobDetail -> Text
-- | The current status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
[$sel:status:JobDetail'] :: JobDetail -> JobStatus
-- | The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
[$sel:jobDefinition:JobDetail'] :: JobDetail -> Text
-- | Create a value of JobDetail with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayProperties:JobDetail',
-- jobDetail_arrayProperties - The array properties of the job, if
-- it's an array job.
--
-- JobDetail, jobDetail_attempts - A list of job attempts
-- that are associated with this job.
--
-- JobDetail, jobDetail_container - An object that
-- represents the details for the container that's associated with the
-- job.
--
-- $sel:createdAt:JobDetail', jobDetail_createdAt - The
-- Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
--
-- $sel:dependsOn:JobDetail', jobDetail_dependsOn - A list
-- of job IDs that this job depends on.
--
-- $sel:eksAttempts:JobDetail', jobDetail_eksAttempts - A
-- list of job attempts that are associated with this job.
--
-- $sel:eksProperties:JobDetail', jobDetail_eksProperties -
-- An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
--
-- $sel:isCancelled:JobDetail', jobDetail_isCancelled -
-- Indicates whether the job is canceled.
--
-- $sel:isTerminated:JobDetail', jobDetail_isTerminated -
-- Indicates whether the job is terminated.
--
-- $sel:jobArn:JobDetail', jobDetail_jobArn - The Amazon
-- Resource Name (ARN) of the job.
--
-- $sel:nodeDetails:JobDetail', jobDetail_nodeDetails - An
-- object that represents the details of a node that's associated with a
-- multi-node parallel job.
--
-- $sel:nodeProperties:JobDetail', jobDetail_nodeProperties
-- - An object that represents the node properties of a multi-node
-- parallel job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
--
-- $sel:parameters:JobDetail', jobDetail_parameters -
-- Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
--
-- $sel:platformCapabilities:JobDetail',
-- jobDetail_platformCapabilities - The platform capabilities
-- required by the job definition. If no value is specified, it defaults
-- to EC2. Jobs run on Fargate resources specify
-- FARGATE.
--
-- $sel:propagateTags:JobDetail', jobDetail_propagateTags -
-- Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
--
-- $sel:retryStrategy:JobDetail', jobDetail_retryStrategy -
-- The retry strategy to use for this job if an attempt fails.
--
-- $sel:schedulingPriority:JobDetail',
-- jobDetail_schedulingPriority - The scheduling policy of the job
-- definition. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority.
--
-- $sel:shareIdentifier:JobDetail',
-- jobDetail_shareIdentifier - The share identifier for the job.
--
-- JobDetail, jobDetail_startedAt - The Unix timestamp (in
-- milliseconds) for when the job was started. More specifically, it's
-- when the job transitioned from the STARTING state to the
-- RUNNING state. This parameter isn't provided for child jobs
-- of array jobs or multi-node parallel jobs.
--
-- JobDetail, jobDetail_statusReason - A short,
-- human-readable string to provide more details for the current status
-- of the job.
--
-- JobDetail, jobDetail_stoppedAt - The Unix timestamp (in
-- milliseconds) for when the job was stopped. More specifically, it's
-- when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
--
-- $sel:tags:JobDetail', jobDetail_tags - The tags that are
-- applied to the job.
--
-- $sel:timeout:JobDetail', jobDetail_timeout - The timeout
-- configuration for the job.
--
-- $sel:jobName:JobDetail', jobDetail_jobName - The job
-- name.
--
-- JobDetail, jobDetail_jobId - The job ID.
--
-- $sel:jobQueue:JobDetail', jobDetail_jobQueue - The
-- Amazon Resource Name (ARN) of the job queue that the job is associated
-- with.
--
-- $sel:status:JobDetail', jobDetail_status - The current
-- status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
--
-- $sel:jobDefinition:JobDetail', jobDetail_jobDefinition -
-- The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
newJobDetail :: Text -> Text -> Text -> JobStatus -> Text -> JobDetail
-- | The array properties of the job, if it's an array job.
jobDetail_arrayProperties :: Lens' JobDetail (Maybe ArrayPropertiesDetail)
-- | A list of job attempts that are associated with this job.
jobDetail_attempts :: Lens' JobDetail (Maybe [AttemptDetail])
-- | An object that represents the details for the container that's
-- associated with the job.
jobDetail_container :: Lens' JobDetail (Maybe ContainerDetail)
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
jobDetail_createdAt :: Lens' JobDetail (Maybe Integer)
-- | A list of job IDs that this job depends on.
jobDetail_dependsOn :: Lens' JobDetail (Maybe [JobDependency])
-- | A list of job attempts that are associated with this job.
jobDetail_eksAttempts :: Lens' JobDetail (Maybe [EksAttemptDetail])
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
jobDetail_eksProperties :: Lens' JobDetail (Maybe EksPropertiesDetail)
-- | Indicates whether the job is canceled.
jobDetail_isCancelled :: Lens' JobDetail (Maybe Bool)
-- | Indicates whether the job is terminated.
jobDetail_isTerminated :: Lens' JobDetail (Maybe Bool)
-- | The Amazon Resource Name (ARN) of the job.
jobDetail_jobArn :: Lens' JobDetail (Maybe Text)
-- | An object that represents the details of a node that's associated with
-- a multi-node parallel job.
jobDetail_nodeDetails :: Lens' JobDetail (Maybe NodeDetails)
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
jobDetail_nodeProperties :: Lens' JobDetail (Maybe NodeProperties)
-- | Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
jobDetail_parameters :: Lens' JobDetail (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
jobDetail_platformCapabilities :: Lens' JobDetail (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
jobDetail_propagateTags :: Lens' JobDetail (Maybe Bool)
-- | The retry strategy to use for this job if an attempt fails.
jobDetail_retryStrategy :: Lens' JobDetail (Maybe RetryStrategy)
-- | The scheduling policy of the job definition. This only affects jobs in
-- job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
jobDetail_schedulingPriority :: Lens' JobDetail (Maybe Int)
-- | The share identifier for the job.
jobDetail_shareIdentifier :: Lens' JobDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the job was started.
-- More specifically, it's when the job transitioned from the
-- STARTING state to the RUNNING state. This parameter
-- isn't provided for child jobs of array jobs or multi-node parallel
-- jobs.
jobDetail_startedAt :: Lens' JobDetail (Maybe Integer)
-- | A short, human-readable string to provide more details for the current
-- status of the job.
jobDetail_statusReason :: Lens' JobDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the job was stopped.
-- More specifically, it's when the job transitioned from the
-- RUNNING state to a terminal state, such as SUCCEEDED
-- or FAILED.
jobDetail_stoppedAt :: Lens' JobDetail (Maybe Integer)
-- | The tags that are applied to the job.
jobDetail_tags :: Lens' JobDetail (Maybe (HashMap Text Text))
-- | The timeout configuration for the job.
jobDetail_timeout :: Lens' JobDetail (Maybe JobTimeout)
-- | The job name.
jobDetail_jobName :: Lens' JobDetail Text
-- | The job ID.
jobDetail_jobId :: Lens' JobDetail Text
-- | The Amazon Resource Name (ARN) of the job queue that the job is
-- associated with.
jobDetail_jobQueue :: Lens' JobDetail Text
-- | The current status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
jobDetail_status :: Lens' JobDetail JobStatus
-- | The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
jobDetail_jobDefinition :: Lens' JobDetail Text
instance GHC.Generics.Generic Amazonka.Batch.Types.JobDetail.JobDetail
instance GHC.Show.Show Amazonka.Batch.Types.JobDetail.JobDetail
instance GHC.Read.Read Amazonka.Batch.Types.JobDetail.JobDetail
instance GHC.Classes.Eq Amazonka.Batch.Types.JobDetail.JobDetail
instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Batch.Types.JobDetail.JobDetail
instance Data.Hashable.Class.Hashable Amazonka.Batch.Types.JobDetail.JobDetail
instance Control.DeepSeq.NFData Amazonka.Batch.Types.JobDetail.JobDetail
module Amazonka.Batch.Types
-- | API version 2016-08-10 of the Amazon Batch SDK configuration.
defaultService :: Service
-- | These errors are usually caused by a client action. One example cause
-- is using an action or resource on behalf of a user that doesn't have
-- permissions to use the action or resource. Another cause is specifying
-- an identifier that's not valid.
_ClientException :: AsError a => Fold a ServiceError
-- | These errors are usually caused by a server issue.
_ServerException :: AsError a => Fold a ServiceError
newtype ArrayJobDependency
ArrayJobDependency' :: Text -> ArrayJobDependency
[fromArrayJobDependency] :: ArrayJobDependency -> Text
pattern ArrayJobDependency_N_TO_N :: ArrayJobDependency
pattern ArrayJobDependency_SEQUENTIAL :: ArrayJobDependency
newtype AssignPublicIp
AssignPublicIp' :: Text -> AssignPublicIp
[fromAssignPublicIp] :: AssignPublicIp -> Text
pattern AssignPublicIp_DISABLED :: AssignPublicIp
pattern AssignPublicIp_ENABLED :: AssignPublicIp
newtype CEState
CEState' :: Text -> CEState
[fromCEState] :: CEState -> Text
pattern CEState_DISABLED :: CEState
pattern CEState_ENABLED :: CEState
newtype CEStatus
CEStatus' :: Text -> CEStatus
[fromCEStatus] :: CEStatus -> Text
pattern CEStatus_CREATING :: CEStatus
pattern CEStatus_DELETED :: CEStatus
pattern CEStatus_DELETING :: CEStatus
pattern CEStatus_INVALID :: CEStatus
pattern CEStatus_UPDATING :: CEStatus
pattern CEStatus_VALID :: CEStatus
newtype CEType
CEType' :: Text -> CEType
[fromCEType] :: CEType -> Text
pattern CEType_MANAGED :: CEType
pattern CEType_UNMANAGED :: CEType
newtype CRAllocationStrategy
CRAllocationStrategy' :: Text -> CRAllocationStrategy
[fromCRAllocationStrategy] :: CRAllocationStrategy -> Text
pattern CRAllocationStrategy_BEST_FIT :: CRAllocationStrategy
pattern CRAllocationStrategy_BEST_FIT_PROGRESSIVE :: CRAllocationStrategy
pattern CRAllocationStrategy_SPOT_CAPACITY_OPTIMIZED :: CRAllocationStrategy
newtype CRType
CRType' :: Text -> CRType
[fromCRType] :: CRType -> Text
pattern CRType_EC2 :: CRType
pattern CRType_FARGATE :: CRType
pattern CRType_FARGATE_SPOT :: CRType
pattern CRType_SPOT :: CRType
newtype CRUpdateAllocationStrategy
CRUpdateAllocationStrategy' :: Text -> CRUpdateAllocationStrategy
[fromCRUpdateAllocationStrategy] :: CRUpdateAllocationStrategy -> Text
pattern CRUpdateAllocationStrategy_BEST_FIT_PROGRESSIVE :: CRUpdateAllocationStrategy
pattern CRUpdateAllocationStrategy_SPOT_CAPACITY_OPTIMIZED :: CRUpdateAllocationStrategy
newtype DeviceCgroupPermission
DeviceCgroupPermission' :: Text -> DeviceCgroupPermission
[fromDeviceCgroupPermission] :: DeviceCgroupPermission -> Text
pattern DeviceCgroupPermission_MKNOD :: DeviceCgroupPermission
pattern DeviceCgroupPermission_READ :: DeviceCgroupPermission
pattern DeviceCgroupPermission_WRITE :: DeviceCgroupPermission
newtype EFSAuthorizationConfigIAM
EFSAuthorizationConfigIAM' :: Text -> EFSAuthorizationConfigIAM
[fromEFSAuthorizationConfigIAM] :: EFSAuthorizationConfigIAM -> Text
pattern EFSAuthorizationConfigIAM_DISABLED :: EFSAuthorizationConfigIAM
pattern EFSAuthorizationConfigIAM_ENABLED :: EFSAuthorizationConfigIAM
newtype EFSTransitEncryption
EFSTransitEncryption' :: Text -> EFSTransitEncryption
[fromEFSTransitEncryption] :: EFSTransitEncryption -> Text
pattern EFSTransitEncryption_DISABLED :: EFSTransitEncryption
pattern EFSTransitEncryption_ENABLED :: EFSTransitEncryption
newtype JQState
JQState' :: Text -> JQState
[fromJQState] :: JQState -> Text
pattern JQState_DISABLED :: JQState
pattern JQState_ENABLED :: JQState
newtype JQStatus
JQStatus' :: Text -> JQStatus
[fromJQStatus] :: JQStatus -> Text
pattern JQStatus_CREATING :: JQStatus
pattern JQStatus_DELETED :: JQStatus
pattern JQStatus_DELETING :: JQStatus
pattern JQStatus_INVALID :: JQStatus
pattern JQStatus_UPDATING :: JQStatus
pattern JQStatus_VALID :: JQStatus
newtype JobDefinitionType
JobDefinitionType' :: Text -> JobDefinitionType
[fromJobDefinitionType] :: JobDefinitionType -> Text
pattern JobDefinitionType_Container :: JobDefinitionType
pattern JobDefinitionType_Multinode :: JobDefinitionType
newtype JobStatus
JobStatus' :: Text -> JobStatus
[fromJobStatus] :: JobStatus -> Text
pattern JobStatus_FAILED :: JobStatus
pattern JobStatus_PENDING :: JobStatus
pattern JobStatus_RUNNABLE :: JobStatus
pattern JobStatus_RUNNING :: JobStatus
pattern JobStatus_STARTING :: JobStatus
pattern JobStatus_SUBMITTED :: JobStatus
pattern JobStatus_SUCCEEDED :: JobStatus
newtype LogDriver
LogDriver' :: Text -> LogDriver
[fromLogDriver] :: LogDriver -> Text
pattern LogDriver_Awslogs :: LogDriver
pattern LogDriver_Fluentd :: LogDriver
pattern LogDriver_Gelf :: LogDriver
pattern LogDriver_Journald :: LogDriver
pattern LogDriver_Json_file :: LogDriver
pattern LogDriver_Splunk :: LogDriver
pattern LogDriver_Syslog :: LogDriver
newtype OrchestrationType
OrchestrationType' :: Text -> OrchestrationType
[fromOrchestrationType] :: OrchestrationType -> Text
pattern OrchestrationType_ECS :: OrchestrationType
pattern OrchestrationType_EKS :: OrchestrationType
newtype PlatformCapability
PlatformCapability' :: Text -> PlatformCapability
[fromPlatformCapability] :: PlatformCapability -> Text
pattern PlatformCapability_EC2 :: PlatformCapability
pattern PlatformCapability_FARGATE :: PlatformCapability
newtype ResourceType
ResourceType' :: Text -> ResourceType
[fromResourceType] :: ResourceType -> Text
pattern ResourceType_GPU :: ResourceType
pattern ResourceType_MEMORY :: ResourceType
pattern ResourceType_VCPU :: ResourceType
newtype RetryAction
RetryAction' :: Text -> RetryAction
[fromRetryAction] :: RetryAction -> Text
pattern RetryAction_EXIT :: RetryAction
pattern RetryAction_RETRY :: RetryAction
-- | An object that represents an Batch array job.
--
-- See: newArrayProperties smart constructor.
data ArrayProperties
ArrayProperties' :: Maybe Int -> ArrayProperties
-- | The size of the array job.
[$sel:size:ArrayProperties'] :: ArrayProperties -> Maybe Int
-- | Create a value of ArrayProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:size:ArrayProperties', arrayProperties_size - The
-- size of the array job.
newArrayProperties :: ArrayProperties
-- | The size of the array job.
arrayProperties_size :: Lens' ArrayProperties (Maybe Int)
-- | An object that represents the array properties of a job.
--
-- See: newArrayPropertiesDetail smart constructor.
data ArrayPropertiesDetail
ArrayPropertiesDetail' :: Maybe Int -> Maybe Int -> Maybe (HashMap Text Int) -> ArrayPropertiesDetail
-- | The job index within the array that's associated with this job. This
-- parameter is returned for array job children.
[$sel:index:ArrayPropertiesDetail'] :: ArrayPropertiesDetail -> Maybe Int
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
[$sel:size:ArrayPropertiesDetail'] :: ArrayPropertiesDetail -> Maybe Int
-- | A summary of the number of array job children in each available job
-- status. This parameter is returned for parent array jobs.
[$sel:statusSummary:ArrayPropertiesDetail'] :: ArrayPropertiesDetail -> Maybe (HashMap Text Int)
-- | Create a value of ArrayPropertiesDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:index:ArrayPropertiesDetail',
-- arrayPropertiesDetail_index - The job index within the array
-- that's associated with this job. This parameter is returned for array
-- job children.
--
-- $sel:size:ArrayPropertiesDetail',
-- arrayPropertiesDetail_size - The size of the array job. This
-- parameter is returned for parent array jobs.
--
-- $sel:statusSummary:ArrayPropertiesDetail',
-- arrayPropertiesDetail_statusSummary - A summary of the number
-- of array job children in each available job status. This parameter is
-- returned for parent array jobs.
newArrayPropertiesDetail :: ArrayPropertiesDetail
-- | The job index within the array that's associated with this job. This
-- parameter is returned for array job children.
arrayPropertiesDetail_index :: Lens' ArrayPropertiesDetail (Maybe Int)
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
arrayPropertiesDetail_size :: Lens' ArrayPropertiesDetail (Maybe Int)
-- | A summary of the number of array job children in each available job
-- status. This parameter is returned for parent array jobs.
arrayPropertiesDetail_statusSummary :: Lens' ArrayPropertiesDetail (Maybe (HashMap Text Int))
-- | An object that represents the array properties of a job.
--
-- See: newArrayPropertiesSummary smart constructor.
data ArrayPropertiesSummary
ArrayPropertiesSummary' :: Maybe Int -> Maybe Int -> ArrayPropertiesSummary
-- | The job index within the array that's associated with this job. This
-- parameter is returned for children of array jobs.
[$sel:index:ArrayPropertiesSummary'] :: ArrayPropertiesSummary -> Maybe Int
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
[$sel:size:ArrayPropertiesSummary'] :: ArrayPropertiesSummary -> Maybe Int
-- | Create a value of ArrayPropertiesSummary with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:index:ArrayPropertiesSummary',
-- arrayPropertiesSummary_index - The job index within the array
-- that's associated with this job. This parameter is returned for
-- children of array jobs.
--
-- $sel:size:ArrayPropertiesSummary',
-- arrayPropertiesSummary_size - The size of the array job. This
-- parameter is returned for parent array jobs.
newArrayPropertiesSummary :: ArrayPropertiesSummary
-- | The job index within the array that's associated with this job. This
-- parameter is returned for children of array jobs.
arrayPropertiesSummary_index :: Lens' ArrayPropertiesSummary (Maybe Int)
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
arrayPropertiesSummary_size :: Lens' ArrayPropertiesSummary (Maybe Int)
-- | An object that represents the details of a container that's part of a
-- job attempt.
--
-- See: newAttemptContainerDetail smart constructor.
data AttemptContainerDetail
AttemptContainerDetail' :: Maybe Text -> Maybe Int -> Maybe Text -> Maybe [NetworkInterface] -> Maybe Text -> Maybe Text -> AttemptContainerDetail
-- | The Amazon Resource Name (ARN) of the Amazon ECS container instance
-- that hosts the job attempt.
[$sel:containerInstanceArn:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
[$sel:exitCode:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Int
-- | The name of the CloudWatch Logs log stream that's associated with the
-- container. The log group for Batch jobs is /aws/batch/job.
-- Each container attempt receives a log stream name when they reach the
-- RUNNING status.
[$sel:logStreamName:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | The network interfaces that are associated with the job attempt.
[$sel:networkInterfaces:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe [NetworkInterface]
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the job attempt. Each container attempt receives a
-- task ARN when they reach the STARTING status.
[$sel:taskArn:AttemptContainerDetail'] :: AttemptContainerDetail -> Maybe Text
-- | Create a value of AttemptContainerDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerInstanceArn:AttemptContainerDetail',
-- attemptContainerDetail_containerInstanceArn - The Amazon
-- Resource Name (ARN) of the Amazon ECS container instance that hosts
-- the job attempt.
--
-- $sel:exitCode:AttemptContainerDetail',
-- attemptContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:logStreamName:AttemptContainerDetail',
-- attemptContainerDetail_logStreamName - The name of the
-- CloudWatch Logs log stream that's associated with the container. The
-- log group for Batch jobs is /aws/batch/job. Each container
-- attempt receives a log stream name when they reach the
-- RUNNING status.
--
-- $sel:networkInterfaces:AttemptContainerDetail',
-- attemptContainerDetail_networkInterfaces - The network
-- interfaces that are associated with the job attempt.
--
-- $sel:reason:AttemptContainerDetail',
-- attemptContainerDetail_reason - A short (255 max characters)
-- human-readable string to provide additional details for a running or
-- stopped container.
--
-- $sel:taskArn:AttemptContainerDetail',
-- attemptContainerDetail_taskArn - The Amazon Resource Name (ARN)
-- of the Amazon ECS task that's associated with the job attempt. Each
-- container attempt receives a task ARN when they reach the
-- STARTING status.
newAttemptContainerDetail :: AttemptContainerDetail
-- | The Amazon Resource Name (ARN) of the Amazon ECS container instance
-- that hosts the job attempt.
attemptContainerDetail_containerInstanceArn :: Lens' AttemptContainerDetail (Maybe Text)
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
attemptContainerDetail_exitCode :: Lens' AttemptContainerDetail (Maybe Int)
-- | The name of the CloudWatch Logs log stream that's associated with the
-- container. The log group for Batch jobs is /aws/batch/job.
-- Each container attempt receives a log stream name when they reach the
-- RUNNING status.
attemptContainerDetail_logStreamName :: Lens' AttemptContainerDetail (Maybe Text)
-- | The network interfaces that are associated with the job attempt.
attemptContainerDetail_networkInterfaces :: Lens' AttemptContainerDetail (Maybe [NetworkInterface])
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
attemptContainerDetail_reason :: Lens' AttemptContainerDetail (Maybe Text)
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the job attempt. Each container attempt receives a
-- task ARN when they reach the STARTING status.
attemptContainerDetail_taskArn :: Lens' AttemptContainerDetail (Maybe Text)
-- | An object that represents a job attempt.
--
-- See: newAttemptDetail smart constructor.
data AttemptDetail
AttemptDetail' :: Maybe AttemptContainerDetail -> Maybe Integer -> Maybe Text -> Maybe Integer -> AttemptDetail
-- | The details for the container in this job attempt.
[$sel:container:AttemptDetail'] :: AttemptDetail -> Maybe AttemptContainerDetail
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
[$sel:startedAt:AttemptDetail'] :: AttemptDetail -> Maybe Integer
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
[$sel:statusReason:AttemptDetail'] :: AttemptDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
[$sel:stoppedAt:AttemptDetail'] :: AttemptDetail -> Maybe Integer
-- | Create a value of AttemptDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:container:AttemptDetail', attemptDetail_container -
-- The details for the container in this job attempt.
--
-- $sel:startedAt:AttemptDetail', attemptDetail_startedAt -
-- The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
--
-- $sel:statusReason:AttemptDetail',
-- attemptDetail_statusReason - A short, human-readable string to
-- provide additional details for the current status of the job attempt.
--
-- $sel:stoppedAt:AttemptDetail', attemptDetail_stoppedAt -
-- The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
newAttemptDetail :: AttemptDetail
-- | The details for the container in this job attempt.
attemptDetail_container :: Lens' AttemptDetail (Maybe AttemptContainerDetail)
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
attemptDetail_startedAt :: Lens' AttemptDetail (Maybe Integer)
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
attemptDetail_statusReason :: Lens' AttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
attemptDetail_stoppedAt :: Lens' AttemptDetail (Maybe Integer)
-- | An object that represents an Batch compute environment.
--
-- See: newComputeEnvironmentDetail smart constructor.
data ComputeEnvironmentDetail
ComputeEnvironmentDetail' :: Maybe ComputeResource -> Maybe OrchestrationType -> Maybe Text -> Maybe EksConfiguration -> Maybe Text -> Maybe CEState -> Maybe CEStatus -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe CEType -> Maybe Int -> Maybe UpdatePolicy -> Maybe Text -> Text -> Text -> ComputeEnvironmentDetail
-- | The compute resources defined for the compute environment. For more
-- information, see Compute environments in the Batch User
-- Guide.
[$sel:computeResources:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe ComputeResource
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
[$sel:containerOrchestrationType:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe OrchestrationType
-- | The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
-- that the compute environment uses.
[$sel:ecsClusterArn:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
[$sel:eksConfiguration:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe EksConfiguration
-- | The service role that's associated with the compute environment that
-- allows Batch to make calls to Amazon Web Services API operations on
-- your behalf. For more information, see Batch service IAM role
-- in the Batch User Guide.
[$sel:serviceRole:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The state of the compute environment. The valid values are
-- ENABLED or DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
[$sel:state:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe CEState
-- | The current status of the compute environment (for example,
-- CREATING or VALID).
[$sel:status:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe CEStatus
-- | A short, human-readable string to provide additional details for the
-- current status of the compute environment.
[$sel:statusReason:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The tags applied to the compute environment.
[$sel:tags:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe (HashMap Text Text)
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
[$sel:type':ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe CEType
-- | The maximum number of VCPUs expected to be used for an unmanaged
-- compute environment.
[$sel:unmanagedvCpus:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Int
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
[$sel:updatePolicy:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe UpdatePolicy
-- | Unique identifier for the compute environment.
[$sel:uuid:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Maybe Text
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
[$sel:computeEnvironmentName:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Text
-- | The Amazon Resource Name (ARN) of the compute environment.
[$sel:computeEnvironmentArn:ComputeEnvironmentDetail'] :: ComputeEnvironmentDetail -> Text
-- | Create a value of ComputeEnvironmentDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:computeResources:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeResources - The compute
-- resources defined for the compute environment. For more information,
-- see Compute environments in the Batch User Guide.
--
-- $sel:containerOrchestrationType:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_containerOrchestrationType - The
-- orchestration type of the compute environment. The valid values are
-- ECS (default) or EKS.
--
-- $sel:ecsClusterArn:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_ecsClusterArn - The Amazon Resource
-- Name (ARN) of the underlying Amazon ECS cluster that the compute
-- environment uses.
--
-- $sel:eksConfiguration:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_eksConfiguration - The configuration
-- for the Amazon EKS cluster that supports the Batch compute
-- environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
--
-- $sel:serviceRole:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_serviceRole - The service role that's
-- associated with the compute environment that allows Batch to make
-- calls to Amazon Web Services API operations on your behalf. For more
-- information, see Batch service IAM role in the Batch User
-- Guide.
--
-- $sel:state:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_state - The state of the compute
-- environment. The valid values are ENABLED or
-- DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
--
-- $sel:status:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_status - The current status of the
-- compute environment (for example, CREATING or
-- VALID).
--
-- $sel:statusReason:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_statusReason - A short, human-readable
-- string to provide additional details for the current status of the
-- compute environment.
--
-- ComputeEnvironmentDetail, computeEnvironmentDetail_tags
-- - The tags applied to the compute environment.
--
-- ComputeEnvironmentDetail, computeEnvironmentDetail_type
-- - The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
--
-- $sel:unmanagedvCpus:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_unmanagedvCpus - The maximum number of
-- VCPUs expected to be used for an unmanaged compute environment.
--
-- $sel:updatePolicy:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_updatePolicy - Specifies the
-- infrastructure update policy for the compute environment. For more
-- information about infrastructure updates, see Updating compute
-- environments in the Batch User Guide.
--
-- $sel:uuid:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_uuid - Unique identifier for the
-- compute environment.
--
-- $sel:computeEnvironmentName:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeEnvironmentName - The name of
-- the compute environment. It can be up to 128 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
--
-- $sel:computeEnvironmentArn:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeEnvironmentArn - The Amazon
-- Resource Name (ARN) of the compute environment.
newComputeEnvironmentDetail :: Text -> Text -> ComputeEnvironmentDetail
-- | The compute resources defined for the compute environment. For more
-- information, see Compute environments in the Batch User
-- Guide.
computeEnvironmentDetail_computeResources :: Lens' ComputeEnvironmentDetail (Maybe ComputeResource)
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
computeEnvironmentDetail_containerOrchestrationType :: Lens' ComputeEnvironmentDetail (Maybe OrchestrationType)
-- | The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
-- that the compute environment uses.
computeEnvironmentDetail_ecsClusterArn :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
computeEnvironmentDetail_eksConfiguration :: Lens' ComputeEnvironmentDetail (Maybe EksConfiguration)
-- | The service role that's associated with the compute environment that
-- allows Batch to make calls to Amazon Web Services API operations on
-- your behalf. For more information, see Batch service IAM role
-- in the Batch User Guide.
computeEnvironmentDetail_serviceRole :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The state of the compute environment. The valid values are
-- ENABLED or DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
computeEnvironmentDetail_state :: Lens' ComputeEnvironmentDetail (Maybe CEState)
-- | The current status of the compute environment (for example,
-- CREATING or VALID).
computeEnvironmentDetail_status :: Lens' ComputeEnvironmentDetail (Maybe CEStatus)
-- | A short, human-readable string to provide additional details for the
-- current status of the compute environment.
computeEnvironmentDetail_statusReason :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The tags applied to the compute environment.
computeEnvironmentDetail_tags :: Lens' ComputeEnvironmentDetail (Maybe (HashMap Text Text))
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
computeEnvironmentDetail_type :: Lens' ComputeEnvironmentDetail (Maybe CEType)
-- | The maximum number of VCPUs expected to be used for an unmanaged
-- compute environment.
computeEnvironmentDetail_unmanagedvCpus :: Lens' ComputeEnvironmentDetail (Maybe Int)
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
computeEnvironmentDetail_updatePolicy :: Lens' ComputeEnvironmentDetail (Maybe UpdatePolicy)
-- | Unique identifier for the compute environment.
computeEnvironmentDetail_uuid :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
computeEnvironmentDetail_computeEnvironmentName :: Lens' ComputeEnvironmentDetail Text
-- | The Amazon Resource Name (ARN) of the compute environment.
computeEnvironmentDetail_computeEnvironmentArn :: Lens' ComputeEnvironmentDetail Text
-- | The order that compute environments are tried in for job placement
-- within a queue. Compute environments are tried in ascending order. For
-- example, if two compute environments are associated with a job queue,
-- the compute environment with a lower order integer value is tried for
-- job placement first. Compute environments must be in the
-- VALID state before you can associate them with a job queue.
-- All of the compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT);
-- EC2 and Fargate compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
--
-- See: newComputeEnvironmentOrder smart constructor.
data ComputeEnvironmentOrder
ComputeEnvironmentOrder' :: Int -> Text -> ComputeEnvironmentOrder
-- | The order of the compute environment. Compute environments are tried
-- in ascending order. For example, if two compute environments are
-- associated with a job queue, the compute environment with a lower
-- order integer value is tried for job placement first.
[$sel:order:ComputeEnvironmentOrder'] :: ComputeEnvironmentOrder -> Int
-- | The Amazon Resource Name (ARN) of the compute environment.
[$sel:computeEnvironment:ComputeEnvironmentOrder'] :: ComputeEnvironmentOrder -> Text
-- | Create a value of ComputeEnvironmentOrder with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:order:ComputeEnvironmentOrder',
-- computeEnvironmentOrder_order - The order of the compute
-- environment. Compute environments are tried in ascending order. For
-- example, if two compute environments are associated with a job queue,
-- the compute environment with a lower order integer value is
-- tried for job placement first.
--
-- $sel:computeEnvironment:ComputeEnvironmentOrder',
-- computeEnvironmentOrder_computeEnvironment - The Amazon
-- Resource Name (ARN) of the compute environment.
newComputeEnvironmentOrder :: Int -> Text -> ComputeEnvironmentOrder
-- | The order of the compute environment. Compute environments are tried
-- in ascending order. For example, if two compute environments are
-- associated with a job queue, the compute environment with a lower
-- order integer value is tried for job placement first.
computeEnvironmentOrder_order :: Lens' ComputeEnvironmentOrder Int
-- | The Amazon Resource Name (ARN) of the compute environment.
computeEnvironmentOrder_computeEnvironment :: Lens' ComputeEnvironmentOrder Text
-- | An object that represents an Batch compute resource. For more
-- information, see Compute environments in the Batch User
-- Guide.
--
-- See: newComputeResource smart constructor.
data ComputeResource
ComputeResource' :: Maybe CRAllocationStrategy -> Maybe Int -> Maybe Int -> Maybe [Ec2Configuration] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe LaunchTemplateSpecification -> Maybe Int -> Maybe Text -> Maybe [Text] -> Maybe Text -> Maybe (HashMap Text Text) -> CRType -> Int -> [Text] -> ComputeResource
-- | The allocation strategy to use for the compute resource if not enough
-- instances of the best fitting instance type can be allocated. This
-- might be because of availability of the instance type in the Region or
-- Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
[$sel:allocationStrategy:ComputeResource'] :: ComputeResource -> Maybe CRAllocationStrategy
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, then the
-- Spot price must be less than 20% of the current On-Demand price for
-- that Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. If you leave this field
-- empty, the default value is 100% of the On-Demand price. For most use
-- cases, we recommend leaving this field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:bidPercentage:ComputeResource'] :: ComputeResource -> Maybe Int
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:desiredvCpus:ComputeResource'] :: ComputeResource -> Maybe Int
-- | Provides information that's used to select Amazon Machine Images
-- (AMIs) for EC2 instances in the compute environment. If
-- Ec2Configuration isn't specified, the default is
-- ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2Configuration:ComputeResource'] :: ComputeResource -> Maybe [Ec2Configuration]
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2KeyPair:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
[$sel:imageId:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:instanceRole:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
[$sel:instanceTypes:ComputeResource'] :: ComputeResource -> Maybe [Text]
-- | The launch template to use for your compute resources. Any other
-- compute resource parameters that you specify in a
-- CreateComputeEnvironment API operation override the same parameters in
-- the launch template. You must specify either the launch template ID or
-- launch template name in the request, but not both. For more
-- information, see Launch template support in the Batch User
-- Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:launchTemplate:ComputeResource'] :: ComputeResource -> Maybe LaunchTemplateSpecification
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:minvCpus:ComputeResource'] :: ComputeResource -> Maybe Int
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:placementGroup:ComputeResource'] :: ComputeResource -> Maybe Text
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. One or more security groups must
-- be specified, either in securityGroupIds or using a launch
-- template referenced in launchTemplate. This parameter is
-- required for jobs that are running on Fargate resources and must
-- contain at least one security group. Fargate doesn't support launch
-- templates. If security groups are specified using both
-- securityGroupIds and launchTemplate, the values in
-- securityGroupIds are used.
[$sel:securityGroupIds:ComputeResource'] :: ComputeResource -> Maybe [Text]
-- | The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
-- applied to a SPOT compute environment. This role is required
-- if the allocation strategy set to BEST_FIT or if the
-- allocation strategy isn't specified. For more information, see
-- Amazon EC2 spot fleet role in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
[$sel:spotIamFleetRole:ComputeResource'] :: ComputeResource -> Maybe Text
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:tags:ComputeResource'] :: ComputeResource -> Maybe (HashMap Text Text)
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
[$sel:type':ComputeResource'] :: ComputeResource -> CRType
-- | The maximum number of Amazon EC2 vCPUs that a compute environment can
-- reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
[$sel:maxvCpus:ComputeResource'] :: ComputeResource -> Int
-- | The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
[$sel:subnets:ComputeResource'] :: ComputeResource -> [Text]
-- | Create a value of ComputeResource with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:allocationStrategy:ComputeResource',
-- computeResource_allocationStrategy - The allocation strategy to
-- use for the compute resource if not enough instances of the best
-- fitting instance type can be allocated. This might be because of
-- availability of the instance type in the Region or Amazon EC2
-- service limits. For more information, see Allocation
-- strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
--
-- $sel:bidPercentage:ComputeResource',
-- computeResource_bidPercentage - The maximum percentage that a
-- Spot Instance price can be when compared with the On-Demand price for
-- that instance type before instances are launched. For example, if your
-- maximum percentage is 20%, then the Spot price must be less than 20%
-- of the current On-Demand price for that Amazon EC2 instance. You
-- always pay the lowest (market) price and never more than your maximum
-- percentage. If you leave this field empty, the default value is 100%
-- of the On-Demand price. For most use cases, we recommend leaving this
-- field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:desiredvCpus:ComputeResource',
-- computeResource_desiredvCpus - The desired number of Amazon EC2
-- vCPUS in the compute environment. Batch modifies this value between
-- the minimum and maximum values based on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2Configuration:ComputeResource',
-- computeResource_ec2Configuration - Provides information that's
-- used to select Amazon Machine Images (AMIs) for EC2 instances in the
-- compute environment. If Ec2Configuration isn't specified, the
-- default is ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2KeyPair:ComputeResource',
-- computeResource_ec2KeyPair - The Amazon EC2 key pair that's
-- used for instances launched in the compute environment. You can use
-- this key pair to log in to your instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:imageId:ComputeResource', computeResource_imageId -
-- The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:instanceRole:ComputeResource',
-- computeResource_instanceRole - The Amazon ECS instance profile
-- applied to Amazon EC2 instances in a compute environment. You can
-- specify the short name or full Amazon Resource Name (ARN) of an
-- instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:instanceTypes:ComputeResource',
-- computeResource_instanceTypes - The instances types that can be
-- launched. You can specify instance families to launch any instance
-- type within those families (for example, c5 or p3),
-- or you can specify specific sizes within a family (such as
-- c5.8xlarge). You can also choose optimal to select
-- instance types (from the C4, M4, and R4 instance families) that match
-- the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
--
-- $sel:launchTemplate:ComputeResource',
-- computeResource_launchTemplate - The launch template to use for
-- your compute resources. Any other compute resource parameters that you
-- specify in a CreateComputeEnvironment API operation override the same
-- parameters in the launch template. You must specify either the launch
-- template ID or launch template name in the request, but not both. For
-- more information, see Launch template support in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:minvCpus:ComputeResource', computeResource_minvCpus
-- - The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:placementGroup:ComputeResource',
-- computeResource_placementGroup - The Amazon EC2 placement group
-- to associate with your compute resources. If you intend to submit
-- multi-node parallel jobs to your compute environment, you should
-- consider creating a cluster placement group and associate it with your
-- compute resources. This keeps your multi-node parallel job on a
-- logical grouping of instances within a single Availability Zone with
-- high network flow potential. For more information, see Placement
-- groups in the Amazon EC2 User Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:securityGroupIds:ComputeResource',
-- computeResource_securityGroupIds - The Amazon EC2 security
-- groups that are associated with instances launched in the compute
-- environment. One or more security groups must be specified, either in
-- securityGroupIds or using a launch template referenced in
-- launchTemplate. This parameter is required for jobs that are
-- running on Fargate resources and must contain at least one security
-- group. Fargate doesn't support launch templates. If security groups
-- are specified using both securityGroupIds and
-- launchTemplate, the values in securityGroupIds are
-- used.
--
-- $sel:spotIamFleetRole:ComputeResource',
-- computeResource_spotIamFleetRole - The Amazon Resource Name
-- (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT
-- compute environment. This role is required if the allocation strategy
-- set to BEST_FIT or if the allocation strategy isn't
-- specified. For more information, see Amazon EC2 spot fleet role
-- in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
--
-- $sel:tags:ComputeResource', computeResource_tags -
-- Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:type':ComputeResource', computeResource_type - The
-- type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- $sel:maxvCpus:ComputeResource', computeResource_maxvCpus
-- - The maximum number of Amazon EC2 vCPUs that a compute environment
-- can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
--
-- $sel:subnets:ComputeResource', computeResource_subnets -
-- The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
newComputeResource :: CRType -> Int -> ComputeResource
-- | The allocation strategy to use for the compute resource if not enough
-- instances of the best fitting instance type can be allocated. This
-- might be because of availability of the instance type in the Region or
-- Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
computeResource_allocationStrategy :: Lens' ComputeResource (Maybe CRAllocationStrategy)
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, then the
-- Spot price must be less than 20% of the current On-Demand price for
-- that Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. If you leave this field
-- empty, the default value is 100% of the On-Demand price. For most use
-- cases, we recommend leaving this field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_bidPercentage :: Lens' ComputeResource (Maybe Int)
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_desiredvCpus :: Lens' ComputeResource (Maybe Int)
-- | Provides information that's used to select Amazon Machine Images
-- (AMIs) for EC2 instances in the compute environment. If
-- Ec2Configuration isn't specified, the default is
-- ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_ec2Configuration :: Lens' ComputeResource (Maybe [Ec2Configuration])
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_ec2KeyPair :: Lens' ComputeResource (Maybe Text)
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
computeResource_imageId :: Lens' ComputeResource (Maybe Text)
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_instanceRole :: Lens' ComputeResource (Maybe Text)
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
computeResource_instanceTypes :: Lens' ComputeResource (Maybe [Text])
-- | The launch template to use for your compute resources. Any other
-- compute resource parameters that you specify in a
-- CreateComputeEnvironment API operation override the same parameters in
-- the launch template. You must specify either the launch template ID or
-- launch template name in the request, but not both. For more
-- information, see Launch template support in the Batch User
-- Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_launchTemplate :: Lens' ComputeResource (Maybe LaunchTemplateSpecification)
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_minvCpus :: Lens' ComputeResource (Maybe Int)
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_placementGroup :: Lens' ComputeResource (Maybe Text)
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. One or more security groups must
-- be specified, either in securityGroupIds or using a launch
-- template referenced in launchTemplate. This parameter is
-- required for jobs that are running on Fargate resources and must
-- contain at least one security group. Fargate doesn't support launch
-- templates. If security groups are specified using both
-- securityGroupIds and launchTemplate, the values in
-- securityGroupIds are used.
computeResource_securityGroupIds :: Lens' ComputeResource (Maybe [Text])
-- | The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
-- applied to a SPOT compute environment. This role is required
-- if the allocation strategy set to BEST_FIT or if the
-- allocation strategy isn't specified. For more information, see
-- Amazon EC2 spot fleet role in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
computeResource_spotIamFleetRole :: Lens' ComputeResource (Maybe Text)
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_tags :: Lens' ComputeResource (Maybe (HashMap Text Text))
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
computeResource_type :: Lens' ComputeResource CRType
-- | The maximum number of Amazon EC2 vCPUs that a compute environment can
-- reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
computeResource_maxvCpus :: Lens' ComputeResource Int
-- | The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
computeResource_subnets :: Lens' ComputeResource [Text]
-- | An object that represents the attributes of a compute environment that
-- can be updated. For more information, see Updating compute
-- environments in the Batch User Guide.
--
-- See: newComputeResourceUpdate smart constructor.
data ComputeResourceUpdate
ComputeResourceUpdate' :: Maybe CRUpdateAllocationStrategy -> Maybe Int -> Maybe Int -> Maybe [Ec2Configuration] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe LaunchTemplateSpecification -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe (HashMap Text Text) -> Maybe CRType -> Maybe Bool -> ComputeResourceUpdate
-- | The allocation strategy to use for the compute resource if there's not
-- enough instances of the best fitting instance type that can be
-- allocated. This might be because of availability of the instance type
-- in the Region or Amazon EC2 service limits. For more
-- information, see Allocation strategies in the Batch User
-- Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
[$sel:allocationStrategy:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe CRUpdateAllocationStrategy
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, the Spot
-- price must be less than 20% of the current On-Demand price for that
-- Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. For most use cases, we
-- recommend leaving this field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:bidPercentage:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
[$sel:desiredvCpus:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- EC2 instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2Configuration:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Ec2Configuration]
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH. To remove the Amazon EC2 key pair, set this value
-- to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:ec2KeyPair:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure. To remove the custom AMI ID and use the default AMI ID, set
-- this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
[$sel:imageId:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:instanceRole:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
[$sel:instanceTypes:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Text]
-- | The updated launch template to use for your compute resources. You
-- must specify either the launch template ID or launch template name in
-- the request, but not both. For more information, see Launch
-- template support in the Batch User Guide. To remove the
-- custom launch template and use the default launch template, set
-- launchTemplateId or launchTemplateName member of the
-- launch template specification to an empty string. Removing the launch
-- template from a compute environment will not remove the AMI specified
-- in the launch template. In order to update the AMI specified in a
-- launch template, the updateToLatestImageVersion parameter
-- must be set to true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:launchTemplate:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe LaunchTemplateSpecification
-- | The maximum number of Amazon EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
[$sel:maxvCpus:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:minvCpus:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Int
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:placementGroup:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Text
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. This parameter is required for
-- Fargate compute resources, where it can contain up to 5 security
-- groups. For Fargate compute resources, providing an empty list is
-- handled as if this parameter wasn't specified and no change is made.
-- For EC2 compute resources, providing an empty list removes the
-- security groups from the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
[$sel:securityGroupIds:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Text]
-- | The VPC subnets where the compute resources are launched. Fargate
-- compute resources can contain up to 16 subnets. For Fargate compute
-- resources, providing an empty list will be handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the VPC subnets from the
-- compute resource. For more information, see VPCs and subnets in
-- the Amazon VPC User Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
[$sel:subnets:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe [Text]
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. These tags aren't seen
-- when using the Batch ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
[$sel:tags:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe (HashMap Text Text)
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
[$sel:type':ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe CRType
-- | Specifies whether the AMI ID is updated to the latest one that's
-- supported by Batch when the compute environment has an infrastructure
-- update. The default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
[$sel:updateToLatestImageVersion:ComputeResourceUpdate'] :: ComputeResourceUpdate -> Maybe Bool
-- | Create a value of ComputeResourceUpdate with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:allocationStrategy:ComputeResourceUpdate',
-- computeResourceUpdate_allocationStrategy - The allocation
-- strategy to use for the compute resource if there's not enough
-- instances of the best fitting instance type that can be allocated.
-- This might be because of availability of the instance type in the
-- Region or Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
--
-- $sel:bidPercentage:ComputeResourceUpdate',
-- computeResourceUpdate_bidPercentage - The maximum percentage
-- that a Spot Instance price can be when compared with the On-Demand
-- price for that instance type before instances are launched. For
-- example, if your maximum percentage is 20%, the Spot price must be
-- less than 20% of the current On-Demand price for that Amazon EC2
-- instance. You always pay the lowest (market) price and never more than
-- your maximum percentage. For most use cases, we recommend leaving this
-- field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:desiredvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_desiredvCpus - The desired number of
-- Amazon EC2 vCPUS in the compute environment. Batch modifies this value
-- between the minimum and maximum values based on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
--
-- $sel:ec2Configuration:ComputeResourceUpdate',
-- computeResourceUpdate_ec2Configuration - Provides information
-- used to select Amazon Machine Images (AMIs) for EC2 instances in the
-- compute environment. If Ec2Configuration isn't specified, the
-- default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2KeyPair:ComputeResourceUpdate',
-- computeResourceUpdate_ec2KeyPair - The Amazon EC2 key pair
-- that's used for instances launched in the compute environment. You can
-- use this key pair to log in to your instances with SSH. To remove the
-- Amazon EC2 key pair, set this value to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:imageId:ComputeResourceUpdate',
-- computeResourceUpdate_imageId - The Amazon Machine Image (AMI)
-- ID used for instances launched in the compute environment. This
-- parameter is overridden by the imageIdOverride member of the
-- Ec2Configuration structure. To remove the custom AMI ID and
-- use the default AMI ID, set this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:instanceRole:ComputeResourceUpdate',
-- computeResourceUpdate_instanceRole - The Amazon ECS instance
-- profile applied to Amazon EC2 instances in a compute environment. You
-- can specify the short name or full Amazon Resource Name (ARN) of an
-- instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:instanceTypes:ComputeResourceUpdate',
-- computeResourceUpdate_instanceTypes - The instances types that
-- can be launched. You can specify instance families to launch any
-- instance type within those families (for example, c5 or
-- p3), or you can specify specific sizes within a family (such
-- as c5.8xlarge). You can also choose optimal to
-- select instance types (from the C4, M4, and R4 instance families) that
-- match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
--
-- $sel:launchTemplate:ComputeResourceUpdate',
-- computeResourceUpdate_launchTemplate - The updated launch
-- template to use for your compute resources. You must specify either
-- the launch template ID or launch template name in the request, but not
-- both. For more information, see Launch template support in the
-- Batch User Guide. To remove the custom launch template and use
-- the default launch template, set launchTemplateId or
-- launchTemplateName member of the launch template
-- specification to an empty string. Removing the launch template from a
-- compute environment will not remove the AMI specified in the launch
-- template. In order to update the AMI specified in a launch template,
-- the updateToLatestImageVersion parameter must be set to
-- true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:maxvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_maxvCpus - The maximum number of Amazon
-- EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
--
-- $sel:minvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_minvCpus - The minimum number of Amazon
-- EC2 vCPUs that an environment should maintain (even if the compute
-- environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:placementGroup:ComputeResourceUpdate',
-- computeResourceUpdate_placementGroup - The Amazon EC2 placement
-- group to associate with your compute resources. If you intend to
-- submit multi-node parallel jobs to your compute environment, you
-- should consider creating a cluster placement group and associate it
-- with your compute resources. This keeps your multi-node parallel job
-- on a logical grouping of instances within a single Availability Zone
-- with high network flow potential. For more information, see
-- Placement groups in the Amazon EC2 User Guide for Linux
-- Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:securityGroupIds:ComputeResourceUpdate',
-- computeResourceUpdate_securityGroupIds - The Amazon EC2
-- security groups that are associated with instances launched in the
-- compute environment. This parameter is required for Fargate compute
-- resources, where it can contain up to 5 security groups. For Fargate
-- compute resources, providing an empty list is handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the security groups from
-- the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- $sel:subnets:ComputeResourceUpdate',
-- computeResourceUpdate_subnets - The VPC subnets where the
-- compute resources are launched. Fargate compute resources can contain
-- up to 16 subnets. For Fargate compute resources, providing an empty
-- list will be handled as if this parameter wasn't specified and no
-- change is made. For EC2 compute resources, providing an empty list
-- removes the VPC subnets from the compute resource. For more
-- information, see VPCs and subnets in the Amazon VPC User
-- Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
--
-- $sel:tags:ComputeResourceUpdate',
-- computeResourceUpdate_tags - Key-value pair tags to be applied
-- to EC2 resources that are launched in the compute environment. For
-- Batch, these take the form of "String1": "String2", where
-- String1 is the tag key and String2 is the tag
-- value-for example, { "Name": "Batch Instance - C4OnDemand" }.
-- This is helpful for recognizing your Batch instances in the Amazon EC2
-- console. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:type':ComputeResourceUpdate',
-- computeResourceUpdate_type - The type of compute environment:
-- EC2, SPOT, FARGATE, or
-- FARGATE_SPOT. For more information, see Compute
-- environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
--
-- $sel:updateToLatestImageVersion:ComputeResourceUpdate',
-- computeResourceUpdate_updateToLatestImageVersion - Specifies
-- whether the AMI ID is updated to the latest one that's supported by
-- Batch when the compute environment has an infrastructure update. The
-- default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
newComputeResourceUpdate :: ComputeResourceUpdate
-- | The allocation strategy to use for the compute resource if there's not
-- enough instances of the best fitting instance type that can be
-- allocated. This might be because of availability of the instance type
-- in the Region or Amazon EC2 service limits. For more
-- information, see Allocation strategies in the Batch User
-- Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
computeResourceUpdate_allocationStrategy :: Lens' ComputeResourceUpdate (Maybe CRUpdateAllocationStrategy)
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, the Spot
-- price must be less than 20% of the current On-Demand price for that
-- Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. For most use cases, we
-- recommend leaving this field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_bidPercentage :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
computeResourceUpdate_desiredvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- EC2 instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_ec2Configuration :: Lens' ComputeResourceUpdate (Maybe [Ec2Configuration])
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH. To remove the Amazon EC2 key pair, set this value
-- to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_ec2KeyPair :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure. To remove the custom AMI ID and use the default AMI ID, set
-- this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
computeResourceUpdate_imageId :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_instanceRole :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
computeResourceUpdate_instanceTypes :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | The updated launch template to use for your compute resources. You
-- must specify either the launch template ID or launch template name in
-- the request, but not both. For more information, see Launch
-- template support in the Batch User Guide. To remove the
-- custom launch template and use the default launch template, set
-- launchTemplateId or launchTemplateName member of the
-- launch template specification to an empty string. Removing the launch
-- template from a compute environment will not remove the AMI specified
-- in the launch template. In order to update the AMI specified in a
-- launch template, the updateToLatestImageVersion parameter
-- must be set to true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_launchTemplate :: Lens' ComputeResourceUpdate (Maybe LaunchTemplateSpecification)
-- | The maximum number of Amazon EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
computeResourceUpdate_maxvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_minvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_placementGroup :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. This parameter is required for
-- Fargate compute resources, where it can contain up to 5 security
-- groups. For Fargate compute resources, providing an empty list is
-- handled as if this parameter wasn't specified and no change is made.
-- For EC2 compute resources, providing an empty list removes the
-- security groups from the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
computeResourceUpdate_securityGroupIds :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | The VPC subnets where the compute resources are launched. Fargate
-- compute resources can contain up to 16 subnets. For Fargate compute
-- resources, providing an empty list will be handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the VPC subnets from the
-- compute resource. For more information, see VPCs and subnets in
-- the Amazon VPC User Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
computeResourceUpdate_subnets :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. These tags aren't seen
-- when using the Batch ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_tags :: Lens' ComputeResourceUpdate (Maybe (HashMap Text Text))
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
computeResourceUpdate_type :: Lens' ComputeResourceUpdate (Maybe CRType)
-- | Specifies whether the AMI ID is updated to the latest one that's
-- supported by Batch when the compute environment has an infrastructure
-- update. The default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
computeResourceUpdate_updateToLatestImageVersion :: Lens' ComputeResourceUpdate (Maybe Bool)
-- | An object that represents the details of a container that's part of a
-- job.
--
-- See: newContainerDetail smart constructor.
data ContainerDetail
ContainerDetail' :: Maybe [Text] -> Maybe Text -> Maybe [KeyValuePair] -> Maybe Text -> Maybe Int -> Maybe FargatePlatformConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe LinuxParameters -> Maybe LogConfiguration -> Maybe Text -> Maybe Int -> Maybe [MountPoint] -> Maybe NetworkConfiguration -> Maybe [NetworkInterface] -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe [ResourceRequirement] -> Maybe [Secret] -> Maybe Text -> Maybe [Ulimit] -> Maybe Text -> Maybe Int -> Maybe [Volume] -> ContainerDetail
-- | The command that's passed to the container.
[$sel:command:ContainerDetail'] :: ContainerDetail -> Maybe [Text]
-- | The Amazon Resource Name (ARN) of the container instance that the
-- container is running on.
[$sel:containerInstanceArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:environment:ContainerDetail'] :: ContainerDetail -> Maybe [KeyValuePair]
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For more information, see Batch execution IAM role in
-- the Batch User Guide.
[$sel:executionRoleArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The exit code to return upon completion.
[$sel:exitCode:ContainerDetail'] :: ContainerDetail -> Maybe Int
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:fargatePlatformConfiguration:ContainerDetail'] :: ContainerDetail -> Maybe FargatePlatformConfiguration
-- | The image used to start the container.
[$sel:image:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The instance type of the underlying host infrastructure of a
-- multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
[$sel:instanceType:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The Amazon Resource Name (ARN) that's associated with the job when
-- run.
[$sel:jobRoleArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
[$sel:linuxParameters:ContainerDetail'] :: ContainerDetail -> Maybe LinuxParameters
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
[$sel:logConfiguration:ContainerDetail'] :: ContainerDetail -> Maybe LogConfiguration
-- | The name of the Amazon CloudWatch Logs log stream that's associated
-- with the container. The log group for Batch jobs is
-- /aws/batch/job. Each container attempt receives a log stream
-- name when they reach the RUNNING status.
[$sel:logStreamName:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
[$sel:memory:ContainerDetail'] :: ContainerDetail -> Maybe Int
-- | The mount points for data volumes in your container.
[$sel:mountPoints:ContainerDetail'] :: ContainerDetail -> Maybe [MountPoint]
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:networkConfiguration:ContainerDetail'] :: ContainerDetail -> Maybe NetworkConfiguration
-- | The network interfaces that are associated with the job.
[$sel:networkInterfaces:ContainerDetail'] :: ContainerDetail -> Maybe [NetworkInterface]
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
[$sel:privileged:ContainerDetail'] :: ContainerDetail -> Maybe Bool
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run .
[$sel:readonlyRootFilesystem:ContainerDetail'] :: ContainerDetail -> Maybe Bool
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
[$sel:resourceRequirements:ContainerDetail'] :: ContainerDetail -> Maybe [ResourceRequirement]
-- | The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
[$sel:secrets:ContainerDetail'] :: ContainerDetail -> Maybe [Secret]
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
[$sel:taskArn:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
[$sel:ulimits:ContainerDetail'] :: ContainerDetail -> Maybe [Ulimit]
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
[$sel:user:ContainerDetail'] :: ContainerDetail -> Maybe Text
-- | The number of vCPUs reserved for the container. For jobs that run on
-- EC2 resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
[$sel:vcpus:ContainerDetail'] :: ContainerDetail -> Maybe Int
-- | A list of volumes that are associated with the job.
[$sel:volumes:ContainerDetail'] :: ContainerDetail -> Maybe [Volume]
-- | Create a value of ContainerDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerDetail', containerDetail_command -
-- The command that's passed to the container.
--
-- $sel:containerInstanceArn:ContainerDetail',
-- containerDetail_containerInstanceArn - The Amazon Resource Name
-- (ARN) of the container instance that the container is running on.
--
-- $sel:environment:ContainerDetail',
-- containerDetail_environment - The environment variables to pass
-- to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:executionRoleArn:ContainerDetail',
-- containerDetail_executionRoleArn - The Amazon Resource Name
-- (ARN) of the execution role that Batch can assume. For more
-- information, see Batch execution IAM role in the Batch User
-- Guide.
--
-- $sel:exitCode:ContainerDetail', containerDetail_exitCode
-- - The exit code to return upon completion.
--
-- $sel:fargatePlatformConfiguration:ContainerDetail',
-- containerDetail_fargatePlatformConfiguration - The platform
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:image:ContainerDetail', containerDetail_image - The
-- image used to start the container.
--
-- $sel:instanceType:ContainerDetail',
-- containerDetail_instanceType - The instance type of the
-- underlying host infrastructure of a multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
--
-- $sel:jobRoleArn:ContainerDetail',
-- containerDetail_jobRoleArn - The Amazon Resource Name (ARN)
-- that's associated with the job when run.
--
-- $sel:linuxParameters:ContainerDetail',
-- containerDetail_linuxParameters - Linux-specific modifications
-- that are applied to the container, such as details for device
-- mappings.
--
-- $sel:logConfiguration:ContainerDetail',
-- containerDetail_logConfiguration - The log configuration
-- specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
--
-- $sel:logStreamName:ContainerDetail',
-- containerDetail_logStreamName - The name of the Amazon
-- CloudWatch Logs log stream that's associated with the container. The
-- log group for Batch jobs is /aws/batch/job. Each container
-- attempt receives a log stream name when they reach the
-- RUNNING status.
--
-- $sel:memory:ContainerDetail', containerDetail_memory -
-- For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
--
-- $sel:mountPoints:ContainerDetail',
-- containerDetail_mountPoints - The mount points for data volumes
-- in your container.
--
-- $sel:networkConfiguration:ContainerDetail',
-- containerDetail_networkConfiguration - The network
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:networkInterfaces:ContainerDetail',
-- containerDetail_networkInterfaces - The network interfaces that
-- are associated with the job.
--
-- $sel:privileged:ContainerDetail',
-- containerDetail_privileged - When this parameter is true, the
-- container is given elevated permissions on the host container instance
-- (similar to the root user). The default value is
-- false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
--
-- $sel:readonlyRootFilesystem:ContainerDetail',
-- containerDetail_readonlyRootFilesystem - When this parameter is
-- true, the container is given read-only access to its root file system.
-- This parameter maps to ReadonlyRootfs in the Create a
-- container section of the Docker Remote API and the
-- --read-only option to docker run .
--
-- $sel:reason:ContainerDetail', containerDetail_reason - A
-- short (255 max characters) human-readable string to provide additional
-- details for a running or stopped container.
--
-- $sel:resourceRequirements:ContainerDetail',
-- containerDetail_resourceRequirements - The type and amount of
-- resources to assign to a container. The supported resources include
-- GPU, MEMORY, and VCPU.
--
-- $sel:secrets:ContainerDetail', containerDetail_secrets -
-- The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
--
-- $sel:taskArn:ContainerDetail', containerDetail_taskArn -
-- The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
--
-- $sel:ulimits:ContainerDetail', containerDetail_ulimits -
-- A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
--
-- $sel:user:ContainerDetail', containerDetail_user - The
-- user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
--
-- $sel:vcpus:ContainerDetail', containerDetail_vcpus - The
-- number of vCPUs reserved for the container. For jobs that run on EC2
-- resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
--
-- $sel:volumes:ContainerDetail', containerDetail_volumes -
-- A list of volumes that are associated with the job.
newContainerDetail :: ContainerDetail
-- | The command that's passed to the container.
containerDetail_command :: Lens' ContainerDetail (Maybe [Text])
-- | The Amazon Resource Name (ARN) of the container instance that the
-- container is running on.
containerDetail_containerInstanceArn :: Lens' ContainerDetail (Maybe Text)
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
containerDetail_environment :: Lens' ContainerDetail (Maybe [KeyValuePair])
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For more information, see Batch execution IAM role in
-- the Batch User Guide.
containerDetail_executionRoleArn :: Lens' ContainerDetail (Maybe Text)
-- | The exit code to return upon completion.
containerDetail_exitCode :: Lens' ContainerDetail (Maybe Int)
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerDetail_fargatePlatformConfiguration :: Lens' ContainerDetail (Maybe FargatePlatformConfiguration)
-- | The image used to start the container.
containerDetail_image :: Lens' ContainerDetail (Maybe Text)
-- | The instance type of the underlying host infrastructure of a
-- multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
containerDetail_instanceType :: Lens' ContainerDetail (Maybe Text)
-- | The Amazon Resource Name (ARN) that's associated with the job when
-- run.
containerDetail_jobRoleArn :: Lens' ContainerDetail (Maybe Text)
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
containerDetail_linuxParameters :: Lens' ContainerDetail (Maybe LinuxParameters)
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
containerDetail_logConfiguration :: Lens' ContainerDetail (Maybe LogConfiguration)
-- | The name of the Amazon CloudWatch Logs log stream that's associated
-- with the container. The log group for Batch jobs is
-- /aws/batch/job. Each container attempt receives a log stream
-- name when they reach the RUNNING status.
containerDetail_logStreamName :: Lens' ContainerDetail (Maybe Text)
-- | For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
containerDetail_memory :: Lens' ContainerDetail (Maybe Int)
-- | The mount points for data volumes in your container.
containerDetail_mountPoints :: Lens' ContainerDetail (Maybe [MountPoint])
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerDetail_networkConfiguration :: Lens' ContainerDetail (Maybe NetworkConfiguration)
-- | The network interfaces that are associated with the job.
containerDetail_networkInterfaces :: Lens' ContainerDetail (Maybe [NetworkInterface])
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
containerDetail_privileged :: Lens' ContainerDetail (Maybe Bool)
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run .
containerDetail_readonlyRootFilesystem :: Lens' ContainerDetail (Maybe Bool)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
containerDetail_reason :: Lens' ContainerDetail (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
containerDetail_resourceRequirements :: Lens' ContainerDetail (Maybe [ResourceRequirement])
-- | The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
containerDetail_secrets :: Lens' ContainerDetail (Maybe [Secret])
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
containerDetail_taskArn :: Lens' ContainerDetail (Maybe Text)
-- | A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
containerDetail_ulimits :: Lens' ContainerDetail (Maybe [Ulimit])
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
containerDetail_user :: Lens' ContainerDetail (Maybe Text)
-- | The number of vCPUs reserved for the container. For jobs that run on
-- EC2 resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
containerDetail_vcpus :: Lens' ContainerDetail (Maybe Int)
-- | A list of volumes that are associated with the job.
containerDetail_volumes :: Lens' ContainerDetail (Maybe [Volume])
-- | The overrides that should be sent to a container.
--
-- See: newContainerOverrides smart constructor.
data ContainerOverrides
ContainerOverrides' :: Maybe [Text] -> Maybe [KeyValuePair] -> Maybe Text -> Maybe Int -> Maybe [ResourceRequirement] -> Maybe Int -> ContainerOverrides
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
[$sel:command:ContainerOverrides'] :: ContainerOverrides -> Maybe [Text]
-- | 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.
[$sel:environment:ContainerOverrides'] :: ContainerOverrides -> Maybe [KeyValuePair]
-- | The instance type to use for a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
[$sel:instanceType:ContainerOverrides'] :: ContainerOverrides -> Maybe Text
-- | This parameter is deprecated, use resourceRequirements to
-- override the memory requirements specified in the job definition. It's
-- not supported for jobs running on Fargate resources. For jobs that run
-- on EC2 resources, it overrides the memory parameter set in
-- the job definition, but doesn't override any memory requirement that's
-- specified in the resourceRequirements structure in the job
-- definition. To override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
[$sel:memory:ContainerOverrides'] :: ContainerOverrides -> Maybe Int
-- | The type and amount of resources to assign to a container. This
-- overrides the settings in the job definition. The supported resources
-- include GPU, MEMORY, and VCPU.
[$sel:resourceRequirements:ContainerOverrides'] :: ContainerOverrides -> Maybe [ResourceRequirement]
-- | This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
[$sel:vcpus:ContainerOverrides'] :: ContainerOverrides -> Maybe Int
-- | Create a value of ContainerOverrides with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerOverrides',
-- containerOverrides_command - The command to send to the
-- container that overrides the default command from the Docker image or
-- the job definition.
--
-- $sel:environment:ContainerOverrides',
-- containerOverrides_environment - 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.
--
-- $sel:instanceType:ContainerOverrides',
-- containerOverrides_instanceType - The instance type to use for
-- a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
--
-- $sel:memory:ContainerOverrides',
-- containerOverrides_memory - This parameter is deprecated, use
-- resourceRequirements to override the memory requirements
-- specified in the job definition. It's not supported for jobs running
-- on Fargate resources. For jobs that run on EC2 resources, it overrides
-- the memory parameter set in the job definition, but doesn't
-- override any memory requirement that's specified in the
-- resourceRequirements structure in the job definition. To
-- override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
--
-- $sel:resourceRequirements:ContainerOverrides',
-- containerOverrides_resourceRequirements - The type and amount
-- of resources to assign to a container. This overrides the settings in
-- the job definition. The supported resources include GPU,
-- MEMORY, and VCPU.
--
-- $sel:vcpus:ContainerOverrides', containerOverrides_vcpus
-- - This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
newContainerOverrides :: ContainerOverrides
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
containerOverrides_command :: Lens' ContainerOverrides (Maybe [Text])
-- | 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.
containerOverrides_environment :: Lens' ContainerOverrides (Maybe [KeyValuePair])
-- | The instance type to use for a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
containerOverrides_instanceType :: Lens' ContainerOverrides (Maybe Text)
-- | This parameter is deprecated, use resourceRequirements to
-- override the memory requirements specified in the job definition. It's
-- not supported for jobs running on Fargate resources. For jobs that run
-- on EC2 resources, it overrides the memory parameter set in
-- the job definition, but doesn't override any memory requirement that's
-- specified in the resourceRequirements structure in the job
-- definition. To override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
containerOverrides_memory :: Lens' ContainerOverrides (Maybe Int)
-- | The type and amount of resources to assign to a container. This
-- overrides the settings in the job definition. The supported resources
-- include GPU, MEMORY, and VCPU.
containerOverrides_resourceRequirements :: Lens' ContainerOverrides (Maybe [ResourceRequirement])
-- | This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
containerOverrides_vcpus :: Lens' ContainerOverrides (Maybe Int)
-- | Container properties are used for Amazon ECS based job definitions.
-- These properties to describe the container that's launched as part of
-- a job.
--
-- See: newContainerProperties smart constructor.
data ContainerProperties
ContainerProperties' :: Maybe [Text] -> Maybe [KeyValuePair] -> Maybe Text -> Maybe FargatePlatformConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe LinuxParameters -> Maybe LogConfiguration -> Maybe Int -> Maybe [MountPoint] -> Maybe NetworkConfiguration -> Maybe Bool -> Maybe Bool -> Maybe [ResourceRequirement] -> Maybe [Secret] -> Maybe [Ulimit] -> Maybe Text -> Maybe Int -> Maybe [Volume] -> ContainerProperties
-- | The command that's passed to the container. This parameter maps to
-- Cmd in the Create a container section of the Docker
-- Remote API and the COMMAND parameter to docker
-- run. For more information, see
-- https://docs.docker.com/engine/reference/builder/#cmd.
[$sel:command:ContainerProperties'] :: ContainerProperties -> Maybe [Text]
-- | The environment variables to pass to a container. This parameter maps
-- to Env in the Create a container section of the
-- Docker Remote API and the --env option to docker
-- run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:environment:ContainerProperties'] :: ContainerProperties -> Maybe [KeyValuePair]
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For jobs that run on Fargate resources, you must provide an
-- execution role. For more information, see Batch execution IAM
-- role in the Batch User Guide.
[$sel:executionRoleArn:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:fargatePlatformConfiguration:ContainerProperties'] :: ContainerProperties -> Maybe FargatePlatformConfiguration
-- | The image used to start a container. This string is passed directly to
-- the Docker daemon. Images in the Docker Hub registry are available by
-- default. Other repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
[$sel:image:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | The instance type to use for a multi-node parallel job. All node
-- groups in a multi-node parallel job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
[$sel:instanceType:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | The Amazon Resource Name (ARN) of the IAM role that the container can
-- assume for Amazon Web Services permissions. For more information, see
-- IAM roles for tasks in the Amazon Elastic Container Service
-- Developer Guide.
[$sel:jobRoleArn:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
[$sel:linuxParameters:ContainerProperties'] :: ContainerProperties -> Maybe LinuxParameters
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
[$sel:logConfiguration:ContainerProperties'] :: ContainerProperties -> Maybe LogConfiguration
-- | This parameter is deprecated, use resourceRequirements to
-- specify the memory requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs that run on
-- EC2 resources, it specifies the memory hard limit (in MiB) for a
-- container. If your container attempts to exceed the specified number,
-- it's terminated. You must specify at least 4 MiB of memory for a job
-- using this parameter. The memory hard limit can be specified in
-- several places. It must be specified for each node at least once.
[$sel:memory:ContainerProperties'] :: ContainerProperties -> Maybe Int
-- | The mount points for data volumes in your container. This parameter
-- maps to Volumes in the Create a container section of
-- the Docker Remote API and the --volume option to
-- docker run.
[$sel:mountPoints:ContainerProperties'] :: ContainerProperties -> Maybe [MountPoint]
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
[$sel:networkConfiguration:ContainerProperties'] :: ContainerProperties -> Maybe NetworkConfiguration
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). This parameter maps to Privileged in the
-- Create a container section of the Docker Remote API and
-- the --privileged option to docker run. The default
-- value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
[$sel:privileged:ContainerProperties'] :: ContainerProperties -> Maybe Bool
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run.
[$sel:readonlyRootFilesystem:ContainerProperties'] :: ContainerProperties -> Maybe Bool
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
[$sel:resourceRequirements:ContainerProperties'] :: ContainerProperties -> Maybe [ResourceRequirement]
-- | The secrets for the container. For more information, see Specifying
-- sensitive data in the Batch User Guide.
[$sel:secrets:ContainerProperties'] :: ContainerProperties -> Maybe [Secret]
-- | A list of ulimits to set in the container. This parameter
-- maps to Ulimits in the Create a container section of
-- the Docker Remote API and the --ulimit option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
[$sel:ulimits:ContainerProperties'] :: ContainerProperties -> Maybe [Ulimit]
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
[$sel:user:ContainerProperties'] :: ContainerProperties -> Maybe Text
-- | This parameter is deprecated, use resourceRequirements to
-- specify the vCPU requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs running on
-- EC2 resources, it specifies the number of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
[$sel:vcpus:ContainerProperties'] :: ContainerProperties -> Maybe Int
-- | A list of data volumes used in a job.
[$sel:volumes:ContainerProperties'] :: ContainerProperties -> Maybe [Volume]
-- | Create a value of ContainerProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerProperties',
-- containerProperties_command - The command that's passed to the
-- container. This parameter maps to Cmd in the Create a
-- container section of the Docker Remote API and the
-- COMMAND parameter to docker run. For more information,
-- see https://docs.docker.com/engine/reference/builder/#cmd.
--
-- $sel:environment:ContainerProperties',
-- containerProperties_environment - The environment variables to
-- pass to a container. This parameter maps to Env in the
-- Create a container section of the Docker Remote API and
-- the --env option to docker run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:executionRoleArn:ContainerProperties',
-- containerProperties_executionRoleArn - The Amazon Resource Name
-- (ARN) of the execution role that Batch can assume. For jobs that run
-- on Fargate resources, you must provide an execution role. For more
-- information, see Batch execution IAM role in the Batch User
-- Guide.
--
-- $sel:fargatePlatformConfiguration:ContainerProperties',
-- containerProperties_fargatePlatformConfiguration - The platform
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:image:ContainerProperties',
-- containerProperties_image - The image used to start a
-- container. This string is passed directly to the Docker daemon. Images
-- in the Docker Hub registry are available by default. Other
-- repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
--
-- $sel:instanceType:ContainerProperties',
-- containerProperties_instanceType - The instance type to use for
-- a multi-node parallel job. All node groups in a multi-node parallel
-- job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
--
-- $sel:jobRoleArn:ContainerProperties',
-- containerProperties_jobRoleArn - The Amazon Resource Name (ARN)
-- of the IAM role that the container can assume for Amazon Web Services
-- permissions. For more information, see IAM roles for tasks in
-- the Amazon Elastic Container Service Developer Guide.
--
-- $sel:linuxParameters:ContainerProperties',
-- containerProperties_linuxParameters - Linux-specific
-- modifications that are applied to the container, such as details for
-- device mappings.
--
-- $sel:logConfiguration:ContainerProperties',
-- containerProperties_logConfiguration - The log configuration
-- specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
--
-- $sel:memory:ContainerProperties',
-- containerProperties_memory - This parameter is deprecated, use
-- resourceRequirements to specify the memory requirements for
-- the job definition. It's not supported for jobs running on Fargate
-- resources. For jobs that run on EC2 resources, it specifies the memory
-- hard limit (in MiB) for a container. If your container attempts to
-- exceed the specified number, it's terminated. You must specify at
-- least 4 MiB of memory for a job using this parameter. The memory hard
-- limit can be specified in several places. It must be specified for
-- each node at least once.
--
-- $sel:mountPoints:ContainerProperties',
-- containerProperties_mountPoints - The mount points for data
-- volumes in your container. This parameter maps to Volumes in
-- the Create a container section of the Docker Remote API
-- and the --volume option to docker run.
--
-- $sel:networkConfiguration:ContainerProperties',
-- containerProperties_networkConfiguration - The network
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:privileged:ContainerProperties',
-- containerProperties_privileged - When this parameter is true,
-- the container is given elevated permissions on the host container
-- instance (similar to the root user). This parameter maps to
-- Privileged in the Create a container section of the
-- Docker Remote API and the --privileged option to
-- docker run. The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
--
-- $sel:readonlyRootFilesystem:ContainerProperties',
-- containerProperties_readonlyRootFilesystem - When this
-- parameter is true, the container is given read-only access to its root
-- file system. This parameter maps to ReadonlyRootfs in the
-- Create a container section of the Docker Remote API and
-- the --read-only option to docker run.
--
-- $sel:resourceRequirements:ContainerProperties',
-- containerProperties_resourceRequirements - The type and amount
-- of resources to assign to a container. The supported resources include
-- GPU, MEMORY, and VCPU.
--
-- $sel:secrets:ContainerProperties',
-- containerProperties_secrets - The secrets for the container.
-- For more information, see Specifying sensitive data in the
-- Batch User Guide.
--
-- $sel:ulimits:ContainerProperties',
-- containerProperties_ulimits - A list of ulimits to set
-- in the container. This parameter maps to Ulimits in the
-- Create a container section of the Docker Remote API and
-- the --ulimit option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- $sel:user:ContainerProperties', containerProperties_user
-- - The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
--
-- $sel:vcpus:ContainerProperties',
-- containerProperties_vcpus - This parameter is deprecated, use
-- resourceRequirements to specify the vCPU requirements for the
-- job definition. It's not supported for jobs running on Fargate
-- resources. For jobs running on EC2 resources, it specifies the number
-- of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
--
-- $sel:volumes:ContainerProperties',
-- containerProperties_volumes - A list of data volumes used in a
-- job.
newContainerProperties :: ContainerProperties
-- | The command that's passed to the container. This parameter maps to
-- Cmd in the Create a container section of the Docker
-- Remote API and the COMMAND parameter to docker
-- run. For more information, see
-- https://docs.docker.com/engine/reference/builder/#cmd.
containerProperties_command :: Lens' ContainerProperties (Maybe [Text])
-- | The environment variables to pass to a container. This parameter maps
-- to Env in the Create a container section of the
-- Docker Remote API and the --env option to docker
-- run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
containerProperties_environment :: Lens' ContainerProperties (Maybe [KeyValuePair])
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For jobs that run on Fargate resources, you must provide an
-- execution role. For more information, see Batch execution IAM
-- role in the Batch User Guide.
containerProperties_executionRoleArn :: Lens' ContainerProperties (Maybe Text)
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerProperties_fargatePlatformConfiguration :: Lens' ContainerProperties (Maybe FargatePlatformConfiguration)
-- | The image used to start a container. This string is passed directly to
-- the Docker daemon. Images in the Docker Hub registry are available by
-- default. Other repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
containerProperties_image :: Lens' ContainerProperties (Maybe Text)
-- | The instance type to use for a multi-node parallel job. All node
-- groups in a multi-node parallel job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
containerProperties_instanceType :: Lens' ContainerProperties (Maybe Text)
-- | The Amazon Resource Name (ARN) of the IAM role that the container can
-- assume for Amazon Web Services permissions. For more information, see
-- IAM roles for tasks in the Amazon Elastic Container Service
-- Developer Guide.
containerProperties_jobRoleArn :: Lens' ContainerProperties (Maybe Text)
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
containerProperties_linuxParameters :: Lens' ContainerProperties (Maybe LinuxParameters)
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
containerProperties_logConfiguration :: Lens' ContainerProperties (Maybe LogConfiguration)
-- | This parameter is deprecated, use resourceRequirements to
-- specify the memory requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs that run on
-- EC2 resources, it specifies the memory hard limit (in MiB) for a
-- container. If your container attempts to exceed the specified number,
-- it's terminated. You must specify at least 4 MiB of memory for a job
-- using this parameter. The memory hard limit can be specified in
-- several places. It must be specified for each node at least once.
containerProperties_memory :: Lens' ContainerProperties (Maybe Int)
-- | The mount points for data volumes in your container. This parameter
-- maps to Volumes in the Create a container section of
-- the Docker Remote API and the --volume option to
-- docker run.
containerProperties_mountPoints :: Lens' ContainerProperties (Maybe [MountPoint])
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerProperties_networkConfiguration :: Lens' ContainerProperties (Maybe NetworkConfiguration)
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). This parameter maps to Privileged in the
-- Create a container section of the Docker Remote API and
-- the --privileged option to docker run. The default
-- value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
containerProperties_privileged :: Lens' ContainerProperties (Maybe Bool)
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run.
containerProperties_readonlyRootFilesystem :: Lens' ContainerProperties (Maybe Bool)
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
containerProperties_resourceRequirements :: Lens' ContainerProperties (Maybe [ResourceRequirement])
-- | The secrets for the container. For more information, see Specifying
-- sensitive data in the Batch User Guide.
containerProperties_secrets :: Lens' ContainerProperties (Maybe [Secret])
-- | A list of ulimits to set in the container. This parameter
-- maps to Ulimits in the Create a container section of
-- the Docker Remote API and the --ulimit option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
containerProperties_ulimits :: Lens' ContainerProperties (Maybe [Ulimit])
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
containerProperties_user :: Lens' ContainerProperties (Maybe Text)
-- | This parameter is deprecated, use resourceRequirements to
-- specify the vCPU requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs running on
-- EC2 resources, it specifies the number of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
containerProperties_vcpus :: Lens' ContainerProperties (Maybe Int)
-- | A list of data volumes used in a job.
containerProperties_volumes :: Lens' ContainerProperties (Maybe [Volume])
-- | An object that represents summary details of a container within a job.
--
-- See: newContainerSummary smart constructor.
data ContainerSummary
ContainerSummary' :: Maybe Int -> Maybe Text -> ContainerSummary
-- | The exit code to return upon completion.
[$sel:exitCode:ContainerSummary'] :: ContainerSummary -> Maybe Int
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:ContainerSummary'] :: ContainerSummary -> Maybe Text
-- | Create a value of ContainerSummary with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:exitCode:ContainerSummary',
-- containerSummary_exitCode - The exit code to return upon
-- completion.
--
-- $sel:reason:ContainerSummary', containerSummary_reason -
-- A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
newContainerSummary :: ContainerSummary
-- | The exit code to return upon completion.
containerSummary_exitCode :: Lens' ContainerSummary (Maybe Int)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
containerSummary_reason :: Lens' ContainerSummary (Maybe Text)
-- | An object that represents a container instance host device.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- See: newDevice smart constructor.
data Device
Device' :: Maybe Text -> Maybe [DeviceCgroupPermission] -> Text -> Device
-- | The path inside the container that's used to expose the host device.
-- By default, the hostPath value is used.
[$sel:containerPath:Device'] :: Device -> Maybe Text
-- | The explicit permissions to provide to the container for the device.
-- By default, the container has permissions for read,
-- write, and mknod for the device.
[$sel:permissions:Device'] :: Device -> Maybe [DeviceCgroupPermission]
-- | The path for the device on the host container instance.
[$sel:hostPath:Device'] :: Device -> Text
-- | Create a value of Device with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerPath:Device', device_containerPath - The
-- path inside the container that's used to expose the host device. By
-- default, the hostPath value is used.
--
-- $sel:permissions:Device', device_permissions - The
-- explicit permissions to provide to the container for the device. By
-- default, the container has permissions for read,
-- write, and mknod for the device.
--
-- $sel:hostPath:Device', device_hostPath - The path for
-- the device on the host container instance.
newDevice :: Text -> Device
-- | The path inside the container that's used to expose the host device.
-- By default, the hostPath value is used.
device_containerPath :: Lens' Device (Maybe Text)
-- | The explicit permissions to provide to the container for the device.
-- By default, the container has permissions for read,
-- write, and mknod for the device.
device_permissions :: Lens' Device (Maybe [DeviceCgroupPermission])
-- | The path for the device on the host container instance.
device_hostPath :: Lens' Device Text
-- | The authorization configuration details for the Amazon EFS file
-- system.
--
-- See: newEFSAuthorizationConfig smart constructor.
data EFSAuthorizationConfig
EFSAuthorizationConfig' :: Maybe Text -> Maybe EFSAuthorizationConfigIAM -> EFSAuthorizationConfig
-- | The Amazon EFS access point ID to use. If an access point is
-- specified, the root directory value specified in the
-- EFSVolumeConfiguration must either be omitted or set to
-- / which enforces the path set on the EFS access point. If an
-- access point is used, transit encryption must be enabled in the
-- EFSVolumeConfiguration. For more information, see Working
-- with Amazon EFS access points in the Amazon Elastic File System
-- User Guide.
[$sel:accessPointId:EFSAuthorizationConfig'] :: EFSAuthorizationConfig -> Maybe Text
-- | Whether or not to use the Batch job IAM role defined in a job
-- definition when mounting the Amazon EFS file system. If enabled,
-- transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
[$sel:iam:EFSAuthorizationConfig'] :: EFSAuthorizationConfig -> Maybe EFSAuthorizationConfigIAM
-- | Create a value of EFSAuthorizationConfig with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:accessPointId:EFSAuthorizationConfig',
-- eFSAuthorizationConfig_accessPointId - The Amazon EFS access
-- point ID to use. If an access point is specified, the root directory
-- value specified in the EFSVolumeConfiguration must either be
-- omitted or set to / which enforces the path set on the EFS
-- access point. If an access point is used, transit encryption must be
-- enabled in the EFSVolumeConfiguration. For more information,
-- see Working with Amazon EFS access points in the Amazon
-- Elastic File System User Guide.
--
-- $sel:iam:EFSAuthorizationConfig',
-- eFSAuthorizationConfig_iam - Whether or not to use the Batch
-- job IAM role defined in a job definition when mounting the Amazon EFS
-- file system. If enabled, transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
newEFSAuthorizationConfig :: EFSAuthorizationConfig
-- | The Amazon EFS access point ID to use. If an access point is
-- specified, the root directory value specified in the
-- EFSVolumeConfiguration must either be omitted or set to
-- / which enforces the path set on the EFS access point. If an
-- access point is used, transit encryption must be enabled in the
-- EFSVolumeConfiguration. For more information, see Working
-- with Amazon EFS access points in the Amazon Elastic File System
-- User Guide.
eFSAuthorizationConfig_accessPointId :: Lens' EFSAuthorizationConfig (Maybe Text)
-- | Whether or not to use the Batch job IAM role defined in a job
-- definition when mounting the Amazon EFS file system. If enabled,
-- transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
eFSAuthorizationConfig_iam :: Lens' EFSAuthorizationConfig (Maybe EFSAuthorizationConfigIAM)
-- | This is used when you're using an Amazon Elastic File System file
-- system for job storage. For more information, see Amazon EFS
-- Volumes in the Batch User Guide.
--
-- See: newEFSVolumeConfiguration smart constructor.
data EFSVolumeConfiguration
EFSVolumeConfiguration' :: Maybe EFSAuthorizationConfig -> Maybe Text -> Maybe EFSTransitEncryption -> Maybe Int -> Text -> EFSVolumeConfiguration
-- | The authorization configuration details for the Amazon EFS file
-- system.
[$sel:authorizationConfig:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe EFSAuthorizationConfig
-- | The directory within the Amazon EFS file system to mount as the root
-- directory inside the host. If this parameter is omitted, the root of
-- the Amazon EFS volume is used instead. Specifying / has the
-- same effect as omitting this parameter. The maximum length is 4,096
-- characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
[$sel:rootDirectory:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe Text
-- | Determines whether to enable encryption for Amazon EFS data in transit
-- between the Amazon ECS host and the Amazon EFS server. Transit
-- encryption must be enabled if Amazon EFS IAM authorization is used. If
-- this parameter is omitted, the default value of DISABLED is
-- used. For more information, see Encrypting data in transit in
-- the Amazon Elastic File System User Guide.
[$sel:transitEncryption:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe EFSTransitEncryption
-- | The port to use when sending encrypted data between the Amazon ECS
-- host and the Amazon EFS server. If you don't specify a transit
-- encryption port, it uses the port selection strategy that the Amazon
-- EFS mount helper uses. The value must be between 0 and 65,535. For
-- more information, see EFS mount helper in the Amazon Elastic
-- File System User Guide.
[$sel:transitEncryptionPort:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Maybe Int
-- | The Amazon EFS file system ID to use.
[$sel:fileSystemId:EFSVolumeConfiguration'] :: EFSVolumeConfiguration -> Text
-- | Create a value of EFSVolumeConfiguration with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:authorizationConfig:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_authorizationConfig - The authorization
-- configuration details for the Amazon EFS file system.
--
-- $sel:rootDirectory:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_rootDirectory - The directory within the
-- Amazon EFS file system to mount as the root directory inside the host.
-- If this parameter is omitted, the root of the Amazon EFS volume is
-- used instead. Specifying / has the same effect as omitting
-- this parameter. The maximum length is 4,096 characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
--
-- $sel:transitEncryption:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_transitEncryption - Determines whether
-- to enable encryption for Amazon EFS data in transit between the Amazon
-- ECS host and the Amazon EFS server. Transit encryption must be enabled
-- if Amazon EFS IAM authorization is used. If this parameter is omitted,
-- the default value of DISABLED is used. For more information,
-- see Encrypting data in transit in the Amazon Elastic File
-- System User Guide.
--
-- $sel:transitEncryptionPort:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_transitEncryptionPort - The port to use
-- when sending encrypted data between the Amazon ECS host and the Amazon
-- EFS server. If you don't specify a transit encryption port, it uses
-- the port selection strategy that the Amazon EFS mount helper uses. The
-- value must be between 0 and 65,535. For more information, see EFS
-- mount helper in the Amazon Elastic File System User Guide.
--
-- $sel:fileSystemId:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_fileSystemId - The Amazon EFS file
-- system ID to use.
newEFSVolumeConfiguration :: Text -> EFSVolumeConfiguration
-- | The authorization configuration details for the Amazon EFS file
-- system.
eFSVolumeConfiguration_authorizationConfig :: Lens' EFSVolumeConfiguration (Maybe EFSAuthorizationConfig)
-- | The directory within the Amazon EFS file system to mount as the root
-- directory inside the host. If this parameter is omitted, the root of
-- the Amazon EFS volume is used instead. Specifying / has the
-- same effect as omitting this parameter. The maximum length is 4,096
-- characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
eFSVolumeConfiguration_rootDirectory :: Lens' EFSVolumeConfiguration (Maybe Text)
-- | Determines whether to enable encryption for Amazon EFS data in transit
-- between the Amazon ECS host and the Amazon EFS server. Transit
-- encryption must be enabled if Amazon EFS IAM authorization is used. If
-- this parameter is omitted, the default value of DISABLED is
-- used. For more information, see Encrypting data in transit in
-- the Amazon Elastic File System User Guide.
eFSVolumeConfiguration_transitEncryption :: Lens' EFSVolumeConfiguration (Maybe EFSTransitEncryption)
-- | The port to use when sending encrypted data between the Amazon ECS
-- host and the Amazon EFS server. If you don't specify a transit
-- encryption port, it uses the port selection strategy that the Amazon
-- EFS mount helper uses. The value must be between 0 and 65,535. For
-- more information, see EFS mount helper in the Amazon Elastic
-- File System User Guide.
eFSVolumeConfiguration_transitEncryptionPort :: Lens' EFSVolumeConfiguration (Maybe Int)
-- | The Amazon EFS file system ID to use.
eFSVolumeConfiguration_fileSystemId :: Lens' EFSVolumeConfiguration Text
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2 (Amazon Linux
-- 2).
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newEc2Configuration smart constructor.
data Ec2Configuration
Ec2Configuration' :: Maybe Text -> Maybe Text -> Text -> Ec2Configuration
-- | The AMI ID used for instances launched in the compute environment that
-- match the image type. This setting overrides the imageId set
-- in the computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
[$sel:imageIdOverride:Ec2Configuration'] :: Ec2Configuration -> Maybe Text
-- | The Kubernetes version for the compute environment. If you don't
-- specify a value, the latest version that Batch supports is used.
[$sel:imageKubernetesVersion:Ec2Configuration'] :: Ec2Configuration -> Maybe Text
-- | The image type to match with the instance type to select an AMI. The
-- supported values are different for ECS and EKS
-- resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
[$sel:imageType:Ec2Configuration'] :: Ec2Configuration -> Text
-- | Create a value of Ec2Configuration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:imageIdOverride:Ec2Configuration',
-- ec2Configuration_imageIdOverride - The AMI ID used for
-- instances launched in the compute environment that match the image
-- type. This setting overrides the imageId set in the
-- computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:imageKubernetesVersion:Ec2Configuration',
-- ec2Configuration_imageKubernetesVersion - The Kubernetes
-- version for the compute environment. If you don't specify a value, the
-- latest version that Batch supports is used.
--
-- $sel:imageType:Ec2Configuration',
-- ec2Configuration_imageType - The image type to match with the
-- instance type to select an AMI. The supported values are different for
-- ECS and EKS resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
newEc2Configuration :: Text -> Ec2Configuration
-- | The AMI ID used for instances launched in the compute environment that
-- match the image type. This setting overrides the imageId set
-- in the computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
ec2Configuration_imageIdOverride :: Lens' Ec2Configuration (Maybe Text)
-- | The Kubernetes version for the compute environment. If you don't
-- specify a value, the latest version that Batch supports is used.
ec2Configuration_imageKubernetesVersion :: Lens' Ec2Configuration (Maybe Text)
-- | The image type to match with the instance type to select an AMI. The
-- supported values are different for ECS and EKS
-- resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
ec2Configuration_imageType :: Lens' Ec2Configuration Text
-- | An object that represents the details for an attempt for a job attempt
-- that an Amazon EKS container runs.
--
-- See: newEksAttemptContainerDetail smart constructor.
data EksAttemptContainerDetail
EksAttemptContainerDetail' :: Maybe Int -> Maybe Text -> EksAttemptContainerDetail
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
[$sel:exitCode:EksAttemptContainerDetail'] :: EksAttemptContainerDetail -> Maybe Int
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
[$sel:reason:EksAttemptContainerDetail'] :: EksAttemptContainerDetail -> Maybe Text
-- | Create a value of EksAttemptContainerDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:exitCode:EksAttemptContainerDetail',
-- eksAttemptContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:reason:EksAttemptContainerDetail',
-- eksAttemptContainerDetail_reason - A short (255 max characters)
-- human-readable string to provide additional details for a running or
-- stopped container.
newEksAttemptContainerDetail :: EksAttemptContainerDetail
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
eksAttemptContainerDetail_exitCode :: Lens' EksAttemptContainerDetail (Maybe Int)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
eksAttemptContainerDetail_reason :: Lens' EksAttemptContainerDetail (Maybe Text)
-- | An object that represents the details of a job attempt for a job
-- attempt by an Amazon EKS container.
--
-- See: newEksAttemptDetail smart constructor.
data EksAttemptDetail
EksAttemptDetail' :: Maybe [EksAttemptContainerDetail] -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Integer -> EksAttemptDetail
-- | The details for the final status of the containers for this job
-- attempt.
[$sel:containers:EksAttemptDetail'] :: EksAttemptDetail -> Maybe [EksAttemptContainerDetail]
-- | The name of the node for this job attempt.
[$sel:nodeName:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Text
-- | The name of the pod for this job attempt.
[$sel:podName:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
[$sel:startedAt:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Integer
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
[$sel:statusReason:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped.
-- This happens when the attempt transitioned from the RUNNING
-- state to a terminal state, such as SUCCEEDED or
-- FAILED.
[$sel:stoppedAt:EksAttemptDetail'] :: EksAttemptDetail -> Maybe Integer
-- | Create a value of EksAttemptDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksAttemptDetail',
-- eksAttemptDetail_containers - The details for the final status
-- of the containers for this job attempt.
--
-- $sel:nodeName:EksAttemptDetail',
-- eksAttemptDetail_nodeName - The name of the node for this job
-- attempt.
--
-- $sel:podName:EksAttemptDetail', eksAttemptDetail_podName
-- - The name of the pod for this job attempt.
--
-- $sel:startedAt:EksAttemptDetail',
-- eksAttemptDetail_startedAt - The Unix timestamp (in
-- milliseconds) for when the attempt was started (when the attempt
-- transitioned from the STARTING state to the RUNNING
-- state).
--
-- $sel:statusReason:EksAttemptDetail',
-- eksAttemptDetail_statusReason - A short, human-readable string
-- to provide additional details for the current status of the job
-- attempt.
--
-- $sel:stoppedAt:EksAttemptDetail',
-- eksAttemptDetail_stoppedAt - The Unix timestamp (in
-- milliseconds) for when the attempt was stopped. This happens when the
-- attempt transitioned from the RUNNING state to a terminal
-- state, such as SUCCEEDED or FAILED.
newEksAttemptDetail :: EksAttemptDetail
-- | The details for the final status of the containers for this job
-- attempt.
eksAttemptDetail_containers :: Lens' EksAttemptDetail (Maybe [EksAttemptContainerDetail])
-- | The name of the node for this job attempt.
eksAttemptDetail_nodeName :: Lens' EksAttemptDetail (Maybe Text)
-- | The name of the pod for this job attempt.
eksAttemptDetail_podName :: Lens' EksAttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
eksAttemptDetail_startedAt :: Lens' EksAttemptDetail (Maybe Integer)
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
eksAttemptDetail_statusReason :: Lens' EksAttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped.
-- This happens when the attempt transitioned from the RUNNING
-- state to a terminal state, such as SUCCEEDED or
-- FAILED.
eksAttemptDetail_stoppedAt :: Lens' EksAttemptDetail (Maybe Integer)
-- | Configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. The cluster must exist before the compute
-- environment can be created.
--
-- See: newEksConfiguration smart constructor.
data EksConfiguration
EksConfiguration' :: Text -> Text -> EksConfiguration
-- | The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example
-- is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
[$sel:eksClusterArn:EksConfiguration'] :: EksConfiguration -> Text
-- | The namespace of the Amazon EKS cluster. Batch manages pods in this
-- namespace. The value can't left empty or null. It must be fewer than
-- 64 characters long, can't be set to default, can't start with
-- "kube-," and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
[$sel:kubernetesNamespace:EksConfiguration'] :: EksConfiguration -> Text
-- | Create a value of EksConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:eksClusterArn:EksConfiguration',
-- eksConfiguration_eksClusterArn - The Amazon Resource Name (ARN)
-- of the Amazon EKS cluster. An example is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
--
-- $sel:kubernetesNamespace:EksConfiguration',
-- eksConfiguration_kubernetesNamespace - The namespace of the
-- Amazon EKS cluster. Batch manages pods in this namespace. The value
-- can't left empty or null. It must be fewer than 64 characters long,
-- can't be set to default, can't start with "kube-,"
-- and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
newEksConfiguration :: Text -> Text -> EksConfiguration
-- | The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example
-- is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
eksConfiguration_eksClusterArn :: Lens' EksConfiguration Text
-- | The namespace of the Amazon EKS cluster. Batch manages pods in this
-- namespace. The value can't left empty or null. It must be fewer than
-- 64 characters long, can't be set to default, can't start with
-- "kube-," and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
eksConfiguration_kubernetesNamespace :: Lens' EksConfiguration Text
-- | EKS container properties are used in job definitions for Amazon EKS
-- based job definitions to describe the properties for a container node
-- in the pod that's launched as part of a job. This can't be specified
-- for Amazon ECS based job definitions.
--
-- See: newEksContainer smart constructor.
data EksContainer
EksContainer' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Text -> Maybe Text -> Maybe EksContainerResourceRequirements -> Maybe EksContainerSecurityContext -> Maybe [EksContainerVolumeMount] -> Text -> EksContainer
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
[$sel:args:EksContainer'] :: EksContainer -> Maybe [Text]
-- | The entrypoint for the container. This isn't run within a shell. If
-- this isn't specified, the ENTRYPOINT of the container image
-- is used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
[$sel:command:EksContainer'] :: EksContainer -> Maybe [Text]
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:env:EksContainer'] :: EksContainer -> Maybe [EksContainerEnvironmentVariable]
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to IfNotPresent. However, if the
-- :latest tag is specified, it defaults to Always. For
-- more information, see Updating images in the Kubernetes
-- documentation.
[$sel:imagePullPolicy:EksContainer'] :: EksContainer -> Maybe Text
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
[$sel:name:EksContainer'] :: EksContainer -> Maybe Text
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
[$sel:resources:EksContainer'] :: EksContainer -> Maybe EksContainerResourceRequirements
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
[$sel:securityContext:EksContainer'] :: EksContainer -> Maybe EksContainerSecurityContext
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
[$sel:volumeMounts:EksContainer'] :: EksContainer -> Maybe [EksContainerVolumeMount]
-- | The Docker image used to start the container.
[$sel:image:EksContainer'] :: EksContainer -> Text
-- | Create a value of EksContainer with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainer', eksContainer_args - An array of
-- arguments to the entrypoint. If this isn't specified, the CMD
-- of the container image is used. This corresponds to the args
-- member in the Entrypoint portion of the Pod in
-- Kubernetes. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
--
-- $sel:command:EksContainer', eksContainer_command - The
-- entrypoint for the container. This isn't run within a shell. If this
-- isn't specified, the ENTRYPOINT of the container image is
-- used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
--
-- $sel:env:EksContainer', eksContainer_env - The
-- environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:imagePullPolicy:EksContainer',
-- eksContainer_imagePullPolicy - The image pull policy for the
-- container. Supported values are Always,
-- IfNotPresent, and Never. This parameter defaults to
-- IfNotPresent. However, if the :latest tag is
-- specified, it defaults to Always. For more information, see
-- Updating images in the Kubernetes documentation.
--
-- EksContainer, eksContainer_name - The name of the
-- container. If the name isn't specified, the default name
-- "Default" is used. Each container in a pod must have a unique
-- name.
--
-- $sel:resources:EksContainer', eksContainer_resources -
-- The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
--
-- $sel:securityContext:EksContainer',
-- eksContainer_securityContext - The security context for a job.
-- For more information, see Configure a security context for a pod or
-- container in the Kubernetes documentation.
--
-- $sel:volumeMounts:EksContainer',
-- eksContainer_volumeMounts - The volume mounts for the
-- container. Batch supports emptyDir, hostPath, and
-- secret volume types. For more information about volumes and
-- volume mounts in Kubernetes, see Volumes in the Kubernetes
-- documentation.
--
-- $sel:image:EksContainer', eksContainer_image - The
-- Docker image used to start the container.
newEksContainer :: Text -> EksContainer
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
eksContainer_args :: Lens' EksContainer (Maybe [Text])
-- | The entrypoint for the container. This isn't run within a shell. If
-- this isn't specified, the ENTRYPOINT of the container image
-- is used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
eksContainer_command :: Lens' EksContainer (Maybe [Text])
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
eksContainer_env :: Lens' EksContainer (Maybe [EksContainerEnvironmentVariable])
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to IfNotPresent. However, if the
-- :latest tag is specified, it defaults to Always. For
-- more information, see Updating images in the Kubernetes
-- documentation.
eksContainer_imagePullPolicy :: Lens' EksContainer (Maybe Text)
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
eksContainer_name :: Lens' EksContainer (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
eksContainer_resources :: Lens' EksContainer (Maybe EksContainerResourceRequirements)
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
eksContainer_securityContext :: Lens' EksContainer (Maybe EksContainerSecurityContext)
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
eksContainer_volumeMounts :: Lens' EksContainer (Maybe [EksContainerVolumeMount])
-- | The Docker image used to start the container.
eksContainer_image :: Lens' EksContainer Text
-- | The details for container properties that are returned by
-- DescribeJobs for jobs that use Amazon EKS.
--
-- See: newEksContainerDetail smart constructor.
data EksContainerDetail
EksContainerDetail' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe EksContainerResourceRequirements -> Maybe EksContainerSecurityContext -> Maybe [EksContainerVolumeMount] -> EksContainerDetail
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
[$sel:args:EksContainerDetail'] :: EksContainerDetail -> Maybe [Text]
-- | The entrypoint for the container. For more information, see
-- Entrypoint in the Kubernetes documentation.
[$sel:command:EksContainerDetail'] :: EksContainerDetail -> Maybe [Text]
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
[$sel:env:EksContainerDetail'] :: EksContainerDetail -> Maybe [EksContainerEnvironmentVariable]
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
[$sel:exitCode:EksContainerDetail'] :: EksContainerDetail -> Maybe Int
-- | The Docker image used to start the container.
[$sel:image:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to Always if the :latest tag is
-- specified, IfNotPresent otherwise. For more information, see
-- Updating images in the Kubernetes documentation.
[$sel:imagePullPolicy:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
[$sel:name:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | A short human-readable string to provide additional details for a
-- running or stopped container. It can be up to 255 characters long.
[$sel:reason:EksContainerDetail'] :: EksContainerDetail -> Maybe Text
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
[$sel:resources:EksContainerDetail'] :: EksContainerDetail -> Maybe EksContainerResourceRequirements
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
[$sel:securityContext:EksContainerDetail'] :: EksContainerDetail -> Maybe EksContainerSecurityContext
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
[$sel:volumeMounts:EksContainerDetail'] :: EksContainerDetail -> Maybe [EksContainerVolumeMount]
-- | Create a value of EksContainerDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainerDetail', eksContainerDetail_args -
-- An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
--
-- $sel:command:EksContainerDetail',
-- eksContainerDetail_command - The entrypoint for the container.
-- For more information, see Entrypoint in the Kubernetes
-- documentation.
--
-- $sel:env:EksContainerDetail', eksContainerDetail_env -
-- The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:exitCode:EksContainerDetail',
-- eksContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:image:EksContainerDetail', eksContainerDetail_image
-- - The Docker image used to start the container.
--
-- $sel:imagePullPolicy:EksContainerDetail',
-- eksContainerDetail_imagePullPolicy - The image pull policy for
-- the container. Supported values are Always,
-- IfNotPresent, and Never. This parameter defaults to
-- Always if the :latest tag is specified,
-- IfNotPresent otherwise. For more information, see Updating
-- images in the Kubernetes documentation.
--
-- EksContainerDetail, eksContainerDetail_name - The name
-- of the container. If the name isn't specified, the default name
-- "Default" is used. Each container in a pod must have a unique
-- name.
--
-- $sel:reason:EksContainerDetail',
-- eksContainerDetail_reason - A short human-readable string to
-- provide additional details for a running or stopped container. It can
-- be up to 255 characters long.
--
-- $sel:resources:EksContainerDetail',
-- eksContainerDetail_resources - The type and amount of resources
-- to assign to a container. The supported resources include
-- memory, cpu, and nvidia.com/gpu. For more
-- information, see Resource management for pods and containers in
-- the Kubernetes documentation.
--
-- $sel:securityContext:EksContainerDetail',
-- eksContainerDetail_securityContext - The security context for a
-- job. For more information, see Configure a security context for a
-- pod or container in the Kubernetes documentation.
--
-- $sel:volumeMounts:EksContainerDetail',
-- eksContainerDetail_volumeMounts - The volume mounts for the
-- container. Batch supports emptyDir, hostPath, and
-- secret volume types. For more information about volumes and
-- volume mounts in Kubernetes, see Volumes in the Kubernetes
-- documentation.
newEksContainerDetail :: EksContainerDetail
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
eksContainerDetail_args :: Lens' EksContainerDetail (Maybe [Text])
-- | The entrypoint for the container. For more information, see
-- Entrypoint in the Kubernetes documentation.
eksContainerDetail_command :: Lens' EksContainerDetail (Maybe [Text])
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
eksContainerDetail_env :: Lens' EksContainerDetail (Maybe [EksContainerEnvironmentVariable])
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
eksContainerDetail_exitCode :: Lens' EksContainerDetail (Maybe Int)
-- | The Docker image used to start the container.
eksContainerDetail_image :: Lens' EksContainerDetail (Maybe Text)
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to Always if the :latest tag is
-- specified, IfNotPresent otherwise. For more information, see
-- Updating images in the Kubernetes documentation.
eksContainerDetail_imagePullPolicy :: Lens' EksContainerDetail (Maybe Text)
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
eksContainerDetail_name :: Lens' EksContainerDetail (Maybe Text)
-- | A short human-readable string to provide additional details for a
-- running or stopped container. It can be up to 255 characters long.
eksContainerDetail_reason :: Lens' EksContainerDetail (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
eksContainerDetail_resources :: Lens' EksContainerDetail (Maybe EksContainerResourceRequirements)
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
eksContainerDetail_securityContext :: Lens' EksContainerDetail (Maybe EksContainerSecurityContext)
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
eksContainerDetail_volumeMounts :: Lens' EksContainerDetail (Maybe [EksContainerVolumeMount])
-- | An environment variable.
--
-- See: newEksContainerEnvironmentVariable smart
-- constructor.
data EksContainerEnvironmentVariable
EksContainerEnvironmentVariable' :: Maybe Text -> Text -> EksContainerEnvironmentVariable
-- | The value of the environment variable.
[$sel:value:EksContainerEnvironmentVariable'] :: EksContainerEnvironmentVariable -> Maybe Text
-- | The name of the environment variable.
[$sel:name:EksContainerEnvironmentVariable'] :: EksContainerEnvironmentVariable -> Text
-- | Create a value of EksContainerEnvironmentVariable with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:value:EksContainerEnvironmentVariable',
-- eksContainerEnvironmentVariable_value - The value of the
-- environment variable.
--
-- $sel:name:EksContainerEnvironmentVariable',
-- eksContainerEnvironmentVariable_name - The name of the
-- environment variable.
newEksContainerEnvironmentVariable :: Text -> EksContainerEnvironmentVariable
-- | The value of the environment variable.
eksContainerEnvironmentVariable_value :: Lens' EksContainerEnvironmentVariable (Maybe Text)
-- | The name of the environment variable.
eksContainerEnvironmentVariable_name :: Lens' EksContainerEnvironmentVariable Text
-- | Object representing any Kubernetes overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- See: newEksContainerOverride smart constructor.
data EksContainerOverride
EksContainerOverride' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Text -> Maybe EksContainerResourceRequirements -> EksContainerOverride
-- | 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.
[$sel:args:EksContainerOverride'] :: EksContainerOverride -> Maybe [Text]
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
[$sel:command:EksContainerOverride'] :: EksContainerOverride -> Maybe [Text]
-- | 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.
[$sel:env:EksContainerOverride'] :: EksContainerOverride -> Maybe [EksContainerEnvironmentVariable]
-- | The override of the Docker image that's used to start the container.
[$sel:image:EksContainerOverride'] :: EksContainerOverride -> Maybe Text
-- | 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.
[$sel:resources:EksContainerOverride'] :: EksContainerOverride -> Maybe EksContainerResourceRequirements
-- | Create a value of EksContainerOverride with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainerOverride',
-- eksContainerOverride_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.
--
-- $sel:command:EksContainerOverride',
-- eksContainerOverride_command - The command to send to the
-- container that overrides the default command from the Docker image or
-- the job definition.
--
-- $sel:env:EksContainerOverride', eksContainerOverride_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.
--
-- $sel:image:EksContainerOverride',
-- eksContainerOverride_image - The override of the Docker image
-- that's used to start the container.
--
-- $sel:resources:EksContainerOverride',
-- eksContainerOverride_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.
newEksContainerOverride :: EksContainerOverride
-- | 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.
eksContainerOverride_args :: Lens' EksContainerOverride (Maybe [Text])
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
eksContainerOverride_command :: Lens' EksContainerOverride (Maybe [Text])
-- | 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.
eksContainerOverride_env :: Lens' EksContainerOverride (Maybe [EksContainerEnvironmentVariable])
-- | The override of the Docker image that's used to start the container.
eksContainerOverride_image :: Lens' EksContainerOverride (Maybe Text)
-- | 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.
eksContainerOverride_resources :: Lens' EksContainerOverride (Maybe EksContainerResourceRequirements)
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
--
-- See: newEksContainerResourceRequirements smart
-- constructor.
data EksContainerResourceRequirements
EksContainerResourceRequirements' :: Maybe (HashMap Text Text) -> Maybe (HashMap Text Text) -> EksContainerResourceRequirements
-- | The type and quantity of the resources to reserve for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
[$sel:limits:EksContainerResourceRequirements'] :: EksContainerResourceRequirements -> Maybe (HashMap Text Text)
-- | The type and quantity of the resources to request for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested by using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
[$sel:requests:EksContainerResourceRequirements'] :: EksContainerResourceRequirements -> Maybe (HashMap Text Text)
-- | Create a value of EksContainerResourceRequirements with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:limits:EksContainerResourceRequirements',
-- eksContainerResourceRequirements_limits - The type and quantity
-- of the resources to reserve for the container. The values vary based
-- on the name that's specified. Resources can be requested
-- using either the limits or the requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
--
-- $sel:requests:EksContainerResourceRequirements',
-- eksContainerResourceRequirements_requests - The type and
-- quantity of the resources to request for the container. The values
-- vary based on the name that's specified. Resources can be
-- requested by using either the limits or the requests
-- objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
newEksContainerResourceRequirements :: EksContainerResourceRequirements
-- | The type and quantity of the resources to reserve for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
eksContainerResourceRequirements_limits :: Lens' EksContainerResourceRequirements (Maybe (HashMap Text Text))
-- | The type and quantity of the resources to request for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested by using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
eksContainerResourceRequirements_requests :: Lens' EksContainerResourceRequirements (Maybe (HashMap Text Text))
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
--
-- See: newEksContainerSecurityContext smart constructor.
data EksContainerSecurityContext
EksContainerSecurityContext' :: Maybe Bool -> Maybe Bool -> Maybe Integer -> Maybe Bool -> Maybe Integer -> EksContainerSecurityContext
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance. The level of permissions
-- are similar to the root user permissions. The default value
-- is false. This parameter maps to privileged policy
-- in the Privileged pod security policies in the Kubernetes
-- documentation.
[$sel:privileged:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Bool
-- | When this parameter is true, the container is given read-only
-- access to its root file system. The default value is false.
-- This parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
[$sel:readOnlyRootFilesystem:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Bool
-- | When this parameter is specified, the container is run as the
-- specified group ID (gid). If this parameter isn't specified,
-- the default is the group that's specified in the image metadata. This
-- parameter maps to RunAsGroup and MustRunAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
[$sel:runAsGroup:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Integer
-- | When this parameter is specified, the container is run as a user with
-- a uid other than 0. If this parameter isn't specified, so
-- such rule is enforced. This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
[$sel:runAsNonRoot:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Bool
-- | When this parameter is specified, the container is run as the
-- specified user ID (uid). If this parameter isn't specified,
-- the default is the user that's specified in the image metadata. This
-- parameter maps to RunAsUser and MustRanAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
[$sel:runAsUser:EksContainerSecurityContext'] :: EksContainerSecurityContext -> Maybe Integer
-- | Create a value of EksContainerSecurityContext with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:privileged:EksContainerSecurityContext',
-- eksContainerSecurityContext_privileged - When this parameter is
-- true, the container is given elevated permissions on the host
-- container instance. The level of permissions are similar to the
-- root user permissions. The default value is false.
-- This parameter maps to privileged policy in the Privileged
-- pod security policies in the Kubernetes documentation.
--
-- $sel:readOnlyRootFilesystem:EksContainerSecurityContext',
-- eksContainerSecurityContext_readOnlyRootFilesystem - When this
-- parameter is true, the container is given read-only access to
-- its root file system. The default value is false. This
-- parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
--
-- $sel:runAsGroup:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsGroup - When this parameter is
-- specified, the container is run as the specified group ID
-- (gid). If this parameter isn't specified, the default is the
-- group that's specified in the image metadata. This parameter maps to
-- RunAsGroup and MustRunAs policy in the Users and
-- groups pod security policies in the Kubernetes
-- documentation.
--
-- $sel:runAsNonRoot:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsNonRoot - When this parameter
-- is specified, the container is run as a user with a uid other
-- than 0. If this parameter isn't specified, so such rule is enforced.
-- This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
--
-- $sel:runAsUser:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsUser - When this parameter is
-- specified, the container is run as the specified user ID
-- (uid). If this parameter isn't specified, the default is the
-- user that's specified in the image metadata. This parameter maps to
-- RunAsUser and MustRanAs policy in the Users and
-- groups pod security policies in the Kubernetes
-- documentation.
newEksContainerSecurityContext :: EksContainerSecurityContext
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance. The level of permissions
-- are similar to the root user permissions. The default value
-- is false. This parameter maps to privileged policy
-- in the Privileged pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_privileged :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is true, the container is given read-only
-- access to its root file system. The default value is false.
-- This parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
eksContainerSecurityContext_readOnlyRootFilesystem :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is specified, the container is run as the
-- specified group ID (gid). If this parameter isn't specified,
-- the default is the group that's specified in the image metadata. This
-- parameter maps to RunAsGroup and MustRunAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_runAsGroup :: Lens' EksContainerSecurityContext (Maybe Integer)
-- | When this parameter is specified, the container is run as a user with
-- a uid other than 0. If this parameter isn't specified, so
-- such rule is enforced. This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
eksContainerSecurityContext_runAsNonRoot :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is specified, the container is run as the
-- specified user ID (uid). If this parameter isn't specified,
-- the default is the user that's specified in the image metadata. This
-- parameter maps to RunAsUser and MustRanAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_runAsUser :: Lens' EksContainerSecurityContext (Maybe Integer)
-- | The volume mounts for a container for an Amazon EKS job. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
--
-- See: newEksContainerVolumeMount smart constructor.
data EksContainerVolumeMount
EksContainerVolumeMount' :: Maybe Text -> Maybe Text -> Maybe Bool -> EksContainerVolumeMount
-- | The path on the container where the volume is mounted.
[$sel:mountPath:EksContainerVolumeMount'] :: EksContainerVolumeMount -> Maybe Text
-- | The name the volume mount. This must match the name of one of the
-- volumes in the pod.
[$sel:name:EksContainerVolumeMount'] :: EksContainerVolumeMount -> Maybe Text
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
[$sel:readOnly:EksContainerVolumeMount'] :: EksContainerVolumeMount -> Maybe Bool
-- | Create a value of EksContainerVolumeMount with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:mountPath:EksContainerVolumeMount',
-- eksContainerVolumeMount_mountPath - The path on the container
-- where the volume is mounted.
--
-- $sel:name:EksContainerVolumeMount',
-- eksContainerVolumeMount_name - The name the volume mount. This
-- must match the name of one of the volumes in the pod.
--
-- $sel:readOnly:EksContainerVolumeMount',
-- eksContainerVolumeMount_readOnly - If this value is
-- true, the container has read-only access to the volume.
-- Otherwise, the container can write to the volume. The default value is
-- false.
newEksContainerVolumeMount :: EksContainerVolumeMount
-- | The path on the container where the volume is mounted.
eksContainerVolumeMount_mountPath :: Lens' EksContainerVolumeMount (Maybe Text)
-- | The name the volume mount. This must match the name of one of the
-- volumes in the pod.
eksContainerVolumeMount_name :: Lens' EksContainerVolumeMount (Maybe Text)
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
eksContainerVolumeMount_readOnly :: Lens' EksContainerVolumeMount (Maybe Bool)
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- An emptyDir volume is first created when a pod is assigned to
-- a node. It exists as long as that pod is running on that node. The
-- emptyDir volume is initially empty. All containers in the pod
-- can read and write the files in the emptyDir volume. However,
-- the emptyDir volume can be mounted at the same or different
-- paths in each container. When a pod is removed from a node for any
-- reason, the data in the emptyDir is deleted permanently. For
-- more information, see emptyDir in the Kubernetes
-- documentation.
--
-- See: newEksEmptyDir smart constructor.
data EksEmptyDir
EksEmptyDir' :: Maybe Text -> Maybe Text -> EksEmptyDir
-- | The medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
[$sel:medium:EksEmptyDir'] :: EksEmptyDir -> Maybe Text
-- | The maximum size of the volume. By default, there's no maximum size
-- defined.
[$sel:sizeLimit:EksEmptyDir'] :: EksEmptyDir -> Maybe Text
-- | Create a value of EksEmptyDir with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:medium:EksEmptyDir', eksEmptyDir_medium - The
-- medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
--
-- $sel:sizeLimit:EksEmptyDir', eksEmptyDir_sizeLimit - The
-- maximum size of the volume. By default, there's no maximum size
-- defined.
newEksEmptyDir :: EksEmptyDir
-- | The medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
eksEmptyDir_medium :: Lens' EksEmptyDir (Maybe Text)
-- | The maximum size of the volume. By default, there's no maximum size
-- defined.
eksEmptyDir_sizeLimit :: Lens' EksEmptyDir (Maybe Text)
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- A hostPath volume mounts an existing file or directory from
-- the host node's filesystem into your pod. For more information, see
-- hostPath in the Kubernetes documentation.
--
-- See: newEksHostPath smart constructor.
data EksHostPath
EksHostPath' :: Maybe Text -> EksHostPath
-- | The path of the file or directory on the host to mount into containers
-- on the pod.
[$sel:path:EksHostPath'] :: EksHostPath -> Maybe Text
-- | Create a value of EksHostPath with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:path:EksHostPath', eksHostPath_path - The path of
-- the file or directory on the host to mount into containers on the pod.
newEksHostPath :: EksHostPath
-- | The path of the file or directory on the host to mount into containers
-- on the pod.
eksHostPath_path :: Lens' EksHostPath (Maybe Text)
-- | The properties for the pod.
--
-- See: newEksPodProperties smart constructor.
data EksPodProperties
EksPodProperties' :: Maybe [EksContainer] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe [EksVolume] -> EksPodProperties
-- | The properties of the container that's used on the Amazon EKS pod.
[$sel:containers:EksPodProperties'] :: EksPodProperties -> Maybe [EksContainer]
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. For more information, see Pod's
-- DNS policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
[$sel:dnsPolicy:EksPodProperties'] :: EksPodProperties -> Maybe Text
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
[$sel:hostNetwork:EksPodProperties'] :: EksPodProperties -> Maybe Bool
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
[$sel:serviceAccountName:EksPodProperties'] :: EksPodProperties -> Maybe Text
-- | Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
[$sel:volumes:EksPodProperties'] :: EksPodProperties -> Maybe [EksVolume]
-- | Create a value of EksPodProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodProperties',
-- eksPodProperties_containers - The properties of the container
-- that's used on the Amazon EKS pod.
--
-- $sel:dnsPolicy:EksPodProperties',
-- eksPodProperties_dnsPolicy - The DNS policy for the pod. The
-- default value is ClusterFirst. If the hostNetwork
-- parameter is not specified, the default is
-- ClusterFirstWithHostNet. ClusterFirst indicates that
-- any DNS query that does not match the configured cluster domain suffix
-- is forwarded to the upstream nameserver inherited from the node. For
-- more information, see Pod's DNS policy in the Kubernetes
-- documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
--
-- $sel:hostNetwork:EksPodProperties',
-- eksPodProperties_hostNetwork - Indicates if the pod uses the
-- hosts' network IP address. The default value is true. Setting
-- this to false enables the Kubernetes pod networking model.
-- Most Batch workloads are egress-only and don't require the overhead of
-- IP allocation for each pod for incoming connections. For more
-- information, see Host namespaces and Pod networking in
-- the Kubernetes documentation.
--
-- $sel:serviceAccountName:EksPodProperties',
-- eksPodProperties_serviceAccountName - The name of the service
-- account that's used to run the pod. For more information, see
-- Kubernetes service accounts and Configure a Kubernetes
-- service account to assume an IAM role in the Amazon EKS User
-- Guide and Configure service accounts for pods in the
-- Kubernetes documentation.
--
-- $sel:volumes:EksPodProperties', eksPodProperties_volumes
-- - Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
newEksPodProperties :: EksPodProperties
-- | The properties of the container that's used on the Amazon EKS pod.
eksPodProperties_containers :: Lens' EksPodProperties (Maybe [EksContainer])
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. For more information, see Pod's
-- DNS policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
eksPodProperties_dnsPolicy :: Lens' EksPodProperties (Maybe Text)
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
eksPodProperties_hostNetwork :: Lens' EksPodProperties (Maybe Bool)
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
eksPodProperties_serviceAccountName :: Lens' EksPodProperties (Maybe Text)
-- | Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
eksPodProperties_volumes :: Lens' EksPodProperties (Maybe [EksVolume])
-- | The details for the pod.
--
-- See: newEksPodPropertiesDetail smart constructor.
data EksPodPropertiesDetail
EksPodPropertiesDetail' :: Maybe [EksContainerDetail] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [EksVolume] -> EksPodPropertiesDetail
-- | The properties of the container that's used on the Amazon EKS pod.
[$sel:containers:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe [EksContainerDetail]
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. If no value was specified for
-- dnsPolicy in the RegisterJobDefinition API operation,
-- then no value will be returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
[$sel:dnsPolicy:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
[$sel:hostNetwork:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Bool
-- | The name of the node for this job.
[$sel:nodeName:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | The name of the pod for this job.
[$sel:podName:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
[$sel:serviceAccountName:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe Text
-- | Specifies the volumes for a job definition using Amazon EKS resources.
[$sel:volumes:EksPodPropertiesDetail'] :: EksPodPropertiesDetail -> Maybe [EksVolume]
-- | Create a value of EksPodPropertiesDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_containers - The properties of the
-- container that's used on the Amazon EKS pod.
--
-- $sel:dnsPolicy:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_dnsPolicy - The DNS policy for the pod.
-- The default value is ClusterFirst. If the
-- hostNetwork parameter is not specified, the default is
-- ClusterFirstWithHostNet. ClusterFirst indicates that
-- any DNS query that does not match the configured cluster domain suffix
-- is forwarded to the upstream nameserver inherited from the node. If no
-- value was specified for dnsPolicy in the
-- RegisterJobDefinition API operation, then no value will be
-- returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
--
-- $sel:hostNetwork:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_hostNetwork - Indicates if the pod uses
-- the hosts' network IP address. The default value is true.
-- Setting this to false enables the Kubernetes pod networking
-- model. Most Batch workloads are egress-only and don't require the
-- overhead of IP allocation for each pod for incoming connections. For
-- more information, see Host namespaces and Pod networking
-- in the Kubernetes documentation.
--
-- $sel:nodeName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_nodeName - The name of the node for this
-- job.
--
-- $sel:podName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_podName - The name of the pod for this
-- job.
--
-- $sel:serviceAccountName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_serviceAccountName - The name of the
-- service account that's used to run the pod. For more information, see
-- Kubernetes service accounts and Configure a Kubernetes
-- service account to assume an IAM role in the Amazon EKS User
-- Guide and Configure service accounts for pods in the
-- Kubernetes documentation.
--
-- $sel:volumes:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_volumes - Specifies the volumes for a
-- job definition using Amazon EKS resources.
newEksPodPropertiesDetail :: EksPodPropertiesDetail
-- | The properties of the container that's used on the Amazon EKS pod.
eksPodPropertiesDetail_containers :: Lens' EksPodPropertiesDetail (Maybe [EksContainerDetail])
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. If no value was specified for
-- dnsPolicy in the RegisterJobDefinition API operation,
-- then no value will be returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
eksPodPropertiesDetail_dnsPolicy :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
eksPodPropertiesDetail_hostNetwork :: Lens' EksPodPropertiesDetail (Maybe Bool)
-- | The name of the node for this job.
eksPodPropertiesDetail_nodeName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | The name of the pod for this job.
eksPodPropertiesDetail_podName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
eksPodPropertiesDetail_serviceAccountName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | Specifies the volumes for a job definition using Amazon EKS resources.
eksPodPropertiesDetail_volumes :: Lens' EksPodPropertiesDetail (Maybe [EksVolume])
-- | An object that contains overrides for the Kubernetes pod properties of
-- a job.
--
-- See: newEksPodPropertiesOverride smart constructor.
data EksPodPropertiesOverride
EksPodPropertiesOverride' :: Maybe [EksContainerOverride] -> EksPodPropertiesOverride
-- | The overrides for the container that's used on the Amazon EKS pod.
[$sel:containers:EksPodPropertiesOverride'] :: EksPodPropertiesOverride -> Maybe [EksContainerOverride]
-- | Create a value of EksPodPropertiesOverride with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodPropertiesOverride',
-- eksPodPropertiesOverride_containers - The overrides for the
-- container that's used on the Amazon EKS pod.
newEksPodPropertiesOverride :: EksPodPropertiesOverride
-- | The overrides for the container that's used on the Amazon EKS pod.
eksPodPropertiesOverride_containers :: Lens' EksPodPropertiesOverride (Maybe [EksContainerOverride])
-- | An object that contains the properties for the Kubernetes resources of
-- a job.
--
-- See: newEksProperties smart constructor.
data EksProperties
EksProperties' :: Maybe EksPodProperties -> EksProperties
-- | The properties for the Kubernetes pod resources of a job.
[$sel:podProperties:EksProperties'] :: EksProperties -> Maybe EksPodProperties
-- | Create a value of EksProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksProperties',
-- eksProperties_podProperties - The properties for the Kubernetes
-- pod resources of a job.
newEksProperties :: EksProperties
-- | The properties for the Kubernetes pod resources of a job.
eksProperties_podProperties :: Lens' EksProperties (Maybe EksPodProperties)
-- | An object that contains the details for the Kubernetes resources of a
-- job.
--
-- See: newEksPropertiesDetail smart constructor.
data EksPropertiesDetail
EksPropertiesDetail' :: Maybe EksPodPropertiesDetail -> EksPropertiesDetail
-- | The properties for the Kubernetes pod resources of a job.
[$sel:podProperties:EksPropertiesDetail'] :: EksPropertiesDetail -> Maybe EksPodPropertiesDetail
-- | Create a value of EksPropertiesDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksPropertiesDetail',
-- eksPropertiesDetail_podProperties - The properties for the
-- Kubernetes pod resources of a job.
newEksPropertiesDetail :: EksPropertiesDetail
-- | The properties for the Kubernetes pod resources of a job.
eksPropertiesDetail_podProperties :: Lens' EksPropertiesDetail (Maybe EksPodPropertiesDetail)
-- | An object that contains overrides for the Kubernetes resources of a
-- job.
--
-- See: newEksPropertiesOverride smart constructor.
data EksPropertiesOverride
EksPropertiesOverride' :: Maybe EksPodPropertiesOverride -> EksPropertiesOverride
-- | The overrides for the Kubernetes pod resources of a job.
[$sel:podProperties:EksPropertiesOverride'] :: EksPropertiesOverride -> Maybe EksPodPropertiesOverride
-- | Create a value of EksPropertiesOverride with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksPropertiesOverride',
-- eksPropertiesOverride_podProperties - The overrides for the
-- Kubernetes pod resources of a job.
newEksPropertiesOverride :: EksPropertiesOverride
-- | The overrides for the Kubernetes pod resources of a job.
eksPropertiesOverride_podProperties :: Lens' EksPropertiesOverride (Maybe EksPodPropertiesOverride)
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
--
-- See: newEksSecret smart constructor.
data EksSecret
EksSecret' :: Maybe Bool -> Text -> EksSecret
-- | Specifies whether the secret or the secret's keys must be defined.
[$sel:optional:EksSecret'] :: EksSecret -> Maybe Bool
-- | The name of the secret. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
[$sel:secretName:EksSecret'] :: EksSecret -> Text
-- | Create a value of EksSecret with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:optional:EksSecret', eksSecret_optional - Specifies
-- whether the secret or the secret's keys must be defined.
--
-- $sel:secretName:EksSecret', eksSecret_secretName - The
-- name of the secret. The name must be allowed as a DNS subdomain name.
-- For more information, see DNS subdomain names in the
-- Kubernetes documentation.
newEksSecret :: Text -> EksSecret
-- | Specifies whether the secret or the secret's keys must be defined.
eksSecret_optional :: Lens' EksSecret (Maybe Bool)
-- | The name of the secret. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
eksSecret_secretName :: Lens' EksSecret Text
-- | Specifies an Amazon EKS volume for a job definition.
--
-- See: newEksVolume smart constructor.
data EksVolume
EksVolume' :: Maybe EksEmptyDir -> Maybe EksHostPath -> Maybe EksSecret -> Text -> EksVolume
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- For more information, see emptyDir in the Kubernetes
-- documentation.
[$sel:emptyDir:EksVolume'] :: EksVolume -> Maybe EksEmptyDir
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- For more information, see hostPath in the Kubernetes
-- documentation.
[$sel:hostPath:EksVolume'] :: EksVolume -> Maybe EksHostPath
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
[$sel:secret:EksVolume'] :: EksVolume -> Maybe EksSecret
-- | The name of the volume. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
[$sel:name:EksVolume'] :: EksVolume -> Text
-- | Create a value of EksVolume with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:emptyDir:EksVolume', eksVolume_emptyDir - Specifies
-- the configuration of a Kubernetes emptyDir volume. For more
-- information, see emptyDir in the Kubernetes
-- documentation.
--
-- $sel:hostPath:EksVolume', eksVolume_hostPath - Specifies
-- the configuration of a Kubernetes hostPath volume. For more
-- information, see hostPath in the Kubernetes
-- documentation.
--
-- $sel:secret:EksVolume', eksVolume_secret - Specifies the
-- configuration of a Kubernetes secret volume. For more
-- information, see secret in the Kubernetes documentation.
--
-- $sel:name:EksVolume', eksVolume_name - The name of the
-- volume. The name must be allowed as a DNS subdomain name. For more
-- information, see DNS subdomain names in the Kubernetes
-- documentation.
newEksVolume :: Text -> EksVolume
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- For more information, see emptyDir in the Kubernetes
-- documentation.
eksVolume_emptyDir :: Lens' EksVolume (Maybe EksEmptyDir)
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- For more information, see hostPath in the Kubernetes
-- documentation.
eksVolume_hostPath :: Lens' EksVolume (Maybe EksHostPath)
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
eksVolume_secret :: Lens' EksVolume (Maybe EksSecret)
-- | The name of the volume. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
eksVolume_name :: Lens' EksVolume Text
-- | Specifies an array of up to 5 conditions to be met, and an action to
-- take (RETRY or EXIT) if all conditions are met. If
-- none of the EvaluateOnExit conditions in a
-- RetryStrategy match, then the job is retried.
--
-- See: newEvaluateOnExit smart constructor.
data EvaluateOnExit
EvaluateOnExit' :: Maybe Text -> Maybe Text -> Maybe Text -> RetryAction -> EvaluateOnExit
-- | Contains a glob pattern to match against the decimal representation of
-- the ExitCode returned for a job. The pattern can be up to 512
-- characters long. It can contain only numbers, and can end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
--
-- The string can contain up to 512 characters.
[$sel:onExitCode:EvaluateOnExit'] :: EvaluateOnExit -> Maybe Text
-- | Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
[$sel:onReason:EvaluateOnExit'] :: EvaluateOnExit -> Maybe Text
-- | Contains a glob pattern to match against the StatusReason
-- returned for a job. The pattern can contain up to 512 characters. It
-- can contain letters, numbers, periods (.), colons (:), and white
-- spaces (including spaces or tabs). It can optionally end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
[$sel:onStatusReason:EvaluateOnExit'] :: EvaluateOnExit -> Maybe Text
-- | Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
[$sel:action:EvaluateOnExit'] :: EvaluateOnExit -> RetryAction
-- | Create a value of EvaluateOnExit with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:onExitCode:EvaluateOnExit',
-- evaluateOnExit_onExitCode - Contains a glob pattern to match
-- against the decimal representation of the ExitCode returned
-- for a job. The pattern can be up to 512 characters long. It can
-- contain only numbers, and can end with an asterisk (*) so that only
-- the start of the string needs to be an exact match.
--
-- The string can contain up to 512 characters.
--
-- $sel:onReason:EvaluateOnExit', evaluateOnExit_onReason -
-- Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
--
-- $sel:onStatusReason:EvaluateOnExit',
-- evaluateOnExit_onStatusReason - Contains a glob pattern to
-- match against the StatusReason returned for a job. The
-- pattern can contain up to 512 characters. It can contain letters,
-- numbers, periods (.), colons (:), and white spaces (including spaces
-- or tabs). It can optionally end with an asterisk (*) so that only the
-- start of the string needs to be an exact match.
--
-- $sel:action:EvaluateOnExit', evaluateOnExit_action -
-- Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
newEvaluateOnExit :: RetryAction -> EvaluateOnExit
-- | Contains a glob pattern to match against the decimal representation of
-- the ExitCode returned for a job. The pattern can be up to 512
-- characters long. It can contain only numbers, and can end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
--
-- The string can contain up to 512 characters.
evaluateOnExit_onExitCode :: Lens' EvaluateOnExit (Maybe Text)
-- | Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
evaluateOnExit_onReason :: Lens' EvaluateOnExit (Maybe Text)
-- | Contains a glob pattern to match against the StatusReason
-- returned for a job. The pattern can contain up to 512 characters. It
-- can contain letters, numbers, periods (.), colons (:), and white
-- spaces (including spaces or tabs). It can optionally end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
evaluateOnExit_onStatusReason :: Lens' EvaluateOnExit (Maybe Text)
-- | Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
evaluateOnExit_action :: Lens' EvaluateOnExit RetryAction
-- | The fair share policy for a scheduling policy.
--
-- See: newFairsharePolicy smart constructor.
data FairsharePolicy
FairsharePolicy' :: Maybe Int -> Maybe Int -> Maybe [ShareAttributes] -> FairsharePolicy
-- | A value used to reserve some of the available maximum vCPU for fair
-- share identifiers that aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
[$sel:computeReservation:FairsharePolicy'] :: FairsharePolicy -> Maybe Int
-- | The amount of time (in seconds) to use to calculate a fair share
-- percentage for each fair share identifier in use. A value of zero (0)
-- indicates that only current usage is measured. The decay allows for
-- more recently run jobs to have more weight than jobs that ran earlier.
-- The maximum supported value is 604800 (1 week).
[$sel:shareDecaySeconds:FairsharePolicy'] :: FairsharePolicy -> Maybe Int
-- | An array of SharedIdentifier objects that contain the weights
-- for the fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
[$sel:shareDistribution:FairsharePolicy'] :: FairsharePolicy -> Maybe [ShareAttributes]
-- | Create a value of FairsharePolicy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:computeReservation:FairsharePolicy',
-- fairsharePolicy_computeReservation - A value used to reserve
-- some of the available maximum vCPU for fair share identifiers that
-- aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
--
-- $sel:shareDecaySeconds:FairsharePolicy',
-- fairsharePolicy_shareDecaySeconds - The amount of time (in
-- seconds) to use to calculate a fair share percentage for each fair
-- share identifier in use. A value of zero (0) indicates that only
-- current usage is measured. The decay allows for more recently run jobs
-- to have more weight than jobs that ran earlier. The maximum supported
-- value is 604800 (1 week).
--
-- $sel:shareDistribution:FairsharePolicy',
-- fairsharePolicy_shareDistribution - An array of
-- SharedIdentifier objects that contain the weights for the
-- fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
newFairsharePolicy :: FairsharePolicy
-- | A value used to reserve some of the available maximum vCPU for fair
-- share identifiers that aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
fairsharePolicy_computeReservation :: Lens' FairsharePolicy (Maybe Int)
-- | The amount of time (in seconds) to use to calculate a fair share
-- percentage for each fair share identifier in use. A value of zero (0)
-- indicates that only current usage is measured. The decay allows for
-- more recently run jobs to have more weight than jobs that ran earlier.
-- The maximum supported value is 604800 (1 week).
fairsharePolicy_shareDecaySeconds :: Lens' FairsharePolicy (Maybe Int)
-- | An array of SharedIdentifier objects that contain the weights
-- for the fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
fairsharePolicy_shareDistribution :: Lens' FairsharePolicy (Maybe [ShareAttributes])
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that run on EC2 resources must not specify this
-- parameter.
--
-- See: newFargatePlatformConfiguration smart constructor.
data FargatePlatformConfiguration
FargatePlatformConfiguration' :: Maybe Text -> FargatePlatformConfiguration
-- | The Fargate platform version where the jobs are running. A platform
-- version is specified only for jobs that are running on Fargate
-- resources. If one isn't specified, the LATEST platform
-- version is used by default. This uses a recent, approved version of
-- the Fargate platform for compute resources. For more information, see
-- Fargate platform versions in the Amazon Elastic Container
-- Service Developer Guide.
[$sel:platformVersion:FargatePlatformConfiguration'] :: FargatePlatformConfiguration -> Maybe Text
-- | Create a value of FargatePlatformConfiguration with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:platformVersion:FargatePlatformConfiguration',
-- fargatePlatformConfiguration_platformVersion - The Fargate
-- platform version where the jobs are running. A platform version is
-- specified only for jobs that are running on Fargate resources. If one
-- isn't specified, the LATEST platform version is used by
-- default. This uses a recent, approved version of the Fargate platform
-- for compute resources. For more information, see Fargate platform
-- versions in the Amazon Elastic Container Service Developer
-- Guide.
newFargatePlatformConfiguration :: FargatePlatformConfiguration
-- | The Fargate platform version where the jobs are running. A platform
-- version is specified only for jobs that are running on Fargate
-- resources. If one isn't specified, the LATEST platform
-- version is used by default. This uses a recent, approved version of
-- the Fargate platform for compute resources. For more information, see
-- Fargate platform versions in the Amazon Elastic Container
-- Service Developer Guide.
fargatePlatformConfiguration_platformVersion :: Lens' FargatePlatformConfiguration (Maybe Text)
-- | Determine whether your data volume persists on the host container
-- instance and where it's stored. If this parameter is empty, then the
-- Docker daemon assigns a host path for your data volume. However, the
-- data isn't guaranteed to persist after the containers that are
-- associated with it stop running.
--
-- See: newHost smart constructor.
data Host
Host' :: Maybe Text -> Host
-- | The path on the host container instance that's presented to the
-- container. If this parameter is empty, then the Docker daemon has
-- assigned a host path for you. If this parameter contains a file
-- location, then the data volume persists at the specified location on
-- the host container instance until you delete it manually. If the
-- source path location doesn't exist on the host container instance, the
-- Docker daemon creates it. If the location does exist, the contents of
-- the source path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
[$sel:sourcePath:Host'] :: Host -> Maybe Text
-- | Create a value of Host with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:sourcePath:Host', host_sourcePath - The path on the
-- host container instance that's presented to the container. If this
-- parameter is empty, then the Docker daemon has assigned a host path
-- for you. If this parameter contains a file location, then the data
-- volume persists at the specified location on the host container
-- instance until you delete it manually. If the source path location
-- doesn't exist on the host container instance, the Docker daemon
-- creates it. If the location does exist, the contents of the source
-- path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
newHost :: Host
-- | The path on the host container instance that's presented to the
-- container. If this parameter is empty, then the Docker daemon has
-- assigned a host path for you. If this parameter contains a file
-- location, then the data volume persists at the specified location on
-- the host container instance until you delete it manually. If the
-- source path location doesn't exist on the host container instance, the
-- Docker daemon creates it. If the location does exist, the contents of
-- the source path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
host_sourcePath :: Lens' Host (Maybe Text)
-- | An object that represents an Batch job definition.
--
-- See: newJobDefinition smart constructor.
data JobDefinition
JobDefinition' :: Maybe OrchestrationType -> Maybe ContainerProperties -> Maybe EksProperties -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Int -> Text -> JobDefinition
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
[$sel:containerOrchestrationType:JobDefinition'] :: JobDefinition -> Maybe OrchestrationType
-- | An object with various properties specific to Amazon ECS based jobs.
-- Valid values are containerProperties, eksProperties,
-- and nodeProperties. Only one can be specified.
[$sel:containerProperties:JobDefinition'] :: JobDefinition -> Maybe ContainerProperties
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
[$sel:eksProperties:JobDefinition'] :: JobDefinition -> Maybe EksProperties
-- | An object with various properties that are specific to multi-node
-- parallel jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
[$sel:nodeProperties:JobDefinition'] :: JobDefinition -> Maybe NodeProperties
-- | Default parameters or parameter substitution placeholders that are set
-- in the job definition. Parameters are specified as a key-value pair
-- mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
[$sel:parameters:JobDefinition'] :: JobDefinition -> Maybe (HashMap Text Text)
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
[$sel:platformCapabilities:JobDefinition'] :: JobDefinition -> Maybe [PlatformCapability]
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
[$sel:propagateTags:JobDefinition'] :: JobDefinition -> Maybe Bool
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition.
[$sel:retryStrategy:JobDefinition'] :: JobDefinition -> Maybe RetryStrategy
-- | The scheduling priority of the job definition. This only affects jobs
-- in job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
[$sel:schedulingPriority:JobDefinition'] :: JobDefinition -> Maybe Int
-- | The status of the job definition.
[$sel:status:JobDefinition'] :: JobDefinition -> Maybe Text
-- | The tags that are applied to the job definition.
[$sel:tags:JobDefinition'] :: JobDefinition -> Maybe (HashMap Text Text)
-- | The timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
[$sel:timeout:JobDefinition'] :: JobDefinition -> Maybe JobTimeout
-- | The name of the job definition.
[$sel:jobDefinitionName:JobDefinition'] :: JobDefinition -> Text
-- | The Amazon Resource Name (ARN) for the job definition.
[$sel:jobDefinitionArn:JobDefinition'] :: JobDefinition -> Text
-- | The revision of the job definition.
[$sel:revision:JobDefinition'] :: JobDefinition -> Int
-- | The type of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
[$sel:type':JobDefinition'] :: JobDefinition -> Text
-- | Create a value of JobDefinition with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerOrchestrationType:JobDefinition',
-- jobDefinition_containerOrchestrationType - The orchestration
-- type of the compute environment. The valid values are ECS
-- (default) or EKS.
--
-- $sel:containerProperties:JobDefinition',
-- jobDefinition_containerProperties - An object with various
-- properties specific to Amazon ECS based jobs. Valid values are
-- containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- $sel:eksProperties:JobDefinition',
-- jobDefinition_eksProperties - An object with various properties
-- that are specific to Amazon EKS based jobs. Valid values are
-- containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- $sel:nodeProperties:JobDefinition',
-- jobDefinition_nodeProperties - An object with various
-- properties that are specific to multi-node parallel jobs. Valid values
-- are containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
--
-- $sel:parameters:JobDefinition', jobDefinition_parameters
-- - Default parameters or parameter substitution placeholders that are
-- set in the job definition. Parameters are specified as a key-value
-- pair mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
--
-- $sel:platformCapabilities:JobDefinition',
-- jobDefinition_platformCapabilities - The platform capabilities
-- required by the job definition. If no value is specified, it defaults
-- to EC2. Jobs run on Fargate resources specify
-- FARGATE.
--
-- $sel:propagateTags:JobDefinition',
-- jobDefinition_propagateTags - Specifies whether to propagate
-- the tags from the job or job definition to the corresponding Amazon
-- ECS task. If no value is specified, the tags aren't propagated. Tags
-- can only be propagated to the tasks when the tasks are created. For
-- tags with the same name, job tags are given priority over job
-- definitions tags. If the total number of combined tags from the job
-- and job definition is over 50, the job is moved to the FAILED
-- state.
--
-- $sel:retryStrategy:JobDefinition',
-- jobDefinition_retryStrategy - The retry strategy to use for
-- failed jobs that are submitted with this job definition.
--
-- $sel:schedulingPriority:JobDefinition',
-- jobDefinition_schedulingPriority - The scheduling priority of
-- the job definition. This only affects jobs in job queues with a fair
-- share policy. Jobs with a higher scheduling priority are scheduled
-- before jobs with a lower scheduling priority.
--
-- $sel:status:JobDefinition', jobDefinition_status - The
-- status of the job definition.
--
-- $sel:tags:JobDefinition', jobDefinition_tags - The tags
-- that are applied to the job definition.
--
-- $sel:timeout:JobDefinition', jobDefinition_timeout - The
-- timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
--
-- $sel:jobDefinitionName:JobDefinition',
-- jobDefinition_jobDefinitionName - The name of the job
-- definition.
--
-- $sel:jobDefinitionArn:JobDefinition',
-- jobDefinition_jobDefinitionArn - The Amazon Resource Name (ARN)
-- for the job definition.
--
-- $sel:revision:JobDefinition', jobDefinition_revision -
-- The revision of the job definition.
--
-- $sel:type':JobDefinition', jobDefinition_type - The type
-- of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
newJobDefinition :: Text -> Text -> Int -> Text -> JobDefinition
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
jobDefinition_containerOrchestrationType :: Lens' JobDefinition (Maybe OrchestrationType)
-- | An object with various properties specific to Amazon ECS based jobs.
-- Valid values are containerProperties, eksProperties,
-- and nodeProperties. Only one can be specified.
jobDefinition_containerProperties :: Lens' JobDefinition (Maybe ContainerProperties)
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
jobDefinition_eksProperties :: Lens' JobDefinition (Maybe EksProperties)
-- | An object with various properties that are specific to multi-node
-- parallel jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
jobDefinition_nodeProperties :: Lens' JobDefinition (Maybe NodeProperties)
-- | Default parameters or parameter substitution placeholders that are set
-- in the job definition. Parameters are specified as a key-value pair
-- mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
jobDefinition_parameters :: Lens' JobDefinition (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
jobDefinition_platformCapabilities :: Lens' JobDefinition (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
jobDefinition_propagateTags :: Lens' JobDefinition (Maybe Bool)
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition.
jobDefinition_retryStrategy :: Lens' JobDefinition (Maybe RetryStrategy)
-- | The scheduling priority of the job definition. This only affects jobs
-- in job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
jobDefinition_schedulingPriority :: Lens' JobDefinition (Maybe Int)
-- | The status of the job definition.
jobDefinition_status :: Lens' JobDefinition (Maybe Text)
-- | The tags that are applied to the job definition.
jobDefinition_tags :: Lens' JobDefinition (Maybe (HashMap Text Text))
-- | The timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
jobDefinition_timeout :: Lens' JobDefinition (Maybe JobTimeout)
-- | The name of the job definition.
jobDefinition_jobDefinitionName :: Lens' JobDefinition Text
-- | The Amazon Resource Name (ARN) for the job definition.
jobDefinition_jobDefinitionArn :: Lens' JobDefinition Text
-- | The revision of the job definition.
jobDefinition_revision :: Lens' JobDefinition Int
-- | The type of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
jobDefinition_type :: Lens' JobDefinition Text
-- | An object that represents an Batch job dependency.
--
-- See: newJobDependency smart constructor.
data JobDependency
JobDependency' :: Maybe Text -> Maybe ArrayJobDependency -> JobDependency
-- | The job ID of the Batch job that's associated with this dependency.
[$sel:jobId:JobDependency'] :: JobDependency -> Maybe Text
-- | The type of the job dependency.
[$sel:type':JobDependency'] :: JobDependency -> Maybe ArrayJobDependency
-- | Create a value of JobDependency with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:jobId:JobDependency', jobDependency_jobId - The job
-- ID of the Batch job that's associated with this dependency.
--
-- $sel:type':JobDependency', jobDependency_type - The type
-- of the job dependency.
newJobDependency :: JobDependency
-- | The job ID of the Batch job that's associated with this dependency.
jobDependency_jobId :: Lens' JobDependency (Maybe Text)
-- | The type of the job dependency.
jobDependency_type :: Lens' JobDependency (Maybe ArrayJobDependency)
-- | An object that represents an Batch job.
--
-- See: newJobDetail smart constructor.
data JobDetail
JobDetail' :: Maybe ArrayPropertiesDetail -> Maybe [AttemptDetail] -> Maybe ContainerDetail -> Maybe Integer -> Maybe [JobDependency] -> Maybe [EksAttemptDetail] -> Maybe EksPropertiesDetail -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe NodeDetails -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Text -> JobStatus -> Text -> JobDetail
-- | The array properties of the job, if it's an array job.
[$sel:arrayProperties:JobDetail'] :: JobDetail -> Maybe ArrayPropertiesDetail
-- | A list of job attempts that are associated with this job.
[$sel:attempts:JobDetail'] :: JobDetail -> Maybe [AttemptDetail]
-- | An object that represents the details for the container that's
-- associated with the job.
[$sel:container:JobDetail'] :: JobDetail -> Maybe ContainerDetail
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
[$sel:createdAt:JobDetail'] :: JobDetail -> Maybe Integer
-- | A list of job IDs that this job depends on.
[$sel:dependsOn:JobDetail'] :: JobDetail -> Maybe [JobDependency]
-- | A list of job attempts that are associated with this job.
[$sel:eksAttempts:JobDetail'] :: JobDetail -> Maybe [EksAttemptDetail]
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
[$sel:eksProperties:JobDetail'] :: JobDetail -> Maybe EksPropertiesDetail
-- | Indicates whether the job is canceled.
[$sel:isCancelled:JobDetail'] :: JobDetail -> Maybe Bool
-- | Indicates whether the job is terminated.
[$sel:isTerminated:JobDetail'] :: JobDetail -> Maybe Bool
-- | The Amazon Resource Name (ARN) of the job.
[$sel:jobArn:JobDetail'] :: JobDetail -> Maybe Text
-- | An object that represents the details of a node that's associated with
-- a multi-node parallel job.
[$sel:nodeDetails:JobDetail'] :: JobDetail -> Maybe NodeDetails
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
[$sel:nodeProperties:JobDetail'] :: JobDetail -> Maybe NodeProperties
-- | Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
[$sel:parameters:JobDetail'] :: JobDetail -> Maybe (HashMap Text Text)
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
[$sel:platformCapabilities:JobDetail'] :: JobDetail -> Maybe [PlatformCapability]
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
[$sel:propagateTags:JobDetail'] :: JobDetail -> Maybe Bool
-- | The retry strategy to use for this job if an attempt fails.
[$sel:retryStrategy:JobDetail'] :: JobDetail -> Maybe RetryStrategy
-- | The scheduling policy of the job definition. This only affects jobs in
-- job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
[$sel:schedulingPriority:JobDetail'] :: JobDetail -> Maybe Int
-- | The share identifier for the job.
[$sel:shareIdentifier:JobDetail'] :: JobDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the job was started.
-- More specifically, it's when the job transitioned from the
-- STARTING state to the RUNNING state. This parameter
-- isn't provided for child jobs of array jobs or multi-node parallel
-- jobs.
[$sel:startedAt:JobDetail'] :: JobDetail -> Maybe Integer
-- | A short, human-readable string to provide more details for the current
-- status of the job.
[$sel:statusReason:JobDetail'] :: JobDetail -> Maybe Text
-- | The Unix timestamp (in milliseconds) for when the job was stopped.
-- More specifically, it's when the job transitioned from the
-- RUNNING state to a terminal state, such as SUCCEEDED
-- or FAILED.
[$sel:stoppedAt:JobDetail'] :: JobDetail -> Maybe Integer
-- | The tags that are applied to the job.
[$sel:tags:JobDetail'] :: JobDetail -> Maybe (HashMap Text Text)
-- | The timeout configuration for the job.
[$sel:timeout:JobDetail'] :: JobDetail -> Maybe JobTimeout
-- | The job name.
[$sel:jobName:JobDetail'] :: JobDetail -> Text
-- | The job ID.
[$sel:jobId:JobDetail'] :: JobDetail -> Text
-- | The Amazon Resource Name (ARN) of the job queue that the job is
-- associated with.
[$sel:jobQueue:JobDetail'] :: JobDetail -> Text
-- | The current status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
[$sel:status:JobDetail'] :: JobDetail -> JobStatus
-- | The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
[$sel:jobDefinition:JobDetail'] :: JobDetail -> Text
-- | Create a value of JobDetail with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayProperties:JobDetail',
-- jobDetail_arrayProperties - The array properties of the job, if
-- it's an array job.
--
-- JobDetail, jobDetail_attempts - A list of job attempts
-- that are associated with this job.
--
-- JobDetail, jobDetail_container - An object that
-- represents the details for the container that's associated with the
-- job.
--
-- $sel:createdAt:JobDetail', jobDetail_createdAt - The
-- Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
--
-- $sel:dependsOn:JobDetail', jobDetail_dependsOn - A list
-- of job IDs that this job depends on.
--
-- $sel:eksAttempts:JobDetail', jobDetail_eksAttempts - A
-- list of job attempts that are associated with this job.
--
-- $sel:eksProperties:JobDetail', jobDetail_eksProperties -
-- An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
--
-- $sel:isCancelled:JobDetail', jobDetail_isCancelled -
-- Indicates whether the job is canceled.
--
-- $sel:isTerminated:JobDetail', jobDetail_isTerminated -
-- Indicates whether the job is terminated.
--
-- $sel:jobArn:JobDetail', jobDetail_jobArn - The Amazon
-- Resource Name (ARN) of the job.
--
-- $sel:nodeDetails:JobDetail', jobDetail_nodeDetails - An
-- object that represents the details of a node that's associated with a
-- multi-node parallel job.
--
-- $sel:nodeProperties:JobDetail', jobDetail_nodeProperties
-- - An object that represents the node properties of a multi-node
-- parallel job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
--
-- $sel:parameters:JobDetail', jobDetail_parameters -
-- Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
--
-- $sel:platformCapabilities:JobDetail',
-- jobDetail_platformCapabilities - The platform capabilities
-- required by the job definition. If no value is specified, it defaults
-- to EC2. Jobs run on Fargate resources specify
-- FARGATE.
--
-- $sel:propagateTags:JobDetail', jobDetail_propagateTags -
-- Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
--
-- $sel:retryStrategy:JobDetail', jobDetail_retryStrategy -
-- The retry strategy to use for this job if an attempt fails.
--
-- $sel:schedulingPriority:JobDetail',
-- jobDetail_schedulingPriority - The scheduling policy of the job
-- definition. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority.
--
-- $sel:shareIdentifier:JobDetail',
-- jobDetail_shareIdentifier - The share identifier for the job.
--
-- JobDetail, jobDetail_startedAt - The Unix timestamp (in
-- milliseconds) for when the job was started. More specifically, it's
-- when the job transitioned from the STARTING state to the
-- RUNNING state. This parameter isn't provided for child jobs
-- of array jobs or multi-node parallel jobs.
--
-- JobDetail, jobDetail_statusReason - A short,
-- human-readable string to provide more details for the current status
-- of the job.
--
-- JobDetail, jobDetail_stoppedAt - The Unix timestamp (in
-- milliseconds) for when the job was stopped. More specifically, it's
-- when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
--
-- $sel:tags:JobDetail', jobDetail_tags - The tags that are
-- applied to the job.
--
-- $sel:timeout:JobDetail', jobDetail_timeout - The timeout
-- configuration for the job.
--
-- $sel:jobName:JobDetail', jobDetail_jobName - The job
-- name.
--
-- JobDetail, jobDetail_jobId - The job ID.
--
-- $sel:jobQueue:JobDetail', jobDetail_jobQueue - The
-- Amazon Resource Name (ARN) of the job queue that the job is associated
-- with.
--
-- $sel:status:JobDetail', jobDetail_status - The current
-- status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
--
-- $sel:jobDefinition:JobDetail', jobDetail_jobDefinition -
-- The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
newJobDetail :: Text -> Text -> Text -> JobStatus -> Text -> JobDetail
-- | The array properties of the job, if it's an array job.
jobDetail_arrayProperties :: Lens' JobDetail (Maybe ArrayPropertiesDetail)
-- | A list of job attempts that are associated with this job.
jobDetail_attempts :: Lens' JobDetail (Maybe [AttemptDetail])
-- | An object that represents the details for the container that's
-- associated with the job.
jobDetail_container :: Lens' JobDetail (Maybe ContainerDetail)
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
jobDetail_createdAt :: Lens' JobDetail (Maybe Integer)
-- | A list of job IDs that this job depends on.
jobDetail_dependsOn :: Lens' JobDetail (Maybe [JobDependency])
-- | A list of job attempts that are associated with this job.
jobDetail_eksAttempts :: Lens' JobDetail (Maybe [EksAttemptDetail])
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
jobDetail_eksProperties :: Lens' JobDetail (Maybe EksPropertiesDetail)
-- | Indicates whether the job is canceled.
jobDetail_isCancelled :: Lens' JobDetail (Maybe Bool)
-- | Indicates whether the job is terminated.
jobDetail_isTerminated :: Lens' JobDetail (Maybe Bool)
-- | The Amazon Resource Name (ARN) of the job.
jobDetail_jobArn :: Lens' JobDetail (Maybe Text)
-- | An object that represents the details of a node that's associated with
-- a multi-node parallel job.
jobDetail_nodeDetails :: Lens' JobDetail (Maybe NodeDetails)
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
jobDetail_nodeProperties :: Lens' JobDetail (Maybe NodeProperties)
-- | Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
jobDetail_parameters :: Lens' JobDetail (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
jobDetail_platformCapabilities :: Lens' JobDetail (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
jobDetail_propagateTags :: Lens' JobDetail (Maybe Bool)
-- | The retry strategy to use for this job if an attempt fails.
jobDetail_retryStrategy :: Lens' JobDetail (Maybe RetryStrategy)
-- | The scheduling policy of the job definition. This only affects jobs in
-- job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
jobDetail_schedulingPriority :: Lens' JobDetail (Maybe Int)
-- | The share identifier for the job.
jobDetail_shareIdentifier :: Lens' JobDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the job was started.
-- More specifically, it's when the job transitioned from the
-- STARTING state to the RUNNING state. This parameter
-- isn't provided for child jobs of array jobs or multi-node parallel
-- jobs.
jobDetail_startedAt :: Lens' JobDetail (Maybe Integer)
-- | A short, human-readable string to provide more details for the current
-- status of the job.
jobDetail_statusReason :: Lens' JobDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the job was stopped.
-- More specifically, it's when the job transitioned from the
-- RUNNING state to a terminal state, such as SUCCEEDED
-- or FAILED.
jobDetail_stoppedAt :: Lens' JobDetail (Maybe Integer)
-- | The tags that are applied to the job.
jobDetail_tags :: Lens' JobDetail (Maybe (HashMap Text Text))
-- | The timeout configuration for the job.
jobDetail_timeout :: Lens' JobDetail (Maybe JobTimeout)
-- | The job name.
jobDetail_jobName :: Lens' JobDetail Text
-- | The job ID.
jobDetail_jobId :: Lens' JobDetail Text
-- | The Amazon Resource Name (ARN) of the job queue that the job is
-- associated with.
jobDetail_jobQueue :: Lens' JobDetail Text
-- | The current status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
jobDetail_status :: Lens' JobDetail JobStatus
-- | The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
jobDetail_jobDefinition :: Lens' JobDetail Text
-- | An object that represents the details for an Batch job queue.
--
-- See: newJobQueueDetail smart constructor.
data JobQueueDetail
JobQueueDetail' :: Maybe Text -> Maybe JQStatus -> Maybe Text -> Maybe (HashMap Text Text) -> Text -> Text -> JQState -> Int -> [ComputeEnvironmentOrder] -> JobQueueDetail
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
[$sel:schedulingPolicyArn:JobQueueDetail'] :: JobQueueDetail -> Maybe Text
-- | The status of the job queue (for example, CREATING or
-- VALID).
[$sel:status:JobQueueDetail'] :: JobQueueDetail -> Maybe JQStatus
-- | A short, human-readable string to provide additional details for the
-- current status of the job queue.
[$sel:statusReason:JobQueueDetail'] :: JobQueueDetail -> Maybe Text
-- | The tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
[$sel:tags:JobQueueDetail'] :: JobQueueDetail -> Maybe (HashMap Text Text)
-- | The job queue name.
[$sel:jobQueueName:JobQueueDetail'] :: JobQueueDetail -> Text
-- | The Amazon Resource Name (ARN) of the job queue.
[$sel:jobQueueArn:JobQueueDetail'] :: JobQueueDetail -> Text
-- | Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
[$sel:state:JobQueueDetail'] :: JobQueueDetail -> JQState
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
[$sel:priority:JobQueueDetail'] :: JobQueueDetail -> Int
-- | The compute environments that are attached to the job queue and the
-- order that job placement is preferred. Compute environments are
-- selected for job placement in ascending order.
[$sel:computeEnvironmentOrder:JobQueueDetail'] :: JobQueueDetail -> [ComputeEnvironmentOrder]
-- | Create a value of JobQueueDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:schedulingPolicyArn:JobQueueDetail',
-- jobQueueDetail_schedulingPolicyArn - The Amazon Resource Name
-- (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
--
-- $sel:status:JobQueueDetail', jobQueueDetail_status - The
-- status of the job queue (for example, CREATING or
-- VALID).
--
-- $sel:statusReason:JobQueueDetail',
-- jobQueueDetail_statusReason - A short, human-readable string to
-- provide additional details for the current status of the job queue.
--
-- $sel:tags:JobQueueDetail', jobQueueDetail_tags - The
-- tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
--
-- $sel:jobQueueName:JobQueueDetail',
-- jobQueueDetail_jobQueueName - The job queue name.
--
-- $sel:jobQueueArn:JobQueueDetail',
-- jobQueueDetail_jobQueueArn - The Amazon Resource Name (ARN) of
-- the job queue.
--
-- $sel:state:JobQueueDetail', jobQueueDetail_state -
-- Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
--
-- $sel:priority:JobQueueDetail', jobQueueDetail_priority -
-- The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
--
-- $sel:computeEnvironmentOrder:JobQueueDetail',
-- jobQueueDetail_computeEnvironmentOrder - The compute
-- environments that are attached to the job queue and the order that job
-- placement is preferred. Compute environments are selected for job
-- placement in ascending order.
newJobQueueDetail :: Text -> Text -> JQState -> Int -> JobQueueDetail
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
jobQueueDetail_schedulingPolicyArn :: Lens' JobQueueDetail (Maybe Text)
-- | The status of the job queue (for example, CREATING or
-- VALID).
jobQueueDetail_status :: Lens' JobQueueDetail (Maybe JQStatus)
-- | A short, human-readable string to provide additional details for the
-- current status of the job queue.
jobQueueDetail_statusReason :: Lens' JobQueueDetail (Maybe Text)
-- | The tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
jobQueueDetail_tags :: Lens' JobQueueDetail (Maybe (HashMap Text Text))
-- | The job queue name.
jobQueueDetail_jobQueueName :: Lens' JobQueueDetail Text
-- | The Amazon Resource Name (ARN) of the job queue.
jobQueueDetail_jobQueueArn :: Lens' JobQueueDetail Text
-- | Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
jobQueueDetail_state :: Lens' JobQueueDetail JQState
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
jobQueueDetail_priority :: Lens' JobQueueDetail Int
-- | The compute environments that are attached to the job queue and the
-- order that job placement is preferred. Compute environments are
-- selected for job placement in ascending order.
jobQueueDetail_computeEnvironmentOrder :: Lens' JobQueueDetail [ComputeEnvironmentOrder]
-- | An object that represents summary details of a job.
--
-- See: newJobSummary smart constructor.
data JobSummary
JobSummary' :: Maybe ArrayPropertiesSummary -> Maybe ContainerSummary -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe NodePropertiesSummary -> Maybe Integer -> Maybe JobStatus -> Maybe Text -> Maybe Integer -> Text -> Text -> JobSummary
-- | The array properties of the job, if it's an array job.
[$sel:arrayProperties:JobSummary'] :: JobSummary -> Maybe ArrayPropertiesSummary
-- | An object that represents the details of the container that's
-- associated with the job.
[$sel:container:JobSummary'] :: JobSummary -> Maybe ContainerSummary
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
[$sel:createdAt:JobSummary'] :: JobSummary -> Maybe Integer
-- | The Amazon Resource Name (ARN) of the job.
[$sel:jobArn:JobSummary'] :: JobSummary -> Maybe Text
-- | The Amazon Resource Name (ARN) of the job definition.
[$sel:jobDefinition:JobSummary'] :: JobSummary -> Maybe Text
-- | The node properties for a single node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
[$sel:nodeProperties:JobSummary'] :: JobSummary -> Maybe NodePropertiesSummary
-- | The Unix timestamp for when the job was started. More specifically,
-- it's when the job transitioned from the STARTING state to the
-- RUNNING state.
[$sel:startedAt:JobSummary'] :: JobSummary -> Maybe Integer
-- | The current status for the job.
[$sel:status:JobSummary'] :: JobSummary -> Maybe JobStatus
-- | A short, human-readable string to provide more details for the current
-- status of the job.
[$sel:statusReason:JobSummary'] :: JobSummary -> Maybe Text
-- | The Unix timestamp for when the job was stopped. More specifically,
-- it's when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
[$sel:stoppedAt:JobSummary'] :: JobSummary -> Maybe Integer
-- | The job ID.
[$sel:jobId:JobSummary'] :: JobSummary -> Text
-- | The job name.
[$sel:jobName:JobSummary'] :: JobSummary -> Text
-- | Create a value of JobSummary with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayProperties:JobSummary',
-- jobSummary_arrayProperties - The array properties of the job,
-- if it's an array job.
--
-- $sel:container:JobSummary', jobSummary_container - An
-- object that represents the details of the container that's associated
-- with the job.
--
-- $sel:createdAt:JobSummary', jobSummary_createdAt - The
-- Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
--
-- $sel:jobArn:JobSummary', jobSummary_jobArn - The Amazon
-- Resource Name (ARN) of the job.
--
-- $sel:jobDefinition:JobSummary', jobSummary_jobDefinition
-- - The Amazon Resource Name (ARN) of the job definition.
--
-- $sel:nodeProperties:JobSummary',
-- jobSummary_nodeProperties - The node properties for a single
-- node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
--
-- $sel:startedAt:JobSummary', jobSummary_startedAt - The
-- Unix timestamp for when the job was started. More specifically, it's
-- when the job transitioned from the STARTING state to the
-- RUNNING state.
--
-- $sel:status:JobSummary', jobSummary_status - The current
-- status for the job.
--
-- $sel:statusReason:JobSummary', jobSummary_statusReason -
-- A short, human-readable string to provide more details for the current
-- status of the job.
--
-- $sel:stoppedAt:JobSummary', jobSummary_stoppedAt - The
-- Unix timestamp for when the job was stopped. More specifically, it's
-- when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
--
-- $sel:jobId:JobSummary', jobSummary_jobId - The job ID.
--
-- $sel:jobName:JobSummary', jobSummary_jobName - The job
-- name.
newJobSummary :: Text -> Text -> JobSummary
-- | The array properties of the job, if it's an array job.
jobSummary_arrayProperties :: Lens' JobSummary (Maybe ArrayPropertiesSummary)
-- | An object that represents the details of the container that's
-- associated with the job.
jobSummary_container :: Lens' JobSummary (Maybe ContainerSummary)
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
jobSummary_createdAt :: Lens' JobSummary (Maybe Integer)
-- | The Amazon Resource Name (ARN) of the job.
jobSummary_jobArn :: Lens' JobSummary (Maybe Text)
-- | The Amazon Resource Name (ARN) of the job definition.
jobSummary_jobDefinition :: Lens' JobSummary (Maybe Text)
-- | The node properties for a single node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
jobSummary_nodeProperties :: Lens' JobSummary (Maybe NodePropertiesSummary)
-- | The Unix timestamp for when the job was started. More specifically,
-- it's when the job transitioned from the STARTING state to the
-- RUNNING state.
jobSummary_startedAt :: Lens' JobSummary (Maybe Integer)
-- | The current status for the job.
jobSummary_status :: Lens' JobSummary (Maybe JobStatus)
-- | A short, human-readable string to provide more details for the current
-- status of the job.
jobSummary_statusReason :: Lens' JobSummary (Maybe Text)
-- | The Unix timestamp for when the job was stopped. More specifically,
-- it's when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
jobSummary_stoppedAt :: Lens' JobSummary (Maybe Integer)
-- | The job ID.
jobSummary_jobId :: Lens' JobSummary Text
-- | The job name.
jobSummary_jobName :: Lens' JobSummary Text
-- | An object that represents a job timeout configuration.
--
-- See: newJobTimeout smart constructor.
data JobTimeout
JobTimeout' :: Maybe Int -> JobTimeout
-- | The job timeout time (in seconds) that's measured from the job
-- attempt's startedAt timestamp. After this time passes, Batch
-- terminates your jobs if they aren't finished. The minimum value for
-- the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
[$sel:attemptDurationSeconds:JobTimeout'] :: JobTimeout -> Maybe Int
-- | Create a value of JobTimeout with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attemptDurationSeconds:JobTimeout',
-- jobTimeout_attemptDurationSeconds - The job timeout time (in
-- seconds) that's measured from the job attempt's startedAt
-- timestamp. After this time passes, Batch terminates your jobs if they
-- aren't finished. The minimum value for the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
newJobTimeout :: JobTimeout
-- | The job timeout time (in seconds) that's measured from the job
-- attempt's startedAt timestamp. After this time passes, Batch
-- terminates your jobs if they aren't finished. The minimum value for
-- the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
jobTimeout_attemptDurationSeconds :: Lens' JobTimeout (Maybe Int)
-- | A key-value pair object.
--
-- See: newKeyValuePair smart constructor.
data KeyValuePair
KeyValuePair' :: Maybe Text -> Maybe Text -> KeyValuePair
-- | The name of the key-value pair. For environment variables, this is the
-- name of the environment variable.
[$sel:name:KeyValuePair'] :: KeyValuePair -> Maybe Text
-- | The value of the key-value pair. For environment variables, this is
-- the value of the environment variable.
[$sel:value:KeyValuePair'] :: KeyValuePair -> Maybe Text
-- | Create a value of KeyValuePair with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:KeyValuePair', keyValuePair_name - The name of
-- the key-value pair. For environment variables, this is the name of the
-- environment variable.
--
-- $sel:value:KeyValuePair', keyValuePair_value - The value
-- of the key-value pair. For environment variables, this is the value of
-- the environment variable.
newKeyValuePair :: KeyValuePair
-- | The name of the key-value pair. For environment variables, this is the
-- name of the environment variable.
keyValuePair_name :: Lens' KeyValuePair (Maybe Text)
-- | The value of the key-value pair. For environment variables, this is
-- the value of the environment variable.
keyValuePair_value :: Lens' KeyValuePair (Maybe Text)
-- | A filter name and value pair that's used to return a more specific
-- list of results from a ListJobs API operation.
--
-- See: newKeyValuesPair smart constructor.
data KeyValuesPair
KeyValuesPair' :: Maybe Text -> Maybe [Text] -> KeyValuesPair
-- | The name of the filter. Filter names are case sensitive.
[$sel:name:KeyValuesPair'] :: KeyValuesPair -> Maybe Text
-- | The filter values.
[$sel:values:KeyValuesPair'] :: KeyValuesPair -> Maybe [Text]
-- | Create a value of KeyValuesPair with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:KeyValuesPair', keyValuesPair_name - The name
-- of the filter. Filter names are case sensitive.
--
-- $sel:values:KeyValuesPair', keyValuesPair_values - The
-- filter values.
newKeyValuesPair :: KeyValuesPair
-- | The name of the filter. Filter names are case sensitive.
keyValuesPair_name :: Lens' KeyValuesPair (Maybe Text)
-- | The filter values.
keyValuesPair_values :: Lens' KeyValuesPair (Maybe [Text])
-- | An object that represents a launch template that's associated with a
-- compute resource. You must specify either the launch template ID or
-- launch template name in the request, but not both.
--
-- If security groups are specified using both the
-- securityGroupIds parameter of
-- CreateComputeEnvironment and the launch template, the values
-- in the securityGroupIds parameter of
-- CreateComputeEnvironment will be used.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newLaunchTemplateSpecification smart constructor.
data LaunchTemplateSpecification
LaunchTemplateSpecification' :: Maybe Text -> Maybe Text -> Maybe Text -> LaunchTemplateSpecification
-- | The ID of the launch template.
[$sel:launchTemplateId:LaunchTemplateSpecification'] :: LaunchTemplateSpecification -> Maybe Text
-- | The name of the launch template.
[$sel:launchTemplateName:LaunchTemplateSpecification'] :: LaunchTemplateSpecification -> Maybe Text
-- | The version number of the launch template, $Latest, or
-- $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
[$sel:version:LaunchTemplateSpecification'] :: LaunchTemplateSpecification -> Maybe Text
-- | Create a value of LaunchTemplateSpecification with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:launchTemplateId:LaunchTemplateSpecification',
-- launchTemplateSpecification_launchTemplateId - The ID of the
-- launch template.
--
-- $sel:launchTemplateName:LaunchTemplateSpecification',
-- launchTemplateSpecification_launchTemplateName - The name of
-- the launch template.
--
-- $sel:version:LaunchTemplateSpecification',
-- launchTemplateSpecification_version - The version number of the
-- launch template, $Latest, or $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
newLaunchTemplateSpecification :: LaunchTemplateSpecification
-- | The ID of the launch template.
launchTemplateSpecification_launchTemplateId :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | The name of the launch template.
launchTemplateSpecification_launchTemplateName :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | The version number of the launch template, $Latest, or
-- $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
launchTemplateSpecification_version :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
--
-- See: newLinuxParameters smart constructor.
data LinuxParameters
LinuxParameters' :: Maybe [Device] -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe [Tmpfs] -> LinuxParameters
-- | Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:devices:LinuxParameters'] :: LinuxParameters -> Maybe [Device]
-- | If true, run an init process inside the container that
-- forwards signals and reaps processes. This parameter maps to the
-- --init option to docker run. This parameter requires
-- version 1.25 of the Docker Remote API or greater on your container
-- instance. To check the Docker Remote API version on your container
-- instance, log in to your container instance and run the following
-- command: sudo docker version | grep "Server API version"
[$sel:initProcessEnabled:LinuxParameters'] :: LinuxParameters -> Maybe Bool
-- | The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:maxSwap:LinuxParameters'] :: LinuxParameters -> Maybe Int
-- | The value for the size (in MiB) of the /dev/shm volume. This
-- parameter maps to the --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:sharedMemorySize:LinuxParameters'] :: LinuxParameters -> Maybe Int
-- | You can use this parameter to tune a container's memory swappiness
-- behavior. A swappiness value of 0 causes swapping to
-- not occur unless absolutely necessary. A swappiness value of
-- 100 causes pages to be swapped aggressively. Valid values are
-- whole numbers between 0 and 100. If the
-- swappiness parameter isn't specified, a default value of
-- 60 is used. If a value isn't specified for maxSwap,
-- then this parameter is ignored. If maxSwap is set to 0, the
-- container doesn't use swap. This parameter maps to the
-- --memory-swappiness option to docker run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
[$sel:swappiness:LinuxParameters'] :: LinuxParameters -> Maybe Int
-- | The container path, mount options, and size (in MiB) of the
-- tmpfs mount. This parameter maps to the --tmpfs
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
[$sel:tmpfs:LinuxParameters'] :: LinuxParameters -> Maybe [Tmpfs]
-- | Create a value of LinuxParameters with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:devices:LinuxParameters', linuxParameters_devices -
-- Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:initProcessEnabled:LinuxParameters',
-- linuxParameters_initProcessEnabled - If true, run an
-- init process inside the container that forwards signals and
-- reaps processes. This parameter maps to the --init option to
-- docker run. This parameter requires version 1.25 of the Docker
-- Remote API or greater on your container instance. To check the Docker
-- Remote API version on your container instance, log in to your
-- container instance and run the following command: sudo docker
-- version | grep "Server API version"
--
-- $sel:maxSwap:LinuxParameters', linuxParameters_maxSwap -
-- The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:sharedMemorySize:LinuxParameters',
-- linuxParameters_sharedMemorySize - The value for the size (in
-- MiB) of the /dev/shm volume. This parameter maps to the
-- --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:swappiness:LinuxParameters',
-- linuxParameters_swappiness - You can use this parameter to tune
-- a container's memory swappiness behavior. A swappiness value
-- of 0 causes swapping to not occur unless absolutely
-- necessary. A swappiness value of 100 causes pages to
-- be swapped aggressively. Valid values are whole numbers between
-- 0 and 100. If the swappiness parameter
-- isn't specified, a default value of 60 is used. If a value
-- isn't specified for maxSwap, then this parameter is ignored.
-- If maxSwap is set to 0, the container doesn't use swap. This
-- parameter maps to the --memory-swappiness option to docker
-- run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:tmpfs:LinuxParameters', linuxParameters_tmpfs - The
-- container path, mount options, and size (in MiB) of the tmpfs
-- mount. This parameter maps to the --tmpfs option to docker
-- run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
newLinuxParameters :: LinuxParameters
-- | Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_devices :: Lens' LinuxParameters (Maybe [Device])
-- | If true, run an init process inside the container that
-- forwards signals and reaps processes. This parameter maps to the
-- --init option to docker run. This parameter requires
-- version 1.25 of the Docker Remote API or greater on your container
-- instance. To check the Docker Remote API version on your container
-- instance, log in to your container instance and run the following
-- command: sudo docker version | grep "Server API version"
linuxParameters_initProcessEnabled :: Lens' LinuxParameters (Maybe Bool)
-- | The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_maxSwap :: Lens' LinuxParameters (Maybe Int)
-- | The value for the size (in MiB) of the /dev/shm volume. This
-- parameter maps to the --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_sharedMemorySize :: Lens' LinuxParameters (Maybe Int)
-- | You can use this parameter to tune a container's memory swappiness
-- behavior. A swappiness value of 0 causes swapping to
-- not occur unless absolutely necessary. A swappiness value of
-- 100 causes pages to be swapped aggressively. Valid values are
-- whole numbers between 0 and 100. If the
-- swappiness parameter isn't specified, a default value of
-- 60 is used. If a value isn't specified for maxSwap,
-- then this parameter is ignored. If maxSwap is set to 0, the
-- container doesn't use swap. This parameter maps to the
-- --memory-swappiness option to docker run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_swappiness :: Lens' LinuxParameters (Maybe Int)
-- | The container path, mount options, and size (in MiB) of the
-- tmpfs mount. This parameter maps to the --tmpfs
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
linuxParameters_tmpfs :: Lens' LinuxParameters (Maybe [Tmpfs])
-- | Log configuration options to send to a custom log driver for the
-- container.
--
-- See: newLogConfiguration smart constructor.
data LogConfiguration
LogConfiguration' :: Maybe (HashMap Text Text) -> Maybe [Secret] -> LogDriver -> LogConfiguration
-- | The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
[$sel:options:LogConfiguration'] :: LogConfiguration -> Maybe (HashMap Text Text)
-- | The secrets to pass to the log configuration. For more information,
-- see Specifying sensitive data in the Batch User Guide.
[$sel:secretOptions:LogConfiguration'] :: LogConfiguration -> Maybe [Secret]
-- | The log driver to use for the container. The valid values that are
-- listed for this parameter are log drivers that the Amazon ECS
-- container agent can communicate with by default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
[$sel:logDriver:LogConfiguration'] :: LogConfiguration -> LogDriver
-- | Create a value of LogConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:options:LogConfiguration', logConfiguration_options
-- - The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
--
-- $sel:secretOptions:LogConfiguration',
-- logConfiguration_secretOptions - The secrets to pass to the log
-- configuration. For more information, see Specifying sensitive
-- data in the Batch User Guide.
--
-- $sel:logDriver:LogConfiguration',
-- logConfiguration_logDriver - The log driver to use for the
-- container. The valid values that are listed for this parameter are log
-- drivers that the Amazon ECS container agent can communicate with by
-- default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
newLogConfiguration :: LogDriver -> LogConfiguration
-- | The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
logConfiguration_options :: Lens' LogConfiguration (Maybe (HashMap Text Text))
-- | The secrets to pass to the log configuration. For more information,
-- see Specifying sensitive data in the Batch User Guide.
logConfiguration_secretOptions :: Lens' LogConfiguration (Maybe [Secret])
-- | The log driver to use for the container. The valid values that are
-- listed for this parameter are log drivers that the Amazon ECS
-- container agent can communicate with by default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
logConfiguration_logDriver :: Lens' LogConfiguration LogDriver
-- | Details for a Docker volume mount point that's used in a job's
-- container properties. This parameter maps to Volumes in the
-- Create a container section of the Docker Remote API and
-- the --volume option to docker run.
--
-- See: newMountPoint smart constructor.
data MountPoint
MountPoint' :: Maybe Text -> Maybe Bool -> Maybe Text -> MountPoint
-- | The path on the container where the host volume is mounted.
[$sel:containerPath:MountPoint'] :: MountPoint -> Maybe Text
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
[$sel:readOnly:MountPoint'] :: MountPoint -> Maybe Bool
-- | The name of the volume to mount.
[$sel:sourceVolume:MountPoint'] :: MountPoint -> Maybe Text
-- | Create a value of MountPoint with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerPath:MountPoint', mountPoint_containerPath
-- - The path on the container where the host volume is mounted.
--
-- $sel:readOnly:MountPoint', mountPoint_readOnly - If this
-- value is true, the container has read-only access to the
-- volume. Otherwise, the container can write to the volume. The default
-- value is false.
--
-- $sel:sourceVolume:MountPoint', mountPoint_sourceVolume -
-- The name of the volume to mount.
newMountPoint :: MountPoint
-- | The path on the container where the host volume is mounted.
mountPoint_containerPath :: Lens' MountPoint (Maybe Text)
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
mountPoint_readOnly :: Lens' MountPoint (Maybe Bool)
-- | The name of the volume to mount.
mountPoint_sourceVolume :: Lens' MountPoint (Maybe Text)
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
--
-- See: newNetworkConfiguration smart constructor.
data NetworkConfiguration
NetworkConfiguration' :: Maybe AssignPublicIp -> NetworkConfiguration
-- | Indicates whether the job has a public IP address. For a job that's
-- running on Fargate resources in a private subnet to send outbound
-- traffic to the internet (for example, to pull container images), the
-- private subnet requires a NAT gateway be attached to route requests to
-- the internet. For more information, see Amazon ECS task
-- networking in the Amazon Elastic Container Service Developer
-- Guide. The default value is "DISABLED".
[$sel:assignPublicIp:NetworkConfiguration'] :: NetworkConfiguration -> Maybe AssignPublicIp
-- | Create a value of NetworkConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:assignPublicIp:NetworkConfiguration',
-- networkConfiguration_assignPublicIp - Indicates whether the job
-- has a public IP address. For a job that's running on Fargate resources
-- in a private subnet to send outbound traffic to the internet (for
-- example, to pull container images), the private subnet requires a NAT
-- gateway be attached to route requests to the internet. For more
-- information, see Amazon ECS task networking in the Amazon
-- Elastic Container Service Developer Guide. The default value is
-- "DISABLED".
newNetworkConfiguration :: NetworkConfiguration
-- | Indicates whether the job has a public IP address. For a job that's
-- running on Fargate resources in a private subnet to send outbound
-- traffic to the internet (for example, to pull container images), the
-- private subnet requires a NAT gateway be attached to route requests to
-- the internet. For more information, see Amazon ECS task
-- networking in the Amazon Elastic Container Service Developer
-- Guide. The default value is "DISABLED".
networkConfiguration_assignPublicIp :: Lens' NetworkConfiguration (Maybe AssignPublicIp)
-- | An object that represents the elastic network interface for a
-- multi-node parallel job node.
--
-- See: newNetworkInterface smart constructor.
data NetworkInterface
NetworkInterface' :: Maybe Text -> Maybe Text -> Maybe Text -> NetworkInterface
-- | The attachment ID for the network interface.
[$sel:attachmentId:NetworkInterface'] :: NetworkInterface -> Maybe Text
-- | The private IPv6 address for the network interface.
[$sel:ipv6Address:NetworkInterface'] :: NetworkInterface -> Maybe Text
-- | The private IPv4 address for the network interface.
[$sel:privateIpv4Address:NetworkInterface'] :: NetworkInterface -> Maybe Text
-- | Create a value of NetworkInterface with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attachmentId:NetworkInterface',
-- networkInterface_attachmentId - The attachment ID for the
-- network interface.
--
-- $sel:ipv6Address:NetworkInterface',
-- networkInterface_ipv6Address - The private IPv6 address for the
-- network interface.
--
-- $sel:privateIpv4Address:NetworkInterface',
-- networkInterface_privateIpv4Address - The private IPv4 address
-- for the network interface.
newNetworkInterface :: NetworkInterface
-- | The attachment ID for the network interface.
networkInterface_attachmentId :: Lens' NetworkInterface (Maybe Text)
-- | The private IPv6 address for the network interface.
networkInterface_ipv6Address :: Lens' NetworkInterface (Maybe Text)
-- | The private IPv4 address for the network interface.
networkInterface_privateIpv4Address :: Lens' NetworkInterface (Maybe Text)
-- | An object that represents the details of a multi-node parallel job
-- node.
--
-- See: newNodeDetails smart constructor.
data NodeDetails
NodeDetails' :: Maybe Bool -> Maybe Int -> NodeDetails
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
[$sel:isMainNode:NodeDetails'] :: NodeDetails -> Maybe Bool
-- | The node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
[$sel:nodeIndex:NodeDetails'] :: NodeDetails -> Maybe Int
-- | Create a value of NodeDetails with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:isMainNode:NodeDetails', nodeDetails_isMainNode -
-- Specifies whether the current node is the main node for a multi-node
-- parallel job.
--
-- $sel:nodeIndex:NodeDetails', nodeDetails_nodeIndex - The
-- node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
newNodeDetails :: NodeDetails
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
nodeDetails_isMainNode :: Lens' NodeDetails (Maybe Bool)
-- | The node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
nodeDetails_nodeIndex :: Lens' NodeDetails (Maybe Int)
-- | An object that represents any node overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs. Rather, use
-- containerOverrides instead.
--
-- See: newNodeOverrides smart constructor.
data NodeOverrides
NodeOverrides' :: Maybe [NodePropertyOverride] -> Maybe Int -> NodeOverrides
-- | The node property overrides for the job.
[$sel:nodePropertyOverrides:NodeOverrides'] :: NodeOverrides -> Maybe [NodePropertyOverride]
-- | The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
[$sel:numNodes:NodeOverrides'] :: NodeOverrides -> Maybe Int
-- | Create a value of NodeOverrides with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:nodePropertyOverrides:NodeOverrides',
-- nodeOverrides_nodePropertyOverrides - The node property
-- overrides for the job.
--
-- $sel:numNodes:NodeOverrides', nodeOverrides_numNodes -
-- The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
newNodeOverrides :: NodeOverrides
-- | The node property overrides for the job.
nodeOverrides_nodePropertyOverrides :: Lens' NodeOverrides (Maybe [NodePropertyOverride])
-- | The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
nodeOverrides_numNodes :: Lens' NodeOverrides (Maybe Int)
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- Node properties can't be specified for Amazon EKS based job
-- definitions.
--
-- See: newNodeProperties smart constructor.
data NodeProperties
NodeProperties' :: Int -> Int -> [NodeRangeProperty] -> NodeProperties
-- | The number of nodes that are associated with a multi-node parallel
-- job.
[$sel:numNodes:NodeProperties'] :: NodeProperties -> Int
-- | Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
[$sel:mainNode:NodeProperties'] :: NodeProperties -> Int
-- | A list of node ranges and their properties that are associated with a
-- multi-node parallel job.
[$sel:nodeRangeProperties:NodeProperties'] :: NodeProperties -> [NodeRangeProperty]
-- | Create a value of NodeProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:numNodes:NodeProperties', nodeProperties_numNodes -
-- The number of nodes that are associated with a multi-node parallel
-- job.
--
-- $sel:mainNode:NodeProperties', nodeProperties_mainNode -
-- Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
--
-- $sel:nodeRangeProperties:NodeProperties',
-- nodeProperties_nodeRangeProperties - A list of node ranges and
-- their properties that are associated with a multi-node parallel job.
newNodeProperties :: Int -> Int -> NodeProperties
-- | The number of nodes that are associated with a multi-node parallel
-- job.
nodeProperties_numNodes :: Lens' NodeProperties Int
-- | Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
nodeProperties_mainNode :: Lens' NodeProperties Int
-- | A list of node ranges and their properties that are associated with a
-- multi-node parallel job.
nodeProperties_nodeRangeProperties :: Lens' NodeProperties [NodeRangeProperty]
-- | An object that represents the properties of a node that's associated
-- with a multi-node parallel job.
--
-- See: newNodePropertiesSummary smart constructor.
data NodePropertiesSummary
NodePropertiesSummary' :: Maybe Bool -> Maybe Int -> Maybe Int -> NodePropertiesSummary
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
[$sel:isMainNode:NodePropertiesSummary'] :: NodePropertiesSummary -> Maybe Bool
-- | The node index for the node. Node index numbering begins at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
[$sel:nodeIndex:NodePropertiesSummary'] :: NodePropertiesSummary -> Maybe Int
-- | The number of nodes that are associated with a multi-node parallel
-- job.
[$sel:numNodes:NodePropertiesSummary'] :: NodePropertiesSummary -> Maybe Int
-- | Create a value of NodePropertiesSummary with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:isMainNode:NodePropertiesSummary',
-- nodePropertiesSummary_isMainNode - Specifies whether the
-- current node is the main node for a multi-node parallel job.
--
-- $sel:nodeIndex:NodePropertiesSummary',
-- nodePropertiesSummary_nodeIndex - The node index for the node.
-- Node index numbering begins at zero. This index is also available on
-- the node with the AWS_BATCH_JOB_NODE_INDEX environment
-- variable.
--
-- $sel:numNodes:NodePropertiesSummary',
-- nodePropertiesSummary_numNodes - The number of nodes that are
-- associated with a multi-node parallel job.
newNodePropertiesSummary :: NodePropertiesSummary
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
nodePropertiesSummary_isMainNode :: Lens' NodePropertiesSummary (Maybe Bool)
-- | The node index for the node. Node index numbering begins at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
nodePropertiesSummary_nodeIndex :: Lens' NodePropertiesSummary (Maybe Int)
-- | The number of nodes that are associated with a multi-node parallel
-- job.
nodePropertiesSummary_numNodes :: Lens' NodePropertiesSummary (Maybe Int)
-- | The object that represents any node overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- See: newNodePropertyOverride smart constructor.
data NodePropertyOverride
NodePropertyOverride' :: Maybe ContainerOverrides -> Text -> NodePropertyOverride
-- | The overrides that are sent to a node range.
[$sel:containerOverrides:NodePropertyOverride'] :: NodePropertyOverride -> Maybe ContainerOverrides
-- | The range of nodes, using node index values, that's used to override.
-- A range of 0:3 indicates nodes with index values of
-- 0 through 3. If the starting range value is omitted
-- (:n), then 0 is used to start the range. If the
-- ending range value is omitted (n:), then the highest possible
-- node index is used to end the range.
[$sel:targetNodes:NodePropertyOverride'] :: NodePropertyOverride -> Text
-- | Create a value of NodePropertyOverride with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerOverrides:NodePropertyOverride',
-- nodePropertyOverride_containerOverrides - The overrides that
-- are sent to a node range.
--
-- $sel:targetNodes:NodePropertyOverride',
-- nodePropertyOverride_targetNodes - The range of nodes, using
-- node index values, that's used to override. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range.
newNodePropertyOverride :: Text -> NodePropertyOverride
-- | The overrides that are sent to a node range.
nodePropertyOverride_containerOverrides :: Lens' NodePropertyOverride (Maybe ContainerOverrides)
-- | The range of nodes, using node index values, that's used to override.
-- A range of 0:3 indicates nodes with index values of
-- 0 through 3. If the starting range value is omitted
-- (:n), then 0 is used to start the range. If the
-- ending range value is omitted (n:), then the highest possible
-- node index is used to end the range.
nodePropertyOverride_targetNodes :: Lens' NodePropertyOverride Text
-- | An object that represents the properties of the node range for a
-- multi-node parallel job.
--
-- See: newNodeRangeProperty smart constructor.
data NodeRangeProperty
NodeRangeProperty' :: Maybe ContainerProperties -> Text -> NodeRangeProperty
-- | The container details for the node range.
[$sel:container:NodeRangeProperty'] :: NodeRangeProperty -> Maybe ContainerProperties
-- | The range of nodes, using node index values. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range. Your accumulative node ranges must account for all nodes
-- (0:n). You can nest node ranges (for example, 0:10
-- and 4:5). In this case, the 4:5 range properties
-- override the 0:10 properties.
[$sel:targetNodes:NodeRangeProperty'] :: NodeRangeProperty -> Text
-- | Create a value of NodeRangeProperty with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:container:NodeRangeProperty',
-- nodeRangeProperty_container - The container details for the
-- node range.
--
-- $sel:targetNodes:NodeRangeProperty',
-- nodeRangeProperty_targetNodes - The range of nodes, using node
-- index values. A range of 0:3 indicates nodes with index
-- values of 0 through 3. If the starting range value
-- is omitted (:n), then 0 is used to start the range.
-- If the ending range value is omitted (n:), then the highest
-- possible node index is used to end the range. Your accumulative node
-- ranges must account for all nodes (0:n). You can nest node
-- ranges (for example, 0:10 and 4:5). In this case,
-- the 4:5 range properties override the 0:10
-- properties.
newNodeRangeProperty :: Text -> NodeRangeProperty
-- | The container details for the node range.
nodeRangeProperty_container :: Lens' NodeRangeProperty (Maybe ContainerProperties)
-- | The range of nodes, using node index values. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range. Your accumulative node ranges must account for all nodes
-- (0:n). You can nest node ranges (for example, 0:10
-- and 4:5). In this case, the 4:5 range properties
-- override the 0:10 properties.
nodeRangeProperty_targetNodes :: Lens' NodeRangeProperty Text
-- | The type and amount of a resource to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
--
-- See: newResourceRequirement smart constructor.
data ResourceRequirement
ResourceRequirement' :: Text -> ResourceType -> ResourceRequirement
-- | The quantity of the specified resource to reserve for the container.
-- The values vary based on the type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
[$sel:value:ResourceRequirement'] :: ResourceRequirement -> Text
-- | The type of resource to assign to a container. The supported resources
-- include GPU, MEMORY, and VCPU.
[$sel:type':ResourceRequirement'] :: ResourceRequirement -> ResourceType
-- | Create a value of ResourceRequirement with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:value:ResourceRequirement',
-- resourceRequirement_value - The quantity of the specified
-- resource to reserve for the container. The values vary based on the
-- type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
--
-- $sel:type':ResourceRequirement',
-- resourceRequirement_type - The type of resource to assign to a
-- container. The supported resources include GPU,
-- MEMORY, and VCPU.
newResourceRequirement :: Text -> ResourceType -> ResourceRequirement
-- | The quantity of the specified resource to reserve for the container.
-- The values vary based on the type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
resourceRequirement_value :: Lens' ResourceRequirement Text
-- | The type of resource to assign to a container. The supported resources
-- include GPU, MEMORY, and VCPU.
resourceRequirement_type :: Lens' ResourceRequirement ResourceType
-- | The retry strategy that's associated with a job. For more information,
-- see Automated job retries in the Batch User Guide.
--
-- See: newRetryStrategy smart constructor.
data RetryStrategy
RetryStrategy' :: Maybe Int -> Maybe [EvaluateOnExit] -> RetryStrategy
-- | The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
[$sel:attempts:RetryStrategy'] :: RetryStrategy -> Maybe Int
-- | Array of up to 5 objects that specify the conditions where jobs are
-- retried or failed. If this parameter is specified, then the
-- attempts parameter must also be specified. If none of the
-- listed conditions match, then the job is retried.
[$sel:evaluateOnExit:RetryStrategy'] :: RetryStrategy -> Maybe [EvaluateOnExit]
-- | Create a value of RetryStrategy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attempts:RetryStrategy', retryStrategy_attempts -
-- The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
--
-- $sel:evaluateOnExit:RetryStrategy',
-- retryStrategy_evaluateOnExit - Array of up to 5 objects that
-- specify the conditions where jobs are retried or failed. If this
-- parameter is specified, then the attempts parameter must also
-- be specified. If none of the listed conditions match, then the job is
-- retried.
newRetryStrategy :: RetryStrategy
-- | The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
retryStrategy_attempts :: Lens' RetryStrategy (Maybe Int)
-- | Array of up to 5 objects that specify the conditions where jobs are
-- retried or failed. If this parameter is specified, then the
-- attempts parameter must also be specified. If none of the
-- listed conditions match, then the job is retried.
retryStrategy_evaluateOnExit :: Lens' RetryStrategy (Maybe [EvaluateOnExit])
-- | An object that represents a scheduling policy.
--
-- See: newSchedulingPolicyDetail smart constructor.
data SchedulingPolicyDetail
SchedulingPolicyDetail' :: Maybe FairsharePolicy -> Maybe (HashMap Text Text) -> Text -> Text -> SchedulingPolicyDetail
-- | The fair share policy for the scheduling policy.
[$sel:fairsharePolicy:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Maybe FairsharePolicy
-- | The tags that you apply to the scheduling policy to categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- resources in Amazon Web Services General Reference.
[$sel:tags:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Maybe (HashMap Text Text)
-- | The name of the scheduling policy.
[$sel:name:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
[$sel:arn:SchedulingPolicyDetail'] :: SchedulingPolicyDetail -> Text
-- | Create a value of SchedulingPolicyDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:fairsharePolicy:SchedulingPolicyDetail',
-- schedulingPolicyDetail_fairsharePolicy - The fair share policy
-- for the scheduling policy.
--
-- $sel:tags:SchedulingPolicyDetail',
-- schedulingPolicyDetail_tags - The tags that you apply to the
-- scheduling policy to categorize and organize your resources. Each tag
-- consists of a key and an optional value. For more information, see
-- Tagging Amazon Web Services resources in Amazon Web Services
-- General Reference.
--
-- $sel:name:SchedulingPolicyDetail',
-- schedulingPolicyDetail_name - The name of the scheduling
-- policy.
--
-- $sel:arn:SchedulingPolicyDetail',
-- schedulingPolicyDetail_arn - The Amazon Resource Name (ARN) of
-- the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
newSchedulingPolicyDetail :: Text -> Text -> SchedulingPolicyDetail
-- | The fair share policy for the scheduling policy.
schedulingPolicyDetail_fairsharePolicy :: Lens' SchedulingPolicyDetail (Maybe FairsharePolicy)
-- | The tags that you apply to the scheduling policy to categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- resources in Amazon Web Services General Reference.
schedulingPolicyDetail_tags :: Lens' SchedulingPolicyDetail (Maybe (HashMap Text Text))
-- | The name of the scheduling policy.
schedulingPolicyDetail_name :: Lens' SchedulingPolicyDetail Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
schedulingPolicyDetail_arn :: Lens' SchedulingPolicyDetail Text
-- | An object that contains the details of a scheduling policy that's
-- returned in a ListSchedulingPolicy action.
--
-- See: newSchedulingPolicyListingDetail smart constructor.
data SchedulingPolicyListingDetail
SchedulingPolicyListingDetail' :: Text -> SchedulingPolicyListingDetail
-- | Amazon Resource Name (ARN) of the scheduling policy.
[$sel:arn:SchedulingPolicyListingDetail'] :: SchedulingPolicyListingDetail -> Text
-- | Create a value of SchedulingPolicyListingDetail with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arn:SchedulingPolicyListingDetail',
-- schedulingPolicyListingDetail_arn - Amazon Resource Name (ARN)
-- of the scheduling policy.
newSchedulingPolicyListingDetail :: Text -> SchedulingPolicyListingDetail
-- | Amazon Resource Name (ARN) of the scheduling policy.
schedulingPolicyListingDetail_arn :: Lens' SchedulingPolicyListingDetail Text
-- | An object that represents the secret to expose to your container.
-- Secrets can be exposed to a container in the following ways:
--
--
-- - To inject sensitive data into your containers as environment
-- variables, use the secrets container definition
-- parameter.
-- - To reference sensitive information in the log configuration of a
-- container, use the secretOptions container definition
-- parameter.
--
--
-- For more information, see Specifying sensitive data in the
-- Batch User Guide.
--
-- See: newSecret smart constructor.
data Secret
Secret' :: Text -> Text -> Secret
-- | The name of the secret.
[$sel:name:Secret'] :: Secret -> Text
-- | The secret to expose to the container. The supported values are either
-- the full Amazon Resource Name (ARN) of the Secrets Manager secret or
-- the full ARN of the parameter in the Amazon Web Services Systems
-- Manager Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
[$sel:valueFrom:Secret'] :: Secret -> Text
-- | Create a value of Secret with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:Secret', secret_name - The name of the secret.
--
-- $sel:valueFrom:Secret', secret_valueFrom - The secret to
-- expose to the container. The supported values are either the full
-- Amazon Resource Name (ARN) of the Secrets Manager secret or the full
-- ARN of the parameter in the Amazon Web Services Systems Manager
-- Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
newSecret :: Text -> Text -> Secret
-- | The name of the secret.
secret_name :: Lens' Secret Text
-- | The secret to expose to the container. The supported values are either
-- the full Amazon Resource Name (ARN) of the Secrets Manager secret or
-- the full ARN of the parameter in the Amazon Web Services Systems
-- Manager Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
secret_valueFrom :: Lens' Secret Text
-- | Specifies the weights for the fair share identifiers for the fair
-- share policy. Fair share identifiers that aren't included have a
-- default weight of 1.0.
--
-- See: newShareAttributes smart constructor.
data ShareAttributes
ShareAttributes' :: Maybe Double -> Text -> ShareAttributes
-- | The weight factor for the fair share identifier. The default value is
-- 1.0. A lower value has a higher priority for compute resources. For
-- example, jobs that use a share identifier with a weight factor of
-- 0.125 (1/8) get 8 times the compute resources of jobs that use a share
-- identifier with a weight factor of 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
[$sel:weightFactor:ShareAttributes'] :: ShareAttributes -> Maybe Double
-- | A fair share identifier or fair share identifier prefix. If the string
-- ends with an asterisk (*), this entry specifies the weight factor to
-- use for fair share identifiers that start with that prefix. The list
-- of fair share identifiers in a fair share policy can't overlap. For
-- example, you can't have one that specifies a shareIdentifier
-- of UserA* and another that specifies a
-- shareIdentifier of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
[$sel:shareIdentifier:ShareAttributes'] :: ShareAttributes -> Text
-- | Create a value of ShareAttributes with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:weightFactor:ShareAttributes',
-- shareAttributes_weightFactor - The weight factor for the fair
-- share identifier. The default value is 1.0. A lower value has a higher
-- priority for compute resources. For example, jobs that use a share
-- identifier with a weight factor of 0.125 (1/8) get 8 times the compute
-- resources of jobs that use a share identifier with a weight factor of
-- 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
--
-- $sel:shareIdentifier:ShareAttributes',
-- shareAttributes_shareIdentifier - A fair share identifier or
-- fair share identifier prefix. If the string ends with an asterisk (*),
-- this entry specifies the weight factor to use for fair share
-- identifiers that start with that prefix. The list of fair share
-- identifiers in a fair share policy can't overlap. For example, you
-- can't have one that specifies a shareIdentifier of
-- UserA* and another that specifies a shareIdentifier
-- of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
newShareAttributes :: Text -> ShareAttributes
-- | The weight factor for the fair share identifier. The default value is
-- 1.0. A lower value has a higher priority for compute resources. For
-- example, jobs that use a share identifier with a weight factor of
-- 0.125 (1/8) get 8 times the compute resources of jobs that use a share
-- identifier with a weight factor of 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
shareAttributes_weightFactor :: Lens' ShareAttributes (Maybe Double)
-- | A fair share identifier or fair share identifier prefix. If the string
-- ends with an asterisk (*), this entry specifies the weight factor to
-- use for fair share identifiers that start with that prefix. The list
-- of fair share identifiers in a fair share policy can't overlap. For
-- example, you can't have one that specifies a shareIdentifier
-- of UserA* and another that specifies a
-- shareIdentifier of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
shareAttributes_shareIdentifier :: Lens' ShareAttributes Text
-- | The container path, mount options, and size of the tmpfs
-- mount.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newTmpfs smart constructor.
data Tmpfs
Tmpfs' :: Maybe [Text] -> Text -> Int -> Tmpfs
-- | The list of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
[$sel:mountOptions:Tmpfs'] :: Tmpfs -> Maybe [Text]
-- | The absolute file path in the container where the tmpfs
-- volume is mounted.
[$sel:containerPath:Tmpfs'] :: Tmpfs -> Text
-- | The size (in MiB) of the tmpfs volume.
[$sel:size:Tmpfs'] :: Tmpfs -> Int
-- | Create a value of Tmpfs with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:mountOptions:Tmpfs', tmpfs_mountOptions - The list
-- of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
--
-- $sel:containerPath:Tmpfs', tmpfs_containerPath - The
-- absolute file path in the container where the tmpfs volume is
-- mounted.
--
-- $sel:size:Tmpfs', tmpfs_size - The size (in MiB) of the
-- tmpfs volume.
newTmpfs :: Text -> Int -> Tmpfs
-- | The list of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
tmpfs_mountOptions :: Lens' Tmpfs (Maybe [Text])
-- | The absolute file path in the container where the tmpfs
-- volume is mounted.
tmpfs_containerPath :: Lens' Tmpfs Text
-- | The size (in MiB) of the tmpfs volume.
tmpfs_size :: Lens' Tmpfs Int
-- | The ulimit settings to pass to the container.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newUlimit smart constructor.
data Ulimit
Ulimit' :: Int -> Text -> Int -> Ulimit
-- | The hard limit for the ulimit type.
[$sel:hardLimit:Ulimit'] :: Ulimit -> Int
-- | The type of the ulimit.
[$sel:name:Ulimit'] :: Ulimit -> Text
-- | The soft limit for the ulimit type.
[$sel:softLimit:Ulimit'] :: Ulimit -> Int
-- | Create a value of Ulimit with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:hardLimit:Ulimit', ulimit_hardLimit - The hard
-- limit for the ulimit type.
--
-- $sel:name:Ulimit', ulimit_name - The type of
-- the ulimit.
--
-- $sel:softLimit:Ulimit', ulimit_softLimit - The soft
-- limit for the ulimit type.
newUlimit :: Int -> Text -> Int -> Ulimit
-- | The hard limit for the ulimit type.
ulimit_hardLimit :: Lens' Ulimit Int
-- | The type of the ulimit.
ulimit_name :: Lens' Ulimit Text
-- | The soft limit for the ulimit type.
ulimit_softLimit :: Lens' Ulimit Int
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
--
-- See: newUpdatePolicy smart constructor.
data UpdatePolicy
UpdatePolicy' :: Maybe Natural -> Maybe Bool -> UpdatePolicy
-- | Specifies the job timeout (in minutes) when the compute environment
-- infrastructure is updated. The default value is 30.
[$sel:jobExecutionTimeoutMinutes:UpdatePolicy'] :: UpdatePolicy -> Maybe Natural
-- | Specifies whether jobs are automatically terminated when the computer
-- environment infrastructure is updated. The default value is
-- false.
[$sel:terminateJobsOnUpdate:UpdatePolicy'] :: UpdatePolicy -> Maybe Bool
-- | Create a value of UpdatePolicy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:jobExecutionTimeoutMinutes:UpdatePolicy',
-- updatePolicy_jobExecutionTimeoutMinutes - Specifies the job
-- timeout (in minutes) when the compute environment infrastructure is
-- updated. The default value is 30.
--
-- $sel:terminateJobsOnUpdate:UpdatePolicy',
-- updatePolicy_terminateJobsOnUpdate - Specifies whether jobs are
-- automatically terminated when the computer environment infrastructure
-- is updated. The default value is false.
newUpdatePolicy :: UpdatePolicy
-- | Specifies the job timeout (in minutes) when the compute environment
-- infrastructure is updated. The default value is 30.
updatePolicy_jobExecutionTimeoutMinutes :: Lens' UpdatePolicy (Maybe Natural)
-- | Specifies whether jobs are automatically terminated when the computer
-- environment infrastructure is updated. The default value is
-- false.
updatePolicy_terminateJobsOnUpdate :: Lens' UpdatePolicy (Maybe Bool)
-- | A data volume that's used in a job's container properties.
--
-- See: newVolume smart constructor.
data Volume
Volume' :: Maybe EFSVolumeConfiguration -> Maybe Host -> Maybe Text -> Volume
-- | This parameter is specified when you're using an Amazon Elastic File
-- System file system for job storage. Jobs that are running on Fargate
-- resources must specify a platformVersion of at least
-- 1.4.0.
[$sel:efsVolumeConfiguration:Volume'] :: Volume -> Maybe EFSVolumeConfiguration
-- | The contents of the host parameter determine whether your
-- data volume persists on the host container instance and where it's
-- stored. If the host parameter is empty, then the Docker daemon assigns
-- a host path for your data volume. However, the data isn't guaranteed
-- to persist after the containers that are associated with it stop
-- running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
[$sel:host:Volume'] :: Volume -> Maybe Host
-- | The name of the volume. It can be up to 255 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_). This name is referenced in the sourceVolume
-- parameter of container definition mountPoints.
[$sel:name:Volume'] :: Volume -> Maybe Text
-- | Create a value of Volume with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:efsVolumeConfiguration:Volume',
-- volume_efsVolumeConfiguration - This parameter is specified
-- when you're using an Amazon Elastic File System file system for job
-- storage. Jobs that are running on Fargate resources must specify a
-- platformVersion of at least 1.4.0.
--
-- $sel:host:Volume', volume_host - The contents of the
-- host parameter determine whether your data volume persists on
-- the host container instance and where it's stored. If the host
-- parameter is empty, then the Docker daemon assigns a host path for
-- your data volume. However, the data isn't guaranteed to persist after
-- the containers that are associated with it stop running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- $sel:name:Volume', volume_name - The name of the volume.
-- It can be up to 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), and underscores (_). This
-- name is referenced in the sourceVolume parameter of container
-- definition mountPoints.
newVolume :: Volume
-- | This parameter is specified when you're using an Amazon Elastic File
-- System file system for job storage. Jobs that are running on Fargate
-- resources must specify a platformVersion of at least
-- 1.4.0.
volume_efsVolumeConfiguration :: Lens' Volume (Maybe EFSVolumeConfiguration)
-- | The contents of the host parameter determine whether your
-- data volume persists on the host container instance and where it's
-- stored. If the host parameter is empty, then the Docker daemon assigns
-- a host path for your data volume. However, the data isn't guaranteed
-- to persist after the containers that are associated with it stop
-- running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
volume_host :: Lens' Volume (Maybe Host)
-- | The name of the volume. It can be up to 255 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_). This name is referenced in the sourceVolume
-- parameter of container definition mountPoints.
volume_name :: Lens' Volume (Maybe Text)
-- | 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.
module Amazonka.Batch.TerminateJob
-- | Contains the parameters for TerminateJob.
--
-- See: newTerminateJob smart constructor.
data TerminateJob
TerminateJob' :: Text -> Text -> TerminateJob
-- | The Batch job ID of the job to terminate.
[$sel:jobId:TerminateJob'] :: TerminateJob -> Text
-- | A message to attach to the job that explains the reason for canceling
-- it. This message is returned by future DescribeJobs operations on the
-- job. This message is also recorded in the Batch activity logs.
[$sel:reason:TerminateJob'] :: TerminateJob -> Text
-- | Create a value of TerminateJob with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- TerminateJob, terminateJob_jobId - The Batch job ID of
-- the job to terminate.
--
-- TerminateJob, terminateJob_reason - A message to attach
-- to the job that explains the reason for canceling it. This message is
-- returned by future DescribeJobs operations on the job. This message is
-- also recorded in the Batch activity logs.
newTerminateJob :: Text -> Text -> TerminateJob
-- | The Batch job ID of the job to terminate.
terminateJob_jobId :: Lens' TerminateJob Text
-- | A message to attach to the job that explains the reason for canceling
-- it. This message is returned by future DescribeJobs operations on the
-- job. This message is also recorded in the Batch activity logs.
terminateJob_reason :: Lens' TerminateJob Text
-- | See: newTerminateJobResponse smart constructor.
data TerminateJobResponse
TerminateJobResponse' :: Int -> TerminateJobResponse
-- | The response's http status code.
[$sel:httpStatus:TerminateJobResponse'] :: TerminateJobResponse -> Int
-- | Create a value of TerminateJobResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:TerminateJobResponse',
-- terminateJobResponse_httpStatus - The response's http status
-- code.
newTerminateJobResponse :: Int -> TerminateJobResponse
-- | The response's http status code.
terminateJobResponse_httpStatus :: Lens' TerminateJobResponse Int
instance GHC.Generics.Generic Amazonka.Batch.TerminateJob.TerminateJob
instance GHC.Show.Show Amazonka.Batch.TerminateJob.TerminateJob
instance GHC.Read.Read Amazonka.Batch.TerminateJob.TerminateJob
instance GHC.Classes.Eq Amazonka.Batch.TerminateJob.TerminateJob
instance GHC.Generics.Generic Amazonka.Batch.TerminateJob.TerminateJobResponse
instance GHC.Show.Show Amazonka.Batch.TerminateJob.TerminateJobResponse
instance GHC.Read.Read Amazonka.Batch.TerminateJob.TerminateJobResponse
instance GHC.Classes.Eq Amazonka.Batch.TerminateJob.TerminateJobResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.TerminateJob.TerminateJob
instance Control.DeepSeq.NFData Amazonka.Batch.TerminateJob.TerminateJobResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.TerminateJob.TerminateJob
instance Control.DeepSeq.NFData Amazonka.Batch.TerminateJob.TerminateJob
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.TerminateJob.TerminateJob
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.TerminateJob.TerminateJob
instance Amazonka.Data.Path.ToPath Amazonka.Batch.TerminateJob.TerminateJob
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.TerminateJob.TerminateJob
-- | Associates the specified tags to a resource with the specified
-- resourceArn. If existing tags on a resource aren't specified
-- in the request parameters, they aren't changed. When a resource is
-- deleted, the tags that are associated with that resource are deleted
-- as well. Batch resources that support tags are compute environments,
-- jobs, job definitions, job queues, and scheduling policies. ARNs for
-- child jobs of array and multi-node parallel (MNP) jobs aren't
-- supported.
module Amazonka.Batch.TagResource
-- | Contains the parameters for TagResource.
--
-- See: newTagResource smart constructor.
data TagResource
TagResource' :: Text -> HashMap Text Text -> TagResource
-- | The Amazon Resource Name (ARN) of the resource that tags are added to.
-- Batch resources that support tags are compute environments, jobs, job
-- definitions, job queues, and scheduling policies. ARNs for child jobs
-- of array and multi-node parallel (MNP) jobs aren't supported.
[$sel:resourceArn:TagResource'] :: TagResource -> Text
-- | The tags that you apply to the resource to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Amazon Web Services General Reference.
[$sel:tags:TagResource'] :: TagResource -> HashMap Text Text
-- | Create a value of TagResource with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:resourceArn:TagResource', tagResource_resourceArn -
-- The Amazon Resource Name (ARN) of the resource that tags are added to.
-- Batch resources that support tags are compute environments, jobs, job
-- definitions, job queues, and scheduling policies. ARNs for child jobs
-- of array and multi-node parallel (MNP) jobs aren't supported.
--
-- TagResource, tagResource_tags - The tags that you apply
-- to the resource to help you categorize and organize your resources.
-- Each tag consists of a key and an optional value. For more
-- information, see Tagging Amazon Web Services Resources in
-- Amazon Web Services General Reference.
newTagResource :: Text -> TagResource
-- | The Amazon Resource Name (ARN) of the resource that tags are added to.
-- Batch resources that support tags are compute environments, jobs, job
-- definitions, job queues, and scheduling policies. ARNs for child jobs
-- of array and multi-node parallel (MNP) jobs aren't supported.
tagResource_resourceArn :: Lens' TagResource Text
-- | The tags that you apply to the resource to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Amazon Web Services General Reference.
tagResource_tags :: Lens' TagResource (HashMap Text Text)
-- | See: newTagResourceResponse smart constructor.
data TagResourceResponse
TagResourceResponse' :: Int -> TagResourceResponse
-- | The response's http status code.
[$sel:httpStatus:TagResourceResponse'] :: TagResourceResponse -> Int
-- | Create a value of TagResourceResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:TagResourceResponse',
-- tagResourceResponse_httpStatus - The response's http status
-- code.
newTagResourceResponse :: Int -> TagResourceResponse
-- | The response's http status code.
tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int
instance GHC.Generics.Generic Amazonka.Batch.TagResource.TagResource
instance GHC.Show.Show Amazonka.Batch.TagResource.TagResource
instance GHC.Read.Read Amazonka.Batch.TagResource.TagResource
instance GHC.Classes.Eq Amazonka.Batch.TagResource.TagResource
instance GHC.Generics.Generic Amazonka.Batch.TagResource.TagResourceResponse
instance GHC.Show.Show Amazonka.Batch.TagResource.TagResourceResponse
instance GHC.Read.Read Amazonka.Batch.TagResource.TagResourceResponse
instance GHC.Classes.Eq Amazonka.Batch.TagResource.TagResourceResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.TagResource.TagResource
instance Control.DeepSeq.NFData Amazonka.Batch.TagResource.TagResourceResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.TagResource.TagResource
instance Control.DeepSeq.NFData Amazonka.Batch.TagResource.TagResource
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.TagResource.TagResource
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.TagResource.TagResource
instance Amazonka.Data.Path.ToPath Amazonka.Batch.TagResource.TagResource
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.TagResource.TagResource
-- | Submits an Batch job from a job definition. Parameters that are
-- specified during SubmitJob override parameters defined in the job
-- definition. vCPU and memory requirements that are specified in the
-- resourceRequirements objects in the job definition are the
-- exception. They can't be overridden this way using the memory
-- and vcpus parameters. Rather, you must specify updates to job
-- definition parameters in a resourceRequirements object that's
-- included in the containerOverrides parameter.
--
-- Job queues with a scheduling policy are limited to 500 active fair
-- share identifiers at a time.
--
-- Jobs that run on Fargate resources can't be guaranteed to run for more
-- than 14 days. This is because, after 14 days, Fargate resources might
-- become unavailable and job might be terminated.
module Amazonka.Batch.SubmitJob
-- | Contains the parameters for SubmitJob.
--
-- See: newSubmitJob smart constructor.
data SubmitJob
SubmitJob' :: Maybe ArrayProperties -> Maybe ContainerOverrides -> Maybe [JobDependency] -> Maybe EksPropertiesOverride -> Maybe NodeOverrides -> Maybe (HashMap Text Text) -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Text -> SubmitJob
-- | 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 Batch User Guide.
[$sel:arrayProperties:SubmitJob'] :: SubmitJob -> Maybe ArrayProperties
-- | An object with various properties that override the defaults for the
-- job definition 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, which is specified in the job
-- definition or the Docker image, with a command override. You
-- can also override existing environment variables on a container or add
-- new environment variables to it with an environment override.
[$sel:containerOverrides:SubmitJob'] :: SubmitJob -> Maybe ContainerOverrides
-- | 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.
[$sel:dependsOn:SubmitJob'] :: SubmitJob -> Maybe [JobDependency]
-- | An object that can only be specified for jobs that are run on Amazon
-- EKS resources with various properties that override defaults for the
-- job definition.
[$sel:eksPropertiesOverride:SubmitJob'] :: SubmitJob -> Maybe EksPropertiesOverride
-- | A list of node overrides in JSON format that specify the node range to
-- target and the container overrides for that node range.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources; use containerOverrides instead.
[$sel:nodeOverrides:SubmitJob'] :: SubmitJob -> Maybe NodeOverrides
-- | 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.
[$sel:parameters:SubmitJob'] :: SubmitJob -> Maybe (HashMap Text Text)
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks
-- during task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state. When specified, this overrides the tag
-- propagation setting in the job definition.
[$sel:propagateTags:SubmitJob'] :: SubmitJob -> Maybe Bool
-- | 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.
[$sel:retryStrategy:SubmitJob'] :: SubmitJob -> Maybe RetryStrategy
-- | The scheduling priority for the job. This only affects jobs in job
-- queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
-- This overrides any scheduling priority in the job definition.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
[$sel:schedulingPriorityOverride:SubmitJob'] :: SubmitJob -> Maybe Int
-- | The share identifier for the job. If the job queue doesn't have a
-- scheduling policy, then this parameter must not be specified. If the
-- job queue has a scheduling policy, then this parameter must be
-- specified.
[$sel:shareIdentifier:SubmitJob'] :: SubmitJob -> Maybe Text
-- | The tags that you apply to the job request to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Amazon Web Services General Reference.
[$sel:tags:SubmitJob'] :: SubmitJob -> Maybe (HashMap Text Text)
-- | The timeout configuration for this SubmitJob operation. You can
-- specify a timeout duration after which Batch terminates your jobs if
-- they haven't finished. If a job is terminated due to a timeout, it
-- isn't 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.
[$sel:timeout:SubmitJob'] :: SubmitJob -> Maybe JobTimeout
-- | The name of the job. It can be up to 128 letters long. The first
-- character must be alphanumeric, can contain uppercase and lowercase
-- letters, numbers, hyphens (-), and underscores (_).
[$sel:jobName:SubmitJob'] :: SubmitJob -> Text
-- | The job queue where the job is submitted. You can specify either the
-- name or the Amazon Resource Name (ARN) of the queue.
[$sel:jobQueue:SubmitJob'] :: SubmitJob -> Text
-- | 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.
[$sel:jobDefinition:SubmitJob'] :: SubmitJob -> Text
-- | Create a value of SubmitJob with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- SubmitJob, submitJob_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 Batch User Guide.
--
-- SubmitJob, submitJob_containerOverrides - An object with
-- various properties that override the defaults for the job definition
-- 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, which is specified in the job definition or
-- the Docker image, with a command override. You can also
-- override existing environment variables on a container or add new
-- environment variables to it with an environment override.
--
-- SubmitJob, submitJob_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.
--
-- $sel:eksPropertiesOverride:SubmitJob',
-- submitJob_eksPropertiesOverride - An object that can only be
-- specified for jobs that are run on Amazon EKS resources with various
-- properties that override defaults for the job definition.
--
-- $sel:nodeOverrides:SubmitJob', submitJob_nodeOverrides -
-- A list of node overrides in JSON format that specify the node range to
-- target and the container overrides for that node range.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources; use containerOverrides instead.
--
-- SubmitJob, submitJob_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.
--
-- SubmitJob, submitJob_propagateTags - Specifies whether
-- to propagate the tags from the job or job definition to the
-- corresponding Amazon ECS task. If no value is specified, the tags
-- aren't propagated. Tags can only be propagated to the tasks during
-- task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state. When specified, this overrides the tag
-- propagation setting in the job definition.
--
-- SubmitJob, submitJob_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.
--
-- $sel:schedulingPriorityOverride:SubmitJob',
-- submitJob_schedulingPriorityOverride - The scheduling priority
-- for the job. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority. This overrides any scheduling
-- priority in the job definition.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
--
-- SubmitJob, submitJob_shareIdentifier - The share
-- identifier for the job. If the job queue doesn't have a scheduling
-- policy, then this parameter must not be specified. If the job queue
-- has a scheduling policy, then this parameter must be specified.
--
-- SubmitJob, submitJob_tags - The tags that you apply to
-- the job request to help you categorize and organize your resources.
-- Each tag consists of a key and an optional value. For more
-- information, see Tagging Amazon Web Services Resources in
-- Amazon Web Services General Reference.
--
-- SubmitJob, submitJob_timeout - The timeout configuration
-- for this SubmitJob operation. You can specify a timeout duration after
-- which Batch terminates your jobs if they haven't finished. If a job is
-- terminated due to a timeout, it isn't 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.
--
-- SubmitJob, submitJob_jobName - The name of the job. It
-- can be up to 128 letters long. The first character must be
-- alphanumeric, can contain uppercase and lowercase letters, numbers,
-- hyphens (-), and underscores (_).
--
-- SubmitJob, submitJob_jobQueue - The job queue where the
-- job is submitted. You can specify either the name or the Amazon
-- Resource Name (ARN) of the queue.
--
-- SubmitJob, submitJob_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.
newSubmitJob :: Text -> Text -> Text -> SubmitJob
-- | 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 Batch User Guide.
submitJob_arrayProperties :: Lens' SubmitJob (Maybe ArrayProperties)
-- | An object with various properties that override the defaults for the
-- job definition 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, which is specified in the job
-- definition or the Docker image, with a command override. You
-- can also override existing environment variables on a container or add
-- new environment variables to it with an environment override.
submitJob_containerOverrides :: Lens' SubmitJob (Maybe ContainerOverrides)
-- | 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.
submitJob_dependsOn :: Lens' SubmitJob (Maybe [JobDependency])
-- | An object that can only be specified for jobs that are run on Amazon
-- EKS resources with various properties that override defaults for the
-- job definition.
submitJob_eksPropertiesOverride :: Lens' SubmitJob (Maybe EksPropertiesOverride)
-- | A list of node overrides in JSON format that specify the node range to
-- target and the container overrides for that node range.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources; use containerOverrides instead.
submitJob_nodeOverrides :: Lens' SubmitJob (Maybe NodeOverrides)
-- | 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.
submitJob_parameters :: Lens' SubmitJob (Maybe (HashMap Text Text))
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks
-- during task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state. When specified, this overrides the tag
-- propagation setting in the job definition.
submitJob_propagateTags :: Lens' SubmitJob (Maybe Bool)
-- | 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.
submitJob_retryStrategy :: Lens' SubmitJob (Maybe RetryStrategy)
-- | The scheduling priority for the job. This only affects jobs in job
-- queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
-- This overrides any scheduling priority in the job definition.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
submitJob_schedulingPriorityOverride :: Lens' SubmitJob (Maybe Int)
-- | The share identifier for the job. If the job queue doesn't have a
-- scheduling policy, then this parameter must not be specified. If the
-- job queue has a scheduling policy, then this parameter must be
-- specified.
submitJob_shareIdentifier :: Lens' SubmitJob (Maybe Text)
-- | The tags that you apply to the job request to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Amazon Web Services General Reference.
submitJob_tags :: Lens' SubmitJob (Maybe (HashMap Text Text))
-- | The timeout configuration for this SubmitJob operation. You can
-- specify a timeout duration after which Batch terminates your jobs if
-- they haven't finished. If a job is terminated due to a timeout, it
-- isn't 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.
submitJob_timeout :: Lens' SubmitJob (Maybe JobTimeout)
-- | The name of the job. It can be up to 128 letters long. The first
-- character must be alphanumeric, can contain uppercase and lowercase
-- letters, numbers, hyphens (-), and underscores (_).
submitJob_jobName :: Lens' SubmitJob Text
-- | The job queue where the job is submitted. You can specify either the
-- name or the Amazon Resource Name (ARN) of the queue.
submitJob_jobQueue :: Lens' SubmitJob Text
-- | 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.
submitJob_jobDefinition :: Lens' SubmitJob Text
-- | See: newSubmitJobResponse smart constructor.
data SubmitJobResponse
SubmitJobResponse' :: Maybe Text -> Int -> Text -> Text -> SubmitJobResponse
-- | The Amazon Resource Name (ARN) for the job.
[$sel:jobArn:SubmitJobResponse'] :: SubmitJobResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:SubmitJobResponse'] :: SubmitJobResponse -> Int
-- | The name of the job.
[$sel:jobName:SubmitJobResponse'] :: SubmitJobResponse -> Text
-- | The unique identifier for the job.
[$sel:jobId:SubmitJobResponse'] :: SubmitJobResponse -> Text
-- | Create a value of SubmitJobResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- SubmitJobResponse, submitJobResponse_jobArn - The Amazon
-- Resource Name (ARN) for the job.
--
-- $sel:httpStatus:SubmitJobResponse',
-- submitJobResponse_httpStatus - The response's http status code.
--
-- SubmitJob, submitJobResponse_jobName - The name of the
-- job.
--
-- SubmitJobResponse, submitJobResponse_jobId - The unique
-- identifier for the job.
newSubmitJobResponse :: Int -> Text -> Text -> SubmitJobResponse
-- | The Amazon Resource Name (ARN) for the job.
submitJobResponse_jobArn :: Lens' SubmitJobResponse (Maybe Text)
-- | The response's http status code.
submitJobResponse_httpStatus :: Lens' SubmitJobResponse Int
-- | The name of the job.
submitJobResponse_jobName :: Lens' SubmitJobResponse Text
-- | The unique identifier for the job.
submitJobResponse_jobId :: Lens' SubmitJobResponse Text
instance GHC.Generics.Generic Amazonka.Batch.SubmitJob.SubmitJob
instance GHC.Show.Show Amazonka.Batch.SubmitJob.SubmitJob
instance GHC.Read.Read Amazonka.Batch.SubmitJob.SubmitJob
instance GHC.Classes.Eq Amazonka.Batch.SubmitJob.SubmitJob
instance GHC.Generics.Generic Amazonka.Batch.SubmitJob.SubmitJobResponse
instance GHC.Show.Show Amazonka.Batch.SubmitJob.SubmitJobResponse
instance GHC.Read.Read Amazonka.Batch.SubmitJob.SubmitJobResponse
instance GHC.Classes.Eq Amazonka.Batch.SubmitJob.SubmitJobResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.SubmitJob.SubmitJob
instance Control.DeepSeq.NFData Amazonka.Batch.SubmitJob.SubmitJobResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.SubmitJob.SubmitJob
instance Control.DeepSeq.NFData Amazonka.Batch.SubmitJob.SubmitJob
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.SubmitJob.SubmitJob
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.SubmitJob.SubmitJob
instance Amazonka.Data.Path.ToPath Amazonka.Batch.SubmitJob.SubmitJob
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.SubmitJob.SubmitJob
-- | Registers an Batch job definition.
module Amazonka.Batch.RegisterJobDefinition
-- | Contains the parameters for RegisterJobDefinition.
--
-- See: newRegisterJobDefinition smart constructor.
data RegisterJobDefinition
RegisterJobDefinition' :: Maybe ContainerProperties -> Maybe EksProperties -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> JobDefinitionType -> RegisterJobDefinition
-- | An object with various properties specific to Amazon ECS based
-- single-node container-based jobs. If the job definition's
-- type parameter is container, then you must specify
-- either containerProperties or nodeProperties. This
-- must not be specified for Amazon EKS based job definitions.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use only containerProperties.
[$sel:containerProperties:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe ContainerProperties
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. This must not be specified for Amazon ECS based job
-- definitions.
[$sel:eksProperties:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe EksProperties
-- | An object with various properties specific to multi-node parallel
-- jobs. If you specify node properties for a job, it becomes a
-- multi-node parallel job. For more information, see Multi-node
-- Parallel Jobs in the Batch User Guide. If the job
-- definition's type parameter is container, then you
-- must specify either containerProperties or
-- nodeProperties.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use containerProperties instead.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- nodeProperties.
[$sel:nodeProperties:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe NodeProperties
-- | Default parameter substitution placeholders to set in the job
-- definition. Parameters are specified as a key-value pair mapping.
-- Parameters in a SubmitJob request override any corresponding
-- parameter defaults from the job definition.
[$sel:parameters:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe (HashMap Text Text)
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. To run the job on Fargate
-- resources, specify FARGATE.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- platformCapabilities.
[$sel:platformCapabilities:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe [PlatformCapability]
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags are not propagated. Tags can only be propagated to the tasks
-- during task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- propagateTags.
[$sel:propagateTags:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe Bool
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition. Any retry strategy that's specified during a SubmitJob
-- operation overrides the retry strategy defined here. If a job is
-- terminated due to a timeout, it isn't retried.
[$sel:retryStrategy:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe RetryStrategy
-- | The scheduling priority for jobs that are submitted with this job
-- definition. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
[$sel:schedulingPriority:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe Int
-- | The tags that you apply to the job definition to help you categorize
-- and organize your resources. Each tag consists of a key and an
-- optional value. For more information, see Tagging Amazon Web
-- Services Resources in Batch User Guide.
[$sel:tags:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe (HashMap Text Text)
-- | The timeout configuration for jobs that are submitted with this job
-- definition, after which Batch terminates your jobs if they have not
-- finished. If a job is terminated due to a timeout, it isn't retried.
-- The minimum value for the timeout is 60 seconds. Any timeout
-- configuration that's specified during a SubmitJob operation overrides
-- the timeout configuration defined here. For more information, see
-- Job Timeouts in the Batch User Guide.
[$sel:timeout:RegisterJobDefinition'] :: RegisterJobDefinition -> Maybe JobTimeout
-- | The name of the job definition to register. It can be up to 128
-- letters long. It can contain uppercase and lowercase letters, numbers,
-- hyphens (-), and underscores (_).
[$sel:jobDefinitionName:RegisterJobDefinition'] :: RegisterJobDefinition -> Text
-- | The type of job definition. For more information about multi-node
-- parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
--
-- If the job is run on Fargate resources, then multinode isn't
-- supported.
[$sel:type':RegisterJobDefinition'] :: RegisterJobDefinition -> JobDefinitionType
-- | Create a value of RegisterJobDefinition with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- RegisterJobDefinition,
-- registerJobDefinition_containerProperties - An object with
-- various properties specific to Amazon ECS based single-node
-- container-based jobs. If the job definition's type parameter
-- is container, then you must specify either
-- containerProperties or nodeProperties. This must not
-- be specified for Amazon EKS based job definitions.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use only containerProperties.
--
-- RegisterJobDefinition,
-- registerJobDefinition_eksProperties - An object with various
-- properties that are specific to Amazon EKS based jobs. This must not
-- be specified for Amazon ECS based job definitions.
--
-- RegisterJobDefinition,
-- registerJobDefinition_nodeProperties - An object with various
-- properties specific to multi-node parallel jobs. If you specify node
-- properties for a job, it becomes a multi-node parallel job. For more
-- information, see Multi-node Parallel Jobs in the Batch User
-- Guide. If the job definition's type parameter is
-- container, then you must specify either
-- containerProperties or nodeProperties.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use containerProperties instead.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- nodeProperties.
--
-- RegisterJobDefinition, registerJobDefinition_parameters
-- - Default parameter substitution placeholders to set in the job
-- definition. Parameters are specified as a key-value pair mapping.
-- Parameters in a SubmitJob request override any corresponding
-- parameter defaults from the job definition.
--
-- RegisterJobDefinition,
-- registerJobDefinition_platformCapabilities - The platform
-- capabilities required by the job definition. If no value is specified,
-- it defaults to EC2. To run the job on Fargate resources,
-- specify FARGATE.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- platformCapabilities.
--
-- RegisterJobDefinition,
-- registerJobDefinition_propagateTags - Specifies whether to
-- propagate the tags from the job or job definition to the corresponding
-- Amazon ECS task. If no value is specified, the tags are not
-- propagated. Tags can only be propagated to the tasks during task
-- creation. For tags with the same name, job tags are given priority
-- over job definitions tags. If the total number of combined tags from
-- the job and job definition is over 50, the job is moved to the
-- FAILED state.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- propagateTags.
--
-- RegisterJobDefinition,
-- registerJobDefinition_retryStrategy - The retry strategy to use
-- for failed jobs that are submitted with this job definition. Any retry
-- strategy that's specified during a SubmitJob operation overrides the
-- retry strategy defined here. If a job is terminated due to a timeout,
-- it isn't retried.
--
-- RegisterJobDefinition,
-- registerJobDefinition_schedulingPriority - The scheduling
-- priority for jobs that are submitted with this job definition. This
-- only affects jobs in job queues with a fair share policy. Jobs with a
-- higher scheduling priority are scheduled before jobs with a lower
-- scheduling priority.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
--
-- RegisterJobDefinition, registerJobDefinition_tags - The
-- tags that you apply to the job definition to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Batch User Guide.
--
-- RegisterJobDefinition, registerJobDefinition_timeout -
-- The timeout configuration for jobs that are submitted with this job
-- definition, after which Batch terminates your jobs if they have not
-- finished. If a job is terminated due to a timeout, it isn't retried.
-- The minimum value for the timeout is 60 seconds. Any timeout
-- configuration that's specified during a SubmitJob operation overrides
-- the timeout configuration defined here. For more information, see
-- Job Timeouts in the Batch User Guide.
--
-- RegisterJobDefinition,
-- registerJobDefinition_jobDefinitionName - The name of the job
-- definition to register. It can be up to 128 letters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
--
-- RegisterJobDefinition, registerJobDefinition_type - The
-- type of job definition. For more information about multi-node parallel
-- jobs, see Creating a multi-node parallel job definition in the
-- Batch User Guide.
--
-- If the job is run on Fargate resources, then multinode isn't
-- supported.
newRegisterJobDefinition :: Text -> JobDefinitionType -> RegisterJobDefinition
-- | An object with various properties specific to Amazon ECS based
-- single-node container-based jobs. If the job definition's
-- type parameter is container, then you must specify
-- either containerProperties or nodeProperties. This
-- must not be specified for Amazon EKS based job definitions.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use only containerProperties.
registerJobDefinition_containerProperties :: Lens' RegisterJobDefinition (Maybe ContainerProperties)
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. This must not be specified for Amazon ECS based job
-- definitions.
registerJobDefinition_eksProperties :: Lens' RegisterJobDefinition (Maybe EksProperties)
-- | An object with various properties specific to multi-node parallel
-- jobs. If you specify node properties for a job, it becomes a
-- multi-node parallel job. For more information, see Multi-node
-- Parallel Jobs in the Batch User Guide. If the job
-- definition's type parameter is container, then you
-- must specify either containerProperties or
-- nodeProperties.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use containerProperties instead.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- nodeProperties.
registerJobDefinition_nodeProperties :: Lens' RegisterJobDefinition (Maybe NodeProperties)
-- | Default parameter substitution placeholders to set in the job
-- definition. Parameters are specified as a key-value pair mapping.
-- Parameters in a SubmitJob request override any corresponding
-- parameter defaults from the job definition.
registerJobDefinition_parameters :: Lens' RegisterJobDefinition (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. To run the job on Fargate
-- resources, specify FARGATE.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- platformCapabilities.
registerJobDefinition_platformCapabilities :: Lens' RegisterJobDefinition (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags are not propagated. Tags can only be propagated to the tasks
-- during task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- propagateTags.
registerJobDefinition_propagateTags :: Lens' RegisterJobDefinition (Maybe Bool)
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition. Any retry strategy that's specified during a SubmitJob
-- operation overrides the retry strategy defined here. If a job is
-- terminated due to a timeout, it isn't retried.
registerJobDefinition_retryStrategy :: Lens' RegisterJobDefinition (Maybe RetryStrategy)
-- | The scheduling priority for jobs that are submitted with this job
-- definition. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
registerJobDefinition_schedulingPriority :: Lens' RegisterJobDefinition (Maybe Int)
-- | The tags that you apply to the job definition to help you categorize
-- and organize your resources. Each tag consists of a key and an
-- optional value. For more information, see Tagging Amazon Web
-- Services Resources in Batch User Guide.
registerJobDefinition_tags :: Lens' RegisterJobDefinition (Maybe (HashMap Text Text))
-- | The timeout configuration for jobs that are submitted with this job
-- definition, after which Batch terminates your jobs if they have not
-- finished. If a job is terminated due to a timeout, it isn't retried.
-- The minimum value for the timeout is 60 seconds. Any timeout
-- configuration that's specified during a SubmitJob operation overrides
-- the timeout configuration defined here. For more information, see
-- Job Timeouts in the Batch User Guide.
registerJobDefinition_timeout :: Lens' RegisterJobDefinition (Maybe JobTimeout)
-- | The name of the job definition to register. It can be up to 128
-- letters long. It can contain uppercase and lowercase letters, numbers,
-- hyphens (-), and underscores (_).
registerJobDefinition_jobDefinitionName :: Lens' RegisterJobDefinition Text
-- | The type of job definition. For more information about multi-node
-- parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
--
-- If the job is run on Fargate resources, then multinode isn't
-- supported.
registerJobDefinition_type :: Lens' RegisterJobDefinition JobDefinitionType
-- | See: newRegisterJobDefinitionResponse smart constructor.
data RegisterJobDefinitionResponse
RegisterJobDefinitionResponse' :: Int -> Text -> Text -> Int -> RegisterJobDefinitionResponse
-- | The response's http status code.
[$sel:httpStatus:RegisterJobDefinitionResponse'] :: RegisterJobDefinitionResponse -> Int
-- | The name of the job definition.
[$sel:jobDefinitionName:RegisterJobDefinitionResponse'] :: RegisterJobDefinitionResponse -> Text
-- | The Amazon Resource Name (ARN) of the job definition.
[$sel:jobDefinitionArn:RegisterJobDefinitionResponse'] :: RegisterJobDefinitionResponse -> Text
-- | The revision of the job definition.
[$sel:revision:RegisterJobDefinitionResponse'] :: RegisterJobDefinitionResponse -> Int
-- | Create a value of RegisterJobDefinitionResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:RegisterJobDefinitionResponse',
-- registerJobDefinitionResponse_httpStatus - The response's http
-- status code.
--
-- RegisterJobDefinition,
-- registerJobDefinitionResponse_jobDefinitionName - The name of
-- the job definition.
--
-- RegisterJobDefinitionResponse,
-- registerJobDefinitionResponse_jobDefinitionArn - The Amazon
-- Resource Name (ARN) of the job definition.
--
-- RegisterJobDefinitionResponse,
-- registerJobDefinitionResponse_revision - The revision of the
-- job definition.
newRegisterJobDefinitionResponse :: Int -> Text -> Text -> Int -> RegisterJobDefinitionResponse
-- | The response's http status code.
registerJobDefinitionResponse_httpStatus :: Lens' RegisterJobDefinitionResponse Int
-- | The name of the job definition.
registerJobDefinitionResponse_jobDefinitionName :: Lens' RegisterJobDefinitionResponse Text
-- | The Amazon Resource Name (ARN) of the job definition.
registerJobDefinitionResponse_jobDefinitionArn :: Lens' RegisterJobDefinitionResponse Text
-- | The revision of the job definition.
registerJobDefinitionResponse_revision :: Lens' RegisterJobDefinitionResponse Int
instance GHC.Generics.Generic Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance GHC.Show.Show Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance GHC.Read.Read Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance GHC.Classes.Eq Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance GHC.Generics.Generic Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinitionResponse
instance GHC.Show.Show Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinitionResponse
instance GHC.Read.Read Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinitionResponse
instance GHC.Classes.Eq Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinitionResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance Control.DeepSeq.NFData Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinitionResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance Control.DeepSeq.NFData Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance Amazonka.Data.Path.ToPath Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.RegisterJobDefinition.RegisterJobDefinition
-- | Lists the tags for an Batch resource. Batch resources that support
-- tags are compute environments, jobs, job definitions, job queues, and
-- scheduling policies. ARNs for child jobs of array and multi-node
-- parallel (MNP) jobs aren't supported.
module Amazonka.Batch.ListTagsForResource
-- | Contains the parameters for ListTagsForResource.
--
-- See: newListTagsForResource smart constructor.
data ListTagsForResource
ListTagsForResource' :: Text -> ListTagsForResource
-- | The Amazon Resource Name (ARN) that identifies the resource that tags
-- are listed for. Batch resources that support tags are compute
-- environments, jobs, job definitions, job queues, and scheduling
-- policies. ARNs for child jobs of array and multi-node parallel (MNP)
-- jobs aren't supported.
[$sel:resourceArn:ListTagsForResource'] :: ListTagsForResource -> Text
-- | Create a value of ListTagsForResource with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:resourceArn:ListTagsForResource',
-- listTagsForResource_resourceArn - The Amazon Resource Name
-- (ARN) that identifies the resource that tags are listed for. Batch
-- resources that support tags are compute environments, jobs, job
-- definitions, job queues, and scheduling policies. ARNs for child jobs
-- of array and multi-node parallel (MNP) jobs aren't supported.
newListTagsForResource :: Text -> ListTagsForResource
-- | The Amazon Resource Name (ARN) that identifies the resource that tags
-- are listed for. Batch resources that support tags are compute
-- environments, jobs, job definitions, job queues, and scheduling
-- policies. ARNs for child jobs of array and multi-node parallel (MNP)
-- jobs aren't supported.
listTagsForResource_resourceArn :: Lens' ListTagsForResource Text
-- | See: newListTagsForResourceResponse smart constructor.
data ListTagsForResourceResponse
ListTagsForResourceResponse' :: Maybe (HashMap Text Text) -> Int -> ListTagsForResourceResponse
-- | The tags for the resource.
[$sel:tags:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Maybe (HashMap Text Text)
-- | The response's http status code.
[$sel:httpStatus:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Int
-- | Create a value of ListTagsForResourceResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- ListTagsForResourceResponse,
-- listTagsForResourceResponse_tags - The tags for the resource.
--
-- $sel:httpStatus:ListTagsForResourceResponse',
-- listTagsForResourceResponse_httpStatus - The response's http
-- status code.
newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse
-- | The tags for the resource.
listTagsForResourceResponse_tags :: Lens' ListTagsForResourceResponse (Maybe (HashMap Text Text))
-- | The response's http status code.
listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int
instance GHC.Generics.Generic Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance GHC.Show.Show Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance GHC.Read.Read Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance GHC.Classes.Eq Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance GHC.Generics.Generic Amazonka.Batch.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Show.Show Amazonka.Batch.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Read.Read Amazonka.Batch.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Classes.Eq Amazonka.Batch.ListTagsForResource.ListTagsForResourceResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Amazonka.Batch.ListTagsForResource.ListTagsForResourceResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance Amazonka.Data.Path.ToPath Amazonka.Batch.ListTagsForResource.ListTagsForResource
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.ListTagsForResource.ListTagsForResource
-- | Returns a list of Batch scheduling policies.
--
-- This operation returns paginated results.
module Amazonka.Batch.ListSchedulingPolicies
-- | Contains the parameters for ListSchedulingPolicies.
--
-- See: newListSchedulingPolicies smart constructor.
data ListSchedulingPolicies
ListSchedulingPolicies' :: Maybe Int -> Maybe Text -> ListSchedulingPolicies
-- | The maximum number of results that's returned by
-- ListSchedulingPolicies in paginated output. When this
-- parameter is used, ListSchedulingPolicies only returns
-- maxResults results in a single page and a nextToken
-- response element. You can see the remaining results of the initial
-- request by sending another ListSchedulingPolicies request
-- with the returned nextToken value. This value can be between
-- 1 and 100. If this parameter isn't used,
-- ListSchedulingPolicies returns up to 100 results and a
-- nextToken value if applicable.
[$sel:maxResults:ListSchedulingPolicies'] :: ListSchedulingPolicies -> Maybe Int
-- | The nextToken value that's returned from a previous paginated
-- ListSchedulingPolicies request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
[$sel:nextToken:ListSchedulingPolicies'] :: ListSchedulingPolicies -> Maybe Text
-- | Create a value of ListSchedulingPolicies with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:maxResults:ListSchedulingPolicies',
-- listSchedulingPolicies_maxResults - The maximum number of
-- results that's returned by ListSchedulingPolicies in
-- paginated output. When this parameter is used,
-- ListSchedulingPolicies only returns maxResults
-- results in a single page and a nextToken response element.
-- You can see the remaining results of the initial request by sending
-- another ListSchedulingPolicies request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, ListSchedulingPolicies returns up to
-- 100 results and a nextToken value if applicable.
--
-- ListSchedulingPolicies, listSchedulingPolicies_nextToken
-- - The nextToken value that's returned from a previous
-- paginated ListSchedulingPolicies request where
-- maxResults was used and the results exceeded the value of
-- that parameter. Pagination continues from the end of the previous
-- results that returned the nextToken value. This value is
-- null when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newListSchedulingPolicies :: ListSchedulingPolicies
-- | The maximum number of results that's returned by
-- ListSchedulingPolicies in paginated output. When this
-- parameter is used, ListSchedulingPolicies only returns
-- maxResults results in a single page and a nextToken
-- response element. You can see the remaining results of the initial
-- request by sending another ListSchedulingPolicies request
-- with the returned nextToken value. This value can be between
-- 1 and 100. If this parameter isn't used,
-- ListSchedulingPolicies returns up to 100 results and a
-- nextToken value if applicable.
listSchedulingPolicies_maxResults :: Lens' ListSchedulingPolicies (Maybe Int)
-- | The nextToken value that's returned from a previous paginated
-- ListSchedulingPolicies request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
listSchedulingPolicies_nextToken :: Lens' ListSchedulingPolicies (Maybe Text)
-- | See: newListSchedulingPoliciesResponse smart
-- constructor.
data ListSchedulingPoliciesResponse
ListSchedulingPoliciesResponse' :: Maybe Text -> Maybe [SchedulingPolicyListingDetail] -> Int -> ListSchedulingPoliciesResponse
-- | The nextToken value to include in a future
-- ListSchedulingPolicies request. When the results of a
-- ListSchedulingPolicies request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
[$sel:nextToken:ListSchedulingPoliciesResponse'] :: ListSchedulingPoliciesResponse -> Maybe Text
-- | A list of scheduling policies that match the request.
[$sel:schedulingPolicies:ListSchedulingPoliciesResponse'] :: ListSchedulingPoliciesResponse -> Maybe [SchedulingPolicyListingDetail]
-- | The response's http status code.
[$sel:httpStatus:ListSchedulingPoliciesResponse'] :: ListSchedulingPoliciesResponse -> Int
-- | Create a value of ListSchedulingPoliciesResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- ListSchedulingPolicies,
-- listSchedulingPoliciesResponse_nextToken - The
-- nextToken value to include in a future
-- ListSchedulingPolicies request. When the results of a
-- ListSchedulingPolicies request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
--
-- $sel:schedulingPolicies:ListSchedulingPoliciesResponse',
-- listSchedulingPoliciesResponse_schedulingPolicies - A list of
-- scheduling policies that match the request.
--
-- $sel:httpStatus:ListSchedulingPoliciesResponse',
-- listSchedulingPoliciesResponse_httpStatus - The response's http
-- status code.
newListSchedulingPoliciesResponse :: Int -> ListSchedulingPoliciesResponse
-- | The nextToken value to include in a future
-- ListSchedulingPolicies request. When the results of a
-- ListSchedulingPolicies request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
listSchedulingPoliciesResponse_nextToken :: Lens' ListSchedulingPoliciesResponse (Maybe Text)
-- | A list of scheduling policies that match the request.
listSchedulingPoliciesResponse_schedulingPolicies :: Lens' ListSchedulingPoliciesResponse (Maybe [SchedulingPolicyListingDetail])
-- | The response's http status code.
listSchedulingPoliciesResponse_httpStatus :: Lens' ListSchedulingPoliciesResponse Int
instance GHC.Generics.Generic Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance GHC.Show.Show Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance GHC.Read.Read Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance GHC.Classes.Eq Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance GHC.Generics.Generic Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPoliciesResponse
instance GHC.Show.Show Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPoliciesResponse
instance GHC.Read.Read Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPoliciesResponse
instance GHC.Classes.Eq Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPoliciesResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance Control.DeepSeq.NFData Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPoliciesResponse
instance Amazonka.Pager.AWSPager Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance Data.Hashable.Class.Hashable Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance Control.DeepSeq.NFData Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance Amazonka.Data.Path.ToPath Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.ListSchedulingPolicies.ListSchedulingPolicies
-- | Returns a list of Batch jobs.
--
-- You must specify only one of the following items:
--
--
-- - 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 nodes for that
-- job
-- - An array job ID to return a list of the children for that job
--
--
-- You can filter the results by job status with the jobStatus
-- parameter. If you don't specify a status, only RUNNING jobs
-- are returned.
--
-- This operation returns paginated results.
module Amazonka.Batch.ListJobs
-- | Contains the parameters for ListJobs.
--
-- See: newListJobs smart constructor.
data ListJobs
ListJobs' :: Maybe Text -> Maybe [KeyValuesPair] -> Maybe Text -> Maybe JobStatus -> Maybe Int -> Maybe Text -> Maybe Text -> ListJobs
-- | The job ID for an array job. Specifying an array job ID with this
-- parameter lists all child jobs from within the specified array.
[$sel:arrayJobId:ListJobs'] :: ListJobs -> Maybe Text
-- | The filter to apply to the query. Only one filter can be used at a
-- time. When the filter is used, jobStatus is ignored. The
-- filter doesn't apply to child jobs in an array or multi-node parallel
-- (MNP) jobs. The results are sorted by the createdAt field,
-- with the most recent jobs being first.
--
--
-- - JOB_NAME The value of the filter is a case-insensitive
-- match for the job name. If the value ends with an asterisk (*), the
-- filter matches any job name that begins with the string before the
-- '*'. This corresponds to the jobName value. For example,
-- test1 matches both Test1 and test1, and
-- test1* matches both test1 and Test10. When
-- the JOB_NAME filter is used, the results are grouped by the
-- job name and version.
-- - JOB_DEFINITION The value for the filter is the name or
-- Amazon Resource Name (ARN) of the job definition. This corresponds to
-- the jobDefinition value. The value is case sensitive. When
-- the value for the filter is the job definition name, the results
-- include all the jobs that used any revision of that job definition
-- name. If the value ends with an asterisk (*), the filter matches any
-- job definition name that begins with the string before the '*'. For
-- example, jd1 matches only jd1, and jd1*
-- matches both jd1 and jd1A. The version of the job
-- definition that's used doesn't affect the sort order. When the
-- JOB_DEFINITION filter is used and the ARN is used (which is
-- in the form
-- arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}),
-- the results include jobs that used the specified revision of the job
-- definition. Asterisk (*) isn't supported when the ARN is used.
-- - BEFORE_CREATED_AT The value for the filter is the time
-- that's before the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
-- - AFTER_CREATED_AT The value for the filter is the time
-- that's after the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
--
[$sel:filters:ListJobs'] :: ListJobs -> Maybe [KeyValuesPair]
-- | The name or full Amazon Resource Name (ARN) of the job queue used to
-- list jobs.
[$sel:jobQueue:ListJobs'] :: ListJobs -> Maybe Text
-- | The job status used to filter jobs in the specified queue. If the
-- filters parameter is specified, the jobStatus
-- parameter is ignored and jobs with any status are returned. If you
-- don't specify a status, only RUNNING jobs are returned.
[$sel:jobStatus:ListJobs'] :: ListJobs -> Maybe JobStatus
-- | The maximum number of results returned by ListJobs in
-- paginated output. When this parameter is used, ListJobs only
-- returns maxResults results in a single page and a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another ListJobs
-- request with the returned nextToken value. This value can be
-- between 1 and 100. If this parameter isn't used, then
-- ListJobs returns up to 100 results and a nextToken
-- value if applicable.
[$sel:maxResults:ListJobs'] :: ListJobs -> Maybe Int
-- | The job ID for a multi-node parallel job. Specifying a multi-node
-- parallel job ID with this parameter lists all nodes that are
-- associated with the specified job.
[$sel:multiNodeJobId:ListJobs'] :: ListJobs -> Maybe Text
-- | The nextToken value returned from a previous paginated
-- ListJobs request where maxResults was used and the
-- results exceeded the value of that parameter. Pagination continues
-- from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
[$sel:nextToken:ListJobs'] :: ListJobs -> Maybe Text
-- | Create a value of ListJobs with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayJobId:ListJobs', listJobs_arrayJobId - The job
-- ID for an array job. Specifying an array job ID with this parameter
-- lists all child jobs from within the specified array.
--
-- $sel:filters:ListJobs', listJobs_filters - The filter to
-- apply to the query. Only one filter can be used at a time. When the
-- filter is used, jobStatus is ignored. The filter doesn't
-- apply to child jobs in an array or multi-node parallel (MNP) jobs. The
-- results are sorted by the createdAt field, with the most
-- recent jobs being first.
--
--
-- - JOB_NAME The value of the filter is a case-insensitive
-- match for the job name. If the value ends with an asterisk (*), the
-- filter matches any job name that begins with the string before the
-- '*'. This corresponds to the jobName value. For example,
-- test1 matches both Test1 and test1, and
-- test1* matches both test1 and Test10. When
-- the JOB_NAME filter is used, the results are grouped by the
-- job name and version.
-- - JOB_DEFINITION The value for the filter is the name or
-- Amazon Resource Name (ARN) of the job definition. This corresponds to
-- the jobDefinition value. The value is case sensitive. When
-- the value for the filter is the job definition name, the results
-- include all the jobs that used any revision of that job definition
-- name. If the value ends with an asterisk (*), the filter matches any
-- job definition name that begins with the string before the '*'. For
-- example, jd1 matches only jd1, and jd1*
-- matches both jd1 and jd1A. The version of the job
-- definition that's used doesn't affect the sort order. When the
-- JOB_DEFINITION filter is used and the ARN is used (which is
-- in the form
-- arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}),
-- the results include jobs that used the specified revision of the job
-- definition. Asterisk (*) isn't supported when the ARN is used.
-- - BEFORE_CREATED_AT The value for the filter is the time
-- that's before the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
-- - AFTER_CREATED_AT The value for the filter is the time
-- that's after the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
--
--
-- ListJobs, listJobs_jobQueue - The name or full Amazon
-- Resource Name (ARN) of the job queue used to list jobs.
--
-- $sel:jobStatus:ListJobs', listJobs_jobStatus - The job
-- status used to filter jobs in the specified queue. If the
-- filters parameter is specified, the jobStatus
-- parameter is ignored and jobs with any status are returned. If you
-- don't specify a status, only RUNNING jobs are returned.
--
-- $sel:maxResults:ListJobs', listJobs_maxResults - The
-- maximum number of results returned by ListJobs in paginated
-- output. When this parameter is used, ListJobs only returns
-- maxResults results in a single page and a nextToken
-- response element. The remaining results of the initial request can be
-- seen by sending another ListJobs request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then ListJobs returns up to 100 results
-- and a nextToken value if applicable.
--
-- $sel:multiNodeJobId:ListJobs', listJobs_multiNodeJobId -
-- The job ID for a multi-node parallel job. Specifying a multi-node
-- parallel job ID with this parameter lists all nodes that are
-- associated with the specified job.
--
-- ListJobs, listJobs_nextToken - The nextToken
-- value returned from a previous paginated ListJobs request
-- where maxResults was used and the results exceeded the value
-- of that parameter. Pagination continues from the end of the previous
-- results that returned the nextToken value. This value is
-- null when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newListJobs :: ListJobs
-- | The job ID for an array job. Specifying an array job ID with this
-- parameter lists all child jobs from within the specified array.
listJobs_arrayJobId :: Lens' ListJobs (Maybe Text)
-- | The filter to apply to the query. Only one filter can be used at a
-- time. When the filter is used, jobStatus is ignored. The
-- filter doesn't apply to child jobs in an array or multi-node parallel
-- (MNP) jobs. The results are sorted by the createdAt field,
-- with the most recent jobs being first.
--
--
-- - JOB_NAME The value of the filter is a case-insensitive
-- match for the job name. If the value ends with an asterisk (*), the
-- filter matches any job name that begins with the string before the
-- '*'. This corresponds to the jobName value. For example,
-- test1 matches both Test1 and test1, and
-- test1* matches both test1 and Test10. When
-- the JOB_NAME filter is used, the results are grouped by the
-- job name and version.
-- - JOB_DEFINITION The value for the filter is the name or
-- Amazon Resource Name (ARN) of the job definition. This corresponds to
-- the jobDefinition value. The value is case sensitive. When
-- the value for the filter is the job definition name, the results
-- include all the jobs that used any revision of that job definition
-- name. If the value ends with an asterisk (*), the filter matches any
-- job definition name that begins with the string before the '*'. For
-- example, jd1 matches only jd1, and jd1*
-- matches both jd1 and jd1A. The version of the job
-- definition that's used doesn't affect the sort order. When the
-- JOB_DEFINITION filter is used and the ARN is used (which is
-- in the form
-- arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}),
-- the results include jobs that used the specified revision of the job
-- definition. Asterisk (*) isn't supported when the ARN is used.
-- - BEFORE_CREATED_AT The value for the filter is the time
-- that's before the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
-- - AFTER_CREATED_AT The value for the filter is the time
-- that's after the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
--
listJobs_filters :: Lens' ListJobs (Maybe [KeyValuesPair])
-- | The name or full Amazon Resource Name (ARN) of the job queue used to
-- list jobs.
listJobs_jobQueue :: Lens' ListJobs (Maybe Text)
-- | The job status used to filter jobs in the specified queue. If the
-- filters parameter is specified, the jobStatus
-- parameter is ignored and jobs with any status are returned. If you
-- don't specify a status, only RUNNING jobs are returned.
listJobs_jobStatus :: Lens' ListJobs (Maybe JobStatus)
-- | The maximum number of results returned by ListJobs in
-- paginated output. When this parameter is used, ListJobs only
-- returns maxResults results in a single page and a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another ListJobs
-- request with the returned nextToken value. This value can be
-- between 1 and 100. If this parameter isn't used, then
-- ListJobs returns up to 100 results and a nextToken
-- value if applicable.
listJobs_maxResults :: Lens' ListJobs (Maybe Int)
-- | The job ID for a multi-node parallel job. Specifying a multi-node
-- parallel job ID with this parameter lists all nodes that are
-- associated with the specified job.
listJobs_multiNodeJobId :: Lens' ListJobs (Maybe Text)
-- | The nextToken value returned from a previous paginated
-- ListJobs request where maxResults was used and the
-- results exceeded the value of that parameter. Pagination continues
-- from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
listJobs_nextToken :: Lens' ListJobs (Maybe Text)
-- | See: newListJobsResponse smart constructor.
data ListJobsResponse
ListJobsResponse' :: Maybe Text -> Int -> [JobSummary] -> ListJobsResponse
-- | The nextToken value to include in a future ListJobs
-- request. When the results of a ListJobs request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
[$sel:nextToken:ListJobsResponse'] :: ListJobsResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:ListJobsResponse'] :: ListJobsResponse -> Int
-- | A list of job summaries that match the request.
[$sel:jobSummaryList:ListJobsResponse'] :: ListJobsResponse -> [JobSummary]
-- | Create a value of ListJobsResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- ListJobs, listJobsResponse_nextToken - The
-- nextToken value to include in a future ListJobs
-- request. When the results of a ListJobs request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
--
-- $sel:httpStatus:ListJobsResponse',
-- listJobsResponse_httpStatus - The response's http status code.
--
-- $sel:jobSummaryList:ListJobsResponse',
-- listJobsResponse_jobSummaryList - A list of job summaries that
-- match the request.
newListJobsResponse :: Int -> ListJobsResponse
-- | The nextToken value to include in a future ListJobs
-- request. When the results of a ListJobs request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
listJobsResponse_nextToken :: Lens' ListJobsResponse (Maybe Text)
-- | The response's http status code.
listJobsResponse_httpStatus :: Lens' ListJobsResponse Int
-- | A list of job summaries that match the request.
listJobsResponse_jobSummaryList :: Lens' ListJobsResponse [JobSummary]
instance GHC.Generics.Generic Amazonka.Batch.ListJobs.ListJobs
instance GHC.Show.Show Amazonka.Batch.ListJobs.ListJobs
instance GHC.Read.Read Amazonka.Batch.ListJobs.ListJobs
instance GHC.Classes.Eq Amazonka.Batch.ListJobs.ListJobs
instance GHC.Generics.Generic Amazonka.Batch.ListJobs.ListJobsResponse
instance GHC.Show.Show Amazonka.Batch.ListJobs.ListJobsResponse
instance GHC.Read.Read Amazonka.Batch.ListJobs.ListJobsResponse
instance GHC.Classes.Eq Amazonka.Batch.ListJobs.ListJobsResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.ListJobs.ListJobs
instance Control.DeepSeq.NFData Amazonka.Batch.ListJobs.ListJobsResponse
instance Amazonka.Pager.AWSPager Amazonka.Batch.ListJobs.ListJobs
instance Data.Hashable.Class.Hashable Amazonka.Batch.ListJobs.ListJobs
instance Control.DeepSeq.NFData Amazonka.Batch.ListJobs.ListJobs
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.ListJobs.ListJobs
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.ListJobs.ListJobs
instance Amazonka.Data.Path.ToPath Amazonka.Batch.ListJobs.ListJobs
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.ListJobs.ListJobs
-- | Describes one or more of your scheduling policies.
module Amazonka.Batch.DescribeSchedulingPolicies
-- | Contains the parameters for DescribeSchedulingPolicies.
--
-- See: newDescribeSchedulingPolicies smart constructor.
data DescribeSchedulingPolicies
DescribeSchedulingPolicies' :: [Text] -> DescribeSchedulingPolicies
-- | A list of up to 100 scheduling policy Amazon Resource Name (ARN)
-- entries.
[$sel:arns:DescribeSchedulingPolicies'] :: DescribeSchedulingPolicies -> [Text]
-- | Create a value of DescribeSchedulingPolicies with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arns:DescribeSchedulingPolicies',
-- describeSchedulingPolicies_arns - A list of up to 100
-- scheduling policy Amazon Resource Name (ARN) entries.
newDescribeSchedulingPolicies :: DescribeSchedulingPolicies
-- | A list of up to 100 scheduling policy Amazon Resource Name (ARN)
-- entries.
describeSchedulingPolicies_arns :: Lens' DescribeSchedulingPolicies [Text]
-- | See: newDescribeSchedulingPoliciesResponse smart
-- constructor.
data DescribeSchedulingPoliciesResponse
DescribeSchedulingPoliciesResponse' :: Maybe [SchedulingPolicyDetail] -> Int -> DescribeSchedulingPoliciesResponse
-- | The list of scheduling policies.
[$sel:schedulingPolicies:DescribeSchedulingPoliciesResponse'] :: DescribeSchedulingPoliciesResponse -> Maybe [SchedulingPolicyDetail]
-- | The response's http status code.
[$sel:httpStatus:DescribeSchedulingPoliciesResponse'] :: DescribeSchedulingPoliciesResponse -> Int
-- | Create a value of DescribeSchedulingPoliciesResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:schedulingPolicies:DescribeSchedulingPoliciesResponse',
-- describeSchedulingPoliciesResponse_schedulingPolicies - The
-- list of scheduling policies.
--
-- $sel:httpStatus:DescribeSchedulingPoliciesResponse',
-- describeSchedulingPoliciesResponse_httpStatus - The response's
-- http status code.
newDescribeSchedulingPoliciesResponse :: Int -> DescribeSchedulingPoliciesResponse
-- | The list of scheduling policies.
describeSchedulingPoliciesResponse_schedulingPolicies :: Lens' DescribeSchedulingPoliciesResponse (Maybe [SchedulingPolicyDetail])
-- | The response's http status code.
describeSchedulingPoliciesResponse_httpStatus :: Lens' DescribeSchedulingPoliciesResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance GHC.Show.Show Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance GHC.Read.Read Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance GHC.Classes.Eq Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance GHC.Generics.Generic Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPoliciesResponse
instance GHC.Show.Show Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPoliciesResponse
instance GHC.Read.Read Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPoliciesResponse
instance GHC.Classes.Eq Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPoliciesResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPoliciesResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DescribeSchedulingPolicies.DescribeSchedulingPolicies
-- | Describes a list of Batch jobs.
module Amazonka.Batch.DescribeJobs
-- | Contains the parameters for DescribeJobs.
--
-- See: newDescribeJobs smart constructor.
data DescribeJobs
DescribeJobs' :: [Text] -> DescribeJobs
-- | A list of up to 100 job IDs.
[$sel:jobs:DescribeJobs'] :: DescribeJobs -> [Text]
-- | Create a value of DescribeJobs with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobs, describeJobs_jobs - A list of up to 100
-- job IDs.
newDescribeJobs :: DescribeJobs
-- | A list of up to 100 job IDs.
describeJobs_jobs :: Lens' DescribeJobs [Text]
-- | See: newDescribeJobsResponse smart constructor.
data DescribeJobsResponse
DescribeJobsResponse' :: Maybe [JobDetail] -> Int -> DescribeJobsResponse
-- | The list of jobs.
[$sel:jobs:DescribeJobsResponse'] :: DescribeJobsResponse -> Maybe [JobDetail]
-- | The response's http status code.
[$sel:httpStatus:DescribeJobsResponse'] :: DescribeJobsResponse -> Int
-- | Create a value of DescribeJobsResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobs, describeJobsResponse_jobs - The list of
-- jobs.
--
-- $sel:httpStatus:DescribeJobsResponse',
-- describeJobsResponse_httpStatus - The response's http status
-- code.
newDescribeJobsResponse :: Int -> DescribeJobsResponse
-- | The list of jobs.
describeJobsResponse_jobs :: Lens' DescribeJobsResponse (Maybe [JobDetail])
-- | The response's http status code.
describeJobsResponse_httpStatus :: Lens' DescribeJobsResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DescribeJobs.DescribeJobs
instance GHC.Show.Show Amazonka.Batch.DescribeJobs.DescribeJobs
instance GHC.Read.Read Amazonka.Batch.DescribeJobs.DescribeJobs
instance GHC.Classes.Eq Amazonka.Batch.DescribeJobs.DescribeJobs
instance GHC.Generics.Generic Amazonka.Batch.DescribeJobs.DescribeJobsResponse
instance GHC.Show.Show Amazonka.Batch.DescribeJobs.DescribeJobsResponse
instance GHC.Read.Read Amazonka.Batch.DescribeJobs.DescribeJobsResponse
instance GHC.Classes.Eq Amazonka.Batch.DescribeJobs.DescribeJobsResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DescribeJobs.DescribeJobs
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeJobs.DescribeJobsResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.DescribeJobs.DescribeJobs
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeJobs.DescribeJobs
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DescribeJobs.DescribeJobs
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DescribeJobs.DescribeJobs
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DescribeJobs.DescribeJobs
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DescribeJobs.DescribeJobs
-- | Describes one or more of your job queues.
--
-- This operation returns paginated results.
module Amazonka.Batch.DescribeJobQueues
-- | Contains the parameters for DescribeJobQueues.
--
-- See: newDescribeJobQueues smart constructor.
data DescribeJobQueues
DescribeJobQueues' :: Maybe [Text] -> Maybe Int -> Maybe Text -> DescribeJobQueues
-- | A list of up to 100 queue names or full queue Amazon Resource Name
-- (ARN) entries.
[$sel:jobQueues:DescribeJobQueues'] :: DescribeJobQueues -> Maybe [Text]
-- | The maximum number of results returned by DescribeJobQueues
-- in paginated output. When this parameter is used,
-- DescribeJobQueues only returns maxResults results in
-- a single page and a nextToken response element. The remaining
-- results of the initial request can be seen by sending another
-- DescribeJobQueues request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeJobQueues returns up to
-- 100 results and a nextToken value if applicable.
[$sel:maxResults:DescribeJobQueues'] :: DescribeJobQueues -> Maybe Int
-- | The nextToken value returned from a previous paginated
-- DescribeJobQueues request where maxResults was used
-- and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
[$sel:nextToken:DescribeJobQueues'] :: DescribeJobQueues -> Maybe Text
-- | Create a value of DescribeJobQueues with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobQueues, describeJobQueues_jobQueues - A list
-- of up to 100 queue names or full queue Amazon Resource Name (ARN)
-- entries.
--
-- $sel:maxResults:DescribeJobQueues',
-- describeJobQueues_maxResults - The maximum number of results
-- returned by DescribeJobQueues in paginated output. When this
-- parameter is used, DescribeJobQueues only returns
-- maxResults results in a single page and a nextToken
-- response element. The remaining results of the initial request can be
-- seen by sending another DescribeJobQueues request with the
-- returned nextToken value. This value can be between 1 and
-- 100. If this parameter isn't used, then DescribeJobQueues
-- returns up to 100 results and a nextToken value if
-- applicable.
--
-- DescribeJobQueues, describeJobQueues_nextToken - The
-- nextToken value returned from a previous paginated
-- DescribeJobQueues request where maxResults was used
-- and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newDescribeJobQueues :: DescribeJobQueues
-- | A list of up to 100 queue names or full queue Amazon Resource Name
-- (ARN) entries.
describeJobQueues_jobQueues :: Lens' DescribeJobQueues (Maybe [Text])
-- | The maximum number of results returned by DescribeJobQueues
-- in paginated output. When this parameter is used,
-- DescribeJobQueues only returns maxResults results in
-- a single page and a nextToken response element. The remaining
-- results of the initial request can be seen by sending another
-- DescribeJobQueues request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeJobQueues returns up to
-- 100 results and a nextToken value if applicable.
describeJobQueues_maxResults :: Lens' DescribeJobQueues (Maybe Int)
-- | The nextToken value returned from a previous paginated
-- DescribeJobQueues request where maxResults was used
-- and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
describeJobQueues_nextToken :: Lens' DescribeJobQueues (Maybe Text)
-- | See: newDescribeJobQueuesResponse smart constructor.
data DescribeJobQueuesResponse
DescribeJobQueuesResponse' :: Maybe [JobQueueDetail] -> Maybe Text -> Int -> DescribeJobQueuesResponse
-- | The list of job queues.
[$sel:jobQueues:DescribeJobQueuesResponse'] :: DescribeJobQueuesResponse -> Maybe [JobQueueDetail]
-- | The nextToken value to include in a future
-- DescribeJobQueues request. When the results of a
-- DescribeJobQueues request exceed maxResults, this
-- value can be used to retrieve the next page of results. This value is
-- null when there are no more results to return.
[$sel:nextToken:DescribeJobQueuesResponse'] :: DescribeJobQueuesResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:DescribeJobQueuesResponse'] :: DescribeJobQueuesResponse -> Int
-- | Create a value of DescribeJobQueuesResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobQueues, describeJobQueuesResponse_jobQueues -
-- The list of job queues.
--
-- DescribeJobQueues, describeJobQueuesResponse_nextToken -
-- The nextToken value to include in a future
-- DescribeJobQueues request. When the results of a
-- DescribeJobQueues request exceed maxResults, this
-- value can be used to retrieve the next page of results. This value is
-- null when there are no more results to return.
--
-- $sel:httpStatus:DescribeJobQueuesResponse',
-- describeJobQueuesResponse_httpStatus - The response's http
-- status code.
newDescribeJobQueuesResponse :: Int -> DescribeJobQueuesResponse
-- | The list of job queues.
describeJobQueuesResponse_jobQueues :: Lens' DescribeJobQueuesResponse (Maybe [JobQueueDetail])
-- | The nextToken value to include in a future
-- DescribeJobQueues request. When the results of a
-- DescribeJobQueues request exceed maxResults, this
-- value can be used to retrieve the next page of results. This value is
-- null when there are no more results to return.
describeJobQueuesResponse_nextToken :: Lens' DescribeJobQueuesResponse (Maybe Text)
-- | The response's http status code.
describeJobQueuesResponse_httpStatus :: Lens' DescribeJobQueuesResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance GHC.Show.Show Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance GHC.Read.Read Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance GHC.Classes.Eq Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance GHC.Generics.Generic Amazonka.Batch.DescribeJobQueues.DescribeJobQueuesResponse
instance GHC.Show.Show Amazonka.Batch.DescribeJobQueues.DescribeJobQueuesResponse
instance GHC.Read.Read Amazonka.Batch.DescribeJobQueues.DescribeJobQueuesResponse
instance GHC.Classes.Eq Amazonka.Batch.DescribeJobQueues.DescribeJobQueuesResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeJobQueues.DescribeJobQueuesResponse
instance Amazonka.Pager.AWSPager Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance Data.Hashable.Class.Hashable Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DescribeJobQueues.DescribeJobQueues
-- | Describes a list of job definitions. You can specify a status
-- (such as ACTIVE) to only return job definitions that match
-- that status.
--
-- This operation returns paginated results.
module Amazonka.Batch.DescribeJobDefinitions
-- | Contains the parameters for DescribeJobDefinitions.
--
-- See: newDescribeJobDefinitions smart constructor.
data DescribeJobDefinitions
DescribeJobDefinitions' :: Maybe Text -> Maybe [Text] -> Maybe Int -> Maybe Text -> Maybe Text -> DescribeJobDefinitions
-- | The name of the job definition to describe.
[$sel:jobDefinitionName:DescribeJobDefinitions'] :: DescribeJobDefinitions -> Maybe Text
-- | A list of up to 100 job definitions. Each entry in the list can either
-- be an ARN in the format
-- arn:aws:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}
-- or a short version using the form
-- ${JobDefinitionName}:${Revision}.
[$sel:jobDefinitions:DescribeJobDefinitions'] :: DescribeJobDefinitions -> Maybe [Text]
-- | The maximum number of results returned by
-- DescribeJobDefinitions in paginated output. When this
-- parameter is used, DescribeJobDefinitions only returns
-- maxResults results in a single page and a nextToken
-- response element. The remaining results of the initial request can be
-- seen by sending another DescribeJobDefinitions request with
-- the returned nextToken value. This value can be between 1 and
-- 100. If this parameter isn't used, then
-- DescribeJobDefinitions returns up to 100 results and a
-- nextToken value if applicable.
[$sel:maxResults:DescribeJobDefinitions'] :: DescribeJobDefinitions -> Maybe Int
-- | The nextToken value returned from a previous paginated
-- DescribeJobDefinitions request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
[$sel:nextToken:DescribeJobDefinitions'] :: DescribeJobDefinitions -> Maybe Text
-- | The status used to filter job definitions.
[$sel:status:DescribeJobDefinitions'] :: DescribeJobDefinitions -> Maybe Text
-- | Create a value of DescribeJobDefinitions with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobDefinitions,
-- describeJobDefinitions_jobDefinitionName - The name of the job
-- definition to describe.
--
-- DescribeJobDefinitions,
-- describeJobDefinitions_jobDefinitions - A list of up to 100 job
-- definitions. Each entry in the list can either be an ARN in the format
-- arn:aws:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}
-- or a short version using the form
-- ${JobDefinitionName}:${Revision}.
--
-- $sel:maxResults:DescribeJobDefinitions',
-- describeJobDefinitions_maxResults - The maximum number of
-- results returned by DescribeJobDefinitions in paginated
-- output. When this parameter is used, DescribeJobDefinitions
-- only returns maxResults results in a single page and a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another
-- DescribeJobDefinitions request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeJobDefinitions returns up
-- to 100 results and a nextToken value if applicable.
--
-- DescribeJobDefinitions, describeJobDefinitions_nextToken
-- - The nextToken value returned from a previous paginated
-- DescribeJobDefinitions request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
--
-- DescribeJobDefinitions, describeJobDefinitions_status -
-- The status used to filter job definitions.
newDescribeJobDefinitions :: DescribeJobDefinitions
-- | The name of the job definition to describe.
describeJobDefinitions_jobDefinitionName :: Lens' DescribeJobDefinitions (Maybe Text)
-- | A list of up to 100 job definitions. Each entry in the list can either
-- be an ARN in the format
-- arn:aws:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}
-- or a short version using the form
-- ${JobDefinitionName}:${Revision}.
describeJobDefinitions_jobDefinitions :: Lens' DescribeJobDefinitions (Maybe [Text])
-- | The maximum number of results returned by
-- DescribeJobDefinitions in paginated output. When this
-- parameter is used, DescribeJobDefinitions only returns
-- maxResults results in a single page and a nextToken
-- response element. The remaining results of the initial request can be
-- seen by sending another DescribeJobDefinitions request with
-- the returned nextToken value. This value can be between 1 and
-- 100. If this parameter isn't used, then
-- DescribeJobDefinitions returns up to 100 results and a
-- nextToken value if applicable.
describeJobDefinitions_maxResults :: Lens' DescribeJobDefinitions (Maybe Int)
-- | The nextToken value returned from a previous paginated
-- DescribeJobDefinitions request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
describeJobDefinitions_nextToken :: Lens' DescribeJobDefinitions (Maybe Text)
-- | The status used to filter job definitions.
describeJobDefinitions_status :: Lens' DescribeJobDefinitions (Maybe Text)
-- | See: newDescribeJobDefinitionsResponse smart
-- constructor.
data DescribeJobDefinitionsResponse
DescribeJobDefinitionsResponse' :: Maybe [JobDefinition] -> Maybe Text -> Int -> DescribeJobDefinitionsResponse
-- | The list of job definitions.
[$sel:jobDefinitions:DescribeJobDefinitionsResponse'] :: DescribeJobDefinitionsResponse -> Maybe [JobDefinition]
-- | The nextToken value to include in a future
-- DescribeJobDefinitions request. When the results of a
-- DescribeJobDefinitions request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
[$sel:nextToken:DescribeJobDefinitionsResponse'] :: DescribeJobDefinitionsResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:DescribeJobDefinitionsResponse'] :: DescribeJobDefinitionsResponse -> Int
-- | Create a value of DescribeJobDefinitionsResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobDefinitions,
-- describeJobDefinitionsResponse_jobDefinitions - The list of job
-- definitions.
--
-- DescribeJobDefinitions,
-- describeJobDefinitionsResponse_nextToken - The
-- nextToken value to include in a future
-- DescribeJobDefinitions request. When the results of a
-- DescribeJobDefinitions request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
--
-- $sel:httpStatus:DescribeJobDefinitionsResponse',
-- describeJobDefinitionsResponse_httpStatus - The response's http
-- status code.
newDescribeJobDefinitionsResponse :: Int -> DescribeJobDefinitionsResponse
-- | The list of job definitions.
describeJobDefinitionsResponse_jobDefinitions :: Lens' DescribeJobDefinitionsResponse (Maybe [JobDefinition])
-- | The nextToken value to include in a future
-- DescribeJobDefinitions request. When the results of a
-- DescribeJobDefinitions request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
describeJobDefinitionsResponse_nextToken :: Lens' DescribeJobDefinitionsResponse (Maybe Text)
-- | The response's http status code.
describeJobDefinitionsResponse_httpStatus :: Lens' DescribeJobDefinitionsResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance GHC.Show.Show Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance GHC.Read.Read Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance GHC.Classes.Eq Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance GHC.Generics.Generic Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitionsResponse
instance GHC.Show.Show Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitionsResponse
instance GHC.Read.Read Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitionsResponse
instance GHC.Classes.Eq Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitionsResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitionsResponse
instance Amazonka.Pager.AWSPager Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance Data.Hashable.Class.Hashable Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DescribeJobDefinitions.DescribeJobDefinitions
-- | Describes one or more of your compute environments.
--
-- If you're using an unmanaged compute environment, you can use the
-- DescribeComputeEnvironment operation to determine the
-- ecsClusterArn that you launch your Amazon ECS container
-- instances into.
--
-- This operation returns paginated results.
module Amazonka.Batch.DescribeComputeEnvironments
-- | Contains the parameters for DescribeComputeEnvironments.
--
-- See: newDescribeComputeEnvironments smart constructor.
data DescribeComputeEnvironments
DescribeComputeEnvironments' :: Maybe [Text] -> Maybe Int -> Maybe Text -> DescribeComputeEnvironments
-- | A list of up to 100 compute environment names or full Amazon Resource
-- Name (ARN) entries.
[$sel:computeEnvironments:DescribeComputeEnvironments'] :: DescribeComputeEnvironments -> Maybe [Text]
-- | The maximum number of cluster results returned by
-- DescribeComputeEnvironments in paginated output. When this
-- parameter is used, DescribeComputeEnvironments only returns
-- maxResults results in a single page along with a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another
-- DescribeComputeEnvironments request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeComputeEnvironments
-- returns up to 100 results and a nextToken value if
-- applicable.
[$sel:maxResults:DescribeComputeEnvironments'] :: DescribeComputeEnvironments -> Maybe Int
-- | The nextToken value returned from a previous paginated
-- DescribeComputeEnvironments request where maxResults
-- was used and the results exceeded the value of that parameter.
-- Pagination continues from the end of the previous results that
-- returned the nextToken value. This value is null
-- when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
[$sel:nextToken:DescribeComputeEnvironments'] :: DescribeComputeEnvironments -> Maybe Text
-- | Create a value of DescribeComputeEnvironments with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironments_computeEnvironments - A list of up
-- to 100 compute environment names or full Amazon Resource Name (ARN)
-- entries.
--
-- $sel:maxResults:DescribeComputeEnvironments',
-- describeComputeEnvironments_maxResults - The maximum number of
-- cluster results returned by DescribeComputeEnvironments in
-- paginated output. When this parameter is used,
-- DescribeComputeEnvironments only returns maxResults
-- results in a single page along with a nextToken response
-- element. The remaining results of the initial request can be seen by
-- sending another DescribeComputeEnvironments request with the
-- returned nextToken value. This value can be between 1 and
-- 100. If this parameter isn't used, then
-- DescribeComputeEnvironments returns up to 100 results and a
-- nextToken value if applicable.
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironments_nextToken - The nextToken
-- value returned from a previous paginated
-- DescribeComputeEnvironments request where maxResults
-- was used and the results exceeded the value of that parameter.
-- Pagination continues from the end of the previous results that
-- returned the nextToken value. This value is null
-- when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newDescribeComputeEnvironments :: DescribeComputeEnvironments
-- | A list of up to 100 compute environment names or full Amazon Resource
-- Name (ARN) entries.
describeComputeEnvironments_computeEnvironments :: Lens' DescribeComputeEnvironments (Maybe [Text])
-- | The maximum number of cluster results returned by
-- DescribeComputeEnvironments in paginated output. When this
-- parameter is used, DescribeComputeEnvironments only returns
-- maxResults results in a single page along with a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another
-- DescribeComputeEnvironments request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeComputeEnvironments
-- returns up to 100 results and a nextToken value if
-- applicable.
describeComputeEnvironments_maxResults :: Lens' DescribeComputeEnvironments (Maybe Int)
-- | The nextToken value returned from a previous paginated
-- DescribeComputeEnvironments request where maxResults
-- was used and the results exceeded the value of that parameter.
-- Pagination continues from the end of the previous results that
-- returned the nextToken value. This value is null
-- when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
describeComputeEnvironments_nextToken :: Lens' DescribeComputeEnvironments (Maybe Text)
-- | See: newDescribeComputeEnvironmentsResponse smart
-- constructor.
data DescribeComputeEnvironmentsResponse
DescribeComputeEnvironmentsResponse' :: Maybe [ComputeEnvironmentDetail] -> Maybe Text -> Int -> DescribeComputeEnvironmentsResponse
-- | The list of compute environments.
[$sel:computeEnvironments:DescribeComputeEnvironmentsResponse'] :: DescribeComputeEnvironmentsResponse -> Maybe [ComputeEnvironmentDetail]
-- | The nextToken value to include in a future
-- DescribeComputeEnvironments request. When the results of a
-- DescribeComputeEnvironments request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
[$sel:nextToken:DescribeComputeEnvironmentsResponse'] :: DescribeComputeEnvironmentsResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:DescribeComputeEnvironmentsResponse'] :: DescribeComputeEnvironmentsResponse -> Int
-- | Create a value of DescribeComputeEnvironmentsResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironmentsResponse_computeEnvironments - The
-- list of compute environments.
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironmentsResponse_nextToken - The
-- nextToken value to include in a future
-- DescribeComputeEnvironments request. When the results of a
-- DescribeComputeEnvironments request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
--
-- $sel:httpStatus:DescribeComputeEnvironmentsResponse',
-- describeComputeEnvironmentsResponse_httpStatus - The response's
-- http status code.
newDescribeComputeEnvironmentsResponse :: Int -> DescribeComputeEnvironmentsResponse
-- | The list of compute environments.
describeComputeEnvironmentsResponse_computeEnvironments :: Lens' DescribeComputeEnvironmentsResponse (Maybe [ComputeEnvironmentDetail])
-- | The nextToken value to include in a future
-- DescribeComputeEnvironments request. When the results of a
-- DescribeComputeEnvironments request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
describeComputeEnvironmentsResponse_nextToken :: Lens' DescribeComputeEnvironmentsResponse (Maybe Text)
-- | The response's http status code.
describeComputeEnvironmentsResponse_httpStatus :: Lens' DescribeComputeEnvironmentsResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance GHC.Show.Show Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance GHC.Read.Read Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance GHC.Classes.Eq Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance GHC.Generics.Generic Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironmentsResponse
instance GHC.Show.Show Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironmentsResponse
instance GHC.Read.Read Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironmentsResponse
instance GHC.Classes.Eq Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironmentsResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironmentsResponse
instance Amazonka.Pager.AWSPager Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance Data.Hashable.Class.Hashable Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance Control.DeepSeq.NFData Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DescribeComputeEnvironments.DescribeComputeEnvironments
-- | Deregisters an Batch job definition. Job definitions are permanently
-- deleted after 180 days.
module Amazonka.Batch.DeregisterJobDefinition
-- | See: newDeregisterJobDefinition smart constructor.
data DeregisterJobDefinition
DeregisterJobDefinition' :: Text -> DeregisterJobDefinition
-- | The name and revision (name:revision) or full Amazon Resource
-- Name (ARN) of the job definition to deregister.
[$sel:jobDefinition:DeregisterJobDefinition'] :: DeregisterJobDefinition -> Text
-- | Create a value of DeregisterJobDefinition with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeregisterJobDefinition,
-- deregisterJobDefinition_jobDefinition - The name and revision
-- (name:revision) or full Amazon Resource Name (ARN) of the job
-- definition to deregister.
newDeregisterJobDefinition :: Text -> DeregisterJobDefinition
-- | The name and revision (name:revision) or full Amazon Resource
-- Name (ARN) of the job definition to deregister.
deregisterJobDefinition_jobDefinition :: Lens' DeregisterJobDefinition Text
-- | See: newDeregisterJobDefinitionResponse smart
-- constructor.
data DeregisterJobDefinitionResponse
DeregisterJobDefinitionResponse' :: Int -> DeregisterJobDefinitionResponse
-- | The response's http status code.
[$sel:httpStatus:DeregisterJobDefinitionResponse'] :: DeregisterJobDefinitionResponse -> Int
-- | Create a value of DeregisterJobDefinitionResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeregisterJobDefinitionResponse',
-- deregisterJobDefinitionResponse_httpStatus - The response's
-- http status code.
newDeregisterJobDefinitionResponse :: Int -> DeregisterJobDefinitionResponse
-- | The response's http status code.
deregisterJobDefinitionResponse_httpStatus :: Lens' DeregisterJobDefinitionResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance GHC.Show.Show Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance GHC.Read.Read Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance GHC.Classes.Eq Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance GHC.Generics.Generic Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinitionResponse
instance GHC.Show.Show Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinitionResponse
instance GHC.Read.Read Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinitionResponse
instance GHC.Classes.Eq Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinitionResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance Control.DeepSeq.NFData Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinitionResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance Control.DeepSeq.NFData Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DeregisterJobDefinition.DeregisterJobDefinition
-- | Deletes the specified scheduling policy.
--
-- You can't delete a scheduling policy that's used in any job queues.
module Amazonka.Batch.DeleteSchedulingPolicy
-- | Contains the parameters for DeleteSchedulingPolicy.
--
-- See: newDeleteSchedulingPolicy smart constructor.
data DeleteSchedulingPolicy
DeleteSchedulingPolicy' :: Text -> DeleteSchedulingPolicy
-- | The Amazon Resource Name (ARN) of the scheduling policy to delete.
[$sel:arn:DeleteSchedulingPolicy'] :: DeleteSchedulingPolicy -> Text
-- | Create a value of DeleteSchedulingPolicy with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeleteSchedulingPolicy, deleteSchedulingPolicy_arn - The
-- Amazon Resource Name (ARN) of the scheduling policy to delete.
newDeleteSchedulingPolicy :: Text -> DeleteSchedulingPolicy
-- | The Amazon Resource Name (ARN) of the scheduling policy to delete.
deleteSchedulingPolicy_arn :: Lens' DeleteSchedulingPolicy Text
-- | See: newDeleteSchedulingPolicyResponse smart
-- constructor.
data DeleteSchedulingPolicyResponse
DeleteSchedulingPolicyResponse' :: Int -> DeleteSchedulingPolicyResponse
-- | The response's http status code.
[$sel:httpStatus:DeleteSchedulingPolicyResponse'] :: DeleteSchedulingPolicyResponse -> Int
-- | Create a value of DeleteSchedulingPolicyResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeleteSchedulingPolicyResponse',
-- deleteSchedulingPolicyResponse_httpStatus - The response's http
-- status code.
newDeleteSchedulingPolicyResponse :: Int -> DeleteSchedulingPolicyResponse
-- | The response's http status code.
deleteSchedulingPolicyResponse_httpStatus :: Lens' DeleteSchedulingPolicyResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance GHC.Show.Show Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance GHC.Read.Read Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance GHC.Classes.Eq Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance GHC.Generics.Generic Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicyResponse
instance GHC.Show.Show Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicyResponse
instance GHC.Read.Read Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicyResponse
instance GHC.Classes.Eq Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicyResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance Control.DeepSeq.NFData Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicyResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance Control.DeepSeq.NFData Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DeleteSchedulingPolicy.DeleteSchedulingPolicy
-- | Deletes the specified job queue. You must first disable submissions
-- for a queue with the UpdateJobQueue operation. All jobs in the queue
-- are eventually terminated when you delete a job queue. The jobs are
-- terminated at a rate of about 16 jobs each second.
--
-- It's not necessary to disassociate compute environments from a queue
-- before submitting a DeleteJobQueue request.
module Amazonka.Batch.DeleteJobQueue
-- | Contains the parameters for DeleteJobQueue.
--
-- See: newDeleteJobQueue smart constructor.
data DeleteJobQueue
DeleteJobQueue' :: Text -> DeleteJobQueue
-- | The short name or full Amazon Resource Name (ARN) of the queue to
-- delete.
[$sel:jobQueue:DeleteJobQueue'] :: DeleteJobQueue -> Text
-- | Create a value of DeleteJobQueue with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeleteJobQueue, deleteJobQueue_jobQueue - The short name
-- or full Amazon Resource Name (ARN) of the queue to delete.
newDeleteJobQueue :: Text -> DeleteJobQueue
-- | The short name or full Amazon Resource Name (ARN) of the queue to
-- delete.
deleteJobQueue_jobQueue :: Lens' DeleteJobQueue Text
-- | See: newDeleteJobQueueResponse smart constructor.
data DeleteJobQueueResponse
DeleteJobQueueResponse' :: Int -> DeleteJobQueueResponse
-- | The response's http status code.
[$sel:httpStatus:DeleteJobQueueResponse'] :: DeleteJobQueueResponse -> Int
-- | Create a value of DeleteJobQueueResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeleteJobQueueResponse',
-- deleteJobQueueResponse_httpStatus - The response's http status
-- code.
newDeleteJobQueueResponse :: Int -> DeleteJobQueueResponse
-- | The response's http status code.
deleteJobQueueResponse_httpStatus :: Lens' DeleteJobQueueResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance GHC.Show.Show Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance GHC.Read.Read Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance GHC.Classes.Eq Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance GHC.Generics.Generic Amazonka.Batch.DeleteJobQueue.DeleteJobQueueResponse
instance GHC.Show.Show Amazonka.Batch.DeleteJobQueue.DeleteJobQueueResponse
instance GHC.Read.Read Amazonka.Batch.DeleteJobQueue.DeleteJobQueueResponse
instance GHC.Classes.Eq Amazonka.Batch.DeleteJobQueue.DeleteJobQueueResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance Control.DeepSeq.NFData Amazonka.Batch.DeleteJobQueue.DeleteJobQueueResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance Control.DeepSeq.NFData Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DeleteJobQueue.DeleteJobQueue
-- | Deletes an 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. Compute environments that use Fargate resources must
-- terminate all active jobs on that compute environment before deleting
-- the compute environment. If this isn't done, the compute environment
-- enters an invalid state.
module Amazonka.Batch.DeleteComputeEnvironment
-- | Contains the parameters for DeleteComputeEnvironment.
--
-- See: newDeleteComputeEnvironment smart constructor.
data DeleteComputeEnvironment
DeleteComputeEnvironment' :: Text -> DeleteComputeEnvironment
-- | The name or Amazon Resource Name (ARN) of the compute environment to
-- delete.
[$sel:computeEnvironment:DeleteComputeEnvironment'] :: DeleteComputeEnvironment -> Text
-- | Create a value of DeleteComputeEnvironment with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeleteComputeEnvironment,
-- deleteComputeEnvironment_computeEnvironment - The name or
-- Amazon Resource Name (ARN) of the compute environment to delete.
newDeleteComputeEnvironment :: Text -> DeleteComputeEnvironment
-- | The name or Amazon Resource Name (ARN) of the compute environment to
-- delete.
deleteComputeEnvironment_computeEnvironment :: Lens' DeleteComputeEnvironment Text
-- | See: newDeleteComputeEnvironmentResponse smart
-- constructor.
data DeleteComputeEnvironmentResponse
DeleteComputeEnvironmentResponse' :: Int -> DeleteComputeEnvironmentResponse
-- | The response's http status code.
[$sel:httpStatus:DeleteComputeEnvironmentResponse'] :: DeleteComputeEnvironmentResponse -> Int
-- | Create a value of DeleteComputeEnvironmentResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeleteComputeEnvironmentResponse',
-- deleteComputeEnvironmentResponse_httpStatus - The response's
-- http status code.
newDeleteComputeEnvironmentResponse :: Int -> DeleteComputeEnvironmentResponse
-- | The response's http status code.
deleteComputeEnvironmentResponse_httpStatus :: Lens' DeleteComputeEnvironmentResponse Int
instance GHC.Generics.Generic Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance GHC.Show.Show Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance GHC.Read.Read Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance GHC.Classes.Eq Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance GHC.Generics.Generic Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironmentResponse
instance GHC.Show.Show Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironmentResponse
instance GHC.Read.Read Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironmentResponse
instance GHC.Classes.Eq Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironmentResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance Control.DeepSeq.NFData Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironmentResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance Control.DeepSeq.NFData Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance Amazonka.Data.Path.ToPath Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.DeleteComputeEnvironment.DeleteComputeEnvironment
-- | Creates an Batch scheduling policy.
module Amazonka.Batch.CreateSchedulingPolicy
-- | Contains the parameters for CreateSchedulingPolicy.
--
-- See: newCreateSchedulingPolicy smart constructor.
data CreateSchedulingPolicy
CreateSchedulingPolicy' :: Maybe FairsharePolicy -> Maybe (HashMap Text Text) -> Text -> CreateSchedulingPolicy
-- | The fair share policy of the scheduling policy.
[$sel:fairsharePolicy:CreateSchedulingPolicy'] :: CreateSchedulingPolicy -> Maybe FairsharePolicy
-- | The tags that you apply to the scheduling policy to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations.
[$sel:tags:CreateSchedulingPolicy'] :: CreateSchedulingPolicy -> Maybe (HashMap Text Text)
-- | The name of the scheduling policy. It can be up to 128 letters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
[$sel:name:CreateSchedulingPolicy'] :: CreateSchedulingPolicy -> Text
-- | Create a value of CreateSchedulingPolicy with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateSchedulingPolicy,
-- createSchedulingPolicy_fairsharePolicy - The fair share policy
-- of the scheduling policy.
--
-- CreateSchedulingPolicy, createSchedulingPolicy_tags -
-- The tags that you apply to the scheduling policy to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations.
--
-- CreateSchedulingPolicy, createSchedulingPolicy_name -
-- The name of the scheduling policy. It can be up to 128 letters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
newCreateSchedulingPolicy :: Text -> CreateSchedulingPolicy
-- | The fair share policy of the scheduling policy.
createSchedulingPolicy_fairsharePolicy :: Lens' CreateSchedulingPolicy (Maybe FairsharePolicy)
-- | The tags that you apply to the scheduling policy to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations.
createSchedulingPolicy_tags :: Lens' CreateSchedulingPolicy (Maybe (HashMap Text Text))
-- | The name of the scheduling policy. It can be up to 128 letters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
createSchedulingPolicy_name :: Lens' CreateSchedulingPolicy Text
-- | See: newCreateSchedulingPolicyResponse smart
-- constructor.
data CreateSchedulingPolicyResponse
CreateSchedulingPolicyResponse' :: Int -> Text -> Text -> CreateSchedulingPolicyResponse
-- | The response's http status code.
[$sel:httpStatus:CreateSchedulingPolicyResponse'] :: CreateSchedulingPolicyResponse -> Int
-- | The name of the scheduling policy.
[$sel:name:CreateSchedulingPolicyResponse'] :: CreateSchedulingPolicyResponse -> Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
[$sel:arn:CreateSchedulingPolicyResponse'] :: CreateSchedulingPolicyResponse -> Text
-- | Create a value of CreateSchedulingPolicyResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:CreateSchedulingPolicyResponse',
-- createSchedulingPolicyResponse_httpStatus - The response's http
-- status code.
--
-- CreateSchedulingPolicy,
-- createSchedulingPolicyResponse_name - The name of the
-- scheduling policy.
--
-- CreateSchedulingPolicyResponse,
-- createSchedulingPolicyResponse_arn - The Amazon Resource Name
-- (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
newCreateSchedulingPolicyResponse :: Int -> Text -> Text -> CreateSchedulingPolicyResponse
-- | The response's http status code.
createSchedulingPolicyResponse_httpStatus :: Lens' CreateSchedulingPolicyResponse Int
-- | The name of the scheduling policy.
createSchedulingPolicyResponse_name :: Lens' CreateSchedulingPolicyResponse Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
createSchedulingPolicyResponse_arn :: Lens' CreateSchedulingPolicyResponse Text
instance GHC.Generics.Generic Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance GHC.Show.Show Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance GHC.Read.Read Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance GHC.Classes.Eq Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance GHC.Generics.Generic Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicyResponse
instance GHC.Show.Show Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicyResponse
instance GHC.Read.Read Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicyResponse
instance GHC.Classes.Eq Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicyResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance Control.DeepSeq.NFData Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicyResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance Control.DeepSeq.NFData Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance Amazonka.Data.Path.ToPath Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.CreateSchedulingPolicy.CreateSchedulingPolicy
-- | Creates an 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
-- that the 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.
module Amazonka.Batch.CreateJobQueue
-- | Contains the parameters for CreateJobQueue.
--
-- See: newCreateJobQueue smart constructor.
data CreateJobQueue
CreateJobQueue' :: Maybe Text -> Maybe JQState -> Maybe (HashMap Text Text) -> Text -> Int -> [ComputeEnvironmentOrder] -> CreateJobQueue
-- | The Amazon Resource Name (ARN) of the fair share scheduling policy. If
-- this parameter is specified, the job queue uses a fair share
-- scheduling policy. If this parameter isn't specified, the job queue
-- uses a first in, first out (FIFO) scheduling policy. After a job queue
-- is created, you can replace but can't remove the fair share scheduling
-- policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . An example is
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
[$sel:schedulingPolicyArn:CreateJobQueue'] :: CreateJobQueue -> Maybe Text
-- | The state of the job queue. If the job queue state is
-- ENABLED, it is able to accept jobs. If the job queue state is
-- DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
[$sel:state:CreateJobQueue'] :: CreateJobQueue -> Maybe JQState
-- | The tags that you apply to the job queue to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging your Batch resources
-- in Batch User Guide.
[$sel:tags:CreateJobQueue'] :: CreateJobQueue -> Maybe (HashMap Text Text)
-- | The name of the job queue. It can be up to 128 letters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
[$sel:jobQueueName:CreateJobQueue'] :: CreateJobQueue -> Text
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT);
-- EC2 and Fargate compute environments can't be mixed.
[$sel:priority:CreateJobQueue'] :: CreateJobQueue -> Int
-- | The set of compute environments mapped to a job queue and their order
-- relative to each other. The job scheduler uses this parameter to
-- determine which compute environment runs a specific job. Compute
-- environments must be in the VALID state before you can
-- associate them with a job queue. You can associate up to three compute
-- environments with a job queue. All of the compute environments must be
-- either EC2 (EC2 or SPOT) or Fargate
-- (FARGATE or FARGATE_SPOT); EC2 and Fargate compute
-- environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
[$sel:computeEnvironmentOrder:CreateJobQueue'] :: CreateJobQueue -> [ComputeEnvironmentOrder]
-- | Create a value of CreateJobQueue with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateJobQueue, createJobQueue_schedulingPolicyArn - The
-- Amazon Resource Name (ARN) of the fair share scheduling policy. If
-- this parameter is specified, the job queue uses a fair share
-- scheduling policy. If this parameter isn't specified, the job queue
-- uses a first in, first out (FIFO) scheduling policy. After a job queue
-- is created, you can replace but can't remove the fair share scheduling
-- policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . An example is
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
--
-- CreateJobQueue, createJobQueue_state - The state of the
-- job queue. If the job queue state is ENABLED, it is able to
-- accept jobs. If the job queue state is DISABLED, new jobs
-- can't be added to the queue, but jobs already in the queue can finish.
--
-- CreateJobQueue, createJobQueue_tags - The tags that you
-- apply to the job queue to help you categorize and organize your
-- resources. Each tag consists of a key and an optional value. For more
-- information, see Tagging your Batch resources in Batch User
-- Guide.
--
-- CreateJobQueue, createJobQueue_jobQueueName - The name
-- of the job queue. It can be up to 128 letters long. It can contain
-- uppercase and lowercase letters, numbers, hyphens (-), and underscores
-- (_).
--
-- CreateJobQueue, createJobQueue_priority - The priority
-- of the job queue. Job queues with a higher priority (or a higher
-- integer value for the priority parameter) are evaluated first
-- when associated with the same compute environment. Priority is
-- determined in descending order. For example, a job queue with a
-- priority value of 10 is given scheduling preference over a
-- job queue with a priority value of 1. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate
-- compute environments can't be mixed.
--
-- CreateJobQueue, createJobQueue_computeEnvironmentOrder -
-- The set of compute environments mapped to a job queue and their order
-- relative to each other. The job scheduler uses this parameter to
-- determine which compute environment runs a specific job. Compute
-- environments must be in the VALID state before you can
-- associate them with a job queue. You can associate up to three compute
-- environments with a job queue. All of the compute environments must be
-- either EC2 (EC2 or SPOT) or Fargate
-- (FARGATE or FARGATE_SPOT); EC2 and Fargate compute
-- environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
newCreateJobQueue :: Text -> Int -> CreateJobQueue
-- | The Amazon Resource Name (ARN) of the fair share scheduling policy. If
-- this parameter is specified, the job queue uses a fair share
-- scheduling policy. If this parameter isn't specified, the job queue
-- uses a first in, first out (FIFO) scheduling policy. After a job queue
-- is created, you can replace but can't remove the fair share scheduling
-- policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . An example is
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
createJobQueue_schedulingPolicyArn :: Lens' CreateJobQueue (Maybe Text)
-- | The state of the job queue. If the job queue state is
-- ENABLED, it is able to accept jobs. If the job queue state is
-- DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
createJobQueue_state :: Lens' CreateJobQueue (Maybe JQState)
-- | The tags that you apply to the job queue to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging your Batch resources
-- in Batch User Guide.
createJobQueue_tags :: Lens' CreateJobQueue (Maybe (HashMap Text Text))
-- | The name of the job queue. It can be up to 128 letters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
createJobQueue_jobQueueName :: Lens' CreateJobQueue Text
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT);
-- EC2 and Fargate compute environments can't be mixed.
createJobQueue_priority :: Lens' CreateJobQueue Int
-- | The set of compute environments mapped to a job queue and their order
-- relative to each other. The job scheduler uses this parameter to
-- determine which compute environment runs a specific job. Compute
-- environments must be in the VALID state before you can
-- associate them with a job queue. You can associate up to three compute
-- environments with a job queue. All of the compute environments must be
-- either EC2 (EC2 or SPOT) or Fargate
-- (FARGATE or FARGATE_SPOT); EC2 and Fargate compute
-- environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
createJobQueue_computeEnvironmentOrder :: Lens' CreateJobQueue [ComputeEnvironmentOrder]
-- | See: newCreateJobQueueResponse smart constructor.
data CreateJobQueueResponse
CreateJobQueueResponse' :: Int -> Text -> Text -> CreateJobQueueResponse
-- | The response's http status code.
[$sel:httpStatus:CreateJobQueueResponse'] :: CreateJobQueueResponse -> Int
-- | The name of the job queue.
[$sel:jobQueueName:CreateJobQueueResponse'] :: CreateJobQueueResponse -> Text
-- | The Amazon Resource Name (ARN) of the job queue.
[$sel:jobQueueArn:CreateJobQueueResponse'] :: CreateJobQueueResponse -> Text
-- | Create a value of CreateJobQueueResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:CreateJobQueueResponse',
-- createJobQueueResponse_httpStatus - The response's http status
-- code.
--
-- CreateJobQueue, createJobQueueResponse_jobQueueName -
-- The name of the job queue.
--
-- CreateJobQueueResponse,
-- createJobQueueResponse_jobQueueArn - The Amazon Resource Name
-- (ARN) of the job queue.
newCreateJobQueueResponse :: Int -> Text -> Text -> CreateJobQueueResponse
-- | The response's http status code.
createJobQueueResponse_httpStatus :: Lens' CreateJobQueueResponse Int
-- | The name of the job queue.
createJobQueueResponse_jobQueueName :: Lens' CreateJobQueueResponse Text
-- | The Amazon Resource Name (ARN) of the job queue.
createJobQueueResponse_jobQueueArn :: Lens' CreateJobQueueResponse Text
instance GHC.Generics.Generic Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance GHC.Show.Show Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance GHC.Read.Read Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance GHC.Classes.Eq Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance GHC.Generics.Generic Amazonka.Batch.CreateJobQueue.CreateJobQueueResponse
instance GHC.Show.Show Amazonka.Batch.CreateJobQueue.CreateJobQueueResponse
instance GHC.Read.Read Amazonka.Batch.CreateJobQueue.CreateJobQueueResponse
instance GHC.Classes.Eq Amazonka.Batch.CreateJobQueue.CreateJobQueueResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance Control.DeepSeq.NFData Amazonka.Batch.CreateJobQueue.CreateJobQueueResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance Control.DeepSeq.NFData Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance Amazonka.Data.Path.ToPath Amazonka.Batch.CreateJobQueue.CreateJobQueue
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.CreateJobQueue.CreateJobQueue
-- | Creates an Batch compute environment. You can create MANAGED
-- or UNMANAGED compute environments. MANAGED compute
-- environments can use Amazon EC2 or Fargate resources.
-- UNMANAGED compute environments can only use EC2 resources.
--
-- In a managed compute environment, 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. Either, you can choose to use EC2 On-Demand Instances and
-- EC2 Spot Instances. Or, you can use Fargate and Fargate Spot capacity
-- in your managed compute environment. You can optionally set a maximum
-- price so that Spot Instances only launch when the Spot Instance price
-- is less than a specified percentage of the On-Demand price.
--
-- Multi-node parallel jobs aren't supported on Spot Instances.
--
-- In an unmanaged compute environment, you can manage your own EC2
-- compute resources and have flexibility with how you configure your
-- compute resources. For example, you can use custom AMIs. However, you
-- must verify that each of your AMIs meet the Amazon ECS container
-- instance AMI specification. For more information, see container
-- instance AMIs in the Amazon Elastic Container Service Developer
-- Guide. After you created your unmanaged compute environment, you
-- can use the DescribeComputeEnvironments operation to find the Amazon
-- ECS cluster that's associated with it. Then, 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.
--
-- To create a compute environment that uses EKS resources, the caller
-- must have permissions to call eks:DescribeCluster.
--
-- Batch doesn't automatically upgrade the AMIs in a compute environment
-- after it's created. For example, it also doesn't update the AMIs in
-- your compute environment when a newer version of the Amazon ECS
-- optimized AMI is available. You're responsible for the management of
-- the guest operating system. This includes any updates and security
-- patches. You're also responsible for any additional application
-- software or utilities that you install on the compute resources. There
-- are two ways to use a new AMI for your Batch jobs. The original method
-- is to complete these steps:
--
--
-- - Create a new compute environment with the new AMI.
-- - Add the compute environment to an existing job queue.
-- - Remove the earlier compute environment from your job queue.
-- - Delete the earlier compute environment.
--
--
-- In April 2022, Batch added enhanced support for updating compute
-- environments. For more information, see Updating compute
-- environments. To use the enhanced updating of compute environments
-- to update AMIs, follow these rules:
--
--
-- - Either don't set the service role (serviceRole) parameter
-- or set it to the AWSBatchServiceRole service-linked role.
-- - Set the allocation strategy (allocationStrategy)
-- parameter to BEST_FIT_PROGRESSIVE or
-- SPOT_CAPACITY_OPTIMIZED.
-- - Set the update to latest image version
-- (updateToLatestImageVersion) parameter to true.
-- - Don't specify an AMI ID in imageId,
-- imageIdOverride (in ec2Configuration ), or in the
-- launch template (launchTemplate). In that case, Batch selects
-- the latest Amazon ECS optimized AMI that's supported by Batch at the
-- time the infrastructure update is initiated. Alternatively, you can
-- specify the AMI ID in the imageId or imageIdOverride
-- parameters, or the launch template identified by the
-- LaunchTemplate properties. Changing any of these properties
-- starts an infrastructure update. If the AMI ID is specified in the
-- launch template, it can't be replaced by specifying an AMI ID in
-- either the imageId or imageIdOverride parameters. It
-- can only be replaced by specifying a different launch template, or if
-- the launch template version is set to $Default or
-- $Latest, by setting either a new default version for the
-- launch template (if $Default) or by adding a new version to
-- the launch template (if $Latest).
--
--
-- If these rules are followed, any update that starts an infrastructure
-- update causes the AMI ID to be re-selected. If the version
-- setting in the launch template (launchTemplate) is set to
-- $Latest or $Default, the latest or default version
-- of the launch template is evaluated up at the time of the
-- infrastructure update, even if the launchTemplate wasn't
-- updated.
module Amazonka.Batch.CreateComputeEnvironment
-- | Contains the parameters for CreateComputeEnvironment.
--
-- See: newCreateComputeEnvironment smart constructor.
data CreateComputeEnvironment
CreateComputeEnvironment' :: Maybe ComputeResource -> Maybe EksConfiguration -> Maybe Text -> Maybe CEState -> Maybe (HashMap Text Text) -> Maybe Int -> Text -> CEType -> CreateComputeEnvironment
-- | Details about the compute resources managed by the compute
-- environment. This parameter is required for managed compute
-- environments. For more information, see Compute Environments in
-- the Batch User Guide.
[$sel:computeResources:CreateComputeEnvironment'] :: CreateComputeEnvironment -> Maybe ComputeResource
-- | The details for the Amazon EKS cluster that supports the compute
-- environment.
[$sel:eksConfiguration:CreateComputeEnvironment'] :: CreateComputeEnvironment -> Maybe EksConfiguration
-- | The full Amazon Resource Name (ARN) of the IAM role that allows Batch
-- to make calls to other Amazon Web Services services on your behalf.
-- For more information, see Batch service IAM role in the
-- Batch User Guide.
--
-- If your account already created the Batch service-linked role, that
-- role is used by default for your compute environment unless you
-- specify a different role here. If the Batch service-linked role
-- doesn't exist in your account, and no role is specified here, the
-- service attempts to create the Batch service-linked role in your
-- account.
--
-- If your specified role has a path other than /, then you must
-- specify either the full role ARN (recommended) or prefix the role name
-- with the path. For example, if a role with the name bar has a
-- path of /foo/, specify /foo/bar as the role name.
-- For more information, see Friendly names and paths in the
-- IAM User Guide.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
[$sel:serviceRole:CreateComputeEnvironment'] :: CreateComputeEnvironment -> Maybe Text
-- | The state of the compute environment. If the state is
-- ENABLED, then the compute environment accepts jobs from a
-- queue and can scale out automatically based on queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
[$sel:state:CreateComputeEnvironment'] :: CreateComputeEnvironment -> Maybe CEState
-- | The tags that you apply to the compute environment to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations. These tags don't propagate to the
-- underlying compute resources.
[$sel:tags:CreateComputeEnvironment'] :: CreateComputeEnvironment -> Maybe (HashMap Text Text)
-- | The maximum number of vCPUs for an unmanaged compute environment. This
-- parameter is only used for fair share scheduling to reserve vCPU
-- capacity for new share identifiers. If this parameter isn't provided
-- for a fair share job queue, no vCPU capacity is reserved.
--
-- This parameter is only supported when the type parameter is
-- set to UNMANAGED.
[$sel:unmanagedvCpus:CreateComputeEnvironment'] :: CreateComputeEnvironment -> Maybe Int
-- | The name for your compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
[$sel:computeEnvironmentName:CreateComputeEnvironment'] :: CreateComputeEnvironment -> Text
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- Environments in the Batch User Guide.
[$sel:type':CreateComputeEnvironment'] :: CreateComputeEnvironment -> CEType
-- | Create a value of CreateComputeEnvironment with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_computeResources - Details about the
-- compute resources managed by the compute environment. This parameter
-- is required for managed compute environments. For more information,
-- see Compute Environments in the Batch User Guide.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_eksConfiguration - The details for the
-- Amazon EKS cluster that supports the compute environment.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_serviceRole - The full Amazon Resource
-- Name (ARN) of the IAM role that allows Batch to make calls to other
-- Amazon Web Services services on your behalf. For more information, see
-- Batch service IAM role in the Batch User Guide.
--
-- If your account already created the Batch service-linked role, that
-- role is used by default for your compute environment unless you
-- specify a different role here. If the Batch service-linked role
-- doesn't exist in your account, and no role is specified here, the
-- service attempts to create the Batch service-linked role in your
-- account.
--
-- If your specified role has a path other than /, then you must
-- specify either the full role ARN (recommended) or prefix the role name
-- with the path. For example, if a role with the name bar has a
-- path of /foo/, specify /foo/bar as the role name.
-- For more information, see Friendly names and paths in the
-- IAM User Guide.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
--
-- CreateComputeEnvironment, createComputeEnvironment_state
-- - The state of the compute environment. If the state is
-- ENABLED, then the compute environment accepts jobs from a
-- queue and can scale out automatically based on queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
--
-- CreateComputeEnvironment, createComputeEnvironment_tags
-- - The tags that you apply to the compute environment to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations. These tags don't propagate to the
-- underlying compute resources.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_unmanagedvCpus - The maximum number of
-- vCPUs for an unmanaged compute environment. This parameter is only
-- used for fair share scheduling to reserve vCPU capacity for new share
-- identifiers. If this parameter isn't provided for a fair share job
-- queue, no vCPU capacity is reserved.
--
-- This parameter is only supported when the type parameter is
-- set to UNMANAGED.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_computeEnvironmentName - The name for
-- your compute environment. It can be up to 128 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
--
-- CreateComputeEnvironment, createComputeEnvironment_type
-- - The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- Environments in the Batch User Guide.
newCreateComputeEnvironment :: Text -> CEType -> CreateComputeEnvironment
-- | Details about the compute resources managed by the compute
-- environment. This parameter is required for managed compute
-- environments. For more information, see Compute Environments in
-- the Batch User Guide.
createComputeEnvironment_computeResources :: Lens' CreateComputeEnvironment (Maybe ComputeResource)
-- | The details for the Amazon EKS cluster that supports the compute
-- environment.
createComputeEnvironment_eksConfiguration :: Lens' CreateComputeEnvironment (Maybe EksConfiguration)
-- | The full Amazon Resource Name (ARN) of the IAM role that allows Batch
-- to make calls to other Amazon Web Services services on your behalf.
-- For more information, see Batch service IAM role in the
-- Batch User Guide.
--
-- If your account already created the Batch service-linked role, that
-- role is used by default for your compute environment unless you
-- specify a different role here. If the Batch service-linked role
-- doesn't exist in your account, and no role is specified here, the
-- service attempts to create the Batch service-linked role in your
-- account.
--
-- If your specified role has a path other than /, then you must
-- specify either the full role ARN (recommended) or prefix the role name
-- with the path. For example, if a role with the name bar has a
-- path of /foo/, specify /foo/bar as the role name.
-- For more information, see Friendly names and paths in the
-- IAM User Guide.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
createComputeEnvironment_serviceRole :: Lens' CreateComputeEnvironment (Maybe Text)
-- | The state of the compute environment. If the state is
-- ENABLED, then the compute environment accepts jobs from a
-- queue and can scale out automatically based on queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
createComputeEnvironment_state :: Lens' CreateComputeEnvironment (Maybe CEState)
-- | The tags that you apply to the compute environment to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations. These tags don't propagate to the
-- underlying compute resources.
createComputeEnvironment_tags :: Lens' CreateComputeEnvironment (Maybe (HashMap Text Text))
-- | The maximum number of vCPUs for an unmanaged compute environment. This
-- parameter is only used for fair share scheduling to reserve vCPU
-- capacity for new share identifiers. If this parameter isn't provided
-- for a fair share job queue, no vCPU capacity is reserved.
--
-- This parameter is only supported when the type parameter is
-- set to UNMANAGED.
createComputeEnvironment_unmanagedvCpus :: Lens' CreateComputeEnvironment (Maybe Int)
-- | The name for your compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
createComputeEnvironment_computeEnvironmentName :: Lens' CreateComputeEnvironment Text
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- Environments in the Batch User Guide.
createComputeEnvironment_type :: Lens' CreateComputeEnvironment CEType
-- | See: newCreateComputeEnvironmentResponse smart
-- constructor.
data CreateComputeEnvironmentResponse
CreateComputeEnvironmentResponse' :: Maybe Text -> Maybe Text -> Int -> CreateComputeEnvironmentResponse
-- | The Amazon Resource Name (ARN) of the compute environment.
[$sel:computeEnvironmentArn:CreateComputeEnvironmentResponse'] :: CreateComputeEnvironmentResponse -> Maybe Text
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
[$sel:computeEnvironmentName:CreateComputeEnvironmentResponse'] :: CreateComputeEnvironmentResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:CreateComputeEnvironmentResponse'] :: CreateComputeEnvironmentResponse -> Int
-- | Create a value of CreateComputeEnvironmentResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateComputeEnvironmentResponse,
-- createComputeEnvironmentResponse_computeEnvironmentArn - The
-- Amazon Resource Name (ARN) of the compute environment.
--
-- CreateComputeEnvironment,
-- createComputeEnvironmentResponse_computeEnvironmentName - The
-- name of the compute environment. It can be up to 128 characters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
--
-- $sel:httpStatus:CreateComputeEnvironmentResponse',
-- createComputeEnvironmentResponse_httpStatus - The response's
-- http status code.
newCreateComputeEnvironmentResponse :: Int -> CreateComputeEnvironmentResponse
-- | The Amazon Resource Name (ARN) of the compute environment.
createComputeEnvironmentResponse_computeEnvironmentArn :: Lens' CreateComputeEnvironmentResponse (Maybe Text)
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
createComputeEnvironmentResponse_computeEnvironmentName :: Lens' CreateComputeEnvironmentResponse (Maybe Text)
-- | The response's http status code.
createComputeEnvironmentResponse_httpStatus :: Lens' CreateComputeEnvironmentResponse Int
instance GHC.Generics.Generic Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance GHC.Show.Show Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance GHC.Read.Read Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance GHC.Classes.Eq Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance GHC.Generics.Generic Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironmentResponse
instance GHC.Show.Show Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironmentResponse
instance GHC.Read.Read Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironmentResponse
instance GHC.Classes.Eq Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironmentResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance Control.DeepSeq.NFData Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironmentResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance Control.DeepSeq.NFData Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance Amazonka.Data.Path.ToPath Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.CreateComputeEnvironment.CreateComputeEnvironment
-- | Cancels a job in an Batch job queue. Jobs that are in the
-- SUBMITTED, PENDING, or RUNNABLE state are
-- canceled. Jobs that progressed to the STARTING or
-- RUNNING state aren't canceled. However, the API operation
-- still succeeds, even if no job is canceled. These jobs must be
-- terminated with the TerminateJob operation.
module Amazonka.Batch.CancelJob
-- | Contains the parameters for CancelJob.
--
-- See: newCancelJob smart constructor.
data CancelJob
CancelJob' :: Text -> Text -> CancelJob
-- | The Batch job ID of the job to cancel.
[$sel:jobId:CancelJob'] :: CancelJob -> Text
-- | A message to attach to the job that explains the reason for canceling
-- it. This message is returned by future DescribeJobs operations on the
-- job. This message is also recorded in the Batch activity logs.
[$sel:reason:CancelJob'] :: CancelJob -> Text
-- | Create a value of CancelJob with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CancelJob, cancelJob_jobId - The Batch job ID of the job
-- to cancel.
--
-- CancelJob, cancelJob_reason - A message to attach to the
-- job that explains the reason for canceling it. This message is
-- returned by future DescribeJobs operations on the job. This message is
-- also recorded in the Batch activity logs.
newCancelJob :: Text -> Text -> CancelJob
-- | The Batch job ID of the job to cancel.
cancelJob_jobId :: Lens' CancelJob Text
-- | A message to attach to the job that explains the reason for canceling
-- it. This message is returned by future DescribeJobs operations on the
-- job. This message is also recorded in the Batch activity logs.
cancelJob_reason :: Lens' CancelJob Text
-- | See: newCancelJobResponse smart constructor.
data CancelJobResponse
CancelJobResponse' :: Int -> CancelJobResponse
-- | The response's http status code.
[$sel:httpStatus:CancelJobResponse'] :: CancelJobResponse -> Int
-- | Create a value of CancelJobResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:CancelJobResponse',
-- cancelJobResponse_httpStatus - The response's http status code.
newCancelJobResponse :: Int -> CancelJobResponse
-- | The response's http status code.
cancelJobResponse_httpStatus :: Lens' CancelJobResponse Int
instance GHC.Generics.Generic Amazonka.Batch.CancelJob.CancelJob
instance GHC.Show.Show Amazonka.Batch.CancelJob.CancelJob
instance GHC.Read.Read Amazonka.Batch.CancelJob.CancelJob
instance GHC.Classes.Eq Amazonka.Batch.CancelJob.CancelJob
instance GHC.Generics.Generic Amazonka.Batch.CancelJob.CancelJobResponse
instance GHC.Show.Show Amazonka.Batch.CancelJob.CancelJobResponse
instance GHC.Read.Read Amazonka.Batch.CancelJob.CancelJobResponse
instance GHC.Classes.Eq Amazonka.Batch.CancelJob.CancelJobResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.CancelJob.CancelJob
instance Control.DeepSeq.NFData Amazonka.Batch.CancelJob.CancelJobResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.CancelJob.CancelJob
instance Control.DeepSeq.NFData Amazonka.Batch.CancelJob.CancelJob
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.CancelJob.CancelJob
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.CancelJob.CancelJob
instance Amazonka.Data.Path.ToPath Amazonka.Batch.CancelJob.CancelJob
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.CancelJob.CancelJob
-- | Deletes specified tags from an Batch resource.
module Amazonka.Batch.UntagResource
-- | Contains the parameters for UntagResource.
--
-- See: newUntagResource smart constructor.
data UntagResource
UntagResource' :: Text -> NonEmpty Text -> UntagResource
-- | The Amazon Resource Name (ARN) of the resource from which to delete
-- tags. Batch resources that support tags are compute environments,
-- jobs, job definitions, job queues, and scheduling policies. ARNs for
-- child jobs of array and multi-node parallel (MNP) jobs aren't
-- supported.
[$sel:resourceArn:UntagResource'] :: UntagResource -> Text
-- | The keys of the tags to be removed.
[$sel:tagKeys:UntagResource'] :: UntagResource -> NonEmpty Text
-- | Create a value of UntagResource with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:resourceArn:UntagResource',
-- untagResource_resourceArn - The Amazon Resource Name (ARN) of
-- the resource from which to delete tags. Batch resources that support
-- tags are compute environments, jobs, job definitions, job queues, and
-- scheduling policies. ARNs for child jobs of array and multi-node
-- parallel (MNP) jobs aren't supported.
--
-- $sel:tagKeys:UntagResource', untagResource_tagKeys - The
-- keys of the tags to be removed.
newUntagResource :: Text -> NonEmpty Text -> UntagResource
-- | The Amazon Resource Name (ARN) of the resource from which to delete
-- tags. Batch resources that support tags are compute environments,
-- jobs, job definitions, job queues, and scheduling policies. ARNs for
-- child jobs of array and multi-node parallel (MNP) jobs aren't
-- supported.
untagResource_resourceArn :: Lens' UntagResource Text
-- | The keys of the tags to be removed.
untagResource_tagKeys :: Lens' UntagResource (NonEmpty Text)
-- | See: newUntagResourceResponse smart constructor.
data UntagResourceResponse
UntagResourceResponse' :: Int -> UntagResourceResponse
-- | The response's http status code.
[$sel:httpStatus:UntagResourceResponse'] :: UntagResourceResponse -> Int
-- | Create a value of UntagResourceResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:UntagResourceResponse',
-- untagResourceResponse_httpStatus - The response's http status
-- code.
newUntagResourceResponse :: Int -> UntagResourceResponse
-- | The response's http status code.
untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int
instance GHC.Generics.Generic Amazonka.Batch.UntagResource.UntagResource
instance GHC.Show.Show Amazonka.Batch.UntagResource.UntagResource
instance GHC.Read.Read Amazonka.Batch.UntagResource.UntagResource
instance GHC.Classes.Eq Amazonka.Batch.UntagResource.UntagResource
instance GHC.Generics.Generic Amazonka.Batch.UntagResource.UntagResourceResponse
instance GHC.Show.Show Amazonka.Batch.UntagResource.UntagResourceResponse
instance GHC.Read.Read Amazonka.Batch.UntagResource.UntagResourceResponse
instance GHC.Classes.Eq Amazonka.Batch.UntagResource.UntagResourceResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.UntagResource.UntagResource
instance Control.DeepSeq.NFData Amazonka.Batch.UntagResource.UntagResourceResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.UntagResource.UntagResource
instance Control.DeepSeq.NFData Amazonka.Batch.UntagResource.UntagResource
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.UntagResource.UntagResource
instance Amazonka.Data.Path.ToPath Amazonka.Batch.UntagResource.UntagResource
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.UntagResource.UntagResource
-- | Updates an Batch compute environment.
module Amazonka.Batch.UpdateComputeEnvironment
-- | Contains the parameters for UpdateComputeEnvironment.
--
-- See: newUpdateComputeEnvironment smart constructor.
data UpdateComputeEnvironment
UpdateComputeEnvironment' :: Maybe ComputeResourceUpdate -> Maybe Text -> Maybe CEState -> Maybe Int -> Maybe UpdatePolicy -> Text -> UpdateComputeEnvironment
-- | Details of the compute resources managed by the compute environment.
-- Required for a managed compute environment. For more information, see
-- Compute Environments in the Batch User Guide.
[$sel:computeResources:UpdateComputeEnvironment'] :: UpdateComputeEnvironment -> Maybe ComputeResourceUpdate
-- | The full Amazon Resource Name (ARN) of the IAM role that allows Batch
-- to make calls to other Amazon Web Services services on your behalf.
-- For more information, see Batch service IAM role in the
-- Batch User Guide.
--
-- If the compute environment has a service-linked role, it can't be
-- changed to use a regular IAM role. Likewise, if the compute
-- environment has a regular IAM role, it can't be changed to use a
-- service-linked role. To update the parameters for the compute
-- environment that require an infrastructure update to change, the
-- AWSServiceRoleForBatch service-linked role must be used. For
-- more information, see Updating compute environments in the
-- Batch User Guide.
--
-- If your specified role has a path other than /, then you must
-- either specify the full role ARN (recommended) or prefix the role name
-- with the path.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
[$sel:serviceRole:UpdateComputeEnvironment'] :: UpdateComputeEnvironment -> Maybe Text
-- | The state of the compute environment. Compute environments in the
-- ENABLED state can accept jobs from a queue and scale in or
-- out automatically based on the workload demand of its associated
-- queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
[$sel:state:UpdateComputeEnvironment'] :: UpdateComputeEnvironment -> Maybe CEState
-- | The maximum number of vCPUs expected to be used for an unmanaged
-- compute environment. Don't specify this parameter for a managed
-- compute environment. This parameter is only used for fair share
-- scheduling to reserve vCPU capacity for new share identifiers. If this
-- parameter isn't provided for a fair share job queue, no vCPU capacity
-- is reserved.
[$sel:unmanagedvCpus:UpdateComputeEnvironment'] :: UpdateComputeEnvironment -> Maybe Int
-- | Specifies the updated infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
[$sel:updatePolicy:UpdateComputeEnvironment'] :: UpdateComputeEnvironment -> Maybe UpdatePolicy
-- | The name or full Amazon Resource Name (ARN) of the compute environment
-- to update.
[$sel:computeEnvironment:UpdateComputeEnvironment'] :: UpdateComputeEnvironment -> Text
-- | Create a value of UpdateComputeEnvironment with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_computeResources - Details of the
-- compute resources managed by the compute environment. Required for a
-- managed compute environment. For more information, see Compute
-- Environments in the Batch User Guide.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_serviceRole - The full Amazon Resource
-- Name (ARN) of the IAM role that allows Batch to make calls to other
-- Amazon Web Services services on your behalf. For more information, see
-- Batch service IAM role in the Batch User Guide.
--
-- If the compute environment has a service-linked role, it can't be
-- changed to use a regular IAM role. Likewise, if the compute
-- environment has a regular IAM role, it can't be changed to use a
-- service-linked role. To update the parameters for the compute
-- environment that require an infrastructure update to change, the
-- AWSServiceRoleForBatch service-linked role must be used. For
-- more information, see Updating compute environments in the
-- Batch User Guide.
--
-- If your specified role has a path other than /, then you must
-- either specify the full role ARN (recommended) or prefix the role name
-- with the path.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
--
-- UpdateComputeEnvironment, updateComputeEnvironment_state
-- - The state of the compute environment. Compute environments in the
-- ENABLED state can accept jobs from a queue and scale in or
-- out automatically based on the workload demand of its associated
-- queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_unmanagedvCpus - The maximum number of
-- vCPUs expected to be used for an unmanaged compute environment. Don't
-- specify this parameter for a managed compute environment. This
-- parameter is only used for fair share scheduling to reserve vCPU
-- capacity for new share identifiers. If this parameter isn't provided
-- for a fair share job queue, no vCPU capacity is reserved.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_updatePolicy - Specifies the updated
-- infrastructure update policy for the compute environment. For more
-- information about infrastructure updates, see Updating compute
-- environments in the Batch User Guide.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_computeEnvironment - The name or full
-- Amazon Resource Name (ARN) of the compute environment to update.
newUpdateComputeEnvironment :: Text -> UpdateComputeEnvironment
-- | Details of the compute resources managed by the compute environment.
-- Required for a managed compute environment. For more information, see
-- Compute Environments in the Batch User Guide.
updateComputeEnvironment_computeResources :: Lens' UpdateComputeEnvironment (Maybe ComputeResourceUpdate)
-- | The full Amazon Resource Name (ARN) of the IAM role that allows Batch
-- to make calls to other Amazon Web Services services on your behalf.
-- For more information, see Batch service IAM role in the
-- Batch User Guide.
--
-- If the compute environment has a service-linked role, it can't be
-- changed to use a regular IAM role. Likewise, if the compute
-- environment has a regular IAM role, it can't be changed to use a
-- service-linked role. To update the parameters for the compute
-- environment that require an infrastructure update to change, the
-- AWSServiceRoleForBatch service-linked role must be used. For
-- more information, see Updating compute environments in the
-- Batch User Guide.
--
-- If your specified role has a path other than /, then you must
-- either specify the full role ARN (recommended) or prefix the role name
-- with the path.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
updateComputeEnvironment_serviceRole :: Lens' UpdateComputeEnvironment (Maybe Text)
-- | The state of the compute environment. Compute environments in the
-- ENABLED state can accept jobs from a queue and scale in or
-- out automatically based on the workload demand of its associated
-- queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
updateComputeEnvironment_state :: Lens' UpdateComputeEnvironment (Maybe CEState)
-- | The maximum number of vCPUs expected to be used for an unmanaged
-- compute environment. Don't specify this parameter for a managed
-- compute environment. This parameter is only used for fair share
-- scheduling to reserve vCPU capacity for new share identifiers. If this
-- parameter isn't provided for a fair share job queue, no vCPU capacity
-- is reserved.
updateComputeEnvironment_unmanagedvCpus :: Lens' UpdateComputeEnvironment (Maybe Int)
-- | Specifies the updated infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
updateComputeEnvironment_updatePolicy :: Lens' UpdateComputeEnvironment (Maybe UpdatePolicy)
-- | The name or full Amazon Resource Name (ARN) of the compute environment
-- to update.
updateComputeEnvironment_computeEnvironment :: Lens' UpdateComputeEnvironment Text
-- | See: newUpdateComputeEnvironmentResponse smart
-- constructor.
data UpdateComputeEnvironmentResponse
UpdateComputeEnvironmentResponse' :: Maybe Text -> Maybe Text -> Int -> UpdateComputeEnvironmentResponse
-- | The Amazon Resource Name (ARN) of the compute environment.
[$sel:computeEnvironmentArn:UpdateComputeEnvironmentResponse'] :: UpdateComputeEnvironmentResponse -> Maybe Text
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
[$sel:computeEnvironmentName:UpdateComputeEnvironmentResponse'] :: UpdateComputeEnvironmentResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:UpdateComputeEnvironmentResponse'] :: UpdateComputeEnvironmentResponse -> Int
-- | Create a value of UpdateComputeEnvironmentResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateComputeEnvironmentResponse,
-- updateComputeEnvironmentResponse_computeEnvironmentArn - The
-- Amazon Resource Name (ARN) of the compute environment.
--
-- UpdateComputeEnvironmentResponse,
-- updateComputeEnvironmentResponse_computeEnvironmentName - The
-- name of the compute environment. It can be up to 128 characters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
--
-- $sel:httpStatus:UpdateComputeEnvironmentResponse',
-- updateComputeEnvironmentResponse_httpStatus - The response's
-- http status code.
newUpdateComputeEnvironmentResponse :: Int -> UpdateComputeEnvironmentResponse
-- | The Amazon Resource Name (ARN) of the compute environment.
updateComputeEnvironmentResponse_computeEnvironmentArn :: Lens' UpdateComputeEnvironmentResponse (Maybe Text)
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
updateComputeEnvironmentResponse_computeEnvironmentName :: Lens' UpdateComputeEnvironmentResponse (Maybe Text)
-- | The response's http status code.
updateComputeEnvironmentResponse_httpStatus :: Lens' UpdateComputeEnvironmentResponse Int
instance GHC.Generics.Generic Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance GHC.Show.Show Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance GHC.Read.Read Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance GHC.Classes.Eq Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance GHC.Generics.Generic Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironmentResponse
instance GHC.Show.Show Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironmentResponse
instance GHC.Read.Read Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironmentResponse
instance GHC.Classes.Eq Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironmentResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance Control.DeepSeq.NFData Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironmentResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance Control.DeepSeq.NFData Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance Amazonka.Data.Path.ToPath Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.UpdateComputeEnvironment.UpdateComputeEnvironment
-- | Updates a job queue.
module Amazonka.Batch.UpdateJobQueue
-- | Contains the parameters for UpdateJobQueue.
--
-- See: newUpdateJobQueue smart constructor.
data UpdateJobQueue
UpdateJobQueue' :: Maybe [ComputeEnvironmentOrder] -> Maybe Int -> Maybe Text -> Maybe JQState -> Text -> UpdateJobQueue
-- | Details the set of compute environments mapped to a job queue and
-- their order relative to each other. This is one of the parameters used
-- by the job scheduler to determine which compute environment runs a
-- given job. Compute environments must be in the VALID state
-- before you can associate them with a job queue. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate
-- compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
[$sel:computeEnvironmentOrder:UpdateJobQueue'] :: UpdateJobQueue -> Maybe [ComputeEnvironmentOrder]
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
[$sel:priority:UpdateJobQueue'] :: UpdateJobQueue -> Maybe Int
-- | Amazon Resource Name (ARN) of the fair share scheduling policy. Once a
-- job queue is created, the fair share scheduling policy can be replaced
-- but not removed. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
[$sel:schedulingPolicyArn:UpdateJobQueue'] :: UpdateJobQueue -> Maybe Text
-- | Describes the queue's ability to accept new jobs. If the job queue
-- state is ENABLED, it can accept jobs. If the job queue state
-- is DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
[$sel:state:UpdateJobQueue'] :: UpdateJobQueue -> Maybe JQState
-- | The name or the Amazon Resource Name (ARN) of the job queue.
[$sel:jobQueue:UpdateJobQueue'] :: UpdateJobQueue -> Text
-- | Create a value of UpdateJobQueue with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateJobQueue, updateJobQueue_computeEnvironmentOrder -
-- Details the set of compute environments mapped to a job queue and
-- their order relative to each other. This is one of the parameters used
-- by the job scheduler to determine which compute environment runs a
-- given job. Compute environments must be in the VALID state
-- before you can associate them with a job queue. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate
-- compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
--
-- UpdateJobQueue, updateJobQueue_priority - The priority
-- of the job queue. Job queues with a higher priority (or a higher
-- integer value for the priority parameter) are evaluated first
-- when associated with the same compute environment. Priority is
-- determined in descending order. For example, a job queue with a
-- priority value of 10 is given scheduling preference over a
-- job queue with a priority value of 1. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate
-- compute environments can't be mixed.
--
-- UpdateJobQueue, updateJobQueue_schedulingPolicyArn -
-- Amazon Resource Name (ARN) of the fair share scheduling policy. Once a
-- job queue is created, the fair share scheduling policy can be replaced
-- but not removed. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
--
-- UpdateJobQueue, updateJobQueue_state - Describes the
-- queue's ability to accept new jobs. If the job queue state is
-- ENABLED, it can accept jobs. If the job queue state is
-- DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
--
-- UpdateJobQueue, updateJobQueue_jobQueue - The name or
-- the Amazon Resource Name (ARN) of the job queue.
newUpdateJobQueue :: Text -> UpdateJobQueue
-- | Details the set of compute environments mapped to a job queue and
-- their order relative to each other. This is one of the parameters used
-- by the job scheduler to determine which compute environment runs a
-- given job. Compute environments must be in the VALID state
-- before you can associate them with a job queue. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate
-- compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
updateJobQueue_computeEnvironmentOrder :: Lens' UpdateJobQueue (Maybe [ComputeEnvironmentOrder])
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
updateJobQueue_priority :: Lens' UpdateJobQueue (Maybe Int)
-- | Amazon Resource Name (ARN) of the fair share scheduling policy. Once a
-- job queue is created, the fair share scheduling policy can be replaced
-- but not removed. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
updateJobQueue_schedulingPolicyArn :: Lens' UpdateJobQueue (Maybe Text)
-- | Describes the queue's ability to accept new jobs. If the job queue
-- state is ENABLED, it can accept jobs. If the job queue state
-- is DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
updateJobQueue_state :: Lens' UpdateJobQueue (Maybe JQState)
-- | The name or the Amazon Resource Name (ARN) of the job queue.
updateJobQueue_jobQueue :: Lens' UpdateJobQueue Text
-- | See: newUpdateJobQueueResponse smart constructor.
data UpdateJobQueueResponse
UpdateJobQueueResponse' :: Maybe Text -> Maybe Text -> Int -> UpdateJobQueueResponse
-- | The Amazon Resource Name (ARN) of the job queue.
[$sel:jobQueueArn:UpdateJobQueueResponse'] :: UpdateJobQueueResponse -> Maybe Text
-- | The name of the job queue.
[$sel:jobQueueName:UpdateJobQueueResponse'] :: UpdateJobQueueResponse -> Maybe Text
-- | The response's http status code.
[$sel:httpStatus:UpdateJobQueueResponse'] :: UpdateJobQueueResponse -> Int
-- | Create a value of UpdateJobQueueResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateJobQueueResponse,
-- updateJobQueueResponse_jobQueueArn - The Amazon Resource Name
-- (ARN) of the job queue.
--
-- UpdateJobQueueResponse,
-- updateJobQueueResponse_jobQueueName - The name of the job
-- queue.
--
-- $sel:httpStatus:UpdateJobQueueResponse',
-- updateJobQueueResponse_httpStatus - The response's http status
-- code.
newUpdateJobQueueResponse :: Int -> UpdateJobQueueResponse
-- | The Amazon Resource Name (ARN) of the job queue.
updateJobQueueResponse_jobQueueArn :: Lens' UpdateJobQueueResponse (Maybe Text)
-- | The name of the job queue.
updateJobQueueResponse_jobQueueName :: Lens' UpdateJobQueueResponse (Maybe Text)
-- | The response's http status code.
updateJobQueueResponse_httpStatus :: Lens' UpdateJobQueueResponse Int
instance GHC.Generics.Generic Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance GHC.Show.Show Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance GHC.Read.Read Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance GHC.Classes.Eq Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance GHC.Generics.Generic Amazonka.Batch.UpdateJobQueue.UpdateJobQueueResponse
instance GHC.Show.Show Amazonka.Batch.UpdateJobQueue.UpdateJobQueueResponse
instance GHC.Read.Read Amazonka.Batch.UpdateJobQueue.UpdateJobQueueResponse
instance GHC.Classes.Eq Amazonka.Batch.UpdateJobQueue.UpdateJobQueueResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance Control.DeepSeq.NFData Amazonka.Batch.UpdateJobQueue.UpdateJobQueueResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance Control.DeepSeq.NFData Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance Amazonka.Data.Path.ToPath Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.UpdateJobQueue.UpdateJobQueue
-- | Updates a scheduling policy.
module Amazonka.Batch.UpdateSchedulingPolicy
-- | Contains the parameters for UpdateSchedulingPolicy.
--
-- See: newUpdateSchedulingPolicy smart constructor.
data UpdateSchedulingPolicy
UpdateSchedulingPolicy' :: Maybe FairsharePolicy -> Text -> UpdateSchedulingPolicy
-- | The fair share policy.
[$sel:fairsharePolicy:UpdateSchedulingPolicy'] :: UpdateSchedulingPolicy -> Maybe FairsharePolicy
-- | The Amazon Resource Name (ARN) of the scheduling policy to update.
[$sel:arn:UpdateSchedulingPolicy'] :: UpdateSchedulingPolicy -> Text
-- | Create a value of UpdateSchedulingPolicy with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateSchedulingPolicy,
-- updateSchedulingPolicy_fairsharePolicy - The fair share policy.
--
-- UpdateSchedulingPolicy, updateSchedulingPolicy_arn - The
-- Amazon Resource Name (ARN) of the scheduling policy to update.
newUpdateSchedulingPolicy :: Text -> UpdateSchedulingPolicy
-- | The fair share policy.
updateSchedulingPolicy_fairsharePolicy :: Lens' UpdateSchedulingPolicy (Maybe FairsharePolicy)
-- | The Amazon Resource Name (ARN) of the scheduling policy to update.
updateSchedulingPolicy_arn :: Lens' UpdateSchedulingPolicy Text
-- | See: newUpdateSchedulingPolicyResponse smart
-- constructor.
data UpdateSchedulingPolicyResponse
UpdateSchedulingPolicyResponse' :: Int -> UpdateSchedulingPolicyResponse
-- | The response's http status code.
[$sel:httpStatus:UpdateSchedulingPolicyResponse'] :: UpdateSchedulingPolicyResponse -> Int
-- | Create a value of UpdateSchedulingPolicyResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:UpdateSchedulingPolicyResponse',
-- updateSchedulingPolicyResponse_httpStatus - The response's http
-- status code.
newUpdateSchedulingPolicyResponse :: Int -> UpdateSchedulingPolicyResponse
-- | The response's http status code.
updateSchedulingPolicyResponse_httpStatus :: Lens' UpdateSchedulingPolicyResponse Int
instance GHC.Generics.Generic Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance GHC.Show.Show Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance GHC.Read.Read Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance GHC.Classes.Eq Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance GHC.Generics.Generic Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicyResponse
instance GHC.Show.Show Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicyResponse
instance GHC.Read.Read Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicyResponse
instance GHC.Classes.Eq Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicyResponse
instance Amazonka.Types.AWSRequest Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance Control.DeepSeq.NFData Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicyResponse
instance Data.Hashable.Class.Hashable Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance Control.DeepSeq.NFData Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance Amazonka.Data.Headers.ToHeaders Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance Amazonka.Data.Path.ToPath Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
instance Amazonka.Data.Query.ToQuery Amazonka.Batch.UpdateSchedulingPolicy.UpdateSchedulingPolicy
module Amazonka.Batch.Lens
-- | The Batch job ID of the job to cancel.
cancelJob_jobId :: Lens' CancelJob Text
-- | A message to attach to the job that explains the reason for canceling
-- it. This message is returned by future DescribeJobs operations on the
-- job. This message is also recorded in the Batch activity logs.
cancelJob_reason :: Lens' CancelJob Text
-- | The response's http status code.
cancelJobResponse_httpStatus :: Lens' CancelJobResponse Int
-- | Details about the compute resources managed by the compute
-- environment. This parameter is required for managed compute
-- environments. For more information, see Compute Environments in
-- the Batch User Guide.
createComputeEnvironment_computeResources :: Lens' CreateComputeEnvironment (Maybe ComputeResource)
-- | The details for the Amazon EKS cluster that supports the compute
-- environment.
createComputeEnvironment_eksConfiguration :: Lens' CreateComputeEnvironment (Maybe EksConfiguration)
-- | The full Amazon Resource Name (ARN) of the IAM role that allows Batch
-- to make calls to other Amazon Web Services services on your behalf.
-- For more information, see Batch service IAM role in the
-- Batch User Guide.
--
-- If your account already created the Batch service-linked role, that
-- role is used by default for your compute environment unless you
-- specify a different role here. If the Batch service-linked role
-- doesn't exist in your account, and no role is specified here, the
-- service attempts to create the Batch service-linked role in your
-- account.
--
-- If your specified role has a path other than /, then you must
-- specify either the full role ARN (recommended) or prefix the role name
-- with the path. For example, if a role with the name bar has a
-- path of /foo/, specify /foo/bar as the role name.
-- For more information, see Friendly names and paths in the
-- IAM User Guide.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
createComputeEnvironment_serviceRole :: Lens' CreateComputeEnvironment (Maybe Text)
-- | The state of the compute environment. If the state is
-- ENABLED, then the compute environment accepts jobs from a
-- queue and can scale out automatically based on queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
createComputeEnvironment_state :: Lens' CreateComputeEnvironment (Maybe CEState)
-- | The tags that you apply to the compute environment to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations. These tags don't propagate to the
-- underlying compute resources.
createComputeEnvironment_tags :: Lens' CreateComputeEnvironment (Maybe (HashMap Text Text))
-- | The maximum number of vCPUs for an unmanaged compute environment. This
-- parameter is only used for fair share scheduling to reserve vCPU
-- capacity for new share identifiers. If this parameter isn't provided
-- for a fair share job queue, no vCPU capacity is reserved.
--
-- This parameter is only supported when the type parameter is
-- set to UNMANAGED.
createComputeEnvironment_unmanagedvCpus :: Lens' CreateComputeEnvironment (Maybe Int)
-- | The name for your compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
createComputeEnvironment_computeEnvironmentName :: Lens' CreateComputeEnvironment Text
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- Environments in the Batch User Guide.
createComputeEnvironment_type :: Lens' CreateComputeEnvironment CEType
-- | The Amazon Resource Name (ARN) of the compute environment.
createComputeEnvironmentResponse_computeEnvironmentArn :: Lens' CreateComputeEnvironmentResponse (Maybe Text)
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
createComputeEnvironmentResponse_computeEnvironmentName :: Lens' CreateComputeEnvironmentResponse (Maybe Text)
-- | The response's http status code.
createComputeEnvironmentResponse_httpStatus :: Lens' CreateComputeEnvironmentResponse Int
-- | The Amazon Resource Name (ARN) of the fair share scheduling policy. If
-- this parameter is specified, the job queue uses a fair share
-- scheduling policy. If this parameter isn't specified, the job queue
-- uses a first in, first out (FIFO) scheduling policy. After a job queue
-- is created, you can replace but can't remove the fair share scheduling
-- policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . An example is
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
createJobQueue_schedulingPolicyArn :: Lens' CreateJobQueue (Maybe Text)
-- | The state of the job queue. If the job queue state is
-- ENABLED, it is able to accept jobs. If the job queue state is
-- DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
createJobQueue_state :: Lens' CreateJobQueue (Maybe JQState)
-- | The tags that you apply to the job queue to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging your Batch resources
-- in Batch User Guide.
createJobQueue_tags :: Lens' CreateJobQueue (Maybe (HashMap Text Text))
-- | The name of the job queue. It can be up to 128 letters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
createJobQueue_jobQueueName :: Lens' CreateJobQueue Text
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT);
-- EC2 and Fargate compute environments can't be mixed.
createJobQueue_priority :: Lens' CreateJobQueue Int
-- | The set of compute environments mapped to a job queue and their order
-- relative to each other. The job scheduler uses this parameter to
-- determine which compute environment runs a specific job. Compute
-- environments must be in the VALID state before you can
-- associate them with a job queue. You can associate up to three compute
-- environments with a job queue. All of the compute environments must be
-- either EC2 (EC2 or SPOT) or Fargate
-- (FARGATE or FARGATE_SPOT); EC2 and Fargate compute
-- environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
createJobQueue_computeEnvironmentOrder :: Lens' CreateJobQueue [ComputeEnvironmentOrder]
-- | The response's http status code.
createJobQueueResponse_httpStatus :: Lens' CreateJobQueueResponse Int
-- | The name of the job queue.
createJobQueueResponse_jobQueueName :: Lens' CreateJobQueueResponse Text
-- | The Amazon Resource Name (ARN) of the job queue.
createJobQueueResponse_jobQueueArn :: Lens' CreateJobQueueResponse Text
-- | The fair share policy of the scheduling policy.
createSchedulingPolicy_fairsharePolicy :: Lens' CreateSchedulingPolicy (Maybe FairsharePolicy)
-- | The tags that you apply to the scheduling policy to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations.
createSchedulingPolicy_tags :: Lens' CreateSchedulingPolicy (Maybe (HashMap Text Text))
-- | The name of the scheduling policy. It can be up to 128 letters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
createSchedulingPolicy_name :: Lens' CreateSchedulingPolicy Text
-- | The response's http status code.
createSchedulingPolicyResponse_httpStatus :: Lens' CreateSchedulingPolicyResponse Int
-- | The name of the scheduling policy.
createSchedulingPolicyResponse_name :: Lens' CreateSchedulingPolicyResponse Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
createSchedulingPolicyResponse_arn :: Lens' CreateSchedulingPolicyResponse Text
-- | The name or Amazon Resource Name (ARN) of the compute environment to
-- delete.
deleteComputeEnvironment_computeEnvironment :: Lens' DeleteComputeEnvironment Text
-- | The response's http status code.
deleteComputeEnvironmentResponse_httpStatus :: Lens' DeleteComputeEnvironmentResponse Int
-- | The short name or full Amazon Resource Name (ARN) of the queue to
-- delete.
deleteJobQueue_jobQueue :: Lens' DeleteJobQueue Text
-- | The response's http status code.
deleteJobQueueResponse_httpStatus :: Lens' DeleteJobQueueResponse Int
-- | The Amazon Resource Name (ARN) of the scheduling policy to delete.
deleteSchedulingPolicy_arn :: Lens' DeleteSchedulingPolicy Text
-- | The response's http status code.
deleteSchedulingPolicyResponse_httpStatus :: Lens' DeleteSchedulingPolicyResponse Int
-- | The name and revision (name:revision) or full Amazon Resource
-- Name (ARN) of the job definition to deregister.
deregisterJobDefinition_jobDefinition :: Lens' DeregisterJobDefinition Text
-- | The response's http status code.
deregisterJobDefinitionResponse_httpStatus :: Lens' DeregisterJobDefinitionResponse Int
-- | A list of up to 100 compute environment names or full Amazon Resource
-- Name (ARN) entries.
describeComputeEnvironments_computeEnvironments :: Lens' DescribeComputeEnvironments (Maybe [Text])
-- | The maximum number of cluster results returned by
-- DescribeComputeEnvironments in paginated output. When this
-- parameter is used, DescribeComputeEnvironments only returns
-- maxResults results in a single page along with a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another
-- DescribeComputeEnvironments request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeComputeEnvironments
-- returns up to 100 results and a nextToken value if
-- applicable.
describeComputeEnvironments_maxResults :: Lens' DescribeComputeEnvironments (Maybe Int)
-- | The nextToken value returned from a previous paginated
-- DescribeComputeEnvironments request where maxResults
-- was used and the results exceeded the value of that parameter.
-- Pagination continues from the end of the previous results that
-- returned the nextToken value. This value is null
-- when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
describeComputeEnvironments_nextToken :: Lens' DescribeComputeEnvironments (Maybe Text)
-- | The list of compute environments.
describeComputeEnvironmentsResponse_computeEnvironments :: Lens' DescribeComputeEnvironmentsResponse (Maybe [ComputeEnvironmentDetail])
-- | The nextToken value to include in a future
-- DescribeComputeEnvironments request. When the results of a
-- DescribeComputeEnvironments request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
describeComputeEnvironmentsResponse_nextToken :: Lens' DescribeComputeEnvironmentsResponse (Maybe Text)
-- | The response's http status code.
describeComputeEnvironmentsResponse_httpStatus :: Lens' DescribeComputeEnvironmentsResponse Int
-- | The name of the job definition to describe.
describeJobDefinitions_jobDefinitionName :: Lens' DescribeJobDefinitions (Maybe Text)
-- | A list of up to 100 job definitions. Each entry in the list can either
-- be an ARN in the format
-- arn:aws:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}
-- or a short version using the form
-- ${JobDefinitionName}:${Revision}.
describeJobDefinitions_jobDefinitions :: Lens' DescribeJobDefinitions (Maybe [Text])
-- | The maximum number of results returned by
-- DescribeJobDefinitions in paginated output. When this
-- parameter is used, DescribeJobDefinitions only returns
-- maxResults results in a single page and a nextToken
-- response element. The remaining results of the initial request can be
-- seen by sending another DescribeJobDefinitions request with
-- the returned nextToken value. This value can be between 1 and
-- 100. If this parameter isn't used, then
-- DescribeJobDefinitions returns up to 100 results and a
-- nextToken value if applicable.
describeJobDefinitions_maxResults :: Lens' DescribeJobDefinitions (Maybe Int)
-- | The nextToken value returned from a previous paginated
-- DescribeJobDefinitions request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
describeJobDefinitions_nextToken :: Lens' DescribeJobDefinitions (Maybe Text)
-- | The status used to filter job definitions.
describeJobDefinitions_status :: Lens' DescribeJobDefinitions (Maybe Text)
-- | The list of job definitions.
describeJobDefinitionsResponse_jobDefinitions :: Lens' DescribeJobDefinitionsResponse (Maybe [JobDefinition])
-- | The nextToken value to include in a future
-- DescribeJobDefinitions request. When the results of a
-- DescribeJobDefinitions request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
describeJobDefinitionsResponse_nextToken :: Lens' DescribeJobDefinitionsResponse (Maybe Text)
-- | The response's http status code.
describeJobDefinitionsResponse_httpStatus :: Lens' DescribeJobDefinitionsResponse Int
-- | A list of up to 100 queue names or full queue Amazon Resource Name
-- (ARN) entries.
describeJobQueues_jobQueues :: Lens' DescribeJobQueues (Maybe [Text])
-- | The maximum number of results returned by DescribeJobQueues
-- in paginated output. When this parameter is used,
-- DescribeJobQueues only returns maxResults results in
-- a single page and a nextToken response element. The remaining
-- results of the initial request can be seen by sending another
-- DescribeJobQueues request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeJobQueues returns up to
-- 100 results and a nextToken value if applicable.
describeJobQueues_maxResults :: Lens' DescribeJobQueues (Maybe Int)
-- | The nextToken value returned from a previous paginated
-- DescribeJobQueues request where maxResults was used
-- and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
describeJobQueues_nextToken :: Lens' DescribeJobQueues (Maybe Text)
-- | The list of job queues.
describeJobQueuesResponse_jobQueues :: Lens' DescribeJobQueuesResponse (Maybe [JobQueueDetail])
-- | The nextToken value to include in a future
-- DescribeJobQueues request. When the results of a
-- DescribeJobQueues request exceed maxResults, this
-- value can be used to retrieve the next page of results. This value is
-- null when there are no more results to return.
describeJobQueuesResponse_nextToken :: Lens' DescribeJobQueuesResponse (Maybe Text)
-- | The response's http status code.
describeJobQueuesResponse_httpStatus :: Lens' DescribeJobQueuesResponse Int
-- | A list of up to 100 job IDs.
describeJobs_jobs :: Lens' DescribeJobs [Text]
-- | The list of jobs.
describeJobsResponse_jobs :: Lens' DescribeJobsResponse (Maybe [JobDetail])
-- | The response's http status code.
describeJobsResponse_httpStatus :: Lens' DescribeJobsResponse Int
-- | A list of up to 100 scheduling policy Amazon Resource Name (ARN)
-- entries.
describeSchedulingPolicies_arns :: Lens' DescribeSchedulingPolicies [Text]
-- | The list of scheduling policies.
describeSchedulingPoliciesResponse_schedulingPolicies :: Lens' DescribeSchedulingPoliciesResponse (Maybe [SchedulingPolicyDetail])
-- | The response's http status code.
describeSchedulingPoliciesResponse_httpStatus :: Lens' DescribeSchedulingPoliciesResponse Int
-- | The job ID for an array job. Specifying an array job ID with this
-- parameter lists all child jobs from within the specified array.
listJobs_arrayJobId :: Lens' ListJobs (Maybe Text)
-- | The filter to apply to the query. Only one filter can be used at a
-- time. When the filter is used, jobStatus is ignored. The
-- filter doesn't apply to child jobs in an array or multi-node parallel
-- (MNP) jobs. The results are sorted by the createdAt field,
-- with the most recent jobs being first.
--
--
-- - JOB_NAME The value of the filter is a case-insensitive
-- match for the job name. If the value ends with an asterisk (*), the
-- filter matches any job name that begins with the string before the
-- '*'. This corresponds to the jobName value. For example,
-- test1 matches both Test1 and test1, and
-- test1* matches both test1 and Test10. When
-- the JOB_NAME filter is used, the results are grouped by the
-- job name and version.
-- - JOB_DEFINITION The value for the filter is the name or
-- Amazon Resource Name (ARN) of the job definition. This corresponds to
-- the jobDefinition value. The value is case sensitive. When
-- the value for the filter is the job definition name, the results
-- include all the jobs that used any revision of that job definition
-- name. If the value ends with an asterisk (*), the filter matches any
-- job definition name that begins with the string before the '*'. For
-- example, jd1 matches only jd1, and jd1*
-- matches both jd1 and jd1A. The version of the job
-- definition that's used doesn't affect the sort order. When the
-- JOB_DEFINITION filter is used and the ARN is used (which is
-- in the form
-- arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}),
-- the results include jobs that used the specified revision of the job
-- definition. Asterisk (*) isn't supported when the ARN is used.
-- - BEFORE_CREATED_AT The value for the filter is the time
-- that's before the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
-- - AFTER_CREATED_AT The value for the filter is the time
-- that's after the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
--
listJobs_filters :: Lens' ListJobs (Maybe [KeyValuesPair])
-- | The name or full Amazon Resource Name (ARN) of the job queue used to
-- list jobs.
listJobs_jobQueue :: Lens' ListJobs (Maybe Text)
-- | The job status used to filter jobs in the specified queue. If the
-- filters parameter is specified, the jobStatus
-- parameter is ignored and jobs with any status are returned. If you
-- don't specify a status, only RUNNING jobs are returned.
listJobs_jobStatus :: Lens' ListJobs (Maybe JobStatus)
-- | The maximum number of results returned by ListJobs in
-- paginated output. When this parameter is used, ListJobs only
-- returns maxResults results in a single page and a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another ListJobs
-- request with the returned nextToken value. This value can be
-- between 1 and 100. If this parameter isn't used, then
-- ListJobs returns up to 100 results and a nextToken
-- value if applicable.
listJobs_maxResults :: Lens' ListJobs (Maybe Int)
-- | The job ID for a multi-node parallel job. Specifying a multi-node
-- parallel job ID with this parameter lists all nodes that are
-- associated with the specified job.
listJobs_multiNodeJobId :: Lens' ListJobs (Maybe Text)
-- | The nextToken value returned from a previous paginated
-- ListJobs request where maxResults was used and the
-- results exceeded the value of that parameter. Pagination continues
-- from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
listJobs_nextToken :: Lens' ListJobs (Maybe Text)
-- | The nextToken value to include in a future ListJobs
-- request. When the results of a ListJobs request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
listJobsResponse_nextToken :: Lens' ListJobsResponse (Maybe Text)
-- | The response's http status code.
listJobsResponse_httpStatus :: Lens' ListJobsResponse Int
-- | A list of job summaries that match the request.
listJobsResponse_jobSummaryList :: Lens' ListJobsResponse [JobSummary]
-- | The maximum number of results that's returned by
-- ListSchedulingPolicies in paginated output. When this
-- parameter is used, ListSchedulingPolicies only returns
-- maxResults results in a single page and a nextToken
-- response element. You can see the remaining results of the initial
-- request by sending another ListSchedulingPolicies request
-- with the returned nextToken value. This value can be between
-- 1 and 100. If this parameter isn't used,
-- ListSchedulingPolicies returns up to 100 results and a
-- nextToken value if applicable.
listSchedulingPolicies_maxResults :: Lens' ListSchedulingPolicies (Maybe Int)
-- | The nextToken value that's returned from a previous paginated
-- ListSchedulingPolicies request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
listSchedulingPolicies_nextToken :: Lens' ListSchedulingPolicies (Maybe Text)
-- | The nextToken value to include in a future
-- ListSchedulingPolicies request. When the results of a
-- ListSchedulingPolicies request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
listSchedulingPoliciesResponse_nextToken :: Lens' ListSchedulingPoliciesResponse (Maybe Text)
-- | A list of scheduling policies that match the request.
listSchedulingPoliciesResponse_schedulingPolicies :: Lens' ListSchedulingPoliciesResponse (Maybe [SchedulingPolicyListingDetail])
-- | The response's http status code.
listSchedulingPoliciesResponse_httpStatus :: Lens' ListSchedulingPoliciesResponse Int
-- | The Amazon Resource Name (ARN) that identifies the resource that tags
-- are listed for. Batch resources that support tags are compute
-- environments, jobs, job definitions, job queues, and scheduling
-- policies. ARNs for child jobs of array and multi-node parallel (MNP)
-- jobs aren't supported.
listTagsForResource_resourceArn :: Lens' ListTagsForResource Text
-- | The tags for the resource.
listTagsForResourceResponse_tags :: Lens' ListTagsForResourceResponse (Maybe (HashMap Text Text))
-- | The response's http status code.
listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int
-- | An object with various properties specific to Amazon ECS based
-- single-node container-based jobs. If the job definition's
-- type parameter is container, then you must specify
-- either containerProperties or nodeProperties. This
-- must not be specified for Amazon EKS based job definitions.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use only containerProperties.
registerJobDefinition_containerProperties :: Lens' RegisterJobDefinition (Maybe ContainerProperties)
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. This must not be specified for Amazon ECS based job
-- definitions.
registerJobDefinition_eksProperties :: Lens' RegisterJobDefinition (Maybe EksProperties)
-- | An object with various properties specific to multi-node parallel
-- jobs. If you specify node properties for a job, it becomes a
-- multi-node parallel job. For more information, see Multi-node
-- Parallel Jobs in the Batch User Guide. If the job
-- definition's type parameter is container, then you
-- must specify either containerProperties or
-- nodeProperties.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use containerProperties instead.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- nodeProperties.
registerJobDefinition_nodeProperties :: Lens' RegisterJobDefinition (Maybe NodeProperties)
-- | Default parameter substitution placeholders to set in the job
-- definition. Parameters are specified as a key-value pair mapping.
-- Parameters in a SubmitJob request override any corresponding
-- parameter defaults from the job definition.
registerJobDefinition_parameters :: Lens' RegisterJobDefinition (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. To run the job on Fargate
-- resources, specify FARGATE.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- platformCapabilities.
registerJobDefinition_platformCapabilities :: Lens' RegisterJobDefinition (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags are not propagated. Tags can only be propagated to the tasks
-- during task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- propagateTags.
registerJobDefinition_propagateTags :: Lens' RegisterJobDefinition (Maybe Bool)
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition. Any retry strategy that's specified during a SubmitJob
-- operation overrides the retry strategy defined here. If a job is
-- terminated due to a timeout, it isn't retried.
registerJobDefinition_retryStrategy :: Lens' RegisterJobDefinition (Maybe RetryStrategy)
-- | The scheduling priority for jobs that are submitted with this job
-- definition. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
registerJobDefinition_schedulingPriority :: Lens' RegisterJobDefinition (Maybe Int)
-- | The tags that you apply to the job definition to help you categorize
-- and organize your resources. Each tag consists of a key and an
-- optional value. For more information, see Tagging Amazon Web
-- Services Resources in Batch User Guide.
registerJobDefinition_tags :: Lens' RegisterJobDefinition (Maybe (HashMap Text Text))
-- | The timeout configuration for jobs that are submitted with this job
-- definition, after which Batch terminates your jobs if they have not
-- finished. If a job is terminated due to a timeout, it isn't retried.
-- The minimum value for the timeout is 60 seconds. Any timeout
-- configuration that's specified during a SubmitJob operation overrides
-- the timeout configuration defined here. For more information, see
-- Job Timeouts in the Batch User Guide.
registerJobDefinition_timeout :: Lens' RegisterJobDefinition (Maybe JobTimeout)
-- | The name of the job definition to register. It can be up to 128
-- letters long. It can contain uppercase and lowercase letters, numbers,
-- hyphens (-), and underscores (_).
registerJobDefinition_jobDefinitionName :: Lens' RegisterJobDefinition Text
-- | The type of job definition. For more information about multi-node
-- parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
--
-- If the job is run on Fargate resources, then multinode isn't
-- supported.
registerJobDefinition_type :: Lens' RegisterJobDefinition JobDefinitionType
-- | The response's http status code.
registerJobDefinitionResponse_httpStatus :: Lens' RegisterJobDefinitionResponse Int
-- | The name of the job definition.
registerJobDefinitionResponse_jobDefinitionName :: Lens' RegisterJobDefinitionResponse Text
-- | The Amazon Resource Name (ARN) of the job definition.
registerJobDefinitionResponse_jobDefinitionArn :: Lens' RegisterJobDefinitionResponse Text
-- | The revision of the job definition.
registerJobDefinitionResponse_revision :: Lens' RegisterJobDefinitionResponse Int
-- | 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 Batch User Guide.
submitJob_arrayProperties :: Lens' SubmitJob (Maybe ArrayProperties)
-- | An object with various properties that override the defaults for the
-- job definition 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, which is specified in the job
-- definition or the Docker image, with a command override. You
-- can also override existing environment variables on a container or add
-- new environment variables to it with an environment override.
submitJob_containerOverrides :: Lens' SubmitJob (Maybe ContainerOverrides)
-- | 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.
submitJob_dependsOn :: Lens' SubmitJob (Maybe [JobDependency])
-- | An object that can only be specified for jobs that are run on Amazon
-- EKS resources with various properties that override defaults for the
-- job definition.
submitJob_eksPropertiesOverride :: Lens' SubmitJob (Maybe EksPropertiesOverride)
-- | A list of node overrides in JSON format that specify the node range to
-- target and the container overrides for that node range.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources; use containerOverrides instead.
submitJob_nodeOverrides :: Lens' SubmitJob (Maybe NodeOverrides)
-- | 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.
submitJob_parameters :: Lens' SubmitJob (Maybe (HashMap Text Text))
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks
-- during task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state. When specified, this overrides the tag
-- propagation setting in the job definition.
submitJob_propagateTags :: Lens' SubmitJob (Maybe Bool)
-- | 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.
submitJob_retryStrategy :: Lens' SubmitJob (Maybe RetryStrategy)
-- | The scheduling priority for the job. This only affects jobs in job
-- queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
-- This overrides any scheduling priority in the job definition.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
submitJob_schedulingPriorityOverride :: Lens' SubmitJob (Maybe Int)
-- | The share identifier for the job. If the job queue doesn't have a
-- scheduling policy, then this parameter must not be specified. If the
-- job queue has a scheduling policy, then this parameter must be
-- specified.
submitJob_shareIdentifier :: Lens' SubmitJob (Maybe Text)
-- | The tags that you apply to the job request to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Amazon Web Services General Reference.
submitJob_tags :: Lens' SubmitJob (Maybe (HashMap Text Text))
-- | The timeout configuration for this SubmitJob operation. You can
-- specify a timeout duration after which Batch terminates your jobs if
-- they haven't finished. If a job is terminated due to a timeout, it
-- isn't 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.
submitJob_timeout :: Lens' SubmitJob (Maybe JobTimeout)
-- | The name of the job. It can be up to 128 letters long. The first
-- character must be alphanumeric, can contain uppercase and lowercase
-- letters, numbers, hyphens (-), and underscores (_).
submitJob_jobName :: Lens' SubmitJob Text
-- | The job queue where the job is submitted. You can specify either the
-- name or the Amazon Resource Name (ARN) of the queue.
submitJob_jobQueue :: Lens' SubmitJob Text
-- | 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.
submitJob_jobDefinition :: Lens' SubmitJob Text
-- | The Amazon Resource Name (ARN) for the job.
submitJobResponse_jobArn :: Lens' SubmitJobResponse (Maybe Text)
-- | The response's http status code.
submitJobResponse_httpStatus :: Lens' SubmitJobResponse Int
-- | The name of the job.
submitJobResponse_jobName :: Lens' SubmitJobResponse Text
-- | The unique identifier for the job.
submitJobResponse_jobId :: Lens' SubmitJobResponse Text
-- | The Amazon Resource Name (ARN) of the resource that tags are added to.
-- Batch resources that support tags are compute environments, jobs, job
-- definitions, job queues, and scheduling policies. ARNs for child jobs
-- of array and multi-node parallel (MNP) jobs aren't supported.
tagResource_resourceArn :: Lens' TagResource Text
-- | The tags that you apply to the resource to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Amazon Web Services General Reference.
tagResource_tags :: Lens' TagResource (HashMap Text Text)
-- | The response's http status code.
tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int
-- | The Batch job ID of the job to terminate.
terminateJob_jobId :: Lens' TerminateJob Text
-- | A message to attach to the job that explains the reason for canceling
-- it. This message is returned by future DescribeJobs operations on the
-- job. This message is also recorded in the Batch activity logs.
terminateJob_reason :: Lens' TerminateJob Text
-- | The response's http status code.
terminateJobResponse_httpStatus :: Lens' TerminateJobResponse Int
-- | The Amazon Resource Name (ARN) of the resource from which to delete
-- tags. Batch resources that support tags are compute environments,
-- jobs, job definitions, job queues, and scheduling policies. ARNs for
-- child jobs of array and multi-node parallel (MNP) jobs aren't
-- supported.
untagResource_resourceArn :: Lens' UntagResource Text
-- | The keys of the tags to be removed.
untagResource_tagKeys :: Lens' UntagResource (NonEmpty Text)
-- | The response's http status code.
untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int
-- | Details of the compute resources managed by the compute environment.
-- Required for a managed compute environment. For more information, see
-- Compute Environments in the Batch User Guide.
updateComputeEnvironment_computeResources :: Lens' UpdateComputeEnvironment (Maybe ComputeResourceUpdate)
-- | The full Amazon Resource Name (ARN) of the IAM role that allows Batch
-- to make calls to other Amazon Web Services services on your behalf.
-- For more information, see Batch service IAM role in the
-- Batch User Guide.
--
-- If the compute environment has a service-linked role, it can't be
-- changed to use a regular IAM role. Likewise, if the compute
-- environment has a regular IAM role, it can't be changed to use a
-- service-linked role. To update the parameters for the compute
-- environment that require an infrastructure update to change, the
-- AWSServiceRoleForBatch service-linked role must be used. For
-- more information, see Updating compute environments in the
-- Batch User Guide.
--
-- If your specified role has a path other than /, then you must
-- either specify the full role ARN (recommended) or prefix the role name
-- with the path.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
updateComputeEnvironment_serviceRole :: Lens' UpdateComputeEnvironment (Maybe Text)
-- | The state of the compute environment. Compute environments in the
-- ENABLED state can accept jobs from a queue and scale in or
-- out automatically based on the workload demand of its associated
-- queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
updateComputeEnvironment_state :: Lens' UpdateComputeEnvironment (Maybe CEState)
-- | The maximum number of vCPUs expected to be used for an unmanaged
-- compute environment. Don't specify this parameter for a managed
-- compute environment. This parameter is only used for fair share
-- scheduling to reserve vCPU capacity for new share identifiers. If this
-- parameter isn't provided for a fair share job queue, no vCPU capacity
-- is reserved.
updateComputeEnvironment_unmanagedvCpus :: Lens' UpdateComputeEnvironment (Maybe Int)
-- | Specifies the updated infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
updateComputeEnvironment_updatePolicy :: Lens' UpdateComputeEnvironment (Maybe UpdatePolicy)
-- | The name or full Amazon Resource Name (ARN) of the compute environment
-- to update.
updateComputeEnvironment_computeEnvironment :: Lens' UpdateComputeEnvironment Text
-- | The Amazon Resource Name (ARN) of the compute environment.
updateComputeEnvironmentResponse_computeEnvironmentArn :: Lens' UpdateComputeEnvironmentResponse (Maybe Text)
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
updateComputeEnvironmentResponse_computeEnvironmentName :: Lens' UpdateComputeEnvironmentResponse (Maybe Text)
-- | The response's http status code.
updateComputeEnvironmentResponse_httpStatus :: Lens' UpdateComputeEnvironmentResponse Int
-- | Details the set of compute environments mapped to a job queue and
-- their order relative to each other. This is one of the parameters used
-- by the job scheduler to determine which compute environment runs a
-- given job. Compute environments must be in the VALID state
-- before you can associate them with a job queue. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate
-- compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
updateJobQueue_computeEnvironmentOrder :: Lens' UpdateJobQueue (Maybe [ComputeEnvironmentOrder])
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
updateJobQueue_priority :: Lens' UpdateJobQueue (Maybe Int)
-- | Amazon Resource Name (ARN) of the fair share scheduling policy. Once a
-- job queue is created, the fair share scheduling policy can be replaced
-- but not removed. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
updateJobQueue_schedulingPolicyArn :: Lens' UpdateJobQueue (Maybe Text)
-- | Describes the queue's ability to accept new jobs. If the job queue
-- state is ENABLED, it can accept jobs. If the job queue state
-- is DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
updateJobQueue_state :: Lens' UpdateJobQueue (Maybe JQState)
-- | The name or the Amazon Resource Name (ARN) of the job queue.
updateJobQueue_jobQueue :: Lens' UpdateJobQueue Text
-- | The Amazon Resource Name (ARN) of the job queue.
updateJobQueueResponse_jobQueueArn :: Lens' UpdateJobQueueResponse (Maybe Text)
-- | The name of the job queue.
updateJobQueueResponse_jobQueueName :: Lens' UpdateJobQueueResponse (Maybe Text)
-- | The response's http status code.
updateJobQueueResponse_httpStatus :: Lens' UpdateJobQueueResponse Int
-- | The fair share policy.
updateSchedulingPolicy_fairsharePolicy :: Lens' UpdateSchedulingPolicy (Maybe FairsharePolicy)
-- | The Amazon Resource Name (ARN) of the scheduling policy to update.
updateSchedulingPolicy_arn :: Lens' UpdateSchedulingPolicy Text
-- | The response's http status code.
updateSchedulingPolicyResponse_httpStatus :: Lens' UpdateSchedulingPolicyResponse Int
-- | The size of the array job.
arrayProperties_size :: Lens' ArrayProperties (Maybe Int)
-- | The job index within the array that's associated with this job. This
-- parameter is returned for array job children.
arrayPropertiesDetail_index :: Lens' ArrayPropertiesDetail (Maybe Int)
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
arrayPropertiesDetail_size :: Lens' ArrayPropertiesDetail (Maybe Int)
-- | A summary of the number of array job children in each available job
-- status. This parameter is returned for parent array jobs.
arrayPropertiesDetail_statusSummary :: Lens' ArrayPropertiesDetail (Maybe (HashMap Text Int))
-- | The job index within the array that's associated with this job. This
-- parameter is returned for children of array jobs.
arrayPropertiesSummary_index :: Lens' ArrayPropertiesSummary (Maybe Int)
-- | The size of the array job. This parameter is returned for parent array
-- jobs.
arrayPropertiesSummary_size :: Lens' ArrayPropertiesSummary (Maybe Int)
-- | The Amazon Resource Name (ARN) of the Amazon ECS container instance
-- that hosts the job attempt.
attemptContainerDetail_containerInstanceArn :: Lens' AttemptContainerDetail (Maybe Text)
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
attemptContainerDetail_exitCode :: Lens' AttemptContainerDetail (Maybe Int)
-- | The name of the CloudWatch Logs log stream that's associated with the
-- container. The log group for Batch jobs is /aws/batch/job.
-- Each container attempt receives a log stream name when they reach the
-- RUNNING status.
attemptContainerDetail_logStreamName :: Lens' AttemptContainerDetail (Maybe Text)
-- | The network interfaces that are associated with the job attempt.
attemptContainerDetail_networkInterfaces :: Lens' AttemptContainerDetail (Maybe [NetworkInterface])
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
attemptContainerDetail_reason :: Lens' AttemptContainerDetail (Maybe Text)
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the job attempt. Each container attempt receives a
-- task ARN when they reach the STARTING status.
attemptContainerDetail_taskArn :: Lens' AttemptContainerDetail (Maybe Text)
-- | The details for the container in this job attempt.
attemptDetail_container :: Lens' AttemptDetail (Maybe AttemptContainerDetail)
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
attemptDetail_startedAt :: Lens' AttemptDetail (Maybe Integer)
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
attemptDetail_statusReason :: Lens' AttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
attemptDetail_stoppedAt :: Lens' AttemptDetail (Maybe Integer)
-- | The compute resources defined for the compute environment. For more
-- information, see Compute environments in the Batch User
-- Guide.
computeEnvironmentDetail_computeResources :: Lens' ComputeEnvironmentDetail (Maybe ComputeResource)
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
computeEnvironmentDetail_containerOrchestrationType :: Lens' ComputeEnvironmentDetail (Maybe OrchestrationType)
-- | The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
-- that the compute environment uses.
computeEnvironmentDetail_ecsClusterArn :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
computeEnvironmentDetail_eksConfiguration :: Lens' ComputeEnvironmentDetail (Maybe EksConfiguration)
-- | The service role that's associated with the compute environment that
-- allows Batch to make calls to Amazon Web Services API operations on
-- your behalf. For more information, see Batch service IAM role
-- in the Batch User Guide.
computeEnvironmentDetail_serviceRole :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The state of the compute environment. The valid values are
-- ENABLED or DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
computeEnvironmentDetail_state :: Lens' ComputeEnvironmentDetail (Maybe CEState)
-- | The current status of the compute environment (for example,
-- CREATING or VALID).
computeEnvironmentDetail_status :: Lens' ComputeEnvironmentDetail (Maybe CEStatus)
-- | A short, human-readable string to provide additional details for the
-- current status of the compute environment.
computeEnvironmentDetail_statusReason :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The tags applied to the compute environment.
computeEnvironmentDetail_tags :: Lens' ComputeEnvironmentDetail (Maybe (HashMap Text Text))
-- | The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
computeEnvironmentDetail_type :: Lens' ComputeEnvironmentDetail (Maybe CEType)
-- | The maximum number of VCPUs expected to be used for an unmanaged
-- compute environment.
computeEnvironmentDetail_unmanagedvCpus :: Lens' ComputeEnvironmentDetail (Maybe Int)
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
computeEnvironmentDetail_updatePolicy :: Lens' ComputeEnvironmentDetail (Maybe UpdatePolicy)
-- | Unique identifier for the compute environment.
computeEnvironmentDetail_uuid :: Lens' ComputeEnvironmentDetail (Maybe Text)
-- | The name of the compute environment. It can be up to 128 characters
-- long. It can contain uppercase and lowercase letters, numbers, hyphens
-- (-), and underscores (_).
computeEnvironmentDetail_computeEnvironmentName :: Lens' ComputeEnvironmentDetail Text
-- | The Amazon Resource Name (ARN) of the compute environment.
computeEnvironmentDetail_computeEnvironmentArn :: Lens' ComputeEnvironmentDetail Text
-- | The order of the compute environment. Compute environments are tried
-- in ascending order. For example, if two compute environments are
-- associated with a job queue, the compute environment with a lower
-- order integer value is tried for job placement first.
computeEnvironmentOrder_order :: Lens' ComputeEnvironmentOrder Int
-- | The Amazon Resource Name (ARN) of the compute environment.
computeEnvironmentOrder_computeEnvironment :: Lens' ComputeEnvironmentOrder Text
-- | The allocation strategy to use for the compute resource if not enough
-- instances of the best fitting instance type can be allocated. This
-- might be because of availability of the instance type in the Region or
-- Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
computeResource_allocationStrategy :: Lens' ComputeResource (Maybe CRAllocationStrategy)
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, then the
-- Spot price must be less than 20% of the current On-Demand price for
-- that Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. If you leave this field
-- empty, the default value is 100% of the On-Demand price. For most use
-- cases, we recommend leaving this field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_bidPercentage :: Lens' ComputeResource (Maybe Int)
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_desiredvCpus :: Lens' ComputeResource (Maybe Int)
-- | Provides information that's used to select Amazon Machine Images
-- (AMIs) for EC2 instances in the compute environment. If
-- Ec2Configuration isn't specified, the default is
-- ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_ec2Configuration :: Lens' ComputeResource (Maybe [Ec2Configuration])
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_ec2KeyPair :: Lens' ComputeResource (Maybe Text)
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
computeResource_imageId :: Lens' ComputeResource (Maybe Text)
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_instanceRole :: Lens' ComputeResource (Maybe Text)
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
computeResource_instanceTypes :: Lens' ComputeResource (Maybe [Text])
-- | The launch template to use for your compute resources. Any other
-- compute resource parameters that you specify in a
-- CreateComputeEnvironment API operation override the same parameters in
-- the launch template. You must specify either the launch template ID or
-- launch template name in the request, but not both. For more
-- information, see Launch template support in the Batch User
-- Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_launchTemplate :: Lens' ComputeResource (Maybe LaunchTemplateSpecification)
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_minvCpus :: Lens' ComputeResource (Maybe Int)
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_placementGroup :: Lens' ComputeResource (Maybe Text)
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. One or more security groups must
-- be specified, either in securityGroupIds or using a launch
-- template referenced in launchTemplate. This parameter is
-- required for jobs that are running on Fargate resources and must
-- contain at least one security group. Fargate doesn't support launch
-- templates. If security groups are specified using both
-- securityGroupIds and launchTemplate, the values in
-- securityGroupIds are used.
computeResource_securityGroupIds :: Lens' ComputeResource (Maybe [Text])
-- | The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
-- applied to a SPOT compute environment. This role is required
-- if the allocation strategy set to BEST_FIT or if the
-- allocation strategy isn't specified. For more information, see
-- Amazon EC2 spot fleet role in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
computeResource_spotIamFleetRole :: Lens' ComputeResource (Maybe Text)
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResource_tags :: Lens' ComputeResource (Maybe (HashMap Text Text))
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
computeResource_type :: Lens' ComputeResource CRType
-- | The maximum number of Amazon EC2 vCPUs that a compute environment can
-- reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
computeResource_maxvCpus :: Lens' ComputeResource Int
-- | The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
computeResource_subnets :: Lens' ComputeResource [Text]
-- | The allocation strategy to use for the compute resource if there's not
-- enough instances of the best fitting instance type that can be
-- allocated. This might be because of availability of the instance type
-- in the Region or Amazon EC2 service limits. For more
-- information, see Allocation strategies in the Batch User
-- Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
computeResourceUpdate_allocationStrategy :: Lens' ComputeResourceUpdate (Maybe CRUpdateAllocationStrategy)
-- | The maximum percentage that a Spot Instance price can be when compared
-- with the On-Demand price for that instance type before instances are
-- launched. For example, if your maximum percentage is 20%, the Spot
-- price must be less than 20% of the current On-Demand price for that
-- Amazon EC2 instance. You always pay the lowest (market) price and
-- never more than your maximum percentage. For most use cases, we
-- recommend leaving this field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_bidPercentage :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The desired number of Amazon EC2 vCPUS in the compute environment.
-- Batch modifies this value between the minimum and maximum values based
-- on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
computeResourceUpdate_desiredvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- EC2 instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_ec2Configuration :: Lens' ComputeResourceUpdate (Maybe [Ec2Configuration])
-- | The Amazon EC2 key pair that's used for instances launched in the
-- compute environment. You can use this key pair to log in to your
-- instances with SSH. To remove the Amazon EC2 key pair, set this value
-- to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_ec2KeyPair :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure. To remove the custom AMI ID and use the default AMI ID, set
-- this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
computeResourceUpdate_imageId :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon ECS instance profile applied to Amazon EC2 instances in a
-- compute environment. You can specify the short name or full Amazon
-- Resource Name (ARN) of an instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_instanceRole :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The instances types that can be launched. You can specify instance
-- families to launch any instance type within those families (for
-- example, c5 or p3), or you can specify specific
-- sizes within a family (such as c5.8xlarge). You can also
-- choose optimal to select instance types (from the C4, M4, and
-- R4 instance families) that match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
computeResourceUpdate_instanceTypes :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | The updated launch template to use for your compute resources. You
-- must specify either the launch template ID or launch template name in
-- the request, but not both. For more information, see Launch
-- template support in the Batch User Guide. To remove the
-- custom launch template and use the default launch template, set
-- launchTemplateId or launchTemplateName member of the
-- launch template specification to an empty string. Removing the launch
-- template from a compute environment will not remove the AMI specified
-- in the launch template. In order to update the AMI specified in a
-- launch template, the updateToLatestImageVersion parameter
-- must be set to true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_launchTemplate :: Lens' ComputeResourceUpdate (Maybe LaunchTemplateSpecification)
-- | The maximum number of Amazon EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
computeResourceUpdate_maxvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_minvCpus :: Lens' ComputeResourceUpdate (Maybe Int)
-- | The Amazon EC2 placement group to associate with your compute
-- resources. If you intend to submit multi-node parallel jobs to your
-- compute environment, you should consider creating a cluster placement
-- group and associate it with your compute resources. This keeps your
-- multi-node parallel job on a logical grouping of instances within a
-- single Availability Zone with high network flow potential. For more
-- information, see Placement groups in the Amazon EC2 User
-- Guide for Linux Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_placementGroup :: Lens' ComputeResourceUpdate (Maybe Text)
-- | The Amazon EC2 security groups that are associated with instances
-- launched in the compute environment. This parameter is required for
-- Fargate compute resources, where it can contain up to 5 security
-- groups. For Fargate compute resources, providing an empty list is
-- handled as if this parameter wasn't specified and no change is made.
-- For EC2 compute resources, providing an empty list removes the
-- security groups from the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
computeResourceUpdate_securityGroupIds :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | The VPC subnets where the compute resources are launched. Fargate
-- compute resources can contain up to 16 subnets. For Fargate compute
-- resources, providing an empty list will be handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the VPC subnets from the
-- compute resource. For more information, see VPCs and subnets in
-- the Amazon VPC User Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
computeResourceUpdate_subnets :: Lens' ComputeResourceUpdate (Maybe [Text])
-- | Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. These tags aren't seen
-- when using the Batch ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
computeResourceUpdate_tags :: Lens' ComputeResourceUpdate (Maybe (HashMap Text Text))
-- | The type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
computeResourceUpdate_type :: Lens' ComputeResourceUpdate (Maybe CRType)
-- | Specifies whether the AMI ID is updated to the latest one that's
-- supported by Batch when the compute environment has an infrastructure
-- update. The default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
computeResourceUpdate_updateToLatestImageVersion :: Lens' ComputeResourceUpdate (Maybe Bool)
-- | The command that's passed to the container.
containerDetail_command :: Lens' ContainerDetail (Maybe [Text])
-- | The Amazon Resource Name (ARN) of the container instance that the
-- container is running on.
containerDetail_containerInstanceArn :: Lens' ContainerDetail (Maybe Text)
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
containerDetail_environment :: Lens' ContainerDetail (Maybe [KeyValuePair])
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For more information, see Batch execution IAM role in
-- the Batch User Guide.
containerDetail_executionRoleArn :: Lens' ContainerDetail (Maybe Text)
-- | The exit code to return upon completion.
containerDetail_exitCode :: Lens' ContainerDetail (Maybe Int)
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerDetail_fargatePlatformConfiguration :: Lens' ContainerDetail (Maybe FargatePlatformConfiguration)
-- | The image used to start the container.
containerDetail_image :: Lens' ContainerDetail (Maybe Text)
-- | The instance type of the underlying host infrastructure of a
-- multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
containerDetail_instanceType :: Lens' ContainerDetail (Maybe Text)
-- | The Amazon Resource Name (ARN) that's associated with the job when
-- run.
containerDetail_jobRoleArn :: Lens' ContainerDetail (Maybe Text)
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
containerDetail_linuxParameters :: Lens' ContainerDetail (Maybe LinuxParameters)
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
containerDetail_logConfiguration :: Lens' ContainerDetail (Maybe LogConfiguration)
-- | The name of the Amazon CloudWatch Logs log stream that's associated
-- with the container. The log group for Batch jobs is
-- /aws/batch/job. Each container attempt receives a log stream
-- name when they reach the RUNNING status.
containerDetail_logStreamName :: Lens' ContainerDetail (Maybe Text)
-- | For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
containerDetail_memory :: Lens' ContainerDetail (Maybe Int)
-- | The mount points for data volumes in your container.
containerDetail_mountPoints :: Lens' ContainerDetail (Maybe [MountPoint])
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerDetail_networkConfiguration :: Lens' ContainerDetail (Maybe NetworkConfiguration)
-- | The network interfaces that are associated with the job.
containerDetail_networkInterfaces :: Lens' ContainerDetail (Maybe [NetworkInterface])
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
containerDetail_privileged :: Lens' ContainerDetail (Maybe Bool)
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run .
containerDetail_readonlyRootFilesystem :: Lens' ContainerDetail (Maybe Bool)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
containerDetail_reason :: Lens' ContainerDetail (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
containerDetail_resourceRequirements :: Lens' ContainerDetail (Maybe [ResourceRequirement])
-- | The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
containerDetail_secrets :: Lens' ContainerDetail (Maybe [Secret])
-- | The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
containerDetail_taskArn :: Lens' ContainerDetail (Maybe Text)
-- | A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
containerDetail_ulimits :: Lens' ContainerDetail (Maybe [Ulimit])
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
containerDetail_user :: Lens' ContainerDetail (Maybe Text)
-- | The number of vCPUs reserved for the container. For jobs that run on
-- EC2 resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
containerDetail_vcpus :: Lens' ContainerDetail (Maybe Int)
-- | A list of volumes that are associated with the job.
containerDetail_volumes :: Lens' ContainerDetail (Maybe [Volume])
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
containerOverrides_command :: Lens' ContainerOverrides (Maybe [Text])
-- | 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.
containerOverrides_environment :: Lens' ContainerOverrides (Maybe [KeyValuePair])
-- | The instance type to use for a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
containerOverrides_instanceType :: Lens' ContainerOverrides (Maybe Text)
-- | This parameter is deprecated, use resourceRequirements to
-- override the memory requirements specified in the job definition. It's
-- not supported for jobs running on Fargate resources. For jobs that run
-- on EC2 resources, it overrides the memory parameter set in
-- the job definition, but doesn't override any memory requirement that's
-- specified in the resourceRequirements structure in the job
-- definition. To override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
containerOverrides_memory :: Lens' ContainerOverrides (Maybe Int)
-- | The type and amount of resources to assign to a container. This
-- overrides the settings in the job definition. The supported resources
-- include GPU, MEMORY, and VCPU.
containerOverrides_resourceRequirements :: Lens' ContainerOverrides (Maybe [ResourceRequirement])
-- | This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
containerOverrides_vcpus :: Lens' ContainerOverrides (Maybe Int)
-- | The command that's passed to the container. This parameter maps to
-- Cmd in the Create a container section of the Docker
-- Remote API and the COMMAND parameter to docker
-- run. For more information, see
-- https://docs.docker.com/engine/reference/builder/#cmd.
containerProperties_command :: Lens' ContainerProperties (Maybe [Text])
-- | The environment variables to pass to a container. This parameter maps
-- to Env in the Create a container section of the
-- Docker Remote API and the --env option to docker
-- run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
containerProperties_environment :: Lens' ContainerProperties (Maybe [KeyValuePair])
-- | The Amazon Resource Name (ARN) of the execution role that Batch can
-- assume. For jobs that run on Fargate resources, you must provide an
-- execution role. For more information, see Batch execution IAM
-- role in the Batch User Guide.
containerProperties_executionRoleArn :: Lens' ContainerProperties (Maybe Text)
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerProperties_fargatePlatformConfiguration :: Lens' ContainerProperties (Maybe FargatePlatformConfiguration)
-- | The image used to start a container. This string is passed directly to
-- the Docker daemon. Images in the Docker Hub registry are available by
-- default. Other repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
containerProperties_image :: Lens' ContainerProperties (Maybe Text)
-- | The instance type to use for a multi-node parallel job. All node
-- groups in a multi-node parallel job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
containerProperties_instanceType :: Lens' ContainerProperties (Maybe Text)
-- | The Amazon Resource Name (ARN) of the IAM role that the container can
-- assume for Amazon Web Services permissions. For more information, see
-- IAM roles for tasks in the Amazon Elastic Container Service
-- Developer Guide.
containerProperties_jobRoleArn :: Lens' ContainerProperties (Maybe Text)
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
containerProperties_linuxParameters :: Lens' ContainerProperties (Maybe LinuxParameters)
-- | The log configuration specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
containerProperties_logConfiguration :: Lens' ContainerProperties (Maybe LogConfiguration)
-- | This parameter is deprecated, use resourceRequirements to
-- specify the memory requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs that run on
-- EC2 resources, it specifies the memory hard limit (in MiB) for a
-- container. If your container attempts to exceed the specified number,
-- it's terminated. You must specify at least 4 MiB of memory for a job
-- using this parameter. The memory hard limit can be specified in
-- several places. It must be specified for each node at least once.
containerProperties_memory :: Lens' ContainerProperties (Maybe Int)
-- | The mount points for data volumes in your container. This parameter
-- maps to Volumes in the Create a container section of
-- the Docker Remote API and the --volume option to
-- docker run.
containerProperties_mountPoints :: Lens' ContainerProperties (Maybe [MountPoint])
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
containerProperties_networkConfiguration :: Lens' ContainerProperties (Maybe NetworkConfiguration)
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance (similar to the
-- root user). This parameter maps to Privileged in the
-- Create a container section of the Docker Remote API and
-- the --privileged option to docker run. The default
-- value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
containerProperties_privileged :: Lens' ContainerProperties (Maybe Bool)
-- | When this parameter is true, the container is given read-only access
-- to its root file system. This parameter maps to
-- ReadonlyRootfs in the Create a container section of
-- the Docker Remote API and the --read-only option to
-- docker run.
containerProperties_readonlyRootFilesystem :: Lens' ContainerProperties (Maybe Bool)
-- | The type and amount of resources to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
containerProperties_resourceRequirements :: Lens' ContainerProperties (Maybe [ResourceRequirement])
-- | The secrets for the container. For more information, see Specifying
-- sensitive data in the Batch User Guide.
containerProperties_secrets :: Lens' ContainerProperties (Maybe [Secret])
-- | A list of ulimits to set in the container. This parameter
-- maps to Ulimits in the Create a container section of
-- the Docker Remote API and the --ulimit option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
containerProperties_ulimits :: Lens' ContainerProperties (Maybe [Ulimit])
-- | The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
containerProperties_user :: Lens' ContainerProperties (Maybe Text)
-- | This parameter is deprecated, use resourceRequirements to
-- specify the vCPU requirements for the job definition. It's not
-- supported for jobs running on Fargate resources. For jobs running on
-- EC2 resources, it specifies the number of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
containerProperties_vcpus :: Lens' ContainerProperties (Maybe Int)
-- | A list of data volumes used in a job.
containerProperties_volumes :: Lens' ContainerProperties (Maybe [Volume])
-- | The exit code to return upon completion.
containerSummary_exitCode :: Lens' ContainerSummary (Maybe Int)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
containerSummary_reason :: Lens' ContainerSummary (Maybe Text)
-- | The path inside the container that's used to expose the host device.
-- By default, the hostPath value is used.
device_containerPath :: Lens' Device (Maybe Text)
-- | The explicit permissions to provide to the container for the device.
-- By default, the container has permissions for read,
-- write, and mknod for the device.
device_permissions :: Lens' Device (Maybe [DeviceCgroupPermission])
-- | The path for the device on the host container instance.
device_hostPath :: Lens' Device Text
-- | The Amazon EFS access point ID to use. If an access point is
-- specified, the root directory value specified in the
-- EFSVolumeConfiguration must either be omitted or set to
-- / which enforces the path set on the EFS access point. If an
-- access point is used, transit encryption must be enabled in the
-- EFSVolumeConfiguration. For more information, see Working
-- with Amazon EFS access points in the Amazon Elastic File System
-- User Guide.
eFSAuthorizationConfig_accessPointId :: Lens' EFSAuthorizationConfig (Maybe Text)
-- | Whether or not to use the Batch job IAM role defined in a job
-- definition when mounting the Amazon EFS file system. If enabled,
-- transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
eFSAuthorizationConfig_iam :: Lens' EFSAuthorizationConfig (Maybe EFSAuthorizationConfigIAM)
-- | The authorization configuration details for the Amazon EFS file
-- system.
eFSVolumeConfiguration_authorizationConfig :: Lens' EFSVolumeConfiguration (Maybe EFSAuthorizationConfig)
-- | The directory within the Amazon EFS file system to mount as the root
-- directory inside the host. If this parameter is omitted, the root of
-- the Amazon EFS volume is used instead. Specifying / has the
-- same effect as omitting this parameter. The maximum length is 4,096
-- characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
eFSVolumeConfiguration_rootDirectory :: Lens' EFSVolumeConfiguration (Maybe Text)
-- | Determines whether to enable encryption for Amazon EFS data in transit
-- between the Amazon ECS host and the Amazon EFS server. Transit
-- encryption must be enabled if Amazon EFS IAM authorization is used. If
-- this parameter is omitted, the default value of DISABLED is
-- used. For more information, see Encrypting data in transit in
-- the Amazon Elastic File System User Guide.
eFSVolumeConfiguration_transitEncryption :: Lens' EFSVolumeConfiguration (Maybe EFSTransitEncryption)
-- | The port to use when sending encrypted data between the Amazon ECS
-- host and the Amazon EFS server. If you don't specify a transit
-- encryption port, it uses the port selection strategy that the Amazon
-- EFS mount helper uses. The value must be between 0 and 65,535. For
-- more information, see EFS mount helper in the Amazon Elastic
-- File System User Guide.
eFSVolumeConfiguration_transitEncryptionPort :: Lens' EFSVolumeConfiguration (Maybe Int)
-- | The Amazon EFS file system ID to use.
eFSVolumeConfiguration_fileSystemId :: Lens' EFSVolumeConfiguration Text
-- | The AMI ID used for instances launched in the compute environment that
-- match the image type. This setting overrides the imageId set
-- in the computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
ec2Configuration_imageIdOverride :: Lens' Ec2Configuration (Maybe Text)
-- | The Kubernetes version for the compute environment. If you don't
-- specify a value, the latest version that Batch supports is used.
ec2Configuration_imageKubernetesVersion :: Lens' Ec2Configuration (Maybe Text)
-- | The image type to match with the instance type to select an AMI. The
-- supported values are different for ECS and EKS
-- resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
ec2Configuration_imageType :: Lens' Ec2Configuration Text
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
eksAttemptContainerDetail_exitCode :: Lens' EksAttemptContainerDetail (Maybe Int)
-- | A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
eksAttemptContainerDetail_reason :: Lens' EksAttemptContainerDetail (Maybe Text)
-- | The details for the final status of the containers for this job
-- attempt.
eksAttemptDetail_containers :: Lens' EksAttemptDetail (Maybe [EksAttemptContainerDetail])
-- | The name of the node for this job attempt.
eksAttemptDetail_nodeName :: Lens' EksAttemptDetail (Maybe Text)
-- | The name of the pod for this job attempt.
eksAttemptDetail_podName :: Lens' EksAttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
eksAttemptDetail_startedAt :: Lens' EksAttemptDetail (Maybe Integer)
-- | A short, human-readable string to provide additional details for the
-- current status of the job attempt.
eksAttemptDetail_statusReason :: Lens' EksAttemptDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the attempt was stopped.
-- This happens when the attempt transitioned from the RUNNING
-- state to a terminal state, such as SUCCEEDED or
-- FAILED.
eksAttemptDetail_stoppedAt :: Lens' EksAttemptDetail (Maybe Integer)
-- | The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example
-- is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
eksConfiguration_eksClusterArn :: Lens' EksConfiguration Text
-- | The namespace of the Amazon EKS cluster. Batch manages pods in this
-- namespace. The value can't left empty or null. It must be fewer than
-- 64 characters long, can't be set to default, can't start with
-- "kube-," and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
eksConfiguration_kubernetesNamespace :: Lens' EksConfiguration Text
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
eksContainer_args :: Lens' EksContainer (Maybe [Text])
-- | The entrypoint for the container. This isn't run within a shell. If
-- this isn't specified, the ENTRYPOINT of the container image
-- is used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
eksContainer_command :: Lens' EksContainer (Maybe [Text])
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
eksContainer_env :: Lens' EksContainer (Maybe [EksContainerEnvironmentVariable])
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to IfNotPresent. However, if the
-- :latest tag is specified, it defaults to Always. For
-- more information, see Updating images in the Kubernetes
-- documentation.
eksContainer_imagePullPolicy :: Lens' EksContainer (Maybe Text)
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
eksContainer_name :: Lens' EksContainer (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
eksContainer_resources :: Lens' EksContainer (Maybe EksContainerResourceRequirements)
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
eksContainer_securityContext :: Lens' EksContainer (Maybe EksContainerSecurityContext)
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
eksContainer_volumeMounts :: Lens' EksContainer (Maybe [EksContainerVolumeMount])
-- | The Docker image used to start the container.
eksContainer_image :: Lens' EksContainer Text
-- | An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
eksContainerDetail_args :: Lens' EksContainerDetail (Maybe [Text])
-- | The entrypoint for the container. For more information, see
-- Entrypoint in the Kubernetes documentation.
eksContainerDetail_command :: Lens' EksContainerDetail (Maybe [Text])
-- | The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
eksContainerDetail_env :: Lens' EksContainerDetail (Maybe [EksContainerEnvironmentVariable])
-- | The exit code for the job attempt. A non-zero exit code is considered
-- failed.
eksContainerDetail_exitCode :: Lens' EksContainerDetail (Maybe Int)
-- | The Docker image used to start the container.
eksContainerDetail_image :: Lens' EksContainerDetail (Maybe Text)
-- | The image pull policy for the container. Supported values are
-- Always, IfNotPresent, and Never. This
-- parameter defaults to Always if the :latest tag is
-- specified, IfNotPresent otherwise. For more information, see
-- Updating images in the Kubernetes documentation.
eksContainerDetail_imagePullPolicy :: Lens' EksContainerDetail (Maybe Text)
-- | The name of the container. If the name isn't specified, the default
-- name "Default" is used. Each container in a pod must have a
-- unique name.
eksContainerDetail_name :: Lens' EksContainerDetail (Maybe Text)
-- | A short human-readable string to provide additional details for a
-- running or stopped container. It can be up to 255 characters long.
eksContainerDetail_reason :: Lens' EksContainerDetail (Maybe Text)
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
eksContainerDetail_resources :: Lens' EksContainerDetail (Maybe EksContainerResourceRequirements)
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
eksContainerDetail_securityContext :: Lens' EksContainerDetail (Maybe EksContainerSecurityContext)
-- | The volume mounts for the container. Batch supports emptyDir,
-- hostPath, and secret volume types. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
eksContainerDetail_volumeMounts :: Lens' EksContainerDetail (Maybe [EksContainerVolumeMount])
-- | The value of the environment variable.
eksContainerEnvironmentVariable_value :: Lens' EksContainerEnvironmentVariable (Maybe Text)
-- | The name of the environment variable.
eksContainerEnvironmentVariable_name :: Lens' EksContainerEnvironmentVariable Text
-- | 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.
eksContainerOverride_args :: Lens' EksContainerOverride (Maybe [Text])
-- | The command to send to the container that overrides the default
-- command from the Docker image or the job definition.
eksContainerOverride_command :: Lens' EksContainerOverride (Maybe [Text])
-- | 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.
eksContainerOverride_env :: Lens' EksContainerOverride (Maybe [EksContainerEnvironmentVariable])
-- | The override of the Docker image that's used to start the container.
eksContainerOverride_image :: Lens' EksContainerOverride (Maybe Text)
-- | 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.
eksContainerOverride_resources :: Lens' EksContainerOverride (Maybe EksContainerResourceRequirements)
-- | The type and quantity of the resources to reserve for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
eksContainerResourceRequirements_limits :: Lens' EksContainerResourceRequirements (Maybe (HashMap Text Text))
-- | The type and quantity of the resources to request for the container.
-- The values vary based on the name that's specified. Resources
-- can be requested by using either the limits or the
-- requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
eksContainerResourceRequirements_requests :: Lens' EksContainerResourceRequirements (Maybe (HashMap Text Text))
-- | When this parameter is true, the container is given elevated
-- permissions on the host container instance. The level of permissions
-- are similar to the root user permissions. The default value
-- is false. This parameter maps to privileged policy
-- in the Privileged pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_privileged :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is true, the container is given read-only
-- access to its root file system. The default value is false.
-- This parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
eksContainerSecurityContext_readOnlyRootFilesystem :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is specified, the container is run as the
-- specified group ID (gid). If this parameter isn't specified,
-- the default is the group that's specified in the image metadata. This
-- parameter maps to RunAsGroup and MustRunAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_runAsGroup :: Lens' EksContainerSecurityContext (Maybe Integer)
-- | When this parameter is specified, the container is run as a user with
-- a uid other than 0. If this parameter isn't specified, so
-- such rule is enforced. This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
eksContainerSecurityContext_runAsNonRoot :: Lens' EksContainerSecurityContext (Maybe Bool)
-- | When this parameter is specified, the container is run as the
-- specified user ID (uid). If this parameter isn't specified,
-- the default is the user that's specified in the image metadata. This
-- parameter maps to RunAsUser and MustRanAs policy in
-- the Users and groups pod security policies in the Kubernetes
-- documentation.
eksContainerSecurityContext_runAsUser :: Lens' EksContainerSecurityContext (Maybe Integer)
-- | The path on the container where the volume is mounted.
eksContainerVolumeMount_mountPath :: Lens' EksContainerVolumeMount (Maybe Text)
-- | The name the volume mount. This must match the name of one of the
-- volumes in the pod.
eksContainerVolumeMount_name :: Lens' EksContainerVolumeMount (Maybe Text)
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
eksContainerVolumeMount_readOnly :: Lens' EksContainerVolumeMount (Maybe Bool)
-- | The medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
eksEmptyDir_medium :: Lens' EksEmptyDir (Maybe Text)
-- | The maximum size of the volume. By default, there's no maximum size
-- defined.
eksEmptyDir_sizeLimit :: Lens' EksEmptyDir (Maybe Text)
-- | The path of the file or directory on the host to mount into containers
-- on the pod.
eksHostPath_path :: Lens' EksHostPath (Maybe Text)
-- | The properties of the container that's used on the Amazon EKS pod.
eksPodProperties_containers :: Lens' EksPodProperties (Maybe [EksContainer])
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. For more information, see Pod's
-- DNS policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
eksPodProperties_dnsPolicy :: Lens' EksPodProperties (Maybe Text)
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
eksPodProperties_hostNetwork :: Lens' EksPodProperties (Maybe Bool)
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
eksPodProperties_serviceAccountName :: Lens' EksPodProperties (Maybe Text)
-- | Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
eksPodProperties_volumes :: Lens' EksPodProperties (Maybe [EksVolume])
-- | The properties of the container that's used on the Amazon EKS pod.
eksPodPropertiesDetail_containers :: Lens' EksPodPropertiesDetail (Maybe [EksContainerDetail])
-- | The DNS policy for the pod. The default value is
-- ClusterFirst. If the hostNetwork parameter is not
-- specified, the default is ClusterFirstWithHostNet.
-- ClusterFirst indicates that any DNS query that does not match
-- the configured cluster domain suffix is forwarded to the upstream
-- nameserver inherited from the node. If no value was specified for
-- dnsPolicy in the RegisterJobDefinition API operation,
-- then no value will be returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
eksPodPropertiesDetail_dnsPolicy :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | Indicates if the pod uses the hosts' network IP address. The default
-- value is true. Setting this to false enables the
-- Kubernetes pod networking model. Most Batch workloads are egress-only
-- and don't require the overhead of IP allocation for each pod for
-- incoming connections. For more information, see Host namespaces
-- and Pod networking in the Kubernetes documentation.
eksPodPropertiesDetail_hostNetwork :: Lens' EksPodPropertiesDetail (Maybe Bool)
-- | The name of the node for this job.
eksPodPropertiesDetail_nodeName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | The name of the pod for this job.
eksPodPropertiesDetail_podName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | The name of the service account that's used to run the pod. For more
-- information, see Kubernetes service accounts and Configure a
-- Kubernetes service account to assume an IAM role in the Amazon
-- EKS User Guide and Configure service accounts for pods in
-- the Kubernetes documentation.
eksPodPropertiesDetail_serviceAccountName :: Lens' EksPodPropertiesDetail (Maybe Text)
-- | Specifies the volumes for a job definition using Amazon EKS resources.
eksPodPropertiesDetail_volumes :: Lens' EksPodPropertiesDetail (Maybe [EksVolume])
-- | The overrides for the container that's used on the Amazon EKS pod.
eksPodPropertiesOverride_containers :: Lens' EksPodPropertiesOverride (Maybe [EksContainerOverride])
-- | The properties for the Kubernetes pod resources of a job.
eksProperties_podProperties :: Lens' EksProperties (Maybe EksPodProperties)
-- | The properties for the Kubernetes pod resources of a job.
eksPropertiesDetail_podProperties :: Lens' EksPropertiesDetail (Maybe EksPodPropertiesDetail)
-- | The overrides for the Kubernetes pod resources of a job.
eksPropertiesOverride_podProperties :: Lens' EksPropertiesOverride (Maybe EksPodPropertiesOverride)
-- | Specifies whether the secret or the secret's keys must be defined.
eksSecret_optional :: Lens' EksSecret (Maybe Bool)
-- | The name of the secret. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
eksSecret_secretName :: Lens' EksSecret Text
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- For more information, see emptyDir in the Kubernetes
-- documentation.
eksVolume_emptyDir :: Lens' EksVolume (Maybe EksEmptyDir)
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- For more information, see hostPath in the Kubernetes
-- documentation.
eksVolume_hostPath :: Lens' EksVolume (Maybe EksHostPath)
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
eksVolume_secret :: Lens' EksVolume (Maybe EksSecret)
-- | The name of the volume. The name must be allowed as a DNS subdomain
-- name. For more information, see DNS subdomain names in the
-- Kubernetes documentation.
eksVolume_name :: Lens' EksVolume Text
-- | Contains a glob pattern to match against the decimal representation of
-- the ExitCode returned for a job. The pattern can be up to 512
-- characters long. It can contain only numbers, and can end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
--
-- The string can contain up to 512 characters.
evaluateOnExit_onExitCode :: Lens' EvaluateOnExit (Maybe Text)
-- | Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
evaluateOnExit_onReason :: Lens' EvaluateOnExit (Maybe Text)
-- | Contains a glob pattern to match against the StatusReason
-- returned for a job. The pattern can contain up to 512 characters. It
-- can contain letters, numbers, periods (.), colons (:), and white
-- spaces (including spaces or tabs). It can optionally end with an
-- asterisk (*) so that only the start of the string needs to be an exact
-- match.
evaluateOnExit_onStatusReason :: Lens' EvaluateOnExit (Maybe Text)
-- | Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
evaluateOnExit_action :: Lens' EvaluateOnExit RetryAction
-- | A value used to reserve some of the available maximum vCPU for fair
-- share identifiers that aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
fairsharePolicy_computeReservation :: Lens' FairsharePolicy (Maybe Int)
-- | The amount of time (in seconds) to use to calculate a fair share
-- percentage for each fair share identifier in use. A value of zero (0)
-- indicates that only current usage is measured. The decay allows for
-- more recently run jobs to have more weight than jobs that ran earlier.
-- The maximum supported value is 604800 (1 week).
fairsharePolicy_shareDecaySeconds :: Lens' FairsharePolicy (Maybe Int)
-- | An array of SharedIdentifier objects that contain the weights
-- for the fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
fairsharePolicy_shareDistribution :: Lens' FairsharePolicy (Maybe [ShareAttributes])
-- | The Fargate platform version where the jobs are running. A platform
-- version is specified only for jobs that are running on Fargate
-- resources. If one isn't specified, the LATEST platform
-- version is used by default. This uses a recent, approved version of
-- the Fargate platform for compute resources. For more information, see
-- Fargate platform versions in the Amazon Elastic Container
-- Service Developer Guide.
fargatePlatformConfiguration_platformVersion :: Lens' FargatePlatformConfiguration (Maybe Text)
-- | The path on the host container instance that's presented to the
-- container. If this parameter is empty, then the Docker daemon has
-- assigned a host path for you. If this parameter contains a file
-- location, then the data volume persists at the specified location on
-- the host container instance until you delete it manually. If the
-- source path location doesn't exist on the host container instance, the
-- Docker daemon creates it. If the location does exist, the contents of
-- the source path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
host_sourcePath :: Lens' Host (Maybe Text)
-- | The orchestration type of the compute environment. The valid values
-- are ECS (default) or EKS.
jobDefinition_containerOrchestrationType :: Lens' JobDefinition (Maybe OrchestrationType)
-- | An object with various properties specific to Amazon ECS based jobs.
-- Valid values are containerProperties, eksProperties,
-- and nodeProperties. Only one can be specified.
jobDefinition_containerProperties :: Lens' JobDefinition (Maybe ContainerProperties)
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
jobDefinition_eksProperties :: Lens' JobDefinition (Maybe EksProperties)
-- | An object with various properties that are specific to multi-node
-- parallel jobs. Valid values are containerProperties,
-- eksProperties, and nodeProperties. Only one can be
-- specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
jobDefinition_nodeProperties :: Lens' JobDefinition (Maybe NodeProperties)
-- | Default parameters or parameter substitution placeholders that are set
-- in the job definition. Parameters are specified as a key-value pair
-- mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
jobDefinition_parameters :: Lens' JobDefinition (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
jobDefinition_platformCapabilities :: Lens' JobDefinition (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
jobDefinition_propagateTags :: Lens' JobDefinition (Maybe Bool)
-- | The retry strategy to use for failed jobs that are submitted with this
-- job definition.
jobDefinition_retryStrategy :: Lens' JobDefinition (Maybe RetryStrategy)
-- | The scheduling priority of the job definition. This only affects jobs
-- in job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
jobDefinition_schedulingPriority :: Lens' JobDefinition (Maybe Int)
-- | The status of the job definition.
jobDefinition_status :: Lens' JobDefinition (Maybe Text)
-- | The tags that are applied to the job definition.
jobDefinition_tags :: Lens' JobDefinition (Maybe (HashMap Text Text))
-- | The timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
jobDefinition_timeout :: Lens' JobDefinition (Maybe JobTimeout)
-- | The name of the job definition.
jobDefinition_jobDefinitionName :: Lens' JobDefinition Text
-- | The Amazon Resource Name (ARN) for the job definition.
jobDefinition_jobDefinitionArn :: Lens' JobDefinition Text
-- | The revision of the job definition.
jobDefinition_revision :: Lens' JobDefinition Int
-- | The type of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
jobDefinition_type :: Lens' JobDefinition Text
-- | The job ID of the Batch job that's associated with this dependency.
jobDependency_jobId :: Lens' JobDependency (Maybe Text)
-- | The type of the job dependency.
jobDependency_type :: Lens' JobDependency (Maybe ArrayJobDependency)
-- | The array properties of the job, if it's an array job.
jobDetail_arrayProperties :: Lens' JobDetail (Maybe ArrayPropertiesDetail)
-- | A list of job attempts that are associated with this job.
jobDetail_attempts :: Lens' JobDetail (Maybe [AttemptDetail])
-- | An object that represents the details for the container that's
-- associated with the job.
jobDetail_container :: Lens' JobDetail (Maybe ContainerDetail)
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
jobDetail_createdAt :: Lens' JobDetail (Maybe Integer)
-- | A list of job IDs that this job depends on.
jobDetail_dependsOn :: Lens' JobDetail (Maybe [JobDependency])
-- | A list of job attempts that are associated with this job.
jobDetail_eksAttempts :: Lens' JobDetail (Maybe [EksAttemptDetail])
-- | An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
jobDetail_eksProperties :: Lens' JobDetail (Maybe EksPropertiesDetail)
-- | Indicates whether the job is canceled.
jobDetail_isCancelled :: Lens' JobDetail (Maybe Bool)
-- | Indicates whether the job is terminated.
jobDetail_isTerminated :: Lens' JobDetail (Maybe Bool)
-- | The Amazon Resource Name (ARN) of the job.
jobDetail_jobArn :: Lens' JobDetail (Maybe Text)
-- | An object that represents the details of a node that's associated with
-- a multi-node parallel job.
jobDetail_nodeDetails :: Lens' JobDetail (Maybe NodeDetails)
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
jobDetail_nodeProperties :: Lens' JobDetail (Maybe NodeProperties)
-- | Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
jobDetail_parameters :: Lens' JobDetail (Maybe (HashMap Text Text))
-- | The platform capabilities required by the job definition. If no value
-- is specified, it defaults to EC2. Jobs run on Fargate
-- resources specify FARGATE.
jobDetail_platformCapabilities :: Lens' JobDetail (Maybe [PlatformCapability])
-- | Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
jobDetail_propagateTags :: Lens' JobDetail (Maybe Bool)
-- | The retry strategy to use for this job if an attempt fails.
jobDetail_retryStrategy :: Lens' JobDetail (Maybe RetryStrategy)
-- | The scheduling policy of the job definition. This only affects jobs in
-- job queues with a fair share policy. Jobs with a higher scheduling
-- priority are scheduled before jobs with a lower scheduling priority.
jobDetail_schedulingPriority :: Lens' JobDetail (Maybe Int)
-- | The share identifier for the job.
jobDetail_shareIdentifier :: Lens' JobDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the job was started.
-- More specifically, it's when the job transitioned from the
-- STARTING state to the RUNNING state. This parameter
-- isn't provided for child jobs of array jobs or multi-node parallel
-- jobs.
jobDetail_startedAt :: Lens' JobDetail (Maybe Integer)
-- | A short, human-readable string to provide more details for the current
-- status of the job.
jobDetail_statusReason :: Lens' JobDetail (Maybe Text)
-- | The Unix timestamp (in milliseconds) for when the job was stopped.
-- More specifically, it's when the job transitioned from the
-- RUNNING state to a terminal state, such as SUCCEEDED
-- or FAILED.
jobDetail_stoppedAt :: Lens' JobDetail (Maybe Integer)
-- | The tags that are applied to the job.
jobDetail_tags :: Lens' JobDetail (Maybe (HashMap Text Text))
-- | The timeout configuration for the job.
jobDetail_timeout :: Lens' JobDetail (Maybe JobTimeout)
-- | The job name.
jobDetail_jobName :: Lens' JobDetail Text
-- | The job ID.
jobDetail_jobId :: Lens' JobDetail Text
-- | The Amazon Resource Name (ARN) of the job queue that the job is
-- associated with.
jobDetail_jobQueue :: Lens' JobDetail Text
-- | The current status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
jobDetail_status :: Lens' JobDetail JobStatus
-- | The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
jobDetail_jobDefinition :: Lens' JobDetail Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
jobQueueDetail_schedulingPolicyArn :: Lens' JobQueueDetail (Maybe Text)
-- | The status of the job queue (for example, CREATING or
-- VALID).
jobQueueDetail_status :: Lens' JobQueueDetail (Maybe JQStatus)
-- | A short, human-readable string to provide additional details for the
-- current status of the job queue.
jobQueueDetail_statusReason :: Lens' JobQueueDetail (Maybe Text)
-- | The tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
jobQueueDetail_tags :: Lens' JobQueueDetail (Maybe (HashMap Text Text))
-- | The job queue name.
jobQueueDetail_jobQueueName :: Lens' JobQueueDetail Text
-- | The Amazon Resource Name (ARN) of the job queue.
jobQueueDetail_jobQueueArn :: Lens' JobQueueDetail Text
-- | Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
jobQueueDetail_state :: Lens' JobQueueDetail JQState
-- | The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
jobQueueDetail_priority :: Lens' JobQueueDetail Int
-- | The compute environments that are attached to the job queue and the
-- order that job placement is preferred. Compute environments are
-- selected for job placement in ascending order.
jobQueueDetail_computeEnvironmentOrder :: Lens' JobQueueDetail [ComputeEnvironmentOrder]
-- | The array properties of the job, if it's an array job.
jobSummary_arrayProperties :: Lens' JobSummary (Maybe ArrayPropertiesSummary)
-- | An object that represents the details of the container that's
-- associated with the job.
jobSummary_container :: Lens' JobSummary (Maybe ContainerSummary)
-- | The Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
jobSummary_createdAt :: Lens' JobSummary (Maybe Integer)
-- | The Amazon Resource Name (ARN) of the job.
jobSummary_jobArn :: Lens' JobSummary (Maybe Text)
-- | The Amazon Resource Name (ARN) of the job definition.
jobSummary_jobDefinition :: Lens' JobSummary (Maybe Text)
-- | The node properties for a single node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
jobSummary_nodeProperties :: Lens' JobSummary (Maybe NodePropertiesSummary)
-- | The Unix timestamp for when the job was started. More specifically,
-- it's when the job transitioned from the STARTING state to the
-- RUNNING state.
jobSummary_startedAt :: Lens' JobSummary (Maybe Integer)
-- | The current status for the job.
jobSummary_status :: Lens' JobSummary (Maybe JobStatus)
-- | A short, human-readable string to provide more details for the current
-- status of the job.
jobSummary_statusReason :: Lens' JobSummary (Maybe Text)
-- | The Unix timestamp for when the job was stopped. More specifically,
-- it's when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
jobSummary_stoppedAt :: Lens' JobSummary (Maybe Integer)
-- | The job ID.
jobSummary_jobId :: Lens' JobSummary Text
-- | The job name.
jobSummary_jobName :: Lens' JobSummary Text
-- | The job timeout time (in seconds) that's measured from the job
-- attempt's startedAt timestamp. After this time passes, Batch
-- terminates your jobs if they aren't finished. The minimum value for
-- the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
jobTimeout_attemptDurationSeconds :: Lens' JobTimeout (Maybe Int)
-- | The name of the key-value pair. For environment variables, this is the
-- name of the environment variable.
keyValuePair_name :: Lens' KeyValuePair (Maybe Text)
-- | The value of the key-value pair. For environment variables, this is
-- the value of the environment variable.
keyValuePair_value :: Lens' KeyValuePair (Maybe Text)
-- | The name of the filter. Filter names are case sensitive.
keyValuesPair_name :: Lens' KeyValuesPair (Maybe Text)
-- | The filter values.
keyValuesPair_values :: Lens' KeyValuesPair (Maybe [Text])
-- | The ID of the launch template.
launchTemplateSpecification_launchTemplateId :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | The name of the launch template.
launchTemplateSpecification_launchTemplateName :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | The version number of the launch template, $Latest, or
-- $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
launchTemplateSpecification_version :: Lens' LaunchTemplateSpecification (Maybe Text)
-- | Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_devices :: Lens' LinuxParameters (Maybe [Device])
-- | If true, run an init process inside the container that
-- forwards signals and reaps processes. This parameter maps to the
-- --init option to docker run. This parameter requires
-- version 1.25 of the Docker Remote API or greater on your container
-- instance. To check the Docker Remote API version on your container
-- instance, log in to your container instance and run the following
-- command: sudo docker version | grep "Server API version"
linuxParameters_initProcessEnabled :: Lens' LinuxParameters (Maybe Bool)
-- | The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_maxSwap :: Lens' LinuxParameters (Maybe Int)
-- | The value for the size (in MiB) of the /dev/shm volume. This
-- parameter maps to the --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_sharedMemorySize :: Lens' LinuxParameters (Maybe Int)
-- | You can use this parameter to tune a container's memory swappiness
-- behavior. A swappiness value of 0 causes swapping to
-- not occur unless absolutely necessary. A swappiness value of
-- 100 causes pages to be swapped aggressively. Valid values are
-- whole numbers between 0 and 100. If the
-- swappiness parameter isn't specified, a default value of
-- 60 is used. If a value isn't specified for maxSwap,
-- then this parameter is ignored. If maxSwap is set to 0, the
-- container doesn't use swap. This parameter maps to the
-- --memory-swappiness option to docker run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
linuxParameters_swappiness :: Lens' LinuxParameters (Maybe Int)
-- | The container path, mount options, and size (in MiB) of the
-- tmpfs mount. This parameter maps to the --tmpfs
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
linuxParameters_tmpfs :: Lens' LinuxParameters (Maybe [Tmpfs])
-- | The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
logConfiguration_options :: Lens' LogConfiguration (Maybe (HashMap Text Text))
-- | The secrets to pass to the log configuration. For more information,
-- see Specifying sensitive data in the Batch User Guide.
logConfiguration_secretOptions :: Lens' LogConfiguration (Maybe [Secret])
-- | The log driver to use for the container. The valid values that are
-- listed for this parameter are log drivers that the Amazon ECS
-- container agent can communicate with by default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
logConfiguration_logDriver :: Lens' LogConfiguration LogDriver
-- | The path on the container where the host volume is mounted.
mountPoint_containerPath :: Lens' MountPoint (Maybe Text)
-- | If this value is true, the container has read-only access to
-- the volume. Otherwise, the container can write to the volume. The
-- default value is false.
mountPoint_readOnly :: Lens' MountPoint (Maybe Bool)
-- | The name of the volume to mount.
mountPoint_sourceVolume :: Lens' MountPoint (Maybe Text)
-- | Indicates whether the job has a public IP address. For a job that's
-- running on Fargate resources in a private subnet to send outbound
-- traffic to the internet (for example, to pull container images), the
-- private subnet requires a NAT gateway be attached to route requests to
-- the internet. For more information, see Amazon ECS task
-- networking in the Amazon Elastic Container Service Developer
-- Guide. The default value is "DISABLED".
networkConfiguration_assignPublicIp :: Lens' NetworkConfiguration (Maybe AssignPublicIp)
-- | The attachment ID for the network interface.
networkInterface_attachmentId :: Lens' NetworkInterface (Maybe Text)
-- | The private IPv6 address for the network interface.
networkInterface_ipv6Address :: Lens' NetworkInterface (Maybe Text)
-- | The private IPv4 address for the network interface.
networkInterface_privateIpv4Address :: Lens' NetworkInterface (Maybe Text)
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
nodeDetails_isMainNode :: Lens' NodeDetails (Maybe Bool)
-- | The node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
nodeDetails_nodeIndex :: Lens' NodeDetails (Maybe Int)
-- | The node property overrides for the job.
nodeOverrides_nodePropertyOverrides :: Lens' NodeOverrides (Maybe [NodePropertyOverride])
-- | The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
nodeOverrides_numNodes :: Lens' NodeOverrides (Maybe Int)
-- | The number of nodes that are associated with a multi-node parallel
-- job.
nodeProperties_numNodes :: Lens' NodeProperties Int
-- | Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
nodeProperties_mainNode :: Lens' NodeProperties Int
-- | A list of node ranges and their properties that are associated with a
-- multi-node parallel job.
nodeProperties_nodeRangeProperties :: Lens' NodeProperties [NodeRangeProperty]
-- | Specifies whether the current node is the main node for a multi-node
-- parallel job.
nodePropertiesSummary_isMainNode :: Lens' NodePropertiesSummary (Maybe Bool)
-- | The node index for the node. Node index numbering begins at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
nodePropertiesSummary_nodeIndex :: Lens' NodePropertiesSummary (Maybe Int)
-- | The number of nodes that are associated with a multi-node parallel
-- job.
nodePropertiesSummary_numNodes :: Lens' NodePropertiesSummary (Maybe Int)
-- | The overrides that are sent to a node range.
nodePropertyOverride_containerOverrides :: Lens' NodePropertyOverride (Maybe ContainerOverrides)
-- | The range of nodes, using node index values, that's used to override.
-- A range of 0:3 indicates nodes with index values of
-- 0 through 3. If the starting range value is omitted
-- (:n), then 0 is used to start the range. If the
-- ending range value is omitted (n:), then the highest possible
-- node index is used to end the range.
nodePropertyOverride_targetNodes :: Lens' NodePropertyOverride Text
-- | The container details for the node range.
nodeRangeProperty_container :: Lens' NodeRangeProperty (Maybe ContainerProperties)
-- | The range of nodes, using node index values. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range. Your accumulative node ranges must account for all nodes
-- (0:n). You can nest node ranges (for example, 0:10
-- and 4:5). In this case, the 4:5 range properties
-- override the 0:10 properties.
nodeRangeProperty_targetNodes :: Lens' NodeRangeProperty Text
-- | The quantity of the specified resource to reserve for the container.
-- The values vary based on the type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
resourceRequirement_value :: Lens' ResourceRequirement Text
-- | The type of resource to assign to a container. The supported resources
-- include GPU, MEMORY, and VCPU.
resourceRequirement_type :: Lens' ResourceRequirement ResourceType
-- | The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
retryStrategy_attempts :: Lens' RetryStrategy (Maybe Int)
-- | Array of up to 5 objects that specify the conditions where jobs are
-- retried or failed. If this parameter is specified, then the
-- attempts parameter must also be specified. If none of the
-- listed conditions match, then the job is retried.
retryStrategy_evaluateOnExit :: Lens' RetryStrategy (Maybe [EvaluateOnExit])
-- | The fair share policy for the scheduling policy.
schedulingPolicyDetail_fairsharePolicy :: Lens' SchedulingPolicyDetail (Maybe FairsharePolicy)
-- | The tags that you apply to the scheduling policy to categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- resources in Amazon Web Services General Reference.
schedulingPolicyDetail_tags :: Lens' SchedulingPolicyDetail (Maybe (HashMap Text Text))
-- | The name of the scheduling policy.
schedulingPolicyDetail_name :: Lens' SchedulingPolicyDetail Text
-- | The Amazon Resource Name (ARN) of the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
schedulingPolicyDetail_arn :: Lens' SchedulingPolicyDetail Text
-- | Amazon Resource Name (ARN) of the scheduling policy.
schedulingPolicyListingDetail_arn :: Lens' SchedulingPolicyListingDetail Text
-- | The name of the secret.
secret_name :: Lens' Secret Text
-- | The secret to expose to the container. The supported values are either
-- the full Amazon Resource Name (ARN) of the Secrets Manager secret or
-- the full ARN of the parameter in the Amazon Web Services Systems
-- Manager Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
secret_valueFrom :: Lens' Secret Text
-- | The weight factor for the fair share identifier. The default value is
-- 1.0. A lower value has a higher priority for compute resources. For
-- example, jobs that use a share identifier with a weight factor of
-- 0.125 (1/8) get 8 times the compute resources of jobs that use a share
-- identifier with a weight factor of 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
shareAttributes_weightFactor :: Lens' ShareAttributes (Maybe Double)
-- | A fair share identifier or fair share identifier prefix. If the string
-- ends with an asterisk (*), this entry specifies the weight factor to
-- use for fair share identifiers that start with that prefix. The list
-- of fair share identifiers in a fair share policy can't overlap. For
-- example, you can't have one that specifies a shareIdentifier
-- of UserA* and another that specifies a
-- shareIdentifier of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
shareAttributes_shareIdentifier :: Lens' ShareAttributes Text
-- | The list of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
tmpfs_mountOptions :: Lens' Tmpfs (Maybe [Text])
-- | The absolute file path in the container where the tmpfs
-- volume is mounted.
tmpfs_containerPath :: Lens' Tmpfs Text
-- | The size (in MiB) of the tmpfs volume.
tmpfs_size :: Lens' Tmpfs Int
-- | The hard limit for the ulimit type.
ulimit_hardLimit :: Lens' Ulimit Int
-- | The type of the ulimit.
ulimit_name :: Lens' Ulimit Text
-- | The soft limit for the ulimit type.
ulimit_softLimit :: Lens' Ulimit Int
-- | Specifies the job timeout (in minutes) when the compute environment
-- infrastructure is updated. The default value is 30.
updatePolicy_jobExecutionTimeoutMinutes :: Lens' UpdatePolicy (Maybe Natural)
-- | Specifies whether jobs are automatically terminated when the computer
-- environment infrastructure is updated. The default value is
-- false.
updatePolicy_terminateJobsOnUpdate :: Lens' UpdatePolicy (Maybe Bool)
-- | This parameter is specified when you're using an Amazon Elastic File
-- System file system for job storage. Jobs that are running on Fargate
-- resources must specify a platformVersion of at least
-- 1.4.0.
volume_efsVolumeConfiguration :: Lens' Volume (Maybe EFSVolumeConfiguration)
-- | The contents of the host parameter determine whether your
-- data volume persists on the host container instance and where it's
-- stored. If the host parameter is empty, then the Docker daemon assigns
-- a host path for your data volume. However, the data isn't guaranteed
-- to persist after the containers that are associated with it stop
-- running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
volume_host :: Lens' Volume (Maybe Host)
-- | The name of the volume. It can be up to 255 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_). This name is referenced in the sourceVolume
-- parameter of container definition mountPoints.
volume_name :: Lens' Volume (Maybe Text)
module Amazonka.Batch.Waiters
-- | 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
-- | API version 2016-08-10 of the Amazon Batch SDK configuration.
defaultService :: Service
-- | These errors are usually caused by a client action. One example cause
-- is using an action or resource on behalf of a user that doesn't have
-- permissions to use the action or resource. Another cause is specifying
-- an identifier that's not valid.
_ClientException :: AsError a => Fold a ServiceError
-- | These errors are usually caused by a server issue.
_ServerException :: AsError a => Fold a ServiceError
-- | Contains the parameters for CancelJob.
--
-- See: newCancelJob smart constructor.
data CancelJob
CancelJob' :: Text -> Text -> CancelJob
-- | Create a value of CancelJob with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CancelJob, cancelJob_jobId - The Batch job ID of the job
-- to cancel.
--
-- CancelJob, cancelJob_reason - A message to attach to the
-- job that explains the reason for canceling it. This message is
-- returned by future DescribeJobs operations on the job. This message is
-- also recorded in the Batch activity logs.
newCancelJob :: Text -> Text -> CancelJob
-- | See: newCancelJobResponse smart constructor.
data CancelJobResponse
CancelJobResponse' :: Int -> CancelJobResponse
-- | Create a value of CancelJobResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:CancelJobResponse',
-- cancelJobResponse_httpStatus - The response's http status code.
newCancelJobResponse :: Int -> CancelJobResponse
-- | Contains the parameters for CreateComputeEnvironment.
--
-- See: newCreateComputeEnvironment smart constructor.
data CreateComputeEnvironment
CreateComputeEnvironment' :: Maybe ComputeResource -> Maybe EksConfiguration -> Maybe Text -> Maybe CEState -> Maybe (HashMap Text Text) -> Maybe Int -> Text -> CEType -> CreateComputeEnvironment
-- | Create a value of CreateComputeEnvironment with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_computeResources - Details about the
-- compute resources managed by the compute environment. This parameter
-- is required for managed compute environments. For more information,
-- see Compute Environments in the Batch User Guide.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_eksConfiguration - The details for the
-- Amazon EKS cluster that supports the compute environment.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_serviceRole - The full Amazon Resource
-- Name (ARN) of the IAM role that allows Batch to make calls to other
-- Amazon Web Services services on your behalf. For more information, see
-- Batch service IAM role in the Batch User Guide.
--
-- If your account already created the Batch service-linked role, that
-- role is used by default for your compute environment unless you
-- specify a different role here. If the Batch service-linked role
-- doesn't exist in your account, and no role is specified here, the
-- service attempts to create the Batch service-linked role in your
-- account.
--
-- If your specified role has a path other than /, then you must
-- specify either the full role ARN (recommended) or prefix the role name
-- with the path. For example, if a role with the name bar has a
-- path of /foo/, specify /foo/bar as the role name.
-- For more information, see Friendly names and paths in the
-- IAM User Guide.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
--
-- CreateComputeEnvironment, createComputeEnvironment_state
-- - The state of the compute environment. If the state is
-- ENABLED, then the compute environment accepts jobs from a
-- queue and can scale out automatically based on queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
--
-- CreateComputeEnvironment, createComputeEnvironment_tags
-- - The tags that you apply to the compute environment to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations. These tags don't propagate to the
-- underlying compute resources.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_unmanagedvCpus - The maximum number of
-- vCPUs for an unmanaged compute environment. This parameter is only
-- used for fair share scheduling to reserve vCPU capacity for new share
-- identifiers. If this parameter isn't provided for a fair share job
-- queue, no vCPU capacity is reserved.
--
-- This parameter is only supported when the type parameter is
-- set to UNMANAGED.
--
-- CreateComputeEnvironment,
-- createComputeEnvironment_computeEnvironmentName - The name for
-- your compute environment. It can be up to 128 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
--
-- CreateComputeEnvironment, createComputeEnvironment_type
-- - The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- Environments in the Batch User Guide.
newCreateComputeEnvironment :: Text -> CEType -> CreateComputeEnvironment
-- | See: newCreateComputeEnvironmentResponse smart
-- constructor.
data CreateComputeEnvironmentResponse
CreateComputeEnvironmentResponse' :: Maybe Text -> Maybe Text -> Int -> CreateComputeEnvironmentResponse
-- | Create a value of CreateComputeEnvironmentResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateComputeEnvironmentResponse,
-- createComputeEnvironmentResponse_computeEnvironmentArn - The
-- Amazon Resource Name (ARN) of the compute environment.
--
-- CreateComputeEnvironment,
-- createComputeEnvironmentResponse_computeEnvironmentName - The
-- name of the compute environment. It can be up to 128 characters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
--
-- $sel:httpStatus:CreateComputeEnvironmentResponse',
-- createComputeEnvironmentResponse_httpStatus - The response's
-- http status code.
newCreateComputeEnvironmentResponse :: Int -> CreateComputeEnvironmentResponse
-- | Contains the parameters for CreateJobQueue.
--
-- See: newCreateJobQueue smart constructor.
data CreateJobQueue
CreateJobQueue' :: Maybe Text -> Maybe JQState -> Maybe (HashMap Text Text) -> Text -> Int -> [ComputeEnvironmentOrder] -> CreateJobQueue
-- | Create a value of CreateJobQueue with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateJobQueue, createJobQueue_schedulingPolicyArn - The
-- Amazon Resource Name (ARN) of the fair share scheduling policy. If
-- this parameter is specified, the job queue uses a fair share
-- scheduling policy. If this parameter isn't specified, the job queue
-- uses a first in, first out (FIFO) scheduling policy. After a job queue
-- is created, you can replace but can't remove the fair share scheduling
-- policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . An example is
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
--
-- CreateJobQueue, createJobQueue_state - The state of the
-- job queue. If the job queue state is ENABLED, it is able to
-- accept jobs. If the job queue state is DISABLED, new jobs
-- can't be added to the queue, but jobs already in the queue can finish.
--
-- CreateJobQueue, createJobQueue_tags - The tags that you
-- apply to the job queue to help you categorize and organize your
-- resources. Each tag consists of a key and an optional value. For more
-- information, see Tagging your Batch resources in Batch User
-- Guide.
--
-- CreateJobQueue, createJobQueue_jobQueueName - The name
-- of the job queue. It can be up to 128 letters long. It can contain
-- uppercase and lowercase letters, numbers, hyphens (-), and underscores
-- (_).
--
-- CreateJobQueue, createJobQueue_priority - The priority
-- of the job queue. Job queues with a higher priority (or a higher
-- integer value for the priority parameter) are evaluated first
-- when associated with the same compute environment. Priority is
-- determined in descending order. For example, a job queue with a
-- priority value of 10 is given scheduling preference over a
-- job queue with a priority value of 1. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate
-- compute environments can't be mixed.
--
-- CreateJobQueue, createJobQueue_computeEnvironmentOrder -
-- The set of compute environments mapped to a job queue and their order
-- relative to each other. The job scheduler uses this parameter to
-- determine which compute environment runs a specific job. Compute
-- environments must be in the VALID state before you can
-- associate them with a job queue. You can associate up to three compute
-- environments with a job queue. All of the compute environments must be
-- either EC2 (EC2 or SPOT) or Fargate
-- (FARGATE or FARGATE_SPOT); EC2 and Fargate compute
-- environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
newCreateJobQueue :: Text -> Int -> CreateJobQueue
-- | See: newCreateJobQueueResponse smart constructor.
data CreateJobQueueResponse
CreateJobQueueResponse' :: Int -> Text -> Text -> CreateJobQueueResponse
-- | Create a value of CreateJobQueueResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:CreateJobQueueResponse',
-- createJobQueueResponse_httpStatus - The response's http status
-- code.
--
-- CreateJobQueue, createJobQueueResponse_jobQueueName -
-- The name of the job queue.
--
-- CreateJobQueueResponse,
-- createJobQueueResponse_jobQueueArn - The Amazon Resource Name
-- (ARN) of the job queue.
newCreateJobQueueResponse :: Int -> Text -> Text -> CreateJobQueueResponse
-- | Contains the parameters for CreateSchedulingPolicy.
--
-- See: newCreateSchedulingPolicy smart constructor.
data CreateSchedulingPolicy
CreateSchedulingPolicy' :: Maybe FairsharePolicy -> Maybe (HashMap Text Text) -> Text -> CreateSchedulingPolicy
-- | Create a value of CreateSchedulingPolicy with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- CreateSchedulingPolicy,
-- createSchedulingPolicy_fairsharePolicy - The fair share policy
-- of the scheduling policy.
--
-- CreateSchedulingPolicy, createSchedulingPolicy_tags -
-- The tags that you apply to the scheduling policy to help you
-- categorize and organize your resources. Each tag consists of a key and
-- an optional value. For more information, see Tagging Amazon Web
-- Services Resources in Amazon Web Services General
-- Reference.
--
-- These tags can be updated or removed using the TagResource and
-- UntagResource API operations.
--
-- CreateSchedulingPolicy, createSchedulingPolicy_name -
-- The name of the scheduling policy. It can be up to 128 letters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
newCreateSchedulingPolicy :: Text -> CreateSchedulingPolicy
-- | See: newCreateSchedulingPolicyResponse smart
-- constructor.
data CreateSchedulingPolicyResponse
CreateSchedulingPolicyResponse' :: Int -> Text -> Text -> CreateSchedulingPolicyResponse
-- | Create a value of CreateSchedulingPolicyResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:CreateSchedulingPolicyResponse',
-- createSchedulingPolicyResponse_httpStatus - The response's http
-- status code.
--
-- CreateSchedulingPolicy,
-- createSchedulingPolicyResponse_name - The name of the
-- scheduling policy.
--
-- CreateSchedulingPolicyResponse,
-- createSchedulingPolicyResponse_arn - The Amazon Resource Name
-- (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
newCreateSchedulingPolicyResponse :: Int -> Text -> Text -> CreateSchedulingPolicyResponse
-- | Contains the parameters for DeleteComputeEnvironment.
--
-- See: newDeleteComputeEnvironment smart constructor.
data DeleteComputeEnvironment
DeleteComputeEnvironment' :: Text -> DeleteComputeEnvironment
-- | Create a value of DeleteComputeEnvironment with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeleteComputeEnvironment,
-- deleteComputeEnvironment_computeEnvironment - The name or
-- Amazon Resource Name (ARN) of the compute environment to delete.
newDeleteComputeEnvironment :: Text -> DeleteComputeEnvironment
-- | See: newDeleteComputeEnvironmentResponse smart
-- constructor.
data DeleteComputeEnvironmentResponse
DeleteComputeEnvironmentResponse' :: Int -> DeleteComputeEnvironmentResponse
-- | Create a value of DeleteComputeEnvironmentResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeleteComputeEnvironmentResponse',
-- deleteComputeEnvironmentResponse_httpStatus - The response's
-- http status code.
newDeleteComputeEnvironmentResponse :: Int -> DeleteComputeEnvironmentResponse
-- | Contains the parameters for DeleteJobQueue.
--
-- See: newDeleteJobQueue smart constructor.
data DeleteJobQueue
DeleteJobQueue' :: Text -> DeleteJobQueue
-- | Create a value of DeleteJobQueue with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeleteJobQueue, deleteJobQueue_jobQueue - The short name
-- or full Amazon Resource Name (ARN) of the queue to delete.
newDeleteJobQueue :: Text -> DeleteJobQueue
-- | See: newDeleteJobQueueResponse smart constructor.
data DeleteJobQueueResponse
DeleteJobQueueResponse' :: Int -> DeleteJobQueueResponse
-- | Create a value of DeleteJobQueueResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeleteJobQueueResponse',
-- deleteJobQueueResponse_httpStatus - The response's http status
-- code.
newDeleteJobQueueResponse :: Int -> DeleteJobQueueResponse
-- | Contains the parameters for DeleteSchedulingPolicy.
--
-- See: newDeleteSchedulingPolicy smart constructor.
data DeleteSchedulingPolicy
DeleteSchedulingPolicy' :: Text -> DeleteSchedulingPolicy
-- | Create a value of DeleteSchedulingPolicy with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeleteSchedulingPolicy, deleteSchedulingPolicy_arn - The
-- Amazon Resource Name (ARN) of the scheduling policy to delete.
newDeleteSchedulingPolicy :: Text -> DeleteSchedulingPolicy
-- | See: newDeleteSchedulingPolicyResponse smart
-- constructor.
data DeleteSchedulingPolicyResponse
DeleteSchedulingPolicyResponse' :: Int -> DeleteSchedulingPolicyResponse
-- | Create a value of DeleteSchedulingPolicyResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeleteSchedulingPolicyResponse',
-- deleteSchedulingPolicyResponse_httpStatus - The response's http
-- status code.
newDeleteSchedulingPolicyResponse :: Int -> DeleteSchedulingPolicyResponse
-- | See: newDeregisterJobDefinition smart constructor.
data DeregisterJobDefinition
DeregisterJobDefinition' :: Text -> DeregisterJobDefinition
-- | Create a value of DeregisterJobDefinition with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DeregisterJobDefinition,
-- deregisterJobDefinition_jobDefinition - The name and revision
-- (name:revision) or full Amazon Resource Name (ARN) of the job
-- definition to deregister.
newDeregisterJobDefinition :: Text -> DeregisterJobDefinition
-- | See: newDeregisterJobDefinitionResponse smart
-- constructor.
data DeregisterJobDefinitionResponse
DeregisterJobDefinitionResponse' :: Int -> DeregisterJobDefinitionResponse
-- | Create a value of DeregisterJobDefinitionResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:DeregisterJobDefinitionResponse',
-- deregisterJobDefinitionResponse_httpStatus - The response's
-- http status code.
newDeregisterJobDefinitionResponse :: Int -> DeregisterJobDefinitionResponse
-- | Contains the parameters for DescribeComputeEnvironments.
--
-- See: newDescribeComputeEnvironments smart constructor.
data DescribeComputeEnvironments
DescribeComputeEnvironments' :: Maybe [Text] -> Maybe Int -> Maybe Text -> DescribeComputeEnvironments
-- | Create a value of DescribeComputeEnvironments with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironments_computeEnvironments - A list of up
-- to 100 compute environment names or full Amazon Resource Name (ARN)
-- entries.
--
-- $sel:maxResults:DescribeComputeEnvironments',
-- describeComputeEnvironments_maxResults - The maximum number of
-- cluster results returned by DescribeComputeEnvironments in
-- paginated output. When this parameter is used,
-- DescribeComputeEnvironments only returns maxResults
-- results in a single page along with a nextToken response
-- element. The remaining results of the initial request can be seen by
-- sending another DescribeComputeEnvironments request with the
-- returned nextToken value. This value can be between 1 and
-- 100. If this parameter isn't used, then
-- DescribeComputeEnvironments returns up to 100 results and a
-- nextToken value if applicable.
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironments_nextToken - The nextToken
-- value returned from a previous paginated
-- DescribeComputeEnvironments request where maxResults
-- was used and the results exceeded the value of that parameter.
-- Pagination continues from the end of the previous results that
-- returned the nextToken value. This value is null
-- when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newDescribeComputeEnvironments :: DescribeComputeEnvironments
-- | See: newDescribeComputeEnvironmentsResponse smart
-- constructor.
data DescribeComputeEnvironmentsResponse
DescribeComputeEnvironmentsResponse' :: Maybe [ComputeEnvironmentDetail] -> Maybe Text -> Int -> DescribeComputeEnvironmentsResponse
-- | Create a value of DescribeComputeEnvironmentsResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironmentsResponse_computeEnvironments - The
-- list of compute environments.
--
-- DescribeComputeEnvironments,
-- describeComputeEnvironmentsResponse_nextToken - The
-- nextToken value to include in a future
-- DescribeComputeEnvironments request. When the results of a
-- DescribeComputeEnvironments request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
--
-- $sel:httpStatus:DescribeComputeEnvironmentsResponse',
-- describeComputeEnvironmentsResponse_httpStatus - The response's
-- http status code.
newDescribeComputeEnvironmentsResponse :: Int -> DescribeComputeEnvironmentsResponse
-- | Contains the parameters for DescribeJobDefinitions.
--
-- See: newDescribeJobDefinitions smart constructor.
data DescribeJobDefinitions
DescribeJobDefinitions' :: Maybe Text -> Maybe [Text] -> Maybe Int -> Maybe Text -> Maybe Text -> DescribeJobDefinitions
-- | Create a value of DescribeJobDefinitions with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobDefinitions,
-- describeJobDefinitions_jobDefinitionName - The name of the job
-- definition to describe.
--
-- DescribeJobDefinitions,
-- describeJobDefinitions_jobDefinitions - A list of up to 100 job
-- definitions. Each entry in the list can either be an ARN in the format
-- arn:aws:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}
-- or a short version using the form
-- ${JobDefinitionName}:${Revision}.
--
-- $sel:maxResults:DescribeJobDefinitions',
-- describeJobDefinitions_maxResults - The maximum number of
-- results returned by DescribeJobDefinitions in paginated
-- output. When this parameter is used, DescribeJobDefinitions
-- only returns maxResults results in a single page and a
-- nextToken response element. The remaining results of the
-- initial request can be seen by sending another
-- DescribeJobDefinitions request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then DescribeJobDefinitions returns up
-- to 100 results and a nextToken value if applicable.
--
-- DescribeJobDefinitions, describeJobDefinitions_nextToken
-- - The nextToken value returned from a previous paginated
-- DescribeJobDefinitions request where maxResults was
-- used and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
--
-- DescribeJobDefinitions, describeJobDefinitions_status -
-- The status used to filter job definitions.
newDescribeJobDefinitions :: DescribeJobDefinitions
-- | See: newDescribeJobDefinitionsResponse smart
-- constructor.
data DescribeJobDefinitionsResponse
DescribeJobDefinitionsResponse' :: Maybe [JobDefinition] -> Maybe Text -> Int -> DescribeJobDefinitionsResponse
-- | Create a value of DescribeJobDefinitionsResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobDefinitions,
-- describeJobDefinitionsResponse_jobDefinitions - The list of job
-- definitions.
--
-- DescribeJobDefinitions,
-- describeJobDefinitionsResponse_nextToken - The
-- nextToken value to include in a future
-- DescribeJobDefinitions request. When the results of a
-- DescribeJobDefinitions request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
--
-- $sel:httpStatus:DescribeJobDefinitionsResponse',
-- describeJobDefinitionsResponse_httpStatus - The response's http
-- status code.
newDescribeJobDefinitionsResponse :: Int -> DescribeJobDefinitionsResponse
-- | Contains the parameters for DescribeJobQueues.
--
-- See: newDescribeJobQueues smart constructor.
data DescribeJobQueues
DescribeJobQueues' :: Maybe [Text] -> Maybe Int -> Maybe Text -> DescribeJobQueues
-- | Create a value of DescribeJobQueues with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobQueues, describeJobQueues_jobQueues - A list
-- of up to 100 queue names or full queue Amazon Resource Name (ARN)
-- entries.
--
-- $sel:maxResults:DescribeJobQueues',
-- describeJobQueues_maxResults - The maximum number of results
-- returned by DescribeJobQueues in paginated output. When this
-- parameter is used, DescribeJobQueues only returns
-- maxResults results in a single page and a nextToken
-- response element. The remaining results of the initial request can be
-- seen by sending another DescribeJobQueues request with the
-- returned nextToken value. This value can be between 1 and
-- 100. If this parameter isn't used, then DescribeJobQueues
-- returns up to 100 results and a nextToken value if
-- applicable.
--
-- DescribeJobQueues, describeJobQueues_nextToken - The
-- nextToken value returned from a previous paginated
-- DescribeJobQueues request where maxResults was used
-- and the results exceeded the value of that parameter. Pagination
-- continues from the end of the previous results that returned the
-- nextToken value. This value is null when there are
-- no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newDescribeJobQueues :: DescribeJobQueues
-- | See: newDescribeJobQueuesResponse smart constructor.
data DescribeJobQueuesResponse
DescribeJobQueuesResponse' :: Maybe [JobQueueDetail] -> Maybe Text -> Int -> DescribeJobQueuesResponse
-- | Create a value of DescribeJobQueuesResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobQueues, describeJobQueuesResponse_jobQueues -
-- The list of job queues.
--
-- DescribeJobQueues, describeJobQueuesResponse_nextToken -
-- The nextToken value to include in a future
-- DescribeJobQueues request. When the results of a
-- DescribeJobQueues request exceed maxResults, this
-- value can be used to retrieve the next page of results. This value is
-- null when there are no more results to return.
--
-- $sel:httpStatus:DescribeJobQueuesResponse',
-- describeJobQueuesResponse_httpStatus - The response's http
-- status code.
newDescribeJobQueuesResponse :: Int -> DescribeJobQueuesResponse
-- | Contains the parameters for DescribeJobs.
--
-- See: newDescribeJobs smart constructor.
data DescribeJobs
DescribeJobs' :: [Text] -> DescribeJobs
-- | Create a value of DescribeJobs with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobs, describeJobs_jobs - A list of up to 100
-- job IDs.
newDescribeJobs :: DescribeJobs
-- | See: newDescribeJobsResponse smart constructor.
data DescribeJobsResponse
DescribeJobsResponse' :: Maybe [JobDetail] -> Int -> DescribeJobsResponse
-- | Create a value of DescribeJobsResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- DescribeJobs, describeJobsResponse_jobs - The list of
-- jobs.
--
-- $sel:httpStatus:DescribeJobsResponse',
-- describeJobsResponse_httpStatus - The response's http status
-- code.
newDescribeJobsResponse :: Int -> DescribeJobsResponse
-- | Contains the parameters for DescribeSchedulingPolicies.
--
-- See: newDescribeSchedulingPolicies smart constructor.
data DescribeSchedulingPolicies
DescribeSchedulingPolicies' :: [Text] -> DescribeSchedulingPolicies
-- | Create a value of DescribeSchedulingPolicies with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arns:DescribeSchedulingPolicies',
-- describeSchedulingPolicies_arns - A list of up to 100
-- scheduling policy Amazon Resource Name (ARN) entries.
newDescribeSchedulingPolicies :: DescribeSchedulingPolicies
-- | See: newDescribeSchedulingPoliciesResponse smart
-- constructor.
data DescribeSchedulingPoliciesResponse
DescribeSchedulingPoliciesResponse' :: Maybe [SchedulingPolicyDetail] -> Int -> DescribeSchedulingPoliciesResponse
-- | Create a value of DescribeSchedulingPoliciesResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:schedulingPolicies:DescribeSchedulingPoliciesResponse',
-- describeSchedulingPoliciesResponse_schedulingPolicies - The
-- list of scheduling policies.
--
-- $sel:httpStatus:DescribeSchedulingPoliciesResponse',
-- describeSchedulingPoliciesResponse_httpStatus - The response's
-- http status code.
newDescribeSchedulingPoliciesResponse :: Int -> DescribeSchedulingPoliciesResponse
-- | Contains the parameters for ListJobs.
--
-- See: newListJobs smart constructor.
data ListJobs
ListJobs' :: Maybe Text -> Maybe [KeyValuesPair] -> Maybe Text -> Maybe JobStatus -> Maybe Int -> Maybe Text -> Maybe Text -> ListJobs
-- | Create a value of ListJobs with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayJobId:ListJobs', listJobs_arrayJobId - The job
-- ID for an array job. Specifying an array job ID with this parameter
-- lists all child jobs from within the specified array.
--
-- $sel:filters:ListJobs', listJobs_filters - The filter to
-- apply to the query. Only one filter can be used at a time. When the
-- filter is used, jobStatus is ignored. The filter doesn't
-- apply to child jobs in an array or multi-node parallel (MNP) jobs. The
-- results are sorted by the createdAt field, with the most
-- recent jobs being first.
--
--
-- - JOB_NAME The value of the filter is a case-insensitive
-- match for the job name. If the value ends with an asterisk (*), the
-- filter matches any job name that begins with the string before the
-- '*'. This corresponds to the jobName value. For example,
-- test1 matches both Test1 and test1, and
-- test1* matches both test1 and Test10. When
-- the JOB_NAME filter is used, the results are grouped by the
-- job name and version.
-- - JOB_DEFINITION The value for the filter is the name or
-- Amazon Resource Name (ARN) of the job definition. This corresponds to
-- the jobDefinition value. The value is case sensitive. When
-- the value for the filter is the job definition name, the results
-- include all the jobs that used any revision of that job definition
-- name. If the value ends with an asterisk (*), the filter matches any
-- job definition name that begins with the string before the '*'. For
-- example, jd1 matches only jd1, and jd1*
-- matches both jd1 and jd1A. The version of the job
-- definition that's used doesn't affect the sort order. When the
-- JOB_DEFINITION filter is used and the ARN is used (which is
-- in the form
-- arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}),
-- the results include jobs that used the specified revision of the job
-- definition. Asterisk (*) isn't supported when the ARN is used.
-- - BEFORE_CREATED_AT The value for the filter is the time
-- that's before the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
-- - AFTER_CREATED_AT The value for the filter is the time
-- that's after the job was created. This corresponds to the
-- createdAt value. The value is a string representation of the
-- number of milliseconds since 00:00:00 UTC (midnight) on January 1,
-- 1970.
--
--
-- ListJobs, listJobs_jobQueue - The name or full Amazon
-- Resource Name (ARN) of the job queue used to list jobs.
--
-- $sel:jobStatus:ListJobs', listJobs_jobStatus - The job
-- status used to filter jobs in the specified queue. If the
-- filters parameter is specified, the jobStatus
-- parameter is ignored and jobs with any status are returned. If you
-- don't specify a status, only RUNNING jobs are returned.
--
-- $sel:maxResults:ListJobs', listJobs_maxResults - The
-- maximum number of results returned by ListJobs in paginated
-- output. When this parameter is used, ListJobs only returns
-- maxResults results in a single page and a nextToken
-- response element. The remaining results of the initial request can be
-- seen by sending another ListJobs request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, then ListJobs returns up to 100 results
-- and a nextToken value if applicable.
--
-- $sel:multiNodeJobId:ListJobs', listJobs_multiNodeJobId -
-- The job ID for a multi-node parallel job. Specifying a multi-node
-- parallel job ID with this parameter lists all nodes that are
-- associated with the specified job.
--
-- ListJobs, listJobs_nextToken - The nextToken
-- value returned from a previous paginated ListJobs request
-- where maxResults was used and the results exceeded the value
-- of that parameter. Pagination continues from the end of the previous
-- results that returned the nextToken value. This value is
-- null when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newListJobs :: ListJobs
-- | See: newListJobsResponse smart constructor.
data ListJobsResponse
ListJobsResponse' :: Maybe Text -> Int -> [JobSummary] -> ListJobsResponse
-- | Create a value of ListJobsResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- ListJobs, listJobsResponse_nextToken - The
-- nextToken value to include in a future ListJobs
-- request. When the results of a ListJobs request exceed
-- maxResults, this value can be used to retrieve the next page
-- of results. This value is null when there are no more results
-- to return.
--
-- $sel:httpStatus:ListJobsResponse',
-- listJobsResponse_httpStatus - The response's http status code.
--
-- $sel:jobSummaryList:ListJobsResponse',
-- listJobsResponse_jobSummaryList - A list of job summaries that
-- match the request.
newListJobsResponse :: Int -> ListJobsResponse
-- | Contains the parameters for ListSchedulingPolicies.
--
-- See: newListSchedulingPolicies smart constructor.
data ListSchedulingPolicies
ListSchedulingPolicies' :: Maybe Int -> Maybe Text -> ListSchedulingPolicies
-- | Create a value of ListSchedulingPolicies with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:maxResults:ListSchedulingPolicies',
-- listSchedulingPolicies_maxResults - The maximum number of
-- results that's returned by ListSchedulingPolicies in
-- paginated output. When this parameter is used,
-- ListSchedulingPolicies only returns maxResults
-- results in a single page and a nextToken response element.
-- You can see the remaining results of the initial request by sending
-- another ListSchedulingPolicies request with the returned
-- nextToken value. This value can be between 1 and 100. If this
-- parameter isn't used, ListSchedulingPolicies returns up to
-- 100 results and a nextToken value if applicable.
--
-- ListSchedulingPolicies, listSchedulingPolicies_nextToken
-- - The nextToken value that's returned from a previous
-- paginated ListSchedulingPolicies request where
-- maxResults was used and the results exceeded the value of
-- that parameter. Pagination continues from the end of the previous
-- results that returned the nextToken value. This value is
-- null when there are no more results to return.
--
-- Treat this token as an opaque identifier that's only used to retrieve
-- the next items in a list and not for other programmatic purposes.
newListSchedulingPolicies :: ListSchedulingPolicies
-- | See: newListSchedulingPoliciesResponse smart
-- constructor.
data ListSchedulingPoliciesResponse
ListSchedulingPoliciesResponse' :: Maybe Text -> Maybe [SchedulingPolicyListingDetail] -> Int -> ListSchedulingPoliciesResponse
-- | Create a value of ListSchedulingPoliciesResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- ListSchedulingPolicies,
-- listSchedulingPoliciesResponse_nextToken - The
-- nextToken value to include in a future
-- ListSchedulingPolicies request. When the results of a
-- ListSchedulingPolicies request exceed maxResults,
-- this value can be used to retrieve the next page of results. This
-- value is null when there are no more results to return.
--
-- $sel:schedulingPolicies:ListSchedulingPoliciesResponse',
-- listSchedulingPoliciesResponse_schedulingPolicies - A list of
-- scheduling policies that match the request.
--
-- $sel:httpStatus:ListSchedulingPoliciesResponse',
-- listSchedulingPoliciesResponse_httpStatus - The response's http
-- status code.
newListSchedulingPoliciesResponse :: Int -> ListSchedulingPoliciesResponse
-- | Contains the parameters for ListTagsForResource.
--
-- See: newListTagsForResource smart constructor.
data ListTagsForResource
ListTagsForResource' :: Text -> ListTagsForResource
-- | Create a value of ListTagsForResource with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:resourceArn:ListTagsForResource',
-- listTagsForResource_resourceArn - The Amazon Resource Name
-- (ARN) that identifies the resource that tags are listed for. Batch
-- resources that support tags are compute environments, jobs, job
-- definitions, job queues, and scheduling policies. ARNs for child jobs
-- of array and multi-node parallel (MNP) jobs aren't supported.
newListTagsForResource :: Text -> ListTagsForResource
-- | See: newListTagsForResourceResponse smart constructor.
data ListTagsForResourceResponse
ListTagsForResourceResponse' :: Maybe (HashMap Text Text) -> Int -> ListTagsForResourceResponse
-- | Create a value of ListTagsForResourceResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- ListTagsForResourceResponse,
-- listTagsForResourceResponse_tags - The tags for the resource.
--
-- $sel:httpStatus:ListTagsForResourceResponse',
-- listTagsForResourceResponse_httpStatus - The response's http
-- status code.
newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse
-- | Contains the parameters for RegisterJobDefinition.
--
-- See: newRegisterJobDefinition smart constructor.
data RegisterJobDefinition
RegisterJobDefinition' :: Maybe ContainerProperties -> Maybe EksProperties -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> JobDefinitionType -> RegisterJobDefinition
-- | Create a value of RegisterJobDefinition with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- RegisterJobDefinition,
-- registerJobDefinition_containerProperties - An object with
-- various properties specific to Amazon ECS based single-node
-- container-based jobs. If the job definition's type parameter
-- is container, then you must specify either
-- containerProperties or nodeProperties. This must not
-- be specified for Amazon EKS based job definitions.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use only containerProperties.
--
-- RegisterJobDefinition,
-- registerJobDefinition_eksProperties - An object with various
-- properties that are specific to Amazon EKS based jobs. This must not
-- be specified for Amazon ECS based job definitions.
--
-- RegisterJobDefinition,
-- registerJobDefinition_nodeProperties - An object with various
-- properties specific to multi-node parallel jobs. If you specify node
-- properties for a job, it becomes a multi-node parallel job. For more
-- information, see Multi-node Parallel Jobs in the Batch User
-- Guide. If the job definition's type parameter is
-- container, then you must specify either
-- containerProperties or nodeProperties.
--
-- If the job runs on Fargate resources, then you must not specify
-- nodeProperties; use containerProperties instead.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- nodeProperties.
--
-- RegisterJobDefinition, registerJobDefinition_parameters
-- - Default parameter substitution placeholders to set in the job
-- definition. Parameters are specified as a key-value pair mapping.
-- Parameters in a SubmitJob request override any corresponding
-- parameter defaults from the job definition.
--
-- RegisterJobDefinition,
-- registerJobDefinition_platformCapabilities - The platform
-- capabilities required by the job definition. If no value is specified,
-- it defaults to EC2. To run the job on Fargate resources,
-- specify FARGATE.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- platformCapabilities.
--
-- RegisterJobDefinition,
-- registerJobDefinition_propagateTags - Specifies whether to
-- propagate the tags from the job or job definition to the corresponding
-- Amazon ECS task. If no value is specified, the tags are not
-- propagated. Tags can only be propagated to the tasks during task
-- creation. For tags with the same name, job tags are given priority
-- over job definitions tags. If the total number of combined tags from
-- the job and job definition is over 50, the job is moved to the
-- FAILED state.
--
-- If the job runs on Amazon EKS resources, then you must not specify
-- propagateTags.
--
-- RegisterJobDefinition,
-- registerJobDefinition_retryStrategy - The retry strategy to use
-- for failed jobs that are submitted with this job definition. Any retry
-- strategy that's specified during a SubmitJob operation overrides the
-- retry strategy defined here. If a job is terminated due to a timeout,
-- it isn't retried.
--
-- RegisterJobDefinition,
-- registerJobDefinition_schedulingPriority - The scheduling
-- priority for jobs that are submitted with this job definition. This
-- only affects jobs in job queues with a fair share policy. Jobs with a
-- higher scheduling priority are scheduled before jobs with a lower
-- scheduling priority.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
--
-- RegisterJobDefinition, registerJobDefinition_tags - The
-- tags that you apply to the job definition to help you categorize and
-- organize your resources. Each tag consists of a key and an optional
-- value. For more information, see Tagging Amazon Web Services
-- Resources in Batch User Guide.
--
-- RegisterJobDefinition, registerJobDefinition_timeout -
-- The timeout configuration for jobs that are submitted with this job
-- definition, after which Batch terminates your jobs if they have not
-- finished. If a job is terminated due to a timeout, it isn't retried.
-- The minimum value for the timeout is 60 seconds. Any timeout
-- configuration that's specified during a SubmitJob operation overrides
-- the timeout configuration defined here. For more information, see
-- Job Timeouts in the Batch User Guide.
--
-- RegisterJobDefinition,
-- registerJobDefinition_jobDefinitionName - The name of the job
-- definition to register. It can be up to 128 letters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
--
-- RegisterJobDefinition, registerJobDefinition_type - The
-- type of job definition. For more information about multi-node parallel
-- jobs, see Creating a multi-node parallel job definition in the
-- Batch User Guide.
--
-- If the job is run on Fargate resources, then multinode isn't
-- supported.
newRegisterJobDefinition :: Text -> JobDefinitionType -> RegisterJobDefinition
-- | See: newRegisterJobDefinitionResponse smart constructor.
data RegisterJobDefinitionResponse
RegisterJobDefinitionResponse' :: Int -> Text -> Text -> Int -> RegisterJobDefinitionResponse
-- | Create a value of RegisterJobDefinitionResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:RegisterJobDefinitionResponse',
-- registerJobDefinitionResponse_httpStatus - The response's http
-- status code.
--
-- RegisterJobDefinition,
-- registerJobDefinitionResponse_jobDefinitionName - The name of
-- the job definition.
--
-- RegisterJobDefinitionResponse,
-- registerJobDefinitionResponse_jobDefinitionArn - The Amazon
-- Resource Name (ARN) of the job definition.
--
-- RegisterJobDefinitionResponse,
-- registerJobDefinitionResponse_revision - The revision of the
-- job definition.
newRegisterJobDefinitionResponse :: Int -> Text -> Text -> Int -> RegisterJobDefinitionResponse
-- | Contains the parameters for SubmitJob.
--
-- See: newSubmitJob smart constructor.
data SubmitJob
SubmitJob' :: Maybe ArrayProperties -> Maybe ContainerOverrides -> Maybe [JobDependency] -> Maybe EksPropertiesOverride -> Maybe NodeOverrides -> Maybe (HashMap Text Text) -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Text -> SubmitJob
-- | Create a value of SubmitJob with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- SubmitJob, submitJob_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 Batch User Guide.
--
-- SubmitJob, submitJob_containerOverrides - An object with
-- various properties that override the defaults for the job definition
-- 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, which is specified in the job definition or
-- the Docker image, with a command override. You can also
-- override existing environment variables on a container or add new
-- environment variables to it with an environment override.
--
-- SubmitJob, submitJob_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.
--
-- $sel:eksPropertiesOverride:SubmitJob',
-- submitJob_eksPropertiesOverride - An object that can only be
-- specified for jobs that are run on Amazon EKS resources with various
-- properties that override defaults for the job definition.
--
-- $sel:nodeOverrides:SubmitJob', submitJob_nodeOverrides -
-- A list of node overrides in JSON format that specify the node range to
-- target and the container overrides for that node range.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources; use containerOverrides instead.
--
-- SubmitJob, submitJob_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.
--
-- SubmitJob, submitJob_propagateTags - Specifies whether
-- to propagate the tags from the job or job definition to the
-- corresponding Amazon ECS task. If no value is specified, the tags
-- aren't propagated. Tags can only be propagated to the tasks during
-- task creation. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state. When specified, this overrides the tag
-- propagation setting in the job definition.
--
-- SubmitJob, submitJob_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.
--
-- $sel:schedulingPriorityOverride:SubmitJob',
-- submitJob_schedulingPriorityOverride - The scheduling priority
-- for the job. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority. This overrides any scheduling
-- priority in the job definition.
--
-- The minimum supported value is 0 and the maximum supported value is
-- 9999.
--
-- SubmitJob, submitJob_shareIdentifier - The share
-- identifier for the job. If the job queue doesn't have a scheduling
-- policy, then this parameter must not be specified. If the job queue
-- has a scheduling policy, then this parameter must be specified.
--
-- SubmitJob, submitJob_tags - The tags that you apply to
-- the job request to help you categorize and organize your resources.
-- Each tag consists of a key and an optional value. For more
-- information, see Tagging Amazon Web Services Resources in
-- Amazon Web Services General Reference.
--
-- SubmitJob, submitJob_timeout - The timeout configuration
-- for this SubmitJob operation. You can specify a timeout duration after
-- which Batch terminates your jobs if they haven't finished. If a job is
-- terminated due to a timeout, it isn't 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.
--
-- SubmitJob, submitJob_jobName - The name of the job. It
-- can be up to 128 letters long. The first character must be
-- alphanumeric, can contain uppercase and lowercase letters, numbers,
-- hyphens (-), and underscores (_).
--
-- SubmitJob, submitJob_jobQueue - The job queue where the
-- job is submitted. You can specify either the name or the Amazon
-- Resource Name (ARN) of the queue.
--
-- SubmitJob, submitJob_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.
newSubmitJob :: Text -> Text -> Text -> SubmitJob
-- | See: newSubmitJobResponse smart constructor.
data SubmitJobResponse
SubmitJobResponse' :: Maybe Text -> Int -> Text -> Text -> SubmitJobResponse
-- | Create a value of SubmitJobResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- SubmitJobResponse, submitJobResponse_jobArn - The Amazon
-- Resource Name (ARN) for the job.
--
-- $sel:httpStatus:SubmitJobResponse',
-- submitJobResponse_httpStatus - The response's http status code.
--
-- SubmitJob, submitJobResponse_jobName - The name of the
-- job.
--
-- SubmitJobResponse, submitJobResponse_jobId - The unique
-- identifier for the job.
newSubmitJobResponse :: Int -> Text -> Text -> SubmitJobResponse
-- | Contains the parameters for TagResource.
--
-- See: newTagResource smart constructor.
data TagResource
TagResource' :: Text -> HashMap Text Text -> TagResource
-- | Create a value of TagResource with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:resourceArn:TagResource', tagResource_resourceArn -
-- The Amazon Resource Name (ARN) of the resource that tags are added to.
-- Batch resources that support tags are compute environments, jobs, job
-- definitions, job queues, and scheduling policies. ARNs for child jobs
-- of array and multi-node parallel (MNP) jobs aren't supported.
--
-- TagResource, tagResource_tags - The tags that you apply
-- to the resource to help you categorize and organize your resources.
-- Each tag consists of a key and an optional value. For more
-- information, see Tagging Amazon Web Services Resources in
-- Amazon Web Services General Reference.
newTagResource :: Text -> TagResource
-- | See: newTagResourceResponse smart constructor.
data TagResourceResponse
TagResourceResponse' :: Int -> TagResourceResponse
-- | Create a value of TagResourceResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:TagResourceResponse',
-- tagResourceResponse_httpStatus - The response's http status
-- code.
newTagResourceResponse :: Int -> TagResourceResponse
-- | Contains the parameters for TerminateJob.
--
-- See: newTerminateJob smart constructor.
data TerminateJob
TerminateJob' :: Text -> Text -> TerminateJob
-- | Create a value of TerminateJob with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- TerminateJob, terminateJob_jobId - The Batch job ID of
-- the job to terminate.
--
-- TerminateJob, terminateJob_reason - A message to attach
-- to the job that explains the reason for canceling it. This message is
-- returned by future DescribeJobs operations on the job. This message is
-- also recorded in the Batch activity logs.
newTerminateJob :: Text -> Text -> TerminateJob
-- | See: newTerminateJobResponse smart constructor.
data TerminateJobResponse
TerminateJobResponse' :: Int -> TerminateJobResponse
-- | Create a value of TerminateJobResponse with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:TerminateJobResponse',
-- terminateJobResponse_httpStatus - The response's http status
-- code.
newTerminateJobResponse :: Int -> TerminateJobResponse
-- | Contains the parameters for UntagResource.
--
-- See: newUntagResource smart constructor.
data UntagResource
UntagResource' :: Text -> NonEmpty Text -> UntagResource
-- | Create a value of UntagResource with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:resourceArn:UntagResource',
-- untagResource_resourceArn - The Amazon Resource Name (ARN) of
-- the resource from which to delete tags. Batch resources that support
-- tags are compute environments, jobs, job definitions, job queues, and
-- scheduling policies. ARNs for child jobs of array and multi-node
-- parallel (MNP) jobs aren't supported.
--
-- $sel:tagKeys:UntagResource', untagResource_tagKeys - The
-- keys of the tags to be removed.
newUntagResource :: Text -> NonEmpty Text -> UntagResource
-- | See: newUntagResourceResponse smart constructor.
data UntagResourceResponse
UntagResourceResponse' :: Int -> UntagResourceResponse
-- | Create a value of UntagResourceResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:UntagResourceResponse',
-- untagResourceResponse_httpStatus - The response's http status
-- code.
newUntagResourceResponse :: Int -> UntagResourceResponse
-- | Contains the parameters for UpdateComputeEnvironment.
--
-- See: newUpdateComputeEnvironment smart constructor.
data UpdateComputeEnvironment
UpdateComputeEnvironment' :: Maybe ComputeResourceUpdate -> Maybe Text -> Maybe CEState -> Maybe Int -> Maybe UpdatePolicy -> Text -> UpdateComputeEnvironment
-- | Create a value of UpdateComputeEnvironment with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_computeResources - Details of the
-- compute resources managed by the compute environment. Required for a
-- managed compute environment. For more information, see Compute
-- Environments in the Batch User Guide.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_serviceRole - The full Amazon Resource
-- Name (ARN) of the IAM role that allows Batch to make calls to other
-- Amazon Web Services services on your behalf. For more information, see
-- Batch service IAM role in the Batch User Guide.
--
-- If the compute environment has a service-linked role, it can't be
-- changed to use a regular IAM role. Likewise, if the compute
-- environment has a regular IAM role, it can't be changed to use a
-- service-linked role. To update the parameters for the compute
-- environment that require an infrastructure update to change, the
-- AWSServiceRoleForBatch service-linked role must be used. For
-- more information, see Updating compute environments in the
-- Batch User Guide.
--
-- If your specified role has a path other than /, then you must
-- either specify the full role ARN (recommended) or prefix the role name
-- with the path.
--
-- Depending on how you created your Batch service role, its ARN might
-- contain the service-role path prefix. When you only specify
-- the name of the service role, Batch assumes that your ARN doesn't use
-- the service-role path prefix. Because of this, we recommend
-- that you specify the full ARN of your service role when you create
-- compute environments.
--
-- UpdateComputeEnvironment, updateComputeEnvironment_state
-- - The state of the compute environment. Compute environments in the
-- ENABLED state can accept jobs from a queue and scale in or
-- out automatically based on the workload demand of its associated
-- queues.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically, based on the job
-- queue demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_unmanagedvCpus - The maximum number of
-- vCPUs expected to be used for an unmanaged compute environment. Don't
-- specify this parameter for a managed compute environment. This
-- parameter is only used for fair share scheduling to reserve vCPU
-- capacity for new share identifiers. If this parameter isn't provided
-- for a fair share job queue, no vCPU capacity is reserved.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_updatePolicy - Specifies the updated
-- infrastructure update policy for the compute environment. For more
-- information about infrastructure updates, see Updating compute
-- environments in the Batch User Guide.
--
-- UpdateComputeEnvironment,
-- updateComputeEnvironment_computeEnvironment - The name or full
-- Amazon Resource Name (ARN) of the compute environment to update.
newUpdateComputeEnvironment :: Text -> UpdateComputeEnvironment
-- | See: newUpdateComputeEnvironmentResponse smart
-- constructor.
data UpdateComputeEnvironmentResponse
UpdateComputeEnvironmentResponse' :: Maybe Text -> Maybe Text -> Int -> UpdateComputeEnvironmentResponse
-- | Create a value of UpdateComputeEnvironmentResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateComputeEnvironmentResponse,
-- updateComputeEnvironmentResponse_computeEnvironmentArn - The
-- Amazon Resource Name (ARN) of the compute environment.
--
-- UpdateComputeEnvironmentResponse,
-- updateComputeEnvironmentResponse_computeEnvironmentName - The
-- name of the compute environment. It can be up to 128 characters long.
-- It can contain uppercase and lowercase letters, numbers, hyphens (-),
-- and underscores (_).
--
-- $sel:httpStatus:UpdateComputeEnvironmentResponse',
-- updateComputeEnvironmentResponse_httpStatus - The response's
-- http status code.
newUpdateComputeEnvironmentResponse :: Int -> UpdateComputeEnvironmentResponse
-- | Contains the parameters for UpdateJobQueue.
--
-- See: newUpdateJobQueue smart constructor.
data UpdateJobQueue
UpdateJobQueue' :: Maybe [ComputeEnvironmentOrder] -> Maybe Int -> Maybe Text -> Maybe JQState -> Text -> UpdateJobQueue
-- | Create a value of UpdateJobQueue with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateJobQueue, updateJobQueue_computeEnvironmentOrder -
-- Details the set of compute environments mapped to a job queue and
-- their order relative to each other. This is one of the parameters used
-- by the job scheduler to determine which compute environment runs a
-- given job. Compute environments must be in the VALID state
-- before you can associate them with a job queue. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate
-- compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
--
-- UpdateJobQueue, updateJobQueue_priority - The priority
-- of the job queue. Job queues with a higher priority (or a higher
-- integer value for the priority parameter) are evaluated first
-- when associated with the same compute environment. Priority is
-- determined in descending order. For example, a job queue with a
-- priority value of 10 is given scheduling preference over a
-- job queue with a priority value of 1. All of the compute
-- environments must be either EC2 (EC2 or SPOT) or
-- Fargate (FARGATE or FARGATE_SPOT). EC2 and Fargate
-- compute environments can't be mixed.
--
-- UpdateJobQueue, updateJobQueue_schedulingPolicyArn -
-- Amazon Resource Name (ARN) of the fair share scheduling policy. Once a
-- job queue is created, the fair share scheduling policy can be replaced
-- but not removed. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
--
-- UpdateJobQueue, updateJobQueue_state - Describes the
-- queue's ability to accept new jobs. If the job queue state is
-- ENABLED, it can accept jobs. If the job queue state is
-- DISABLED, new jobs can't be added to the queue, but jobs
-- already in the queue can finish.
--
-- UpdateJobQueue, updateJobQueue_jobQueue - The name or
-- the Amazon Resource Name (ARN) of the job queue.
newUpdateJobQueue :: Text -> UpdateJobQueue
-- | See: newUpdateJobQueueResponse smart constructor.
data UpdateJobQueueResponse
UpdateJobQueueResponse' :: Maybe Text -> Maybe Text -> Int -> UpdateJobQueueResponse
-- | Create a value of UpdateJobQueueResponse with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateJobQueueResponse,
-- updateJobQueueResponse_jobQueueArn - The Amazon Resource Name
-- (ARN) of the job queue.
--
-- UpdateJobQueueResponse,
-- updateJobQueueResponse_jobQueueName - The name of the job
-- queue.
--
-- $sel:httpStatus:UpdateJobQueueResponse',
-- updateJobQueueResponse_httpStatus - The response's http status
-- code.
newUpdateJobQueueResponse :: Int -> UpdateJobQueueResponse
-- | Contains the parameters for UpdateSchedulingPolicy.
--
-- See: newUpdateSchedulingPolicy smart constructor.
data UpdateSchedulingPolicy
UpdateSchedulingPolicy' :: Maybe FairsharePolicy -> Text -> UpdateSchedulingPolicy
-- | Create a value of UpdateSchedulingPolicy with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- UpdateSchedulingPolicy,
-- updateSchedulingPolicy_fairsharePolicy - The fair share policy.
--
-- UpdateSchedulingPolicy, updateSchedulingPolicy_arn - The
-- Amazon Resource Name (ARN) of the scheduling policy to update.
newUpdateSchedulingPolicy :: Text -> UpdateSchedulingPolicy
-- | See: newUpdateSchedulingPolicyResponse smart
-- constructor.
data UpdateSchedulingPolicyResponse
UpdateSchedulingPolicyResponse' :: Int -> UpdateSchedulingPolicyResponse
-- | Create a value of UpdateSchedulingPolicyResponse with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:httpStatus:UpdateSchedulingPolicyResponse',
-- updateSchedulingPolicyResponse_httpStatus - The response's http
-- status code.
newUpdateSchedulingPolicyResponse :: Int -> UpdateSchedulingPolicyResponse
newtype ArrayJobDependency
ArrayJobDependency' :: Text -> ArrayJobDependency
[fromArrayJobDependency] :: ArrayJobDependency -> Text
pattern ArrayJobDependency_N_TO_N :: ArrayJobDependency
pattern ArrayJobDependency_SEQUENTIAL :: ArrayJobDependency
newtype AssignPublicIp
AssignPublicIp' :: Text -> AssignPublicIp
[fromAssignPublicIp] :: AssignPublicIp -> Text
pattern AssignPublicIp_DISABLED :: AssignPublicIp
pattern AssignPublicIp_ENABLED :: AssignPublicIp
newtype CEState
CEState' :: Text -> CEState
[fromCEState] :: CEState -> Text
pattern CEState_DISABLED :: CEState
pattern CEState_ENABLED :: CEState
newtype CEStatus
CEStatus' :: Text -> CEStatus
[fromCEStatus] :: CEStatus -> Text
pattern CEStatus_CREATING :: CEStatus
pattern CEStatus_DELETED :: CEStatus
pattern CEStatus_DELETING :: CEStatus
pattern CEStatus_INVALID :: CEStatus
pattern CEStatus_UPDATING :: CEStatus
pattern CEStatus_VALID :: CEStatus
newtype CEType
CEType' :: Text -> CEType
[fromCEType] :: CEType -> Text
pattern CEType_MANAGED :: CEType
pattern CEType_UNMANAGED :: CEType
newtype CRAllocationStrategy
CRAllocationStrategy' :: Text -> CRAllocationStrategy
[fromCRAllocationStrategy] :: CRAllocationStrategy -> Text
pattern CRAllocationStrategy_BEST_FIT :: CRAllocationStrategy
pattern CRAllocationStrategy_BEST_FIT_PROGRESSIVE :: CRAllocationStrategy
pattern CRAllocationStrategy_SPOT_CAPACITY_OPTIMIZED :: CRAllocationStrategy
newtype CRType
CRType' :: Text -> CRType
[fromCRType] :: CRType -> Text
pattern CRType_EC2 :: CRType
pattern CRType_FARGATE :: CRType
pattern CRType_FARGATE_SPOT :: CRType
pattern CRType_SPOT :: CRType
newtype CRUpdateAllocationStrategy
CRUpdateAllocationStrategy' :: Text -> CRUpdateAllocationStrategy
[fromCRUpdateAllocationStrategy] :: CRUpdateAllocationStrategy -> Text
pattern CRUpdateAllocationStrategy_BEST_FIT_PROGRESSIVE :: CRUpdateAllocationStrategy
pattern CRUpdateAllocationStrategy_SPOT_CAPACITY_OPTIMIZED :: CRUpdateAllocationStrategy
newtype DeviceCgroupPermission
DeviceCgroupPermission' :: Text -> DeviceCgroupPermission
[fromDeviceCgroupPermission] :: DeviceCgroupPermission -> Text
pattern DeviceCgroupPermission_MKNOD :: DeviceCgroupPermission
pattern DeviceCgroupPermission_READ :: DeviceCgroupPermission
pattern DeviceCgroupPermission_WRITE :: DeviceCgroupPermission
newtype EFSAuthorizationConfigIAM
EFSAuthorizationConfigIAM' :: Text -> EFSAuthorizationConfigIAM
[fromEFSAuthorizationConfigIAM] :: EFSAuthorizationConfigIAM -> Text
pattern EFSAuthorizationConfigIAM_DISABLED :: EFSAuthorizationConfigIAM
pattern EFSAuthorizationConfigIAM_ENABLED :: EFSAuthorizationConfigIAM
newtype EFSTransitEncryption
EFSTransitEncryption' :: Text -> EFSTransitEncryption
[fromEFSTransitEncryption] :: EFSTransitEncryption -> Text
pattern EFSTransitEncryption_DISABLED :: EFSTransitEncryption
pattern EFSTransitEncryption_ENABLED :: EFSTransitEncryption
newtype JQState
JQState' :: Text -> JQState
[fromJQState] :: JQState -> Text
pattern JQState_DISABLED :: JQState
pattern JQState_ENABLED :: JQState
newtype JQStatus
JQStatus' :: Text -> JQStatus
[fromJQStatus] :: JQStatus -> Text
pattern JQStatus_CREATING :: JQStatus
pattern JQStatus_DELETED :: JQStatus
pattern JQStatus_DELETING :: JQStatus
pattern JQStatus_INVALID :: JQStatus
pattern JQStatus_UPDATING :: JQStatus
pattern JQStatus_VALID :: JQStatus
newtype JobDefinitionType
JobDefinitionType' :: Text -> JobDefinitionType
[fromJobDefinitionType] :: JobDefinitionType -> Text
pattern JobDefinitionType_Container :: JobDefinitionType
pattern JobDefinitionType_Multinode :: JobDefinitionType
newtype JobStatus
JobStatus' :: Text -> JobStatus
[fromJobStatus] :: JobStatus -> Text
pattern JobStatus_FAILED :: JobStatus
pattern JobStatus_PENDING :: JobStatus
pattern JobStatus_RUNNABLE :: JobStatus
pattern JobStatus_RUNNING :: JobStatus
pattern JobStatus_STARTING :: JobStatus
pattern JobStatus_SUBMITTED :: JobStatus
pattern JobStatus_SUCCEEDED :: JobStatus
newtype LogDriver
LogDriver' :: Text -> LogDriver
[fromLogDriver] :: LogDriver -> Text
pattern LogDriver_Awslogs :: LogDriver
pattern LogDriver_Fluentd :: LogDriver
pattern LogDriver_Gelf :: LogDriver
pattern LogDriver_Journald :: LogDriver
pattern LogDriver_Json_file :: LogDriver
pattern LogDriver_Splunk :: LogDriver
pattern LogDriver_Syslog :: LogDriver
newtype OrchestrationType
OrchestrationType' :: Text -> OrchestrationType
[fromOrchestrationType] :: OrchestrationType -> Text
pattern OrchestrationType_ECS :: OrchestrationType
pattern OrchestrationType_EKS :: OrchestrationType
newtype PlatformCapability
PlatformCapability' :: Text -> PlatformCapability
[fromPlatformCapability] :: PlatformCapability -> Text
pattern PlatformCapability_EC2 :: PlatformCapability
pattern PlatformCapability_FARGATE :: PlatformCapability
newtype ResourceType
ResourceType' :: Text -> ResourceType
[fromResourceType] :: ResourceType -> Text
pattern ResourceType_GPU :: ResourceType
pattern ResourceType_MEMORY :: ResourceType
pattern ResourceType_VCPU :: ResourceType
newtype RetryAction
RetryAction' :: Text -> RetryAction
[fromRetryAction] :: RetryAction -> Text
pattern RetryAction_EXIT :: RetryAction
pattern RetryAction_RETRY :: RetryAction
-- | An object that represents an Batch array job.
--
-- See: newArrayProperties smart constructor.
data ArrayProperties
ArrayProperties' :: Maybe Int -> ArrayProperties
-- | Create a value of ArrayProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:size:ArrayProperties', arrayProperties_size - The
-- size of the array job.
newArrayProperties :: ArrayProperties
-- | An object that represents the array properties of a job.
--
-- See: newArrayPropertiesDetail smart constructor.
data ArrayPropertiesDetail
ArrayPropertiesDetail' :: Maybe Int -> Maybe Int -> Maybe (HashMap Text Int) -> ArrayPropertiesDetail
-- | Create a value of ArrayPropertiesDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:index:ArrayPropertiesDetail',
-- arrayPropertiesDetail_index - The job index within the array
-- that's associated with this job. This parameter is returned for array
-- job children.
--
-- $sel:size:ArrayPropertiesDetail',
-- arrayPropertiesDetail_size - The size of the array job. This
-- parameter is returned for parent array jobs.
--
-- $sel:statusSummary:ArrayPropertiesDetail',
-- arrayPropertiesDetail_statusSummary - A summary of the number
-- of array job children in each available job status. This parameter is
-- returned for parent array jobs.
newArrayPropertiesDetail :: ArrayPropertiesDetail
-- | An object that represents the array properties of a job.
--
-- See: newArrayPropertiesSummary smart constructor.
data ArrayPropertiesSummary
ArrayPropertiesSummary' :: Maybe Int -> Maybe Int -> ArrayPropertiesSummary
-- | Create a value of ArrayPropertiesSummary with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:index:ArrayPropertiesSummary',
-- arrayPropertiesSummary_index - The job index within the array
-- that's associated with this job. This parameter is returned for
-- children of array jobs.
--
-- $sel:size:ArrayPropertiesSummary',
-- arrayPropertiesSummary_size - The size of the array job. This
-- parameter is returned for parent array jobs.
newArrayPropertiesSummary :: ArrayPropertiesSummary
-- | An object that represents the details of a container that's part of a
-- job attempt.
--
-- See: newAttemptContainerDetail smart constructor.
data AttemptContainerDetail
AttemptContainerDetail' :: Maybe Text -> Maybe Int -> Maybe Text -> Maybe [NetworkInterface] -> Maybe Text -> Maybe Text -> AttemptContainerDetail
-- | Create a value of AttemptContainerDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerInstanceArn:AttemptContainerDetail',
-- attemptContainerDetail_containerInstanceArn - The Amazon
-- Resource Name (ARN) of the Amazon ECS container instance that hosts
-- the job attempt.
--
-- $sel:exitCode:AttemptContainerDetail',
-- attemptContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:logStreamName:AttemptContainerDetail',
-- attemptContainerDetail_logStreamName - The name of the
-- CloudWatch Logs log stream that's associated with the container. The
-- log group for Batch jobs is /aws/batch/job. Each container
-- attempt receives a log stream name when they reach the
-- RUNNING status.
--
-- $sel:networkInterfaces:AttemptContainerDetail',
-- attemptContainerDetail_networkInterfaces - The network
-- interfaces that are associated with the job attempt.
--
-- $sel:reason:AttemptContainerDetail',
-- attemptContainerDetail_reason - A short (255 max characters)
-- human-readable string to provide additional details for a running or
-- stopped container.
--
-- $sel:taskArn:AttemptContainerDetail',
-- attemptContainerDetail_taskArn - The Amazon Resource Name (ARN)
-- of the Amazon ECS task that's associated with the job attempt. Each
-- container attempt receives a task ARN when they reach the
-- STARTING status.
newAttemptContainerDetail :: AttemptContainerDetail
-- | An object that represents a job attempt.
--
-- See: newAttemptDetail smart constructor.
data AttemptDetail
AttemptDetail' :: Maybe AttemptContainerDetail -> Maybe Integer -> Maybe Text -> Maybe Integer -> AttemptDetail
-- | Create a value of AttemptDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:container:AttemptDetail', attemptDetail_container -
-- The details for the container in this job attempt.
--
-- $sel:startedAt:AttemptDetail', attemptDetail_startedAt -
-- The Unix timestamp (in milliseconds) for when the attempt was started
-- (when the attempt transitioned from the STARTING state to the
-- RUNNING state).
--
-- $sel:statusReason:AttemptDetail',
-- attemptDetail_statusReason - A short, human-readable string to
-- provide additional details for the current status of the job attempt.
--
-- $sel:stoppedAt:AttemptDetail', attemptDetail_stoppedAt -
-- The Unix timestamp (in milliseconds) for when the attempt was stopped
-- (when the attempt transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED).
newAttemptDetail :: AttemptDetail
-- | An object that represents an Batch compute environment.
--
-- See: newComputeEnvironmentDetail smart constructor.
data ComputeEnvironmentDetail
ComputeEnvironmentDetail' :: Maybe ComputeResource -> Maybe OrchestrationType -> Maybe Text -> Maybe EksConfiguration -> Maybe Text -> Maybe CEState -> Maybe CEStatus -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe CEType -> Maybe Int -> Maybe UpdatePolicy -> Maybe Text -> Text -> Text -> ComputeEnvironmentDetail
-- | Create a value of ComputeEnvironmentDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:computeResources:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeResources - The compute
-- resources defined for the compute environment. For more information,
-- see Compute environments in the Batch User Guide.
--
-- $sel:containerOrchestrationType:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_containerOrchestrationType - The
-- orchestration type of the compute environment. The valid values are
-- ECS (default) or EKS.
--
-- $sel:ecsClusterArn:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_ecsClusterArn - The Amazon Resource
-- Name (ARN) of the underlying Amazon ECS cluster that the compute
-- environment uses.
--
-- $sel:eksConfiguration:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_eksConfiguration - The configuration
-- for the Amazon EKS cluster that supports the Batch compute
-- environment. Only specify this parameter if the
-- containerOrchestrationType is EKS.
--
-- $sel:serviceRole:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_serviceRole - The service role that's
-- associated with the compute environment that allows Batch to make
-- calls to Amazon Web Services API operations on your behalf. For more
-- information, see Batch service IAM role in the Batch User
-- Guide.
--
-- $sel:state:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_state - The state of the compute
-- environment. The valid values are ENABLED or
-- DISABLED.
--
-- If the state is ENABLED, then the Batch scheduler can attempt
-- to place jobs from an associated job queue on the compute resources
-- within the environment. If the compute environment is managed, then it
-- can scale its instances out or in automatically based on the job queue
-- demand.
--
-- If the state is DISABLED, then the Batch scheduler doesn't
-- attempt to place jobs within the environment. Jobs in a
-- STARTING or RUNNING state continue to progress
-- normally. Managed compute environments in the DISABLED state
-- don't scale out. However, they scale in to minvCpus value
-- after instances become idle.
--
-- $sel:status:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_status - The current status of the
-- compute environment (for example, CREATING or
-- VALID).
--
-- $sel:statusReason:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_statusReason - A short, human-readable
-- string to provide additional details for the current status of the
-- compute environment.
--
-- ComputeEnvironmentDetail, computeEnvironmentDetail_tags
-- - The tags applied to the compute environment.
--
-- ComputeEnvironmentDetail, computeEnvironmentDetail_type
-- - The type of the compute environment: MANAGED or
-- UNMANAGED. For more information, see Compute
-- environments in the Batch User Guide.
--
-- $sel:unmanagedvCpus:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_unmanagedvCpus - The maximum number of
-- VCPUs expected to be used for an unmanaged compute environment.
--
-- $sel:updatePolicy:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_updatePolicy - Specifies the
-- infrastructure update policy for the compute environment. For more
-- information about infrastructure updates, see Updating compute
-- environments in the Batch User Guide.
--
-- $sel:uuid:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_uuid - Unique identifier for the
-- compute environment.
--
-- $sel:computeEnvironmentName:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeEnvironmentName - The name of
-- the compute environment. It can be up to 128 characters long. It can
-- contain uppercase and lowercase letters, numbers, hyphens (-), and
-- underscores (_).
--
-- $sel:computeEnvironmentArn:ComputeEnvironmentDetail',
-- computeEnvironmentDetail_computeEnvironmentArn - The Amazon
-- Resource Name (ARN) of the compute environment.
newComputeEnvironmentDetail :: Text -> Text -> ComputeEnvironmentDetail
-- | The order that compute environments are tried in for job placement
-- within a queue. Compute environments are tried in ascending order. For
-- example, if two compute environments are associated with a job queue,
-- the compute environment with a lower order integer value is tried for
-- job placement first. Compute environments must be in the
-- VALID state before you can associate them with a job queue.
-- All of the compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT);
-- EC2 and Fargate compute environments can't be mixed.
--
-- All compute environments that are associated with a job queue must
-- share the same architecture. Batch doesn't support mixing compute
-- environment architecture types in a single job queue.
--
-- See: newComputeEnvironmentOrder smart constructor.
data ComputeEnvironmentOrder
ComputeEnvironmentOrder' :: Int -> Text -> ComputeEnvironmentOrder
-- | Create a value of ComputeEnvironmentOrder with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:order:ComputeEnvironmentOrder',
-- computeEnvironmentOrder_order - The order of the compute
-- environment. Compute environments are tried in ascending order. For
-- example, if two compute environments are associated with a job queue,
-- the compute environment with a lower order integer value is
-- tried for job placement first.
--
-- $sel:computeEnvironment:ComputeEnvironmentOrder',
-- computeEnvironmentOrder_computeEnvironment - The Amazon
-- Resource Name (ARN) of the compute environment.
newComputeEnvironmentOrder :: Int -> Text -> ComputeEnvironmentOrder
-- | An object that represents an Batch compute resource. For more
-- information, see Compute environments in the Batch User
-- Guide.
--
-- See: newComputeResource smart constructor.
data ComputeResource
ComputeResource' :: Maybe CRAllocationStrategy -> Maybe Int -> Maybe Int -> Maybe [Ec2Configuration] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe LaunchTemplateSpecification -> Maybe Int -> Maybe Text -> Maybe [Text] -> Maybe Text -> Maybe (HashMap Text Text) -> CRType -> Int -> [Text] -> ComputeResource
-- | Create a value of ComputeResource with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:allocationStrategy:ComputeResource',
-- computeResource_allocationStrategy - The allocation strategy to
-- use for the compute resource if not enough instances of the best
-- fitting instance type can be allocated. This might be because of
-- availability of the instance type in the Region or Amazon EC2
-- service limits. For more information, see Allocation
-- strategies in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT (default) Batch selects an instance type that best
-- fits the needs of the jobs with a preference for the lowest-cost
-- instance type. If additional instances of the selected instance type
-- aren't available, Batch waits for the additional instances to be
-- available. If there aren't enough instances available or the user is
-- reaching Amazon EC2 service limits, additional jobs aren't run
-- until the currently running jobs are completed. This allocation
-- strategy keeps costs lower but can limit scaling. If you're using Spot
-- Fleets with BEST_FIT, the Spot Fleet IAM Role must be
-- specified. Compute resources that use a BEST_FIT allocation
-- strategy don't support infrastructure updates and can't update some
-- parameters. For more information, see Updating compute
-- environments in the Batch User Guide.
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
--
-- $sel:bidPercentage:ComputeResource',
-- computeResource_bidPercentage - The maximum percentage that a
-- Spot Instance price can be when compared with the On-Demand price for
-- that instance type before instances are launched. For example, if your
-- maximum percentage is 20%, then the Spot price must be less than 20%
-- of the current On-Demand price for that Amazon EC2 instance. You
-- always pay the lowest (market) price and never more than your maximum
-- percentage. If you leave this field empty, the default value is 100%
-- of the On-Demand price. For most use cases, we recommend leaving this
-- field empty.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:desiredvCpus:ComputeResource',
-- computeResource_desiredvCpus - The desired number of Amazon EC2
-- vCPUS in the compute environment. Batch modifies this value between
-- the minimum and maximum values based on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2Configuration:ComputeResource',
-- computeResource_ec2Configuration - Provides information that's
-- used to select Amazon Machine Images (AMIs) for EC2 instances in the
-- compute environment. If Ec2Configuration isn't specified, the
-- default is ECS_AL2.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2KeyPair:ComputeResource',
-- computeResource_ec2KeyPair - The Amazon EC2 key pair that's
-- used for instances launched in the compute environment. You can use
-- this key pair to log in to your instances with SSH.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:imageId:ComputeResource', computeResource_imageId -
-- The Amazon Machine Image (AMI) ID used for instances launched in the
-- compute environment. This parameter is overridden by the
-- imageIdOverride member of the Ec2Configuration
-- structure.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:instanceRole:ComputeResource',
-- computeResource_instanceRole - The Amazon ECS instance profile
-- applied to Amazon EC2 instances in a compute environment. You can
-- specify the short name or full Amazon Resource Name (ARN) of an
-- instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:instanceTypes:ComputeResource',
-- computeResource_instanceTypes - The instances types that can be
-- launched. You can specify instance families to launch any instance
-- type within those families (for example, c5 or p3),
-- or you can specify specific sizes within a family (such as
-- c5.8xlarge). You can also choose optimal to select
-- instance types (from the C4, M4, and R4 instance families) that match
-- the demand of your job queues.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
--
-- $sel:launchTemplate:ComputeResource',
-- computeResource_launchTemplate - The launch template to use for
-- your compute resources. Any other compute resource parameters that you
-- specify in a CreateComputeEnvironment API operation override the same
-- parameters in the launch template. You must specify either the launch
-- template ID or launch template name in the request, but not both. For
-- more information, see Launch template support in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:minvCpus:ComputeResource', computeResource_minvCpus
-- - The minimum number of Amazon EC2 vCPUs that an environment should
-- maintain (even if the compute environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:placementGroup:ComputeResource',
-- computeResource_placementGroup - The Amazon EC2 placement group
-- to associate with your compute resources. If you intend to submit
-- multi-node parallel jobs to your compute environment, you should
-- consider creating a cluster placement group and associate it with your
-- compute resources. This keeps your multi-node parallel job on a
-- logical grouping of instances within a single Availability Zone with
-- high network flow potential. For more information, see Placement
-- groups in the Amazon EC2 User Guide for Linux Instances.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:securityGroupIds:ComputeResource',
-- computeResource_securityGroupIds - The Amazon EC2 security
-- groups that are associated with instances launched in the compute
-- environment. One or more security groups must be specified, either in
-- securityGroupIds or using a launch template referenced in
-- launchTemplate. This parameter is required for jobs that are
-- running on Fargate resources and must contain at least one security
-- group. Fargate doesn't support launch templates. If security groups
-- are specified using both securityGroupIds and
-- launchTemplate, the values in securityGroupIds are
-- used.
--
-- $sel:spotIamFleetRole:ComputeResource',
-- computeResource_spotIamFleetRole - The Amazon Resource Name
-- (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT
-- compute environment. This role is required if the allocation strategy
-- set to BEST_FIT or if the allocation strategy isn't
-- specified. For more information, see Amazon EC2 spot fleet role
-- in the Batch User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- To tag your Spot Instances on creation, the Spot Fleet IAM role
-- specified here must use the newer AmazonEC2SpotFleetTaggingRole
-- managed policy. The previously recommended
-- AmazonEC2SpotFleetRole managed policy doesn't have the required
-- permissions to tag Spot Instances. For more information, see Spot
-- instances not tagged on creation in the Batch User Guide.
--
-- $sel:tags:ComputeResource', computeResource_tags -
-- Key-value pair tags to be applied to EC2 resources that are launched
-- in the compute environment. For Batch, these take the form of
-- "String1": "String2", where String1 is the tag key
-- and String2 is the tag value-for example, { "Name":
-- "Batch Instance - C4OnDemand" }. This is helpful for recognizing
-- your Batch instances in the Amazon EC2 console. Updating these tags
-- requires an infrastructure update to the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:type':ComputeResource', computeResource_type - The
-- type of compute environment: EC2, SPOT,
-- FARGATE, or FARGATE_SPOT. For more information, see
-- Compute environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- $sel:maxvCpus:ComputeResource', computeResource_maxvCpus
-- - The maximum number of Amazon EC2 vCPUs that a compute environment
-- can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. For example, no more
-- than a single instance from among those specified in your compute
-- environment is allocated.
--
-- $sel:subnets:ComputeResource', computeResource_subnets -
-- The VPC subnets where the compute resources are launched. These
-- subnets must be within the same VPC. Fargate compute resources can
-- contain up to 16 subnets. For more information, see VPCs and
-- subnets in the Amazon VPC User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
newComputeResource :: CRType -> Int -> ComputeResource
-- | An object that represents the attributes of a compute environment that
-- can be updated. For more information, see Updating compute
-- environments in the Batch User Guide.
--
-- See: newComputeResourceUpdate smart constructor.
data ComputeResourceUpdate
ComputeResourceUpdate' :: Maybe CRUpdateAllocationStrategy -> Maybe Int -> Maybe Int -> Maybe [Ec2Configuration] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe LaunchTemplateSpecification -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe (HashMap Text Text) -> Maybe CRType -> Maybe Bool -> ComputeResourceUpdate
-- | Create a value of ComputeResourceUpdate with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:allocationStrategy:ComputeResourceUpdate',
-- computeResourceUpdate_allocationStrategy - The allocation
-- strategy to use for the compute resource if there's not enough
-- instances of the best fitting instance type that can be allocated.
-- This might be because of availability of the instance type in the
-- Region or Amazon EC2 service limits. For more information, see
-- Allocation strategies in the Batch User Guide.
--
-- When updating a compute environment, changing the allocation strategy
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. BEST_FIT isn't supported when updating a
-- compute environment.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
--
-- - BEST_FIT_PROGRESSIVE Batch selects additional instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types with lower cost vCPUs.
-- If additional instances of the previously selected instance types
-- aren't available, Batch selects new instance types.
-- - SPOT_CAPACITY_OPTIMIZED Batch selects one or more instance
-- types that are large enough to meet the requirements of the jobs in
-- the queue. Its preference is for instance types that are less likely
-- to be interrupted. This allocation strategy is only available for Spot
-- Instance compute resources.
--
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED strategies using On-Demand or Spot
-- Instances, and the BEST_FIT strategy using Spot Instances,
-- Batch might need to exceed maxvCpus to meet your capacity
-- requirements. In this event, Batch never exceeds maxvCpus by
-- more than a single instance.
--
-- $sel:bidPercentage:ComputeResourceUpdate',
-- computeResourceUpdate_bidPercentage - The maximum percentage
-- that a Spot Instance price can be when compared with the On-Demand
-- price for that instance type before instances are launched. For
-- example, if your maximum percentage is 20%, the Spot price must be
-- less than 20% of the current On-Demand price for that Amazon EC2
-- instance. You always pay the lowest (market) price and never more than
-- your maximum percentage. For most use cases, we recommend leaving this
-- field empty.
--
-- When updating a compute environment, changing the bid percentage
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:desiredvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_desiredvCpus - The desired number of
-- Amazon EC2 vCPUS in the compute environment. Batch modifies this value
-- between the minimum and maximum values based on job queue demand.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- Batch doesn't support changing the desired number of vCPUs of an
-- existing compute environment. Don't specify this parameter for compute
-- environments using Amazon EKS clusters.
--
-- $sel:ec2Configuration:ComputeResourceUpdate',
-- computeResourceUpdate_ec2Configuration - Provides information
-- used to select Amazon Machine Images (AMIs) for EC2 instances in the
-- compute environment. If Ec2Configuration isn't specified, the
-- default is ECS_AL2.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide. To remove the EC2 configuration and any custom AMI ID
-- specified in imageIdOverride, set this value to an empty
-- string.
--
-- One or two values can be provided.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:ec2KeyPair:ComputeResourceUpdate',
-- computeResourceUpdate_ec2KeyPair - The Amazon EC2 key pair
-- that's used for instances launched in the compute environment. You can
-- use this key pair to log in to your instances with SSH. To remove the
-- Amazon EC2 key pair, set this value to an empty string.
--
-- When updating a compute environment, changing the EC2 key pair
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:imageId:ComputeResourceUpdate',
-- computeResourceUpdate_imageId - The Amazon Machine Image (AMI)
-- ID used for instances launched in the compute environment. This
-- parameter is overridden by the imageIdOverride member of the
-- Ec2Configuration structure. To remove the custom AMI ID and
-- use the default AMI ID, set this value to an empty string.
--
-- When updating a compute environment, changing the AMI ID requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:instanceRole:ComputeResourceUpdate',
-- computeResourceUpdate_instanceRole - The Amazon ECS instance
-- profile applied to Amazon EC2 instances in a compute environment. You
-- can specify the short name or full Amazon Resource Name (ARN) of an
-- instance profile. For example,
-- ecsInstanceRole or
-- arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
-- . For more information, see Amazon ECS instance role in
-- the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:instanceTypes:ComputeResourceUpdate',
-- computeResourceUpdate_instanceTypes - The instances types that
-- can be launched. You can specify instance families to launch any
-- instance type within those families (for example, c5 or
-- p3), or you can specify specific sizes within a family (such
-- as c5.8xlarge). You can also choose optimal to
-- select instance types (from the C4, M4, and R4 instance families) that
-- match the demand of your job queues.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- When you create a compute environment, the instance types that you
-- select for the compute environment must share the same architecture.
-- For example, you can't mix x86 and ARM instances in the same compute
-- environment.
--
-- Currently, optimal uses instance types from the C4, M4, and
-- R4 instance families. In Regions that don't have instance types from
-- those instance families, instance types from the C5, M5, and R5
-- instance families are used.
--
-- $sel:launchTemplate:ComputeResourceUpdate',
-- computeResourceUpdate_launchTemplate - The updated launch
-- template to use for your compute resources. You must specify either
-- the launch template ID or launch template name in the request, but not
-- both. For more information, see Launch template support in the
-- Batch User Guide. To remove the custom launch template and use
-- the default launch template, set launchTemplateId or
-- launchTemplateName member of the launch template
-- specification to an empty string. Removing the launch template from a
-- compute environment will not remove the AMI specified in the launch
-- template. In order to update the AMI specified in a launch template,
-- the updateToLatestImageVersion parameter must be set to
-- true.
--
-- When updating a compute environment, changing the launch template
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:maxvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_maxvCpus - The maximum number of Amazon
-- EC2 vCPUs that an environment can reach.
--
-- With both BEST_FIT_PROGRESSIVE and
-- SPOT_CAPACITY_OPTIMIZED allocation strategies using On-Demand
-- or Spot Instances, and the BEST_FIT strategy using Spot
-- Instances, Batch might need to exceed maxvCpus to meet your
-- capacity requirements. In this event, Batch never exceeds
-- maxvCpus by more than a single instance. That is, no more
-- than a single instance from among those specified in your compute
-- environment.
--
-- $sel:minvCpus:ComputeResourceUpdate',
-- computeResourceUpdate_minvCpus - The minimum number of Amazon
-- EC2 vCPUs that an environment should maintain (even if the compute
-- environment is DISABLED).
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:placementGroup:ComputeResourceUpdate',
-- computeResourceUpdate_placementGroup - The Amazon EC2 placement
-- group to associate with your compute resources. If you intend to
-- submit multi-node parallel jobs to your compute environment, you
-- should consider creating a cluster placement group and associate it
-- with your compute resources. This keeps your multi-node parallel job
-- on a logical grouping of instances within a single Availability Zone
-- with high network flow potential. For more information, see
-- Placement groups in the Amazon EC2 User Guide for Linux
-- Instances.
--
-- When updating a compute environment, changing the placement group
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:securityGroupIds:ComputeResourceUpdate',
-- computeResourceUpdate_securityGroupIds - The Amazon EC2
-- security groups that are associated with instances launched in the
-- compute environment. This parameter is required for Fargate compute
-- resources, where it can contain up to 5 security groups. For Fargate
-- compute resources, providing an empty list is handled as if this
-- parameter wasn't specified and no change is made. For EC2 compute
-- resources, providing an empty list removes the security groups from
-- the compute resource.
--
-- When updating a compute environment, changing the EC2 security groups
-- requires an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- $sel:subnets:ComputeResourceUpdate',
-- computeResourceUpdate_subnets - The VPC subnets where the
-- compute resources are launched. Fargate compute resources can contain
-- up to 16 subnets. For Fargate compute resources, providing an empty
-- list will be handled as if this parameter wasn't specified and no
-- change is made. For EC2 compute resources, providing an empty list
-- removes the VPC subnets from the compute resource. For more
-- information, see VPCs and subnets in the Amazon VPC User
-- Guide.
--
-- When updating a compute environment, changing the VPC subnets requires
-- an infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- Batch on Amazon EC2 and Batch on Amazon EKS support Local Zones. For
-- more information, see Local Zones in the Amazon EC2 User
-- Guide for Linux Instances, Amazon EKS and Amazon Web Services
-- Local Zones in the Amazon EKS User Guide and Amazon ECS
-- clusters in Local Zones, Wavelength Zones, and Amazon Web Services
-- Outposts in the Amazon ECS Developer Guide.
--
-- Batch on Fargate doesn't currently support Local Zones.
--
-- $sel:tags:ComputeResourceUpdate',
-- computeResourceUpdate_tags - Key-value pair tags to be applied
-- to EC2 resources that are launched in the compute environment. For
-- Batch, these take the form of "String1": "String2", where
-- String1 is the tag key and String2 is the tag
-- value-for example, { "Name": "Batch Instance - C4OnDemand" }.
-- This is helpful for recognizing your Batch instances in the Amazon EC2
-- console. These tags aren't seen when using the Batch
-- ListTagsForResource API operation.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't specify it.
--
-- $sel:type':ComputeResourceUpdate',
-- computeResourceUpdate_type - The type of compute environment:
-- EC2, SPOT, FARGATE, or
-- FARGATE_SPOT. For more information, see Compute
-- environments in the Batch User Guide.
--
-- If you choose SPOT, you must also specify an Amazon EC2 Spot
-- Fleet role with the spotIamFleetRole parameter. For more
-- information, see Amazon EC2 spot fleet role in the Batch
-- User Guide.
--
-- When updating a compute environment, changing the type of a compute
-- environment requires an infrastructure update of the compute
-- environment. For more information, see Updating compute
-- environments in the Batch User Guide.
--
-- $sel:updateToLatestImageVersion:ComputeResourceUpdate',
-- computeResourceUpdate_updateToLatestImageVersion - Specifies
-- whether the AMI ID is updated to the latest one that's supported by
-- Batch when the compute environment has an infrastructure update. The
-- default value is false.
--
-- An AMI ID can either be specified in the imageId or
-- imageIdOverride parameters or be determined by the launch
-- template that's specified in the launchTemplate parameter. If
-- an AMI ID is specified any of these ways, this parameter is ignored.
-- For more information about to update AMI IDs during an infrastructure
-- update, see Updating the AMI ID in the Batch User Guide.
--
-- When updating a compute environment, changing this setting requires an
-- infrastructure update of the compute environment. For more
-- information, see Updating compute environments in the Batch
-- User Guide.
newComputeResourceUpdate :: ComputeResourceUpdate
-- | An object that represents the details of a container that's part of a
-- job.
--
-- See: newContainerDetail smart constructor.
data ContainerDetail
ContainerDetail' :: Maybe [Text] -> Maybe Text -> Maybe [KeyValuePair] -> Maybe Text -> Maybe Int -> Maybe FargatePlatformConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe LinuxParameters -> Maybe LogConfiguration -> Maybe Text -> Maybe Int -> Maybe [MountPoint] -> Maybe NetworkConfiguration -> Maybe [NetworkInterface] -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe [ResourceRequirement] -> Maybe [Secret] -> Maybe Text -> Maybe [Ulimit] -> Maybe Text -> Maybe Int -> Maybe [Volume] -> ContainerDetail
-- | Create a value of ContainerDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerDetail', containerDetail_command -
-- The command that's passed to the container.
--
-- $sel:containerInstanceArn:ContainerDetail',
-- containerDetail_containerInstanceArn - The Amazon Resource Name
-- (ARN) of the container instance that the container is running on.
--
-- $sel:environment:ContainerDetail',
-- containerDetail_environment - The environment variables to pass
-- to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:executionRoleArn:ContainerDetail',
-- containerDetail_executionRoleArn - The Amazon Resource Name
-- (ARN) of the execution role that Batch can assume. For more
-- information, see Batch execution IAM role in the Batch User
-- Guide.
--
-- $sel:exitCode:ContainerDetail', containerDetail_exitCode
-- - The exit code to return upon completion.
--
-- $sel:fargatePlatformConfiguration:ContainerDetail',
-- containerDetail_fargatePlatformConfiguration - The platform
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:image:ContainerDetail', containerDetail_image - The
-- image used to start the container.
--
-- $sel:instanceType:ContainerDetail',
-- containerDetail_instanceType - The instance type of the
-- underlying host infrastructure of a multi-node parallel job.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
--
-- $sel:jobRoleArn:ContainerDetail',
-- containerDetail_jobRoleArn - The Amazon Resource Name (ARN)
-- that's associated with the job when run.
--
-- $sel:linuxParameters:ContainerDetail',
-- containerDetail_linuxParameters - Linux-specific modifications
-- that are applied to the container, such as details for device
-- mappings.
--
-- $sel:logConfiguration:ContainerDetail',
-- containerDetail_logConfiguration - The log configuration
-- specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However, the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance. Or, alternatively, it must be configured on a different log
-- server for remote logging options. For more information on the options
-- for different supported log drivers, see Configure logging
-- drivers in the Docker documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
-- Additional log drivers might be available in future releases of the
-- Amazon ECS container agent.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
--
-- $sel:logStreamName:ContainerDetail',
-- containerDetail_logStreamName - The name of the Amazon
-- CloudWatch Logs log stream that's associated with the container. The
-- log group for Batch jobs is /aws/batch/job. Each container
-- attempt receives a log stream name when they reach the
-- RUNNING status.
--
-- $sel:memory:ContainerDetail', containerDetail_memory -
-- For jobs running on EC2 resources that didn't specify memory
-- requirements using resourceRequirements, the number of MiB of
-- memory reserved for the job. For other jobs, including all run on
-- Fargate resources, see resourceRequirements.
--
-- $sel:mountPoints:ContainerDetail',
-- containerDetail_mountPoints - The mount points for data volumes
-- in your container.
--
-- $sel:networkConfiguration:ContainerDetail',
-- containerDetail_networkConfiguration - The network
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:networkInterfaces:ContainerDetail',
-- containerDetail_networkInterfaces - The network interfaces that
-- are associated with the job.
--
-- $sel:privileged:ContainerDetail',
-- containerDetail_privileged - When this parameter is true, the
-- container is given elevated permissions on the host container instance
-- (similar to the root user). The default value is
-- false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
--
-- $sel:readonlyRootFilesystem:ContainerDetail',
-- containerDetail_readonlyRootFilesystem - When this parameter is
-- true, the container is given read-only access to its root file system.
-- This parameter maps to ReadonlyRootfs in the Create a
-- container section of the Docker Remote API and the
-- --read-only option to docker run .
--
-- $sel:reason:ContainerDetail', containerDetail_reason - A
-- short (255 max characters) human-readable string to provide additional
-- details for a running or stopped container.
--
-- $sel:resourceRequirements:ContainerDetail',
-- containerDetail_resourceRequirements - The type and amount of
-- resources to assign to a container. The supported resources include
-- GPU, MEMORY, and VCPU.
--
-- $sel:secrets:ContainerDetail', containerDetail_secrets -
-- The secrets to pass to the container. For more information, see
-- Specifying sensitive data in the Batch User Guide.
--
-- $sel:taskArn:ContainerDetail', containerDetail_taskArn -
-- The Amazon Resource Name (ARN) of the Amazon ECS task that's
-- associated with the container job. Each container attempt receives a
-- task ARN when they reach the STARTING status.
--
-- $sel:ulimits:ContainerDetail', containerDetail_ulimits -
-- A list of ulimit values to set in the container. This
-- parameter maps to Ulimits in the Create a container
-- section of the Docker Remote API and the --ulimit
-- option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources.
--
-- $sel:user:ContainerDetail', containerDetail_user - The
-- user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
--
-- $sel:vcpus:ContainerDetail', containerDetail_vcpus - The
-- number of vCPUs reserved for the container. For jobs that run on EC2
-- resources, you can specify the vCPU requirement for the job using
-- resourceRequirements, but you can't specify the vCPU
-- requirements in both the vcpus and
-- resourceRequirements object. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. Each vCPU is equivalent to 1,024 CPU shares. You
-- must specify at least one vCPU. This is required but can be specified
-- in several places. It must be specified for each node at least once.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- For jobs that run on Fargate resources, you must specify the vCPU
-- requirement for the job using resourceRequirements.
--
-- $sel:volumes:ContainerDetail', containerDetail_volumes -
-- A list of volumes that are associated with the job.
newContainerDetail :: ContainerDetail
-- | The overrides that should be sent to a container.
--
-- See: newContainerOverrides smart constructor.
data ContainerOverrides
ContainerOverrides' :: Maybe [Text] -> Maybe [KeyValuePair] -> Maybe Text -> Maybe Int -> Maybe [ResourceRequirement] -> Maybe Int -> ContainerOverrides
-- | Create a value of ContainerOverrides with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerOverrides',
-- containerOverrides_command - The command to send to the
-- container that overrides the default command from the Docker image or
-- the job definition.
--
-- $sel:environment:ContainerOverrides',
-- containerOverrides_environment - 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.
--
-- $sel:instanceType:ContainerOverrides',
-- containerOverrides_instanceType - The instance type to use for
-- a multi-node parallel job.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
--
-- $sel:memory:ContainerOverrides',
-- containerOverrides_memory - This parameter is deprecated, use
-- resourceRequirements to override the memory requirements
-- specified in the job definition. It's not supported for jobs running
-- on Fargate resources. For jobs that run on EC2 resources, it overrides
-- the memory parameter set in the job definition, but doesn't
-- override any memory requirement that's specified in the
-- resourceRequirements structure in the job definition. To
-- override memory requirements that are specified in the
-- resourceRequirements structure in the job definition,
-- resourceRequirements must be specified in the
-- SubmitJob request, with type set to MEMORY
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
--
-- $sel:resourceRequirements:ContainerOverrides',
-- containerOverrides_resourceRequirements - The type and amount
-- of resources to assign to a container. This overrides the settings in
-- the job definition. The supported resources include GPU,
-- MEMORY, and VCPU.
--
-- $sel:vcpus:ContainerOverrides', containerOverrides_vcpus
-- - This parameter is deprecated, use resourceRequirements to
-- override the vcpus parameter that's set in the job
-- definition. It's not supported for jobs running on Fargate resources.
-- For jobs that run on EC2 resources, it overrides the vcpus
-- parameter set in the job definition, but doesn't override any vCPU
-- requirement specified in the resourceRequirements structure
-- in the job definition. To override vCPU requirements that are
-- specified in the resourceRequirements structure in the job
-- definition, resourceRequirements must be specified in the
-- SubmitJob request, with type set to VCPU
-- and value set to the new value. For more information, see
-- Can't override job definition resource requirements in the
-- Batch User Guide.
newContainerOverrides :: ContainerOverrides
-- | Container properties are used for Amazon ECS based job definitions.
-- These properties to describe the container that's launched as part of
-- a job.
--
-- See: newContainerProperties smart constructor.
data ContainerProperties
ContainerProperties' :: Maybe [Text] -> Maybe [KeyValuePair] -> Maybe Text -> Maybe FargatePlatformConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe LinuxParameters -> Maybe LogConfiguration -> Maybe Int -> Maybe [MountPoint] -> Maybe NetworkConfiguration -> Maybe Bool -> Maybe Bool -> Maybe [ResourceRequirement] -> Maybe [Secret] -> Maybe [Ulimit] -> Maybe Text -> Maybe Int -> Maybe [Volume] -> ContainerProperties
-- | Create a value of ContainerProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:command:ContainerProperties',
-- containerProperties_command - The command that's passed to the
-- container. This parameter maps to Cmd in the Create a
-- container section of the Docker Remote API and the
-- COMMAND parameter to docker run. For more information,
-- see https://docs.docker.com/engine/reference/builder/#cmd.
--
-- $sel:environment:ContainerProperties',
-- containerProperties_environment - The environment variables to
-- pass to a container. This parameter maps to Env in the
-- Create a container section of the Docker Remote API and
-- the --env option to docker run.
--
-- We don't recommend using plaintext environment variables for sensitive
-- information, such as credential data.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:executionRoleArn:ContainerProperties',
-- containerProperties_executionRoleArn - The Amazon Resource Name
-- (ARN) of the execution role that Batch can assume. For jobs that run
-- on Fargate resources, you must provide an execution role. For more
-- information, see Batch execution IAM role in the Batch User
-- Guide.
--
-- $sel:fargatePlatformConfiguration:ContainerProperties',
-- containerProperties_fargatePlatformConfiguration - The platform
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:image:ContainerProperties',
-- containerProperties_image - The image used to start a
-- container. This string is passed directly to the Docker daemon. Images
-- in the Docker Hub registry are available by default. Other
-- repositories are specified with
-- repository-url/image:tag
-- . It can be 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), underscores (_), colons (:),
-- periods (.), forward slashes (/), and number signs (#). This parameter
-- maps to Image in the Create a container section of the
-- Docker Remote API and the IMAGE parameter of docker
-- run.
--
-- Docker image architecture must match the processor architecture of the
-- compute resources that they're scheduled on. For example, ARM-based
-- Docker images can only run on ARM-based compute resources.
--
--
-- - Images in Amazon ECR Public repositories use the full
-- registry/repository[:tag] or
-- registry/repository[@digest] naming conventions. For example,
-- public.ecr.aws/registry_alias/my-web-app:latest
-- .
-- - Images in Amazon ECR repositories use the full registry and
-- repository URI (for example,
-- 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
-- - Images in official repositories on Docker Hub use a single name
-- (for example, ubuntu or mongo).
-- - Images in other repositories on Docker Hub are qualified with an
-- organization name (for example,
-- amazon/amazon-ecs-agent).
-- - Images in other online repositories are qualified further by a
-- domain name (for example, quay.io/assemblyline/ubuntu).
--
--
-- $sel:instanceType:ContainerProperties',
-- containerProperties_instanceType - The instance type to use for
-- a multi-node parallel job. All node groups in a multi-node parallel
-- job must use the same instance type.
--
-- This parameter isn't applicable to single-node container jobs or jobs
-- that run on Fargate resources, and shouldn't be provided.
--
-- $sel:jobRoleArn:ContainerProperties',
-- containerProperties_jobRoleArn - The Amazon Resource Name (ARN)
-- of the IAM role that the container can assume for Amazon Web Services
-- permissions. For more information, see IAM roles for tasks in
-- the Amazon Elastic Container Service Developer Guide.
--
-- $sel:linuxParameters:ContainerProperties',
-- containerProperties_linuxParameters - Linux-specific
-- modifications that are applied to the container, such as details for
-- device mappings.
--
-- $sel:logConfiguration:ContainerProperties',
-- containerProperties_logConfiguration - The log configuration
-- specification for the container.
--
-- This parameter maps to LogConfig in the Create a
-- container section of the Docker Remote API and the
-- --log-driver option to docker run. By default,
-- containers use the same logging driver that the Docker daemon uses.
-- However the container might use a different logging driver than the
-- Docker daemon by specifying a log driver with this parameter in the
-- container definition. To use a different logging driver for a
-- container, the log system must be configured properly on the container
-- instance (or on a different log server for remote logging options).
-- For more information on the options for different supported log
-- drivers, see Configure logging drivers in the Docker
-- documentation.
--
-- Batch currently supports a subset of the logging drivers available to
-- the Docker daemon (shown in the LogConfiguration data type).
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
--
-- The Amazon ECS container agent running on a container instance must
-- register the logging drivers available on that instance with the
-- ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
-- containers placed on that instance can use these log configuration
-- options. For more information, see Amazon ECS container agent
-- configuration in the Amazon Elastic Container Service Developer
-- Guide.
--
-- $sel:memory:ContainerProperties',
-- containerProperties_memory - This parameter is deprecated, use
-- resourceRequirements to specify the memory requirements for
-- the job definition. It's not supported for jobs running on Fargate
-- resources. For jobs that run on EC2 resources, it specifies the memory
-- hard limit (in MiB) for a container. If your container attempts to
-- exceed the specified number, it's terminated. You must specify at
-- least 4 MiB of memory for a job using this parameter. The memory hard
-- limit can be specified in several places. It must be specified for
-- each node at least once.
--
-- $sel:mountPoints:ContainerProperties',
-- containerProperties_mountPoints - The mount points for data
-- volumes in your container. This parameter maps to Volumes in
-- the Create a container section of the Docker Remote API
-- and the --volume option to docker run.
--
-- $sel:networkConfiguration:ContainerProperties',
-- containerProperties_networkConfiguration - The network
-- configuration for jobs that are running on Fargate resources. Jobs
-- that are running on EC2 resources must not specify this parameter.
--
-- $sel:privileged:ContainerProperties',
-- containerProperties_privileged - When this parameter is true,
-- the container is given elevated permissions on the host container
-- instance (similar to the root user). This parameter maps to
-- Privileged in the Create a container section of the
-- Docker Remote API and the --privileged option to
-- docker run. The default value is false.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided, or specified as false.
--
-- $sel:readonlyRootFilesystem:ContainerProperties',
-- containerProperties_readonlyRootFilesystem - When this
-- parameter is true, the container is given read-only access to its root
-- file system. This parameter maps to ReadonlyRootfs in the
-- Create a container section of the Docker Remote API and
-- the --read-only option to docker run.
--
-- $sel:resourceRequirements:ContainerProperties',
-- containerProperties_resourceRequirements - The type and amount
-- of resources to assign to a container. The supported resources include
-- GPU, MEMORY, and VCPU.
--
-- $sel:secrets:ContainerProperties',
-- containerProperties_secrets - The secrets for the container.
-- For more information, see Specifying sensitive data in the
-- Batch User Guide.
--
-- $sel:ulimits:ContainerProperties',
-- containerProperties_ulimits - A list of ulimits to set
-- in the container. This parameter maps to Ulimits in the
-- Create a container section of the Docker Remote API and
-- the --ulimit option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- $sel:user:ContainerProperties', containerProperties_user
-- - The user name to use inside the container. This parameter maps to
-- User in the Create a container section of the
-- Docker Remote API and the --user option to docker
-- run.
--
-- $sel:vcpus:ContainerProperties',
-- containerProperties_vcpus - This parameter is deprecated, use
-- resourceRequirements to specify the vCPU requirements for the
-- job definition. It's not supported for jobs running on Fargate
-- resources. For jobs running on EC2 resources, it specifies the number
-- of vCPUs reserved for the job.
--
-- Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
-- CpuShares in the Create a container section of the
-- Docker Remote API and the --cpu-shares option to
-- docker run. The number of vCPUs must be specified but can be
-- specified in several places. You must specify it at least once for
-- each node.
--
-- $sel:volumes:ContainerProperties',
-- containerProperties_volumes - A list of data volumes used in a
-- job.
newContainerProperties :: ContainerProperties
-- | An object that represents summary details of a container within a job.
--
-- See: newContainerSummary smart constructor.
data ContainerSummary
ContainerSummary' :: Maybe Int -> Maybe Text -> ContainerSummary
-- | Create a value of ContainerSummary with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:exitCode:ContainerSummary',
-- containerSummary_exitCode - The exit code to return upon
-- completion.
--
-- $sel:reason:ContainerSummary', containerSummary_reason -
-- A short (255 max characters) human-readable string to provide
-- additional details for a running or stopped container.
newContainerSummary :: ContainerSummary
-- | An object that represents a container instance host device.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- See: newDevice smart constructor.
data Device
Device' :: Maybe Text -> Maybe [DeviceCgroupPermission] -> Text -> Device
-- | Create a value of Device with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerPath:Device', device_containerPath - The
-- path inside the container that's used to expose the host device. By
-- default, the hostPath value is used.
--
-- $sel:permissions:Device', device_permissions - The
-- explicit permissions to provide to the container for the device. By
-- default, the container has permissions for read,
-- write, and mknod for the device.
--
-- $sel:hostPath:Device', device_hostPath - The path for
-- the device on the host container instance.
newDevice :: Text -> Device
-- | The authorization configuration details for the Amazon EFS file
-- system.
--
-- See: newEFSAuthorizationConfig smart constructor.
data EFSAuthorizationConfig
EFSAuthorizationConfig' :: Maybe Text -> Maybe EFSAuthorizationConfigIAM -> EFSAuthorizationConfig
-- | Create a value of EFSAuthorizationConfig with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:accessPointId:EFSAuthorizationConfig',
-- eFSAuthorizationConfig_accessPointId - The Amazon EFS access
-- point ID to use. If an access point is specified, the root directory
-- value specified in the EFSVolumeConfiguration must either be
-- omitted or set to / which enforces the path set on the EFS
-- access point. If an access point is used, transit encryption must be
-- enabled in the EFSVolumeConfiguration. For more information,
-- see Working with Amazon EFS access points in the Amazon
-- Elastic File System User Guide.
--
-- $sel:iam:EFSAuthorizationConfig',
-- eFSAuthorizationConfig_iam - Whether or not to use the Batch
-- job IAM role defined in a job definition when mounting the Amazon EFS
-- file system. If enabled, transit encryption must be enabled in the
-- EFSVolumeConfiguration. If this parameter is omitted, the
-- default value of DISABLED is used. For more information, see
-- Using Amazon EFS access points in the Batch User Guide.
-- EFS IAM authorization requires that TransitEncryption be
-- ENABLED and that a JobRoleArn is specified.
newEFSAuthorizationConfig :: EFSAuthorizationConfig
-- | This is used when you're using an Amazon Elastic File System file
-- system for job storage. For more information, see Amazon EFS
-- Volumes in the Batch User Guide.
--
-- See: newEFSVolumeConfiguration smart constructor.
data EFSVolumeConfiguration
EFSVolumeConfiguration' :: Maybe EFSAuthorizationConfig -> Maybe Text -> Maybe EFSTransitEncryption -> Maybe Int -> Text -> EFSVolumeConfiguration
-- | Create a value of EFSVolumeConfiguration with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:authorizationConfig:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_authorizationConfig - The authorization
-- configuration details for the Amazon EFS file system.
--
-- $sel:rootDirectory:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_rootDirectory - The directory within the
-- Amazon EFS file system to mount as the root directory inside the host.
-- If this parameter is omitted, the root of the Amazon EFS volume is
-- used instead. Specifying / has the same effect as omitting
-- this parameter. The maximum length is 4,096 characters.
--
-- If an EFS access point is specified in the
-- authorizationConfig, the root directory parameter must either
-- be omitted or set to /, which enforces the path set on the
-- Amazon EFS access point.
--
-- $sel:transitEncryption:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_transitEncryption - Determines whether
-- to enable encryption for Amazon EFS data in transit between the Amazon
-- ECS host and the Amazon EFS server. Transit encryption must be enabled
-- if Amazon EFS IAM authorization is used. If this parameter is omitted,
-- the default value of DISABLED is used. For more information,
-- see Encrypting data in transit in the Amazon Elastic File
-- System User Guide.
--
-- $sel:transitEncryptionPort:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_transitEncryptionPort - The port to use
-- when sending encrypted data between the Amazon ECS host and the Amazon
-- EFS server. If you don't specify a transit encryption port, it uses
-- the port selection strategy that the Amazon EFS mount helper uses. The
-- value must be between 0 and 65,535. For more information, see EFS
-- mount helper in the Amazon Elastic File System User Guide.
--
-- $sel:fileSystemId:EFSVolumeConfiguration',
-- eFSVolumeConfiguration_fileSystemId - The Amazon EFS file
-- system ID to use.
newEFSVolumeConfiguration :: Text -> EFSVolumeConfiguration
-- | Provides information used to select Amazon Machine Images (AMIs) for
-- instances in the compute environment. If Ec2Configuration
-- isn't specified, the default is ECS_AL2 (Amazon Linux
-- 2).
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newEc2Configuration smart constructor.
data Ec2Configuration
Ec2Configuration' :: Maybe Text -> Maybe Text -> Text -> Ec2Configuration
-- | Create a value of Ec2Configuration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:imageIdOverride:Ec2Configuration',
-- ec2Configuration_imageIdOverride - The AMI ID used for
-- instances launched in the compute environment that match the image
-- type. This setting overrides the imageId set in the
-- computeResource object.
--
-- The AMI that you choose for a compute environment must match the
-- architecture of the instance types that you intend to use for that
-- compute environment. For example, if your compute environment uses A1
-- instance types, the compute resource AMI that you choose must support
-- ARM instances. Amazon ECS vends both x86 and ARM versions of the
-- Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see
-- Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon
-- Elastic Container Service Developer Guide.
--
-- $sel:imageKubernetesVersion:Ec2Configuration',
-- ec2Configuration_imageKubernetesVersion - The Kubernetes
-- version for the compute environment. If you don't specify a value, the
-- latest version that Batch supports is used.
--
-- $sel:imageType:Ec2Configuration',
-- ec2Configuration_imageType - The image type to match with the
-- instance type to select an AMI. The supported values are different for
-- ECS and EKS resources.
--
--
-- - ECS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon ECS-optimized Amazon Linux 2
-- AMI (ECS_AL2) is used. If a new image type is specified
-- in an update, but neither an imageId nor a
-- imageIdOverride parameter is specified, then the latest
-- Amazon ECS optimized AMI for that image type that's supported by Batch
-- is used.
- ECS_AL2 Amazon Linux 2: Default for all
-- non-GPU instance families.
- ECS_AL2_NVIDIA Amazon
-- Linux 2 (GPU): Default for all GPU instance families (for example
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
- ECS_AL1
-- Amazon Linux. Amazon Linux has reached the end-of-life of
-- standard support. For more information, see Amazon Linux
-- AMI.
-- - EKS If the imageIdOverride parameter isn't
-- specified, then a recent Amazon EKS-optimized Amazon Linux AMI
-- (EKS_AL2) is used. If a new image type is specified in an
-- update, but neither an imageId nor a imageIdOverride
-- parameter is specified, then the latest Amazon EKS optimized AMI for
-- that image type that Batch supports is used.
- EKS_AL2
-- Amazon Linux 2: Default for all non-GPU instance
-- families.
- EKS_AL2_NVIDIA Amazon Linux 2
-- (accelerated): Default for all GPU instance families (for example,
-- P4 and G4) and can be used for all non Amazon Web
-- Services Graviton-based instance types.
--
newEc2Configuration :: Text -> Ec2Configuration
-- | An object that represents the details for an attempt for a job attempt
-- that an Amazon EKS container runs.
--
-- See: newEksAttemptContainerDetail smart constructor.
data EksAttemptContainerDetail
EksAttemptContainerDetail' :: Maybe Int -> Maybe Text -> EksAttemptContainerDetail
-- | Create a value of EksAttemptContainerDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:exitCode:EksAttemptContainerDetail',
-- eksAttemptContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:reason:EksAttemptContainerDetail',
-- eksAttemptContainerDetail_reason - A short (255 max characters)
-- human-readable string to provide additional details for a running or
-- stopped container.
newEksAttemptContainerDetail :: EksAttemptContainerDetail
-- | An object that represents the details of a job attempt for a job
-- attempt by an Amazon EKS container.
--
-- See: newEksAttemptDetail smart constructor.
data EksAttemptDetail
EksAttemptDetail' :: Maybe [EksAttemptContainerDetail] -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Integer -> EksAttemptDetail
-- | Create a value of EksAttemptDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksAttemptDetail',
-- eksAttemptDetail_containers - The details for the final status
-- of the containers for this job attempt.
--
-- $sel:nodeName:EksAttemptDetail',
-- eksAttemptDetail_nodeName - The name of the node for this job
-- attempt.
--
-- $sel:podName:EksAttemptDetail', eksAttemptDetail_podName
-- - The name of the pod for this job attempt.
--
-- $sel:startedAt:EksAttemptDetail',
-- eksAttemptDetail_startedAt - The Unix timestamp (in
-- milliseconds) for when the attempt was started (when the attempt
-- transitioned from the STARTING state to the RUNNING
-- state).
--
-- $sel:statusReason:EksAttemptDetail',
-- eksAttemptDetail_statusReason - A short, human-readable string
-- to provide additional details for the current status of the job
-- attempt.
--
-- $sel:stoppedAt:EksAttemptDetail',
-- eksAttemptDetail_stoppedAt - The Unix timestamp (in
-- milliseconds) for when the attempt was stopped. This happens when the
-- attempt transitioned from the RUNNING state to a terminal
-- state, such as SUCCEEDED or FAILED.
newEksAttemptDetail :: EksAttemptDetail
-- | Configuration for the Amazon EKS cluster that supports the Batch
-- compute environment. The cluster must exist before the compute
-- environment can be created.
--
-- See: newEksConfiguration smart constructor.
data EksConfiguration
EksConfiguration' :: Text -> Text -> EksConfiguration
-- | Create a value of EksConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:eksClusterArn:EksConfiguration',
-- eksConfiguration_eksClusterArn - The Amazon Resource Name (ARN)
-- of the Amazon EKS cluster. An example is
-- arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch
-- .
--
-- $sel:kubernetesNamespace:EksConfiguration',
-- eksConfiguration_kubernetesNamespace - The namespace of the
-- Amazon EKS cluster. Batch manages pods in this namespace. The value
-- can't left empty or null. It must be fewer than 64 characters long,
-- can't be set to default, can't start with "kube-,"
-- and must match this regular expression:
-- ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see
-- Namespaces in the Kubernetes documentation.
newEksConfiguration :: Text -> Text -> EksConfiguration
-- | EKS container properties are used in job definitions for Amazon EKS
-- based job definitions to describe the properties for a container node
-- in the pod that's launched as part of a job. This can't be specified
-- for Amazon ECS based job definitions.
--
-- See: newEksContainer smart constructor.
data EksContainer
EksContainer' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Text -> Maybe Text -> Maybe EksContainerResourceRequirements -> Maybe EksContainerSecurityContext -> Maybe [EksContainerVolumeMount] -> Text -> EksContainer
-- | Create a value of EksContainer with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainer', eksContainer_args - An array of
-- arguments to the entrypoint. If this isn't specified, the CMD
-- of the container image is used. This corresponds to the args
-- member in the Entrypoint portion of the Pod in
-- Kubernetes. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $, and the resulting string
-- isn't expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
--
-- $sel:command:EksContainer', eksContainer_command - The
-- entrypoint for the container. This isn't run within a shell. If this
-- isn't specified, the ENTRYPOINT of the container image is
-- used. Environment variable references are expanded using the
-- container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)."
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) will be passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. The entrypoint can't be updated. For more
-- information, see ENTRYPOINT in the Dockerfile reference
-- and Define a command and arguments for a container and
-- Entrypoint in the Kubernetes documentation.
--
-- $sel:env:EksContainer', eksContainer_env - The
-- environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:imagePullPolicy:EksContainer',
-- eksContainer_imagePullPolicy - The image pull policy for the
-- container. Supported values are Always,
-- IfNotPresent, and Never. This parameter defaults to
-- IfNotPresent. However, if the :latest tag is
-- specified, it defaults to Always. For more information, see
-- Updating images in the Kubernetes documentation.
--
-- EksContainer, eksContainer_name - The name of the
-- container. If the name isn't specified, the default name
-- "Default" is used. Each container in a pod must have a unique
-- name.
--
-- $sel:resources:EksContainer', eksContainer_resources -
-- The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
--
-- $sel:securityContext:EksContainer',
-- eksContainer_securityContext - The security context for a job.
-- For more information, see Configure a security context for a pod or
-- container in the Kubernetes documentation.
--
-- $sel:volumeMounts:EksContainer',
-- eksContainer_volumeMounts - The volume mounts for the
-- container. Batch supports emptyDir, hostPath, and
-- secret volume types. For more information about volumes and
-- volume mounts in Kubernetes, see Volumes in the Kubernetes
-- documentation.
--
-- $sel:image:EksContainer', eksContainer_image - The
-- Docker image used to start the container.
newEksContainer :: Text -> EksContainer
-- | The details for container properties that are returned by
-- DescribeJobs for jobs that use Amazon EKS.
--
-- See: newEksContainerDetail smart constructor.
data EksContainerDetail
EksContainerDetail' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe EksContainerResourceRequirements -> Maybe EksContainerSecurityContext -> Maybe [EksContainerVolumeMount] -> EksContainerDetail
-- | Create a value of EksContainerDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainerDetail', eksContainerDetail_args -
-- An array of arguments to the entrypoint. If this isn't specified, the
-- CMD of the container image is used. This corresponds to the
-- args member in the Entrypoint portion of the
-- Pod in Kubernetes. Environment variable references are expanded
-- using the container's environment.
--
-- If the referenced environment variable doesn't exist, the reference in
-- the command isn't changed. For example, if the reference is to
-- "$(NAME1)" and the NAME1 environment variable
-- doesn't exist, the command string will remain "$(NAME1)".
-- $$ is replaced with $ and the resulting string isn't
-- expanded. For example, $$(VAR_NAME) is passed as
-- $(VAR_NAME) whether or not the VAR_NAME environment
-- variable exists. For more information, see CMD in the
-- Dockerfile reference and Define a command and arguments for
-- a pod in the Kubernetes documentation.
--
-- $sel:command:EksContainerDetail',
-- eksContainerDetail_command - The entrypoint for the container.
-- For more information, see Entrypoint in the Kubernetes
-- documentation.
--
-- $sel:env:EksContainerDetail', eksContainerDetail_env -
-- The environment variables to pass to a container.
--
-- Environment variables cannot start with "AWS_BATCH". This
-- naming convention is reserved for variables that Batch sets.
--
-- $sel:exitCode:EksContainerDetail',
-- eksContainerDetail_exitCode - The exit code for the job
-- attempt. A non-zero exit code is considered failed.
--
-- $sel:image:EksContainerDetail', eksContainerDetail_image
-- - The Docker image used to start the container.
--
-- $sel:imagePullPolicy:EksContainerDetail',
-- eksContainerDetail_imagePullPolicy - The image pull policy for
-- the container. Supported values are Always,
-- IfNotPresent, and Never. This parameter defaults to
-- Always if the :latest tag is specified,
-- IfNotPresent otherwise. For more information, see Updating
-- images in the Kubernetes documentation.
--
-- EksContainerDetail, eksContainerDetail_name - The name
-- of the container. If the name isn't specified, the default name
-- "Default" is used. Each container in a pod must have a unique
-- name.
--
-- $sel:reason:EksContainerDetail',
-- eksContainerDetail_reason - A short human-readable string to
-- provide additional details for a running or stopped container. It can
-- be up to 255 characters long.
--
-- $sel:resources:EksContainerDetail',
-- eksContainerDetail_resources - The type and amount of resources
-- to assign to a container. The supported resources include
-- memory, cpu, and nvidia.com/gpu. For more
-- information, see Resource management for pods and containers in
-- the Kubernetes documentation.
--
-- $sel:securityContext:EksContainerDetail',
-- eksContainerDetail_securityContext - The security context for a
-- job. For more information, see Configure a security context for a
-- pod or container in the Kubernetes documentation.
--
-- $sel:volumeMounts:EksContainerDetail',
-- eksContainerDetail_volumeMounts - The volume mounts for the
-- container. Batch supports emptyDir, hostPath, and
-- secret volume types. For more information about volumes and
-- volume mounts in Kubernetes, see Volumes in the Kubernetes
-- documentation.
newEksContainerDetail :: EksContainerDetail
-- | An environment variable.
--
-- See: newEksContainerEnvironmentVariable smart
-- constructor.
data EksContainerEnvironmentVariable
EksContainerEnvironmentVariable' :: Maybe Text -> Text -> EksContainerEnvironmentVariable
-- | Create a value of EksContainerEnvironmentVariable with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:value:EksContainerEnvironmentVariable',
-- eksContainerEnvironmentVariable_value - The value of the
-- environment variable.
--
-- $sel:name:EksContainerEnvironmentVariable',
-- eksContainerEnvironmentVariable_name - The name of the
-- environment variable.
newEksContainerEnvironmentVariable :: Text -> EksContainerEnvironmentVariable
-- | Object representing any Kubernetes overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- See: newEksContainerOverride smart constructor.
data EksContainerOverride
EksContainerOverride' :: Maybe [Text] -> Maybe [Text] -> Maybe [EksContainerEnvironmentVariable] -> Maybe Text -> Maybe EksContainerResourceRequirements -> EksContainerOverride
-- | Create a value of EksContainerOverride with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:args:EksContainerOverride',
-- eksContainerOverride_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.
--
-- $sel:command:EksContainerOverride',
-- eksContainerOverride_command - The command to send to the
-- container that overrides the default command from the Docker image or
-- the job definition.
--
-- $sel:env:EksContainerOverride', eksContainerOverride_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.
--
-- $sel:image:EksContainerOverride',
-- eksContainerOverride_image - The override of the Docker image
-- that's used to start the container.
--
-- $sel:resources:EksContainerOverride',
-- eksContainerOverride_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.
newEksContainerOverride :: EksContainerOverride
-- | The type and amount of resources to assign to a container. The
-- supported resources include memory, cpu, and
-- nvidia.com/gpu. For more information, see Resource
-- management for pods and containers in the Kubernetes
-- documentation.
--
-- See: newEksContainerResourceRequirements smart
-- constructor.
data EksContainerResourceRequirements
EksContainerResourceRequirements' :: Maybe (HashMap Text Text) -> Maybe (HashMap Text Text) -> EksContainerResourceRequirements
-- | Create a value of EksContainerResourceRequirements with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:limits:EksContainerResourceRequirements',
-- eksContainerResourceRequirements_limits - The type and quantity
-- of the resources to reserve for the container. The values vary based
-- on the name that's specified. Resources can be requested
-- using either the limits or the requests objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.To maximize your resource utilization,
-- provide your jobs with as much memory as possible for the specific
-- instance type that you are using. To learn how, see Memory
-- management in the Batch User Guide.
-- - cpu The number of CPUs that's reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both places, then the value that's
-- specified in limits must be at least as large as the value
-- that's specified in requests.
-- - nvidia.com/gpu The number of GPUs that's reserved for the
-- container. Values must be a whole integer. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both places, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
--
-- $sel:requests:EksContainerResourceRequirements',
-- eksContainerResourceRequirements_requests - The type and
-- quantity of the resources to request for the container. The values
-- vary based on the name that's specified. Resources can be
-- requested by using either the limits or the requests
-- objects.
--
--
-- - memory The memory hard limit (in MiB) for the container,
-- using whole integers, with a "Mi" suffix. If your container attempts
-- to exceed the memory specified, the container is terminated. You must
-- specify at least 4 MiB of memory for a job. memory can be
-- specified in limits, requests, or both. If
-- memory is specified in both, then the value that's specified
-- in limits must be equal to the value that's specified in
-- requests.If you're trying to maximize your resource
-- utilization by providing your jobs as much memory as possible for a
-- particular instance type, see Memory management in the Batch
-- User Guide.
-- - cpu The number of CPUs that are reserved for the container.
-- Values must be an even multiple of 0.25. cpu can be
-- specified in limits, requests, or both. If
-- cpu is specified in both, then the value that's specified in
-- limits must be at least as large as the value that's
-- specified in requests.
-- - nvidia.com/gpu The number of GPUs that are reserved for the
-- container. Values must be a whole integer. nvidia.com/gpu can
-- be specified in limits, requests, or both. If
-- nvidia.com/gpu is specified in both, then the value that's
-- specified in limits must be equal to the value that's
-- specified in requests.
--
newEksContainerResourceRequirements :: EksContainerResourceRequirements
-- | The security context for a job. For more information, see Configure
-- a security context for a pod or container in the Kubernetes
-- documentation.
--
-- See: newEksContainerSecurityContext smart constructor.
data EksContainerSecurityContext
EksContainerSecurityContext' :: Maybe Bool -> Maybe Bool -> Maybe Integer -> Maybe Bool -> Maybe Integer -> EksContainerSecurityContext
-- | Create a value of EksContainerSecurityContext with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:privileged:EksContainerSecurityContext',
-- eksContainerSecurityContext_privileged - When this parameter is
-- true, the container is given elevated permissions on the host
-- container instance. The level of permissions are similar to the
-- root user permissions. The default value is false.
-- This parameter maps to privileged policy in the Privileged
-- pod security policies in the Kubernetes documentation.
--
-- $sel:readOnlyRootFilesystem:EksContainerSecurityContext',
-- eksContainerSecurityContext_readOnlyRootFilesystem - When this
-- parameter is true, the container is given read-only access to
-- its root file system. The default value is false. This
-- parameter maps to ReadOnlyRootFilesystem policy in the
-- Volumes and file systems pod security policies in the
-- Kubernetes documentation.
--
-- $sel:runAsGroup:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsGroup - When this parameter is
-- specified, the container is run as the specified group ID
-- (gid). If this parameter isn't specified, the default is the
-- group that's specified in the image metadata. This parameter maps to
-- RunAsGroup and MustRunAs policy in the Users and
-- groups pod security policies in the Kubernetes
-- documentation.
--
-- $sel:runAsNonRoot:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsNonRoot - When this parameter
-- is specified, the container is run as a user with a uid other
-- than 0. If this parameter isn't specified, so such rule is enforced.
-- This parameter maps to RunAsUser and
-- MustRunAsNonRoot policy in the Users and groups pod
-- security policies in the Kubernetes documentation.
--
-- $sel:runAsUser:EksContainerSecurityContext',
-- eksContainerSecurityContext_runAsUser - When this parameter is
-- specified, the container is run as the specified user ID
-- (uid). If this parameter isn't specified, the default is the
-- user that's specified in the image metadata. This parameter maps to
-- RunAsUser and MustRanAs policy in the Users and
-- groups pod security policies in the Kubernetes
-- documentation.
newEksContainerSecurityContext :: EksContainerSecurityContext
-- | The volume mounts for a container for an Amazon EKS job. For more
-- information about volumes and volume mounts in Kubernetes, see
-- Volumes in the Kubernetes documentation.
--
-- See: newEksContainerVolumeMount smart constructor.
data EksContainerVolumeMount
EksContainerVolumeMount' :: Maybe Text -> Maybe Text -> Maybe Bool -> EksContainerVolumeMount
-- | Create a value of EksContainerVolumeMount with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:mountPath:EksContainerVolumeMount',
-- eksContainerVolumeMount_mountPath - The path on the container
-- where the volume is mounted.
--
-- $sel:name:EksContainerVolumeMount',
-- eksContainerVolumeMount_name - The name the volume mount. This
-- must match the name of one of the volumes in the pod.
--
-- $sel:readOnly:EksContainerVolumeMount',
-- eksContainerVolumeMount_readOnly - If this value is
-- true, the container has read-only access to the volume.
-- Otherwise, the container can write to the volume. The default value is
-- false.
newEksContainerVolumeMount :: EksContainerVolumeMount
-- | Specifies the configuration of a Kubernetes emptyDir volume.
-- An emptyDir volume is first created when a pod is assigned to
-- a node. It exists as long as that pod is running on that node. The
-- emptyDir volume is initially empty. All containers in the pod
-- can read and write the files in the emptyDir volume. However,
-- the emptyDir volume can be mounted at the same or different
-- paths in each container. When a pod is removed from a node for any
-- reason, the data in the emptyDir is deleted permanently. For
-- more information, see emptyDir in the Kubernetes
-- documentation.
--
-- See: newEksEmptyDir smart constructor.
data EksEmptyDir
EksEmptyDir' :: Maybe Text -> Maybe Text -> EksEmptyDir
-- | Create a value of EksEmptyDir with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:medium:EksEmptyDir', eksEmptyDir_medium - The
-- medium to store the volume. The default value is an empty string,
-- which uses the storage of the node.
--
--
-- - "" (Default) Use the disk storage of the node.
-- - "Memory" Use the tmpfs volume that's backed by the
-- RAM of the node. Contents of the volume are lost when the node
-- reboots, and any storage on the volume counts against the container's
-- memory limit.
--
--
-- $sel:sizeLimit:EksEmptyDir', eksEmptyDir_sizeLimit - The
-- maximum size of the volume. By default, there's no maximum size
-- defined.
newEksEmptyDir :: EksEmptyDir
-- | Specifies the configuration of a Kubernetes hostPath volume.
-- A hostPath volume mounts an existing file or directory from
-- the host node's filesystem into your pod. For more information, see
-- hostPath in the Kubernetes documentation.
--
-- See: newEksHostPath smart constructor.
data EksHostPath
EksHostPath' :: Maybe Text -> EksHostPath
-- | Create a value of EksHostPath with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:path:EksHostPath', eksHostPath_path - The path of
-- the file or directory on the host to mount into containers on the pod.
newEksHostPath :: EksHostPath
-- | The properties for the pod.
--
-- See: newEksPodProperties smart constructor.
data EksPodProperties
EksPodProperties' :: Maybe [EksContainer] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe [EksVolume] -> EksPodProperties
-- | Create a value of EksPodProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodProperties',
-- eksPodProperties_containers - The properties of the container
-- that's used on the Amazon EKS pod.
--
-- $sel:dnsPolicy:EksPodProperties',
-- eksPodProperties_dnsPolicy - The DNS policy for the pod. The
-- default value is ClusterFirst. If the hostNetwork
-- parameter is not specified, the default is
-- ClusterFirstWithHostNet. ClusterFirst indicates that
-- any DNS query that does not match the configured cluster domain suffix
-- is forwarded to the upstream nameserver inherited from the node. For
-- more information, see Pod's DNS policy in the Kubernetes
-- documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
--
-- $sel:hostNetwork:EksPodProperties',
-- eksPodProperties_hostNetwork - Indicates if the pod uses the
-- hosts' network IP address. The default value is true. Setting
-- this to false enables the Kubernetes pod networking model.
-- Most Batch workloads are egress-only and don't require the overhead of
-- IP allocation for each pod for incoming connections. For more
-- information, see Host namespaces and Pod networking in
-- the Kubernetes documentation.
--
-- $sel:serviceAccountName:EksPodProperties',
-- eksPodProperties_serviceAccountName - The name of the service
-- account that's used to run the pod. For more information, see
-- Kubernetes service accounts and Configure a Kubernetes
-- service account to assume an IAM role in the Amazon EKS User
-- Guide and Configure service accounts for pods in the
-- Kubernetes documentation.
--
-- $sel:volumes:EksPodProperties', eksPodProperties_volumes
-- - Specifies the volumes for a job definition that uses Amazon EKS
-- resources.
newEksPodProperties :: EksPodProperties
-- | The details for the pod.
--
-- See: newEksPodPropertiesDetail smart constructor.
data EksPodPropertiesDetail
EksPodPropertiesDetail' :: Maybe [EksContainerDetail] -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [EksVolume] -> EksPodPropertiesDetail
-- | Create a value of EksPodPropertiesDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_containers - The properties of the
-- container that's used on the Amazon EKS pod.
--
-- $sel:dnsPolicy:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_dnsPolicy - The DNS policy for the pod.
-- The default value is ClusterFirst. If the
-- hostNetwork parameter is not specified, the default is
-- ClusterFirstWithHostNet. ClusterFirst indicates that
-- any DNS query that does not match the configured cluster domain suffix
-- is forwarded to the upstream nameserver inherited from the node. If no
-- value was specified for dnsPolicy in the
-- RegisterJobDefinition API operation, then no value will be
-- returned for dnsPolicy by either of
-- DescribeJobDefinitions or DescribeJobs API operations.
-- The pod spec setting will contain either ClusterFirst or
-- ClusterFirstWithHostNet, depending on the value of the
-- hostNetwork parameter. For more information, see Pod's DNS
-- policy in the Kubernetes documentation.
--
-- Valid values: Default | ClusterFirst |
-- ClusterFirstWithHostNet
--
-- $sel:hostNetwork:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_hostNetwork - Indicates if the pod uses
-- the hosts' network IP address. The default value is true.
-- Setting this to false enables the Kubernetes pod networking
-- model. Most Batch workloads are egress-only and don't require the
-- overhead of IP allocation for each pod for incoming connections. For
-- more information, see Host namespaces and Pod networking
-- in the Kubernetes documentation.
--
-- $sel:nodeName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_nodeName - The name of the node for this
-- job.
--
-- $sel:podName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_podName - The name of the pod for this
-- job.
--
-- $sel:serviceAccountName:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_serviceAccountName - The name of the
-- service account that's used to run the pod. For more information, see
-- Kubernetes service accounts and Configure a Kubernetes
-- service account to assume an IAM role in the Amazon EKS User
-- Guide and Configure service accounts for pods in the
-- Kubernetes documentation.
--
-- $sel:volumes:EksPodPropertiesDetail',
-- eksPodPropertiesDetail_volumes - Specifies the volumes for a
-- job definition using Amazon EKS resources.
newEksPodPropertiesDetail :: EksPodPropertiesDetail
-- | An object that contains overrides for the Kubernetes pod properties of
-- a job.
--
-- See: newEksPodPropertiesOverride smart constructor.
data EksPodPropertiesOverride
EksPodPropertiesOverride' :: Maybe [EksContainerOverride] -> EksPodPropertiesOverride
-- | Create a value of EksPodPropertiesOverride with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containers:EksPodPropertiesOverride',
-- eksPodPropertiesOverride_containers - The overrides for the
-- container that's used on the Amazon EKS pod.
newEksPodPropertiesOverride :: EksPodPropertiesOverride
-- | An object that contains the properties for the Kubernetes resources of
-- a job.
--
-- See: newEksProperties smart constructor.
data EksProperties
EksProperties' :: Maybe EksPodProperties -> EksProperties
-- | Create a value of EksProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksProperties',
-- eksProperties_podProperties - The properties for the Kubernetes
-- pod resources of a job.
newEksProperties :: EksProperties
-- | An object that contains the details for the Kubernetes resources of a
-- job.
--
-- See: newEksPropertiesDetail smart constructor.
data EksPropertiesDetail
EksPropertiesDetail' :: Maybe EksPodPropertiesDetail -> EksPropertiesDetail
-- | Create a value of EksPropertiesDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksPropertiesDetail',
-- eksPropertiesDetail_podProperties - The properties for the
-- Kubernetes pod resources of a job.
newEksPropertiesDetail :: EksPropertiesDetail
-- | An object that contains overrides for the Kubernetes resources of a
-- job.
--
-- See: newEksPropertiesOverride smart constructor.
data EksPropertiesOverride
EksPropertiesOverride' :: Maybe EksPodPropertiesOverride -> EksPropertiesOverride
-- | Create a value of EksPropertiesOverride with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:podProperties:EksPropertiesOverride',
-- eksPropertiesOverride_podProperties - The overrides for the
-- Kubernetes pod resources of a job.
newEksPropertiesOverride :: EksPropertiesOverride
-- | Specifies the configuration of a Kubernetes secret volume.
-- For more information, see secret in the Kubernetes
-- documentation.
--
-- See: newEksSecret smart constructor.
data EksSecret
EksSecret' :: Maybe Bool -> Text -> EksSecret
-- | Create a value of EksSecret with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:optional:EksSecret', eksSecret_optional - Specifies
-- whether the secret or the secret's keys must be defined.
--
-- $sel:secretName:EksSecret', eksSecret_secretName - The
-- name of the secret. The name must be allowed as a DNS subdomain name.
-- For more information, see DNS subdomain names in the
-- Kubernetes documentation.
newEksSecret :: Text -> EksSecret
-- | Specifies an Amazon EKS volume for a job definition.
--
-- See: newEksVolume smart constructor.
data EksVolume
EksVolume' :: Maybe EksEmptyDir -> Maybe EksHostPath -> Maybe EksSecret -> Text -> EksVolume
-- | Create a value of EksVolume with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:emptyDir:EksVolume', eksVolume_emptyDir - Specifies
-- the configuration of a Kubernetes emptyDir volume. For more
-- information, see emptyDir in the Kubernetes
-- documentation.
--
-- $sel:hostPath:EksVolume', eksVolume_hostPath - Specifies
-- the configuration of a Kubernetes hostPath volume. For more
-- information, see hostPath in the Kubernetes
-- documentation.
--
-- $sel:secret:EksVolume', eksVolume_secret - Specifies the
-- configuration of a Kubernetes secret volume. For more
-- information, see secret in the Kubernetes documentation.
--
-- $sel:name:EksVolume', eksVolume_name - The name of the
-- volume. The name must be allowed as a DNS subdomain name. For more
-- information, see DNS subdomain names in the Kubernetes
-- documentation.
newEksVolume :: Text -> EksVolume
-- | Specifies an array of up to 5 conditions to be met, and an action to
-- take (RETRY or EXIT) if all conditions are met. If
-- none of the EvaluateOnExit conditions in a
-- RetryStrategy match, then the job is retried.
--
-- See: newEvaluateOnExit smart constructor.
data EvaluateOnExit
EvaluateOnExit' :: Maybe Text -> Maybe Text -> Maybe Text -> RetryAction -> EvaluateOnExit
-- | Create a value of EvaluateOnExit with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:onExitCode:EvaluateOnExit',
-- evaluateOnExit_onExitCode - Contains a glob pattern to match
-- against the decimal representation of the ExitCode returned
-- for a job. The pattern can be up to 512 characters long. It can
-- contain only numbers, and can end with an asterisk (*) so that only
-- the start of the string needs to be an exact match.
--
-- The string can contain up to 512 characters.
--
-- $sel:onReason:EvaluateOnExit', evaluateOnExit_onReason -
-- Contains a glob pattern to match against the Reason returned
-- for a job. The pattern can contain up to 512 characters. It can
-- contain letters, numbers, periods (.), colons (:), and white space
-- (including spaces and tabs). It can optionally end with an asterisk
-- (*) so that only the start of the string needs to be an exact match.
--
-- $sel:onStatusReason:EvaluateOnExit',
-- evaluateOnExit_onStatusReason - Contains a glob pattern to
-- match against the StatusReason returned for a job. The
-- pattern can contain up to 512 characters. It can contain letters,
-- numbers, periods (.), colons (:), and white spaces (including spaces
-- or tabs). It can optionally end with an asterisk (*) so that only the
-- start of the string needs to be an exact match.
--
-- $sel:action:EvaluateOnExit', evaluateOnExit_action -
-- Specifies the action to take if all of the specified conditions
-- (onStatusReason, onReason, and onExitCode)
-- are met. The values aren't case sensitive.
newEvaluateOnExit :: RetryAction -> EvaluateOnExit
-- | The fair share policy for a scheduling policy.
--
-- See: newFairsharePolicy smart constructor.
data FairsharePolicy
FairsharePolicy' :: Maybe Int -> Maybe Int -> Maybe [ShareAttributes] -> FairsharePolicy
-- | Create a value of FairsharePolicy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:computeReservation:FairsharePolicy',
-- fairsharePolicy_computeReservation - A value used to reserve
-- some of the available maximum vCPU for fair share identifiers that
-- aren't already used.
--
-- The reserved ratio is
-- (computeReservation/100)^ActiveFairShares
-- where ActiveFairShares is
-- the number of active fair share identifiers.
--
-- For example, a computeReservation value of 50 indicates that
-- Batchreserves 50% of the maximum available vCPU if there's only one
-- fair share identifier. It reserves 25% if there are two fair share
-- identifiers. It reserves 12.5% if there are three fair share
-- identifiers. A computeReservation value of 25 indicates that
-- Batch should reserve 25% of the maximum available vCPU if there's only
-- one fair share identifier, 6.25% if there are two fair share
-- identifiers, and 1.56% if there are three fair share identifiers.
--
-- The minimum value is 0 and the maximum value is 99.
--
-- $sel:shareDecaySeconds:FairsharePolicy',
-- fairsharePolicy_shareDecaySeconds - The amount of time (in
-- seconds) to use to calculate a fair share percentage for each fair
-- share identifier in use. A value of zero (0) indicates that only
-- current usage is measured. The decay allows for more recently run jobs
-- to have more weight than jobs that ran earlier. The maximum supported
-- value is 604800 (1 week).
--
-- $sel:shareDistribution:FairsharePolicy',
-- fairsharePolicy_shareDistribution - An array of
-- SharedIdentifier objects that contain the weights for the
-- fair share identifiers for the fair share policy. Fair share
-- identifiers that aren't included have a default weight of
-- 1.0.
newFairsharePolicy :: FairsharePolicy
-- | The platform configuration for jobs that are running on Fargate
-- resources. Jobs that run on EC2 resources must not specify this
-- parameter.
--
-- See: newFargatePlatformConfiguration smart constructor.
data FargatePlatformConfiguration
FargatePlatformConfiguration' :: Maybe Text -> FargatePlatformConfiguration
-- | Create a value of FargatePlatformConfiguration with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:platformVersion:FargatePlatformConfiguration',
-- fargatePlatformConfiguration_platformVersion - The Fargate
-- platform version where the jobs are running. A platform version is
-- specified only for jobs that are running on Fargate resources. If one
-- isn't specified, the LATEST platform version is used by
-- default. This uses a recent, approved version of the Fargate platform
-- for compute resources. For more information, see Fargate platform
-- versions in the Amazon Elastic Container Service Developer
-- Guide.
newFargatePlatformConfiguration :: FargatePlatformConfiguration
-- | Determine whether your data volume persists on the host container
-- instance and where it's stored. If this parameter is empty, then the
-- Docker daemon assigns a host path for your data volume. However, the
-- data isn't guaranteed to persist after the containers that are
-- associated with it stop running.
--
-- See: newHost smart constructor.
data Host
Host' :: Maybe Text -> Host
-- | Create a value of Host with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:sourcePath:Host', host_sourcePath - The path on the
-- host container instance that's presented to the container. If this
-- parameter is empty, then the Docker daemon has assigned a host path
-- for you. If this parameter contains a file location, then the data
-- volume persists at the specified location on the host container
-- instance until you delete it manually. If the source path location
-- doesn't exist on the host container instance, the Docker daemon
-- creates it. If the location does exist, the contents of the source
-- path folder are exported.
--
-- This parameter isn't applicable to jobs that run on Fargate resources.
-- Don't provide this for these jobs.
newHost :: Host
-- | An object that represents an Batch job definition.
--
-- See: newJobDefinition smart constructor.
data JobDefinition
JobDefinition' :: Maybe OrchestrationType -> Maybe ContainerProperties -> Maybe EksProperties -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Int -> Text -> JobDefinition
-- | Create a value of JobDefinition with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerOrchestrationType:JobDefinition',
-- jobDefinition_containerOrchestrationType - The orchestration
-- type of the compute environment. The valid values are ECS
-- (default) or EKS.
--
-- $sel:containerProperties:JobDefinition',
-- jobDefinition_containerProperties - An object with various
-- properties specific to Amazon ECS based jobs. Valid values are
-- containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- $sel:eksProperties:JobDefinition',
-- jobDefinition_eksProperties - An object with various properties
-- that are specific to Amazon EKS based jobs. Valid values are
-- containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- $sel:nodeProperties:JobDefinition',
-- jobDefinition_nodeProperties - An object with various
-- properties that are specific to multi-node parallel jobs. Valid values
-- are containerProperties, eksProperties, and
-- nodeProperties. Only one can be specified.
--
-- If the job runs on Fargate resources, don't specify
-- nodeProperties. Use containerProperties instead.
--
-- $sel:parameters:JobDefinition', jobDefinition_parameters
-- - Default parameters or parameter substitution placeholders that are
-- set in the job definition. Parameters are specified as a key-value
-- pair mapping. Parameters in a SubmitJob request override any
-- corresponding parameter defaults from the job definition. For more
-- information about specifying parameters, see Job definition
-- parameters in the Batch User Guide.
--
-- $sel:platformCapabilities:JobDefinition',
-- jobDefinition_platformCapabilities - The platform capabilities
-- required by the job definition. If no value is specified, it defaults
-- to EC2. Jobs run on Fargate resources specify
-- FARGATE.
--
-- $sel:propagateTags:JobDefinition',
-- jobDefinition_propagateTags - Specifies whether to propagate
-- the tags from the job or job definition to the corresponding Amazon
-- ECS task. If no value is specified, the tags aren't propagated. Tags
-- can only be propagated to the tasks when the tasks are created. For
-- tags with the same name, job tags are given priority over job
-- definitions tags. If the total number of combined tags from the job
-- and job definition is over 50, the job is moved to the FAILED
-- state.
--
-- $sel:retryStrategy:JobDefinition',
-- jobDefinition_retryStrategy - The retry strategy to use for
-- failed jobs that are submitted with this job definition.
--
-- $sel:schedulingPriority:JobDefinition',
-- jobDefinition_schedulingPriority - The scheduling priority of
-- the job definition. This only affects jobs in job queues with a fair
-- share policy. Jobs with a higher scheduling priority are scheduled
-- before jobs with a lower scheduling priority.
--
-- $sel:status:JobDefinition', jobDefinition_status - The
-- status of the job definition.
--
-- $sel:tags:JobDefinition', jobDefinition_tags - The tags
-- that are applied to the job definition.
--
-- $sel:timeout:JobDefinition', jobDefinition_timeout - The
-- timeout time for jobs that are submitted with this job definition.
-- After the amount of time you specify passes, Batch terminates your
-- jobs if they aren't finished.
--
-- $sel:jobDefinitionName:JobDefinition',
-- jobDefinition_jobDefinitionName - The name of the job
-- definition.
--
-- $sel:jobDefinitionArn:JobDefinition',
-- jobDefinition_jobDefinitionArn - The Amazon Resource Name (ARN)
-- for the job definition.
--
-- $sel:revision:JobDefinition', jobDefinition_revision -
-- The revision of the job definition.
--
-- $sel:type':JobDefinition', jobDefinition_type - The type
-- of job definition. It's either container or
-- multinode. If the job is run on Fargate resources, then
-- multinode isn't supported. For more information about
-- multi-node parallel jobs, see Creating a multi-node parallel job
-- definition in the Batch User Guide.
newJobDefinition :: Text -> Text -> Int -> Text -> JobDefinition
-- | An object that represents an Batch job dependency.
--
-- See: newJobDependency smart constructor.
data JobDependency
JobDependency' :: Maybe Text -> Maybe ArrayJobDependency -> JobDependency
-- | Create a value of JobDependency with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:jobId:JobDependency', jobDependency_jobId - The job
-- ID of the Batch job that's associated with this dependency.
--
-- $sel:type':JobDependency', jobDependency_type - The type
-- of the job dependency.
newJobDependency :: JobDependency
-- | An object that represents an Batch job.
--
-- See: newJobDetail smart constructor.
data JobDetail
JobDetail' :: Maybe ArrayPropertiesDetail -> Maybe [AttemptDetail] -> Maybe ContainerDetail -> Maybe Integer -> Maybe [JobDependency] -> Maybe [EksAttemptDetail] -> Maybe EksPropertiesDetail -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe NodeDetails -> Maybe NodeProperties -> Maybe (HashMap Text Text) -> Maybe [PlatformCapability] -> Maybe Bool -> Maybe RetryStrategy -> Maybe Int -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe (HashMap Text Text) -> Maybe JobTimeout -> Text -> Text -> Text -> JobStatus -> Text -> JobDetail
-- | Create a value of JobDetail with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayProperties:JobDetail',
-- jobDetail_arrayProperties - The array properties of the job, if
-- it's an array job.
--
-- JobDetail, jobDetail_attempts - A list of job attempts
-- that are associated with this job.
--
-- JobDetail, jobDetail_container - An object that
-- represents the details for the container that's associated with the
-- job.
--
-- $sel:createdAt:JobDetail', jobDetail_createdAt - The
-- Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state. This is specifically at the time SubmitJob
-- was called. For array child jobs, this is when the child job was
-- spawned by its parent and entered the PENDING state.
--
-- $sel:dependsOn:JobDetail', jobDetail_dependsOn - A list
-- of job IDs that this job depends on.
--
-- $sel:eksAttempts:JobDetail', jobDetail_eksAttempts - A
-- list of job attempts that are associated with this job.
--
-- $sel:eksProperties:JobDetail', jobDetail_eksProperties -
-- An object with various properties that are specific to Amazon EKS
-- based jobs. Only one of container, eksProperties, or
-- nodeDetails is specified.
--
-- $sel:isCancelled:JobDetail', jobDetail_isCancelled -
-- Indicates whether the job is canceled.
--
-- $sel:isTerminated:JobDetail', jobDetail_isTerminated -
-- Indicates whether the job is terminated.
--
-- $sel:jobArn:JobDetail', jobDetail_jobArn - The Amazon
-- Resource Name (ARN) of the job.
--
-- $sel:nodeDetails:JobDetail', jobDetail_nodeDetails - An
-- object that represents the details of a node that's associated with a
-- multi-node parallel job.
--
-- $sel:nodeProperties:JobDetail', jobDetail_nodeProperties
-- - An object that represents the node properties of a multi-node
-- parallel job.
--
-- This isn't applicable to jobs that are running on Fargate resources.
--
-- $sel:parameters:JobDetail', jobDetail_parameters -
-- Additional parameters that are passed to the job that replace
-- parameter substitution placeholders or override any corresponding
-- parameter defaults from the job definition.
--
-- $sel:platformCapabilities:JobDetail',
-- jobDetail_platformCapabilities - The platform capabilities
-- required by the job definition. If no value is specified, it defaults
-- to EC2. Jobs run on Fargate resources specify
-- FARGATE.
--
-- $sel:propagateTags:JobDetail', jobDetail_propagateTags -
-- Specifies whether to propagate the tags from the job or job definition
-- to the corresponding Amazon ECS task. If no value is specified, the
-- tags aren't propagated. Tags can only be propagated to the tasks when
-- the tasks are created. For tags with the same name, job tags are given
-- priority over job definitions tags. If the total number of combined
-- tags from the job and job definition is over 50, the job is moved to
-- the FAILED state.
--
-- $sel:retryStrategy:JobDetail', jobDetail_retryStrategy -
-- The retry strategy to use for this job if an attempt fails.
--
-- $sel:schedulingPriority:JobDetail',
-- jobDetail_schedulingPriority - The scheduling policy of the job
-- definition. This only affects jobs in job queues with a fair share
-- policy. Jobs with a higher scheduling priority are scheduled before
-- jobs with a lower scheduling priority.
--
-- $sel:shareIdentifier:JobDetail',
-- jobDetail_shareIdentifier - The share identifier for the job.
--
-- JobDetail, jobDetail_startedAt - The Unix timestamp (in
-- milliseconds) for when the job was started. More specifically, it's
-- when the job transitioned from the STARTING state to the
-- RUNNING state. This parameter isn't provided for child jobs
-- of array jobs or multi-node parallel jobs.
--
-- JobDetail, jobDetail_statusReason - A short,
-- human-readable string to provide more details for the current status
-- of the job.
--
-- JobDetail, jobDetail_stoppedAt - The Unix timestamp (in
-- milliseconds) for when the job was stopped. More specifically, it's
-- when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
--
-- $sel:tags:JobDetail', jobDetail_tags - The tags that are
-- applied to the job.
--
-- $sel:timeout:JobDetail', jobDetail_timeout - The timeout
-- configuration for the job.
--
-- $sel:jobName:JobDetail', jobDetail_jobName - The job
-- name.
--
-- JobDetail, jobDetail_jobId - The job ID.
--
-- $sel:jobQueue:JobDetail', jobDetail_jobQueue - The
-- Amazon Resource Name (ARN) of the job queue that the job is associated
-- with.
--
-- $sel:status:JobDetail', jobDetail_status - The current
-- status for the job.
--
-- If your jobs don't progress to STARTING, see Jobs stuck in
-- RUNNABLE status in the troubleshooting section of the Batch
-- User Guide.
--
-- $sel:jobDefinition:JobDetail', jobDetail_jobDefinition -
-- The Amazon Resource Name (ARN) of the job definition that this job
-- uses.
newJobDetail :: Text -> Text -> Text -> JobStatus -> Text -> JobDetail
-- | An object that represents the details for an Batch job queue.
--
-- See: newJobQueueDetail smart constructor.
data JobQueueDetail
JobQueueDetail' :: Maybe Text -> Maybe JQStatus -> Maybe Text -> Maybe (HashMap Text Text) -> Text -> Text -> JQState -> Int -> [ComputeEnvironmentOrder] -> JobQueueDetail
-- | Create a value of JobQueueDetail with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:schedulingPolicyArn:JobQueueDetail',
-- jobQueueDetail_schedulingPolicyArn - The Amazon Resource Name
-- (ARN) of the scheduling policy. The format is
-- aws:Partition:batch:Region:Account:scheduling-policy/Name
-- . For example,
-- aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy.
--
-- $sel:status:JobQueueDetail', jobQueueDetail_status - The
-- status of the job queue (for example, CREATING or
-- VALID).
--
-- $sel:statusReason:JobQueueDetail',
-- jobQueueDetail_statusReason - A short, human-readable string to
-- provide additional details for the current status of the job queue.
--
-- $sel:tags:JobQueueDetail', jobQueueDetail_tags - The
-- tags that are applied to the job queue. For more information, see
-- Tagging your Batch resources in Batch User Guide.
--
-- $sel:jobQueueName:JobQueueDetail',
-- jobQueueDetail_jobQueueName - The job queue name.
--
-- $sel:jobQueueArn:JobQueueDetail',
-- jobQueueDetail_jobQueueArn - The Amazon Resource Name (ARN) of
-- the job queue.
--
-- $sel:state:JobQueueDetail', jobQueueDetail_state -
-- Describes the ability of the queue to accept new jobs. If the job
-- queue state is ENABLED, it can accept jobs. If the job queue
-- state is DISABLED, new jobs can't be added to the queue, but
-- jobs already in the queue can finish.
--
-- $sel:priority:JobQueueDetail', jobQueueDetail_priority -
-- The priority of the job queue. Job queues with a higher priority (or a
-- higher integer value for the priority parameter) are
-- evaluated first when associated with the same compute environment.
-- Priority is determined in descending order. For example, a job queue
-- with a priority value of 10 is given scheduling preference
-- over a job queue with a priority value of 1. All of the
-- compute environments must be either EC2 (EC2 or
-- SPOT) or Fargate (FARGATE or FARGATE_SPOT).
-- EC2 and Fargate compute environments can't be mixed.
--
-- $sel:computeEnvironmentOrder:JobQueueDetail',
-- jobQueueDetail_computeEnvironmentOrder - The compute
-- environments that are attached to the job queue and the order that job
-- placement is preferred. Compute environments are selected for job
-- placement in ascending order.
newJobQueueDetail :: Text -> Text -> JQState -> Int -> JobQueueDetail
-- | An object that represents summary details of a job.
--
-- See: newJobSummary smart constructor.
data JobSummary
JobSummary' :: Maybe ArrayPropertiesSummary -> Maybe ContainerSummary -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe NodePropertiesSummary -> Maybe Integer -> Maybe JobStatus -> Maybe Text -> Maybe Integer -> Text -> Text -> JobSummary
-- | Create a value of JobSummary with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arrayProperties:JobSummary',
-- jobSummary_arrayProperties - The array properties of the job,
-- if it's an array job.
--
-- $sel:container:JobSummary', jobSummary_container - An
-- object that represents the details of the container that's associated
-- with the job.
--
-- $sel:createdAt:JobSummary', jobSummary_createdAt - The
-- Unix timestamp (in milliseconds) for when the job was created. For
-- non-array jobs and parent array jobs, this is when the job entered the
-- SUBMITTED state (at the time SubmitJob was called). For array
-- child jobs, this is when the child job was spawned by its parent and
-- entered the PENDING state.
--
-- $sel:jobArn:JobSummary', jobSummary_jobArn - The Amazon
-- Resource Name (ARN) of the job.
--
-- $sel:jobDefinition:JobSummary', jobSummary_jobDefinition
-- - The Amazon Resource Name (ARN) of the job definition.
--
-- $sel:nodeProperties:JobSummary',
-- jobSummary_nodeProperties - The node properties for a single
-- node in a job summary list.
--
-- This isn't applicable to jobs that are running on Fargate resources.
--
-- $sel:startedAt:JobSummary', jobSummary_startedAt - The
-- Unix timestamp for when the job was started. More specifically, it's
-- when the job transitioned from the STARTING state to the
-- RUNNING state.
--
-- $sel:status:JobSummary', jobSummary_status - The current
-- status for the job.
--
-- $sel:statusReason:JobSummary', jobSummary_statusReason -
-- A short, human-readable string to provide more details for the current
-- status of the job.
--
-- $sel:stoppedAt:JobSummary', jobSummary_stoppedAt - The
-- Unix timestamp for when the job was stopped. More specifically, it's
-- when the job transitioned from the RUNNING state to a
-- terminal state, such as SUCCEEDED or FAILED.
--
-- $sel:jobId:JobSummary', jobSummary_jobId - The job ID.
--
-- $sel:jobName:JobSummary', jobSummary_jobName - The job
-- name.
newJobSummary :: Text -> Text -> JobSummary
-- | An object that represents a job timeout configuration.
--
-- See: newJobTimeout smart constructor.
data JobTimeout
JobTimeout' :: Maybe Int -> JobTimeout
-- | Create a value of JobTimeout with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attemptDurationSeconds:JobTimeout',
-- jobTimeout_attemptDurationSeconds - The job timeout time (in
-- seconds) that's measured from the job attempt's startedAt
-- timestamp. After this time passes, Batch terminates your jobs if they
-- aren't finished. The minimum value for the timeout is 60 seconds.
--
-- For array jobs, the timeout applies to the child jobs, not to the
-- parent array job.
--
-- For multi-node parallel (MNP) jobs, the timeout applies to the whole
-- job, not to the individual nodes.
newJobTimeout :: JobTimeout
-- | A key-value pair object.
--
-- See: newKeyValuePair smart constructor.
data KeyValuePair
KeyValuePair' :: Maybe Text -> Maybe Text -> KeyValuePair
-- | Create a value of KeyValuePair with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:KeyValuePair', keyValuePair_name - The name of
-- the key-value pair. For environment variables, this is the name of the
-- environment variable.
--
-- $sel:value:KeyValuePair', keyValuePair_value - The value
-- of the key-value pair. For environment variables, this is the value of
-- the environment variable.
newKeyValuePair :: KeyValuePair
-- | A filter name and value pair that's used to return a more specific
-- list of results from a ListJobs API operation.
--
-- See: newKeyValuesPair smart constructor.
data KeyValuesPair
KeyValuesPair' :: Maybe Text -> Maybe [Text] -> KeyValuesPair
-- | Create a value of KeyValuesPair with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:KeyValuesPair', keyValuesPair_name - The name
-- of the filter. Filter names are case sensitive.
--
-- $sel:values:KeyValuesPair', keyValuesPair_values - The
-- filter values.
newKeyValuesPair :: KeyValuesPair
-- | An object that represents a launch template that's associated with a
-- compute resource. You must specify either the launch template ID or
-- launch template name in the request, but not both.
--
-- If security groups are specified using both the
-- securityGroupIds parameter of
-- CreateComputeEnvironment and the launch template, the values
-- in the securityGroupIds parameter of
-- CreateComputeEnvironment will be used.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newLaunchTemplateSpecification smart constructor.
data LaunchTemplateSpecification
LaunchTemplateSpecification' :: Maybe Text -> Maybe Text -> Maybe Text -> LaunchTemplateSpecification
-- | Create a value of LaunchTemplateSpecification with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:launchTemplateId:LaunchTemplateSpecification',
-- launchTemplateSpecification_launchTemplateId - The ID of the
-- launch template.
--
-- $sel:launchTemplateName:LaunchTemplateSpecification',
-- launchTemplateSpecification_launchTemplateName - The name of
-- the launch template.
--
-- $sel:version:LaunchTemplateSpecification',
-- launchTemplateSpecification_version - The version number of the
-- launch template, $Latest, or $Default.
--
-- If the value is $Latest, the latest version of the launch
-- template is used. If the value is $Default, the default
-- version of the launch template is used.
--
-- If the AMI ID that's used in a compute environment is from the launch
-- template, the AMI isn't changed when the compute environment is
-- updated. It's only changed if the updateToLatestImageVersion
-- parameter for the compute environment is set to true. During
-- an infrastructure update, if either $Latest or
-- $Default is specified, Batch re-evaluates the launch template
-- version, and it might use a different version of the launch template.
-- This is the case even if the launch template isn't specified in the
-- update. When updating a compute environment, changing the launch
-- template requires an infrastructure update of the compute environment.
-- For more information, see Updating compute environments in the
-- Batch User Guide.
--
-- Default: $Default.
newLaunchTemplateSpecification :: LaunchTemplateSpecification
-- | Linux-specific modifications that are applied to the container, such
-- as details for device mappings.
--
-- See: newLinuxParameters smart constructor.
data LinuxParameters
LinuxParameters' :: Maybe [Device] -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe [Tmpfs] -> LinuxParameters
-- | Create a value of LinuxParameters with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:devices:LinuxParameters', linuxParameters_devices -
-- Any of the host devices to expose to the container. This parameter
-- maps to Devices in the Create a container section of
-- the Docker Remote API and the --device option to
-- docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:initProcessEnabled:LinuxParameters',
-- linuxParameters_initProcessEnabled - If true, run an
-- init process inside the container that forwards signals and
-- reaps processes. This parameter maps to the --init option to
-- docker run. This parameter requires version 1.25 of the Docker
-- Remote API or greater on your container instance. To check the Docker
-- Remote API version on your container instance, log in to your
-- container instance and run the following command: sudo docker
-- version | grep "Server API version"
--
-- $sel:maxSwap:LinuxParameters', linuxParameters_maxSwap -
-- The total amount of swap memory (in MiB) a container can use. This
-- parameter is translated to the --memory-swap option to
-- docker run where the value is the sum of the container memory
-- plus the maxSwap value. For more information, see
-- --memory-swap details in the Docker documentation.
--
-- If a maxSwap value of 0 is specified, the container
-- doesn't use swap. Accepted values are 0 or any positive
-- integer. If the maxSwap parameter is omitted, the container
-- doesn't use the swap configuration for the container instance that
-- it's running on. A maxSwap value must be set for the
-- swappiness parameter to be used.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:sharedMemorySize:LinuxParameters',
-- linuxParameters_sharedMemorySize - The value for the size (in
-- MiB) of the /dev/shm volume. This parameter maps to the
-- --shm-size option to docker run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:swappiness:LinuxParameters',
-- linuxParameters_swappiness - You can use this parameter to tune
-- a container's memory swappiness behavior. A swappiness value
-- of 0 causes swapping to not occur unless absolutely
-- necessary. A swappiness value of 100 causes pages to
-- be swapped aggressively. Valid values are whole numbers between
-- 0 and 100. If the swappiness parameter
-- isn't specified, a default value of 60 is used. If a value
-- isn't specified for maxSwap, then this parameter is ignored.
-- If maxSwap is set to 0, the container doesn't use swap. This
-- parameter maps to the --memory-swappiness option to docker
-- run.
--
-- Consider the following when you use a per-container swap
-- configuration.
--
--
-- - Swap space must be enabled and allocated on the container instance
-- for the containers to use.By default, the Amazon ECS optimized AMIs
-- don't have swap enabled. You must enable swap on the instance to use
-- this feature. For more information, see Instance store swap
-- volumes in the Amazon EC2 User Guide for Linux Instances or
-- How do I allocate memory to work as swap space in an Amazon EC2
-- instance by using a swap file?
-- - The swap space parameters are only supported for job definitions
-- using EC2 resources.
-- - If the maxSwap and swappiness parameters are
-- omitted from a job definition, each container has a default
-- swappiness value of 60. Moreover, the total swap usage is
-- limited to two times the memory reservation of the container.
--
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs.
--
-- $sel:tmpfs:LinuxParameters', linuxParameters_tmpfs - The
-- container path, mount options, and size (in MiB) of the tmpfs
-- mount. This parameter maps to the --tmpfs option to docker
-- run.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide this parameter for this resource type.
newLinuxParameters :: LinuxParameters
-- | Log configuration options to send to a custom log driver for the
-- container.
--
-- See: newLogConfiguration smart constructor.
data LogConfiguration
LogConfiguration' :: Maybe (HashMap Text Text) -> Maybe [Secret] -> LogDriver -> LogConfiguration
-- | Create a value of LogConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:options:LogConfiguration', logConfiguration_options
-- - The configuration options to send to the log driver. This parameter
-- requires version 1.19 of the Docker Remote API or greater on your
-- container instance. To check the Docker Remote API version on your
-- container instance, log in to your container instance and run the
-- following command: sudo docker version | grep "Server API
-- version"
--
-- $sel:secretOptions:LogConfiguration',
-- logConfiguration_secretOptions - The secrets to pass to the log
-- configuration. For more information, see Specifying sensitive
-- data in the Batch User Guide.
--
-- $sel:logDriver:LogConfiguration',
-- logConfiguration_logDriver - The log driver to use for the
-- container. The valid values that are listed for this parameter are log
-- drivers that the Amazon ECS container agent can communicate with by
-- default.
--
-- The supported log drivers are awslogs, fluentd,
-- gelf, json-file, journald,
-- logentries, syslog, and splunk.
--
-- Jobs that are running on Fargate resources are restricted to the
-- awslogs and splunk log drivers.
--
--
-- - awslogs Specifies the Amazon CloudWatch Logs logging
-- driver. For more information, see Using the awslogs log driver
-- in the Batch User Guide and Amazon CloudWatch Logs logging
-- driver in the Docker documentation.
-- - fluentd Specifies the Fluentd logging driver. For more
-- information including usage and options, see Fluentd logging
-- driver in the Docker documentation.
-- - gelf Specifies the Graylog Extended Format (GELF) logging
-- driver. For more information including usage and options, see
-- Graylog Extended Format logging driver in the Docker
-- documentation.
-- - journald Specifies the journald logging driver. For more
-- information including usage and options, see Journald logging
-- driver in the Docker documentation.
-- - json-file Specifies the JSON file logging driver. For more
-- information including usage and options, see JSON File logging
-- driver in the Docker documentation.
-- - splunk Specifies the Splunk logging driver. For more
-- information including usage and options, see Splunk logging
-- driver in the Docker documentation.
-- - syslog Specifies the syslog logging driver. For more
-- information including usage and options, see Syslog logging
-- driver in the Docker documentation.
--
--
-- If you have a custom driver that's not listed earlier that you want to
-- work with the Amazon ECS container agent, you can fork the Amazon ECS
-- container agent project that's available on GitHub and
-- customize it to work with that driver. We encourage you to submit pull
-- requests for changes that you want to have included. However, Amazon
-- Web Services doesn't currently support running modified copies of this
-- software.
--
-- This parameter requires version 1.18 of the Docker Remote API or
-- greater on your container instance. To check the Docker Remote API
-- version on your container instance, log in to your container instance
-- and run the following command: sudo docker version | grep "Server
-- API version"
newLogConfiguration :: LogDriver -> LogConfiguration
-- | Details for a Docker volume mount point that's used in a job's
-- container properties. This parameter maps to Volumes in the
-- Create a container section of the Docker Remote API and
-- the --volume option to docker run.
--
-- See: newMountPoint smart constructor.
data MountPoint
MountPoint' :: Maybe Text -> Maybe Bool -> Maybe Text -> MountPoint
-- | Create a value of MountPoint with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerPath:MountPoint', mountPoint_containerPath
-- - The path on the container where the host volume is mounted.
--
-- $sel:readOnly:MountPoint', mountPoint_readOnly - If this
-- value is true, the container has read-only access to the
-- volume. Otherwise, the container can write to the volume. The default
-- value is false.
--
-- $sel:sourceVolume:MountPoint', mountPoint_sourceVolume -
-- The name of the volume to mount.
newMountPoint :: MountPoint
-- | The network configuration for jobs that are running on Fargate
-- resources. Jobs that are running on EC2 resources must not specify
-- this parameter.
--
-- See: newNetworkConfiguration smart constructor.
data NetworkConfiguration
NetworkConfiguration' :: Maybe AssignPublicIp -> NetworkConfiguration
-- | Create a value of NetworkConfiguration with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:assignPublicIp:NetworkConfiguration',
-- networkConfiguration_assignPublicIp - Indicates whether the job
-- has a public IP address. For a job that's running on Fargate resources
-- in a private subnet to send outbound traffic to the internet (for
-- example, to pull container images), the private subnet requires a NAT
-- gateway be attached to route requests to the internet. For more
-- information, see Amazon ECS task networking in the Amazon
-- Elastic Container Service Developer Guide. The default value is
-- "DISABLED".
newNetworkConfiguration :: NetworkConfiguration
-- | An object that represents the elastic network interface for a
-- multi-node parallel job node.
--
-- See: newNetworkInterface smart constructor.
data NetworkInterface
NetworkInterface' :: Maybe Text -> Maybe Text -> Maybe Text -> NetworkInterface
-- | Create a value of NetworkInterface with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attachmentId:NetworkInterface',
-- networkInterface_attachmentId - The attachment ID for the
-- network interface.
--
-- $sel:ipv6Address:NetworkInterface',
-- networkInterface_ipv6Address - The private IPv6 address for the
-- network interface.
--
-- $sel:privateIpv4Address:NetworkInterface',
-- networkInterface_privateIpv4Address - The private IPv4 address
-- for the network interface.
newNetworkInterface :: NetworkInterface
-- | An object that represents the details of a multi-node parallel job
-- node.
--
-- See: newNodeDetails smart constructor.
data NodeDetails
NodeDetails' :: Maybe Bool -> Maybe Int -> NodeDetails
-- | Create a value of NodeDetails with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:isMainNode:NodeDetails', nodeDetails_isMainNode -
-- Specifies whether the current node is the main node for a multi-node
-- parallel job.
--
-- $sel:nodeIndex:NodeDetails', nodeDetails_nodeIndex - The
-- node index for the node. Node index numbering starts at zero. This
-- index is also available on the node with the
-- AWS_BATCH_JOB_NODE_INDEX environment variable.
newNodeDetails :: NodeDetails
-- | An object that represents any node overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources. Don't provide it for these jobs. Rather, use
-- containerOverrides instead.
--
-- See: newNodeOverrides smart constructor.
data NodeOverrides
NodeOverrides' :: Maybe [NodePropertyOverride] -> Maybe Int -> NodeOverrides
-- | Create a value of NodeOverrides with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:nodePropertyOverrides:NodeOverrides',
-- nodeOverrides_nodePropertyOverrides - The node property
-- overrides for the job.
--
-- $sel:numNodes:NodeOverrides', nodeOverrides_numNodes -
-- The number of nodes to use with a multi-node parallel job. This value
-- overrides the number of nodes that are specified in the job
-- definition. To use this override, you must meet the following
-- conditions:
--
--
-- - There must be at least one node range in your job definition that
-- has an open upper boundary, such as : or n:.
-- - The lower boundary of the node range that's specified in the job
-- definition must be fewer than the number of nodes specified in the
-- override.
-- - The main node index that's specified in the job definition must be
-- fewer than the number of nodes specified in the override.
--
newNodeOverrides :: NodeOverrides
-- | An object that represents the node properties of a multi-node parallel
-- job.
--
-- Node properties can't be specified for Amazon EKS based job
-- definitions.
--
-- See: newNodeProperties smart constructor.
data NodeProperties
NodeProperties' :: Int -> Int -> [NodeRangeProperty] -> NodeProperties
-- | Create a value of NodeProperties with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:numNodes:NodeProperties', nodeProperties_numNodes -
-- The number of nodes that are associated with a multi-node parallel
-- job.
--
-- $sel:mainNode:NodeProperties', nodeProperties_mainNode -
-- Specifies the node index for the main node of a multi-node parallel
-- job. This node index value must be fewer than the number of nodes.
--
-- $sel:nodeRangeProperties:NodeProperties',
-- nodeProperties_nodeRangeProperties - A list of node ranges and
-- their properties that are associated with a multi-node parallel job.
newNodeProperties :: Int -> Int -> NodeProperties
-- | An object that represents the properties of a node that's associated
-- with a multi-node parallel job.
--
-- See: newNodePropertiesSummary smart constructor.
data NodePropertiesSummary
NodePropertiesSummary' :: Maybe Bool -> Maybe Int -> Maybe Int -> NodePropertiesSummary
-- | Create a value of NodePropertiesSummary with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:isMainNode:NodePropertiesSummary',
-- nodePropertiesSummary_isMainNode - Specifies whether the
-- current node is the main node for a multi-node parallel job.
--
-- $sel:nodeIndex:NodePropertiesSummary',
-- nodePropertiesSummary_nodeIndex - The node index for the node.
-- Node index numbering begins at zero. This index is also available on
-- the node with the AWS_BATCH_JOB_NODE_INDEX environment
-- variable.
--
-- $sel:numNodes:NodePropertiesSummary',
-- nodePropertiesSummary_numNodes - The number of nodes that are
-- associated with a multi-node parallel job.
newNodePropertiesSummary :: NodePropertiesSummary
-- | The object that represents any node overrides to a job definition
-- that's used in a SubmitJob API operation.
--
-- See: newNodePropertyOverride smart constructor.
data NodePropertyOverride
NodePropertyOverride' :: Maybe ContainerOverrides -> Text -> NodePropertyOverride
-- | Create a value of NodePropertyOverride with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:containerOverrides:NodePropertyOverride',
-- nodePropertyOverride_containerOverrides - The overrides that
-- are sent to a node range.
--
-- $sel:targetNodes:NodePropertyOverride',
-- nodePropertyOverride_targetNodes - The range of nodes, using
-- node index values, that's used to override. A range of 0:3
-- indicates nodes with index values of 0 through 3. If
-- the starting range value is omitted (:n), then 0 is
-- used to start the range. If the ending range value is omitted
-- (n:), then the highest possible node index is used to end the
-- range.
newNodePropertyOverride :: Text -> NodePropertyOverride
-- | An object that represents the properties of the node range for a
-- multi-node parallel job.
--
-- See: newNodeRangeProperty smart constructor.
data NodeRangeProperty
NodeRangeProperty' :: Maybe ContainerProperties -> Text -> NodeRangeProperty
-- | Create a value of NodeRangeProperty with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:container:NodeRangeProperty',
-- nodeRangeProperty_container - The container details for the
-- node range.
--
-- $sel:targetNodes:NodeRangeProperty',
-- nodeRangeProperty_targetNodes - The range of nodes, using node
-- index values. A range of 0:3 indicates nodes with index
-- values of 0 through 3. If the starting range value
-- is omitted (:n), then 0 is used to start the range.
-- If the ending range value is omitted (n:), then the highest
-- possible node index is used to end the range. Your accumulative node
-- ranges must account for all nodes (0:n). You can nest node
-- ranges (for example, 0:10 and 4:5). In this case,
-- the 4:5 range properties override the 0:10
-- properties.
newNodeRangeProperty :: Text -> NodeRangeProperty
-- | The type and amount of a resource to assign to a container. The
-- supported resources include GPU, MEMORY, and
-- VCPU.
--
-- See: newResourceRequirement smart constructor.
data ResourceRequirement
ResourceRequirement' :: Text -> ResourceType -> ResourceRequirement
-- | Create a value of ResourceRequirement with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:value:ResourceRequirement',
-- resourceRequirement_value - The quantity of the specified
-- resource to reserve for the container. The values vary based on the
-- type specified.
--
--
-- - type="GPU" The number of physical GPUs to reserve for the
-- container. Make sure that the number of GPUs reserved for all
-- containers in a job doesn't exceed the number of available GPUs on the
-- compute resource that the job is launched on.GPUs aren't available for
-- jobs that are running on Fargate resources.
-- - type="MEMORY" The memory hard limit (in MiB) present to the
-- container. This parameter is supported for jobs that are running on
-- EC2 resources. If your container attempts to exceed the memory
-- specified, the container is terminated. This parameter maps to
-- Memory in the Create a container section of the
-- Docker Remote API and the --memory option to docker
-- run. You must specify at least 4 MiB of memory for a job. This is
-- required but can be specified in several places for multi-node
-- parallel (MNP) jobs. It must be specified for each node at least once.
-- This parameter maps to Memory in the Create a
-- container section of the Docker Remote API and the
-- --memory option to docker run.If you're trying to
-- maximize your resource utilization by providing your jobs as much
-- memory as possible for a particular instance type, see Memory
-- management in the Batch User Guide.For jobs that are
-- running on Fargate resources, then value is the hard limit
-- (in MiB), and must match one of the supported values and the
-- VCPU values must be one of the values supported for that
-- memory value.
- value = 512 VCPU =
-- 0.25
- value = 1024 VCPU = 0.25 or
-- 0.5
- value = 2048 VCPU = 0.25, 0.5, or
-- 1
- value = 3072 VCPU = 0.5, or
-- 1
- value = 4096 VCPU = 0.5, 1, or
-- 2
- value = 5120, 6144, or 7168 VCPU = 1 or
-- 2
- value = 8192 VCPU = 1, 2, 4, or
-- 8
- value = 9216, 10240, 11264, 12288, 13312, 14336, or
-- 15360 VCPU = 2 or 4
- value = 16384
-- VCPU = 2, 4, or 8
- value = 17408, 18432, 19456,
-- 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-- VCPU = 4
- value = 20480, 24576, or 28672
-- VCPU = 4 or 8
- value = 36864, 45056, 53248, or
-- 61440 VCPU = 8
- value = 32768, 40960, 49152, or
-- 57344 VCPU = 8 or 16
- value = 65536, 73728,
-- 81920, 90112, 98304, 106496, 114688, or 122880 VCPU =
-- 16
-- - type="VCPU" The number of vCPUs reserved for the container.
-- This parameter maps to CpuShares in the Create a
-- container section of the Docker Remote API and the
-- --cpu-shares option to docker run. Each vCPU is
-- equivalent to 1,024 CPU shares. For EC2 resources, you must specify at
-- least one vCPU. This is required but can be specified in several
-- places; it must be specified for each node at least once.The default
-- for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For
-- more information about Fargate quotas, see Fargate quotas in
-- the Amazon Web Services General Reference.For jobs that are
-- running on Fargate resources, then value must match one of
-- the supported values and the MEMORY values must be one of the
-- values supported for that VCPU value. The supported values
-- are 0.25, 0.5, 1, 2, 4, 8, and 16
- value = 0.25
-- MEMORY = 512, 1024, or 2048
- value = 0.5
-- MEMORY = 1024, 2048, 3072, or 4096
- value = 1
-- MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or
-- 8192
- value = 2 MEMORY = 4096, 5120, 6144,
-- 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
-- 16384
- value = 4 MEMORY = 8192, 9216, 10240,
-- 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
-- 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or
-- 30720
- value = 8 MEMORY = 16384, 20480, 24576,
-- 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or
-- 61440
- value = 16 MEMORY = 32768, 40960, 49152,
-- 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or
-- 122880
--
--
-- $sel:type':ResourceRequirement',
-- resourceRequirement_type - The type of resource to assign to a
-- container. The supported resources include GPU,
-- MEMORY, and VCPU.
newResourceRequirement :: Text -> ResourceType -> ResourceRequirement
-- | The retry strategy that's associated with a job. For more information,
-- see Automated job retries in the Batch User Guide.
--
-- See: newRetryStrategy smart constructor.
data RetryStrategy
RetryStrategy' :: Maybe Int -> Maybe [EvaluateOnExit] -> RetryStrategy
-- | Create a value of RetryStrategy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:attempts:RetryStrategy', retryStrategy_attempts -
-- The number of times to move a job to the RUNNABLE status. You
-- can specify between 1 and 10 attempts. If the value of
-- attempts is greater than one, the job is retried on failure
-- the same number of attempts as the value.
--
-- $sel:evaluateOnExit:RetryStrategy',
-- retryStrategy_evaluateOnExit - Array of up to 5 objects that
-- specify the conditions where jobs are retried or failed. If this
-- parameter is specified, then the attempts parameter must also
-- be specified. If none of the listed conditions match, then the job is
-- retried.
newRetryStrategy :: RetryStrategy
-- | An object that represents a scheduling policy.
--
-- See: newSchedulingPolicyDetail smart constructor.
data SchedulingPolicyDetail
SchedulingPolicyDetail' :: Maybe FairsharePolicy -> Maybe (HashMap Text Text) -> Text -> Text -> SchedulingPolicyDetail
-- | Create a value of SchedulingPolicyDetail with all optional
-- fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:fairsharePolicy:SchedulingPolicyDetail',
-- schedulingPolicyDetail_fairsharePolicy - The fair share policy
-- for the scheduling policy.
--
-- $sel:tags:SchedulingPolicyDetail',
-- schedulingPolicyDetail_tags - The tags that you apply to the
-- scheduling policy to categorize and organize your resources. Each tag
-- consists of a key and an optional value. For more information, see
-- Tagging Amazon Web Services resources in Amazon Web Services
-- General Reference.
--
-- $sel:name:SchedulingPolicyDetail',
-- schedulingPolicyDetail_name - The name of the scheduling
-- policy.
--
-- $sel:arn:SchedulingPolicyDetail',
-- schedulingPolicyDetail_arn - The Amazon Resource Name (ARN) of
-- the scheduling policy. An example is
-- arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
-- .
newSchedulingPolicyDetail :: Text -> Text -> SchedulingPolicyDetail
-- | An object that contains the details of a scheduling policy that's
-- returned in a ListSchedulingPolicy action.
--
-- See: newSchedulingPolicyListingDetail smart constructor.
data SchedulingPolicyListingDetail
SchedulingPolicyListingDetail' :: Text -> SchedulingPolicyListingDetail
-- | Create a value of SchedulingPolicyListingDetail with all
-- optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:arn:SchedulingPolicyListingDetail',
-- schedulingPolicyListingDetail_arn - Amazon Resource Name (ARN)
-- of the scheduling policy.
newSchedulingPolicyListingDetail :: Text -> SchedulingPolicyListingDetail
-- | An object that represents the secret to expose to your container.
-- Secrets can be exposed to a container in the following ways:
--
--
-- - To inject sensitive data into your containers as environment
-- variables, use the secrets container definition
-- parameter.
-- - To reference sensitive information in the log configuration of a
-- container, use the secretOptions container definition
-- parameter.
--
--
-- For more information, see Specifying sensitive data in the
-- Batch User Guide.
--
-- See: newSecret smart constructor.
data Secret
Secret' :: Text -> Text -> Secret
-- | Create a value of Secret with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:name:Secret', secret_name - The name of the secret.
--
-- $sel:valueFrom:Secret', secret_valueFrom - The secret to
-- expose to the container. The supported values are either the full
-- Amazon Resource Name (ARN) of the Secrets Manager secret or the full
-- ARN of the parameter in the Amazon Web Services Systems Manager
-- Parameter Store.
--
-- If the Amazon Web Services Systems Manager Parameter Store parameter
-- exists in the same Region as the job you're launching, then you can
-- use either the full Amazon Resource Name (ARN) or name of the
-- parameter. If the parameter exists in a different Region, then the
-- full ARN must be specified.
newSecret :: Text -> Text -> Secret
-- | Specifies the weights for the fair share identifiers for the fair
-- share policy. Fair share identifiers that aren't included have a
-- default weight of 1.0.
--
-- See: newShareAttributes smart constructor.
data ShareAttributes
ShareAttributes' :: Maybe Double -> Text -> ShareAttributes
-- | Create a value of ShareAttributes with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:weightFactor:ShareAttributes',
-- shareAttributes_weightFactor - The weight factor for the fair
-- share identifier. The default value is 1.0. A lower value has a higher
-- priority for compute resources. For example, jobs that use a share
-- identifier with a weight factor of 0.125 (1/8) get 8 times the compute
-- resources of jobs that use a share identifier with a weight factor of
-- 1.
--
-- The smallest supported value is 0.0001, and the largest supported
-- value is 999.9999.
--
-- $sel:shareIdentifier:ShareAttributes',
-- shareAttributes_shareIdentifier - A fair share identifier or
-- fair share identifier prefix. If the string ends with an asterisk (*),
-- this entry specifies the weight factor to use for fair share
-- identifiers that start with that prefix. The list of fair share
-- identifiers in a fair share policy can't overlap. For example, you
-- can't have one that specifies a shareIdentifier of
-- UserA* and another that specifies a shareIdentifier
-- of UserA-1.
--
-- There can be no more than 500 fair share identifiers active in a job
-- queue.
--
-- The string is limited to 255 alphanumeric characters, and can be
-- followed by an asterisk (*).
newShareAttributes :: Text -> ShareAttributes
-- | The container path, mount options, and size of the tmpfs
-- mount.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newTmpfs smart constructor.
data Tmpfs
Tmpfs' :: Maybe [Text] -> Text -> Int -> Tmpfs
-- | Create a value of Tmpfs with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:mountOptions:Tmpfs', tmpfs_mountOptions - The list
-- of tmpfs volume mount options.
--
-- Valid values: "defaults" | "ro" | "rw" |
-- "suid" | "nosuid" | "dev" |
-- "nodev" | "exec" | "noexec" |
-- "sync" | "async" | "dirsync" |
-- "remount" | "mand" | "nomand" |
-- "atime" | "noatime" | "diratime" |
-- "nodiratime" | "bind" | "rbind" | "unbindable" |
-- "runbindable" | "private" | "rprivate" | "shared" | "rshared" |
-- "slave" | "rslave" | "relatime" | "norelatime" |
-- "strictatime" | "nostrictatime" | "mode" |
-- "uid" | "gid" | "nr_inodes" |
-- "nr_blocks" | "mpol"
--
-- $sel:containerPath:Tmpfs', tmpfs_containerPath - The
-- absolute file path in the container where the tmpfs volume is
-- mounted.
--
-- $sel:size:Tmpfs', tmpfs_size - The size (in MiB) of the
-- tmpfs volume.
newTmpfs :: Text -> Int -> Tmpfs
-- | The ulimit settings to pass to the container.
--
-- This object isn't applicable to jobs that are running on Fargate
-- resources.
--
-- See: newUlimit smart constructor.
data Ulimit
Ulimit' :: Int -> Text -> Int -> Ulimit
-- | Create a value of Ulimit with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:hardLimit:Ulimit', ulimit_hardLimit - The hard
-- limit for the ulimit type.
--
-- $sel:name:Ulimit', ulimit_name - The type of
-- the ulimit.
--
-- $sel:softLimit:Ulimit', ulimit_softLimit - The soft
-- limit for the ulimit type.
newUlimit :: Int -> Text -> Int -> Ulimit
-- | Specifies the infrastructure update policy for the compute
-- environment. For more information about infrastructure updates, see
-- Updating compute environments in the Batch User Guide.
--
-- See: newUpdatePolicy smart constructor.
data UpdatePolicy
UpdatePolicy' :: Maybe Natural -> Maybe Bool -> UpdatePolicy
-- | Create a value of UpdatePolicy with all optional fields
-- omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:jobExecutionTimeoutMinutes:UpdatePolicy',
-- updatePolicy_jobExecutionTimeoutMinutes - Specifies the job
-- timeout (in minutes) when the compute environment infrastructure is
-- updated. The default value is 30.
--
-- $sel:terminateJobsOnUpdate:UpdatePolicy',
-- updatePolicy_terminateJobsOnUpdate - Specifies whether jobs are
-- automatically terminated when the computer environment infrastructure
-- is updated. The default value is false.
newUpdatePolicy :: UpdatePolicy
-- | A data volume that's used in a job's container properties.
--
-- See: newVolume smart constructor.
data Volume
Volume' :: Maybe EFSVolumeConfiguration -> Maybe Host -> Maybe Text -> Volume
-- | Create a value of Volume with all optional fields omitted.
--
-- Use generic-lens or optics to modify other optional
-- fields.
--
-- The following record fields are available, with the corresponding
-- lenses provided for backwards compatibility:
--
-- $sel:efsVolumeConfiguration:Volume',
-- volume_efsVolumeConfiguration - This parameter is specified
-- when you're using an Amazon Elastic File System file system for job
-- storage. Jobs that are running on Fargate resources must specify a
-- platformVersion of at least 1.4.0.
--
-- $sel:host:Volume', volume_host - The contents of the
-- host parameter determine whether your data volume persists on
-- the host container instance and where it's stored. If the host
-- parameter is empty, then the Docker daemon assigns a host path for
-- your data volume. However, the data isn't guaranteed to persist after
-- the containers that are associated with it stop running.
--
-- This parameter isn't applicable to jobs that are running on Fargate
-- resources and shouldn't be provided.
--
-- $sel:name:Volume', volume_name - The name of the volume.
-- It can be up to 255 characters long. It can contain uppercase and
-- lowercase letters, numbers, hyphens (-), and underscores (_). This
-- name is referenced in the sourceVolume parameter of container
-- definition mountPoints.
newVolume :: Volume