{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.RobOMaker.DescribeSimulationJobBatch
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes a simulation job batch.
module Amazonka.RobOMaker.DescribeSimulationJobBatch
  ( -- * Creating a Request
    DescribeSimulationJobBatch (..),
    newDescribeSimulationJobBatch,

    -- * Request Lenses
    describeSimulationJobBatch_batch,

    -- * Destructuring the Response
    DescribeSimulationJobBatchResponse (..),
    newDescribeSimulationJobBatchResponse,

    -- * Response Lenses
    describeSimulationJobBatchResponse_arn,
    describeSimulationJobBatchResponse_batchPolicy,
    describeSimulationJobBatchResponse_clientRequestToken,
    describeSimulationJobBatchResponse_createdAt,
    describeSimulationJobBatchResponse_createdRequests,
    describeSimulationJobBatchResponse_failedRequests,
    describeSimulationJobBatchResponse_failureCode,
    describeSimulationJobBatchResponse_failureReason,
    describeSimulationJobBatchResponse_lastUpdatedAt,
    describeSimulationJobBatchResponse_pendingRequests,
    describeSimulationJobBatchResponse_status,
    describeSimulationJobBatchResponse_tags,
    describeSimulationJobBatchResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.RobOMaker.Types

-- | /See:/ 'newDescribeSimulationJobBatch' smart constructor.
data DescribeSimulationJobBatch = DescribeSimulationJobBatch'
  { -- | The id of the batch to describe.
    DescribeSimulationJobBatch -> Text
batch :: Prelude.Text
  }
  deriving (DescribeSimulationJobBatch -> DescribeSimulationJobBatch -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSimulationJobBatch -> DescribeSimulationJobBatch -> Bool
$c/= :: DescribeSimulationJobBatch -> DescribeSimulationJobBatch -> Bool
== :: DescribeSimulationJobBatch -> DescribeSimulationJobBatch -> Bool
$c== :: DescribeSimulationJobBatch -> DescribeSimulationJobBatch -> Bool
Prelude.Eq, ReadPrec [DescribeSimulationJobBatch]
ReadPrec DescribeSimulationJobBatch
Int -> ReadS DescribeSimulationJobBatch
ReadS [DescribeSimulationJobBatch]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSimulationJobBatch]
$creadListPrec :: ReadPrec [DescribeSimulationJobBatch]
readPrec :: ReadPrec DescribeSimulationJobBatch
$creadPrec :: ReadPrec DescribeSimulationJobBatch
readList :: ReadS [DescribeSimulationJobBatch]
$creadList :: ReadS [DescribeSimulationJobBatch]
readsPrec :: Int -> ReadS DescribeSimulationJobBatch
$creadsPrec :: Int -> ReadS DescribeSimulationJobBatch
Prelude.Read, Int -> DescribeSimulationJobBatch -> ShowS
[DescribeSimulationJobBatch] -> ShowS
DescribeSimulationJobBatch -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSimulationJobBatch] -> ShowS
$cshowList :: [DescribeSimulationJobBatch] -> ShowS
show :: DescribeSimulationJobBatch -> String
$cshow :: DescribeSimulationJobBatch -> String
showsPrec :: Int -> DescribeSimulationJobBatch -> ShowS
$cshowsPrec :: Int -> DescribeSimulationJobBatch -> ShowS
Prelude.Show, forall x.
Rep DescribeSimulationJobBatch x -> DescribeSimulationJobBatch
forall x.
DescribeSimulationJobBatch -> Rep DescribeSimulationJobBatch x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeSimulationJobBatch x -> DescribeSimulationJobBatch
$cfrom :: forall x.
DescribeSimulationJobBatch -> Rep DescribeSimulationJobBatch x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSimulationJobBatch' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'batch', 'describeSimulationJobBatch_batch' - The id of the batch to describe.
newDescribeSimulationJobBatch ::
  -- | 'batch'
  Prelude.Text ->
  DescribeSimulationJobBatch
newDescribeSimulationJobBatch :: Text -> DescribeSimulationJobBatch
newDescribeSimulationJobBatch Text
pBatch_ =
  DescribeSimulationJobBatch' {$sel:batch:DescribeSimulationJobBatch' :: Text
batch = Text
pBatch_}

-- | The id of the batch to describe.
describeSimulationJobBatch_batch :: Lens.Lens' DescribeSimulationJobBatch Prelude.Text
describeSimulationJobBatch_batch :: Lens' DescribeSimulationJobBatch Text
describeSimulationJobBatch_batch = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatch' {Text
batch :: Text
$sel:batch:DescribeSimulationJobBatch' :: DescribeSimulationJobBatch -> Text
batch} -> Text
batch) (\s :: DescribeSimulationJobBatch
s@DescribeSimulationJobBatch' {} Text
a -> DescribeSimulationJobBatch
s {$sel:batch:DescribeSimulationJobBatch' :: Text
batch = Text
a} :: DescribeSimulationJobBatch)

instance Core.AWSRequest DescribeSimulationJobBatch where
  type
    AWSResponse DescribeSimulationJobBatch =
      DescribeSimulationJobBatchResponse
  request :: (Service -> Service)
-> DescribeSimulationJobBatch -> Request DescribeSimulationJobBatch
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeSimulationJobBatch
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeSimulationJobBatch)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe BatchPolicy
-> Maybe Text
-> Maybe POSIX
-> Maybe [SimulationJobSummary]
-> Maybe [FailedCreateSimulationJobRequest]
-> Maybe SimulationJobBatchErrorCode
-> Maybe Text
-> Maybe POSIX
-> Maybe (NonEmpty SimulationJobRequest)
-> Maybe SimulationJobBatchStatus
-> Maybe (HashMap Text Text)
-> Int
-> DescribeSimulationJobBatchResponse
DescribeSimulationJobBatchResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"batchPolicy")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"clientRequestToken")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"createdAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"createdRequests"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"failedRequests" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"failureCode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"failureReason")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"lastUpdatedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"pendingRequests")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeSimulationJobBatch where
  hashWithSalt :: Int -> DescribeSimulationJobBatch -> Int
hashWithSalt Int
_salt DescribeSimulationJobBatch' {Text
batch :: Text
$sel:batch:DescribeSimulationJobBatch' :: DescribeSimulationJobBatch -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
batch

instance Prelude.NFData DescribeSimulationJobBatch where
  rnf :: DescribeSimulationJobBatch -> ()
rnf DescribeSimulationJobBatch' {Text
batch :: Text
$sel:batch:DescribeSimulationJobBatch' :: DescribeSimulationJobBatch -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
batch

instance Data.ToHeaders DescribeSimulationJobBatch where
  toHeaders :: DescribeSimulationJobBatch -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeSimulationJobBatch where
  toJSON :: DescribeSimulationJobBatch -> Value
toJSON DescribeSimulationJobBatch' {Text
batch :: Text
$sel:batch:DescribeSimulationJobBatch' :: DescribeSimulationJobBatch -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"batch" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
batch)]
      )

instance Data.ToPath DescribeSimulationJobBatch where
  toPath :: DescribeSimulationJobBatch -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/describeSimulationJobBatch"

instance Data.ToQuery DescribeSimulationJobBatch where
  toQuery :: DescribeSimulationJobBatch -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeSimulationJobBatchResponse' smart constructor.
data DescribeSimulationJobBatchResponse = DescribeSimulationJobBatchResponse'
  { -- | The Amazon Resource Name (ARN) of the batch.
    DescribeSimulationJobBatchResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The batch policy.
    DescribeSimulationJobBatchResponse -> Maybe BatchPolicy
batchPolicy :: Prelude.Maybe BatchPolicy,
    -- | Unique, case-sensitive identifier that you provide to ensure the
    -- idempotency of the request.
    DescribeSimulationJobBatchResponse -> Maybe Text
clientRequestToken :: Prelude.Maybe Prelude.Text,
    -- | The time, in milliseconds since the epoch, when the simulation job batch
    -- was created.
    DescribeSimulationJobBatchResponse -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
    -- | A list of created simulation job summaries.
    DescribeSimulationJobBatchResponse -> Maybe [SimulationJobSummary]
createdRequests :: Prelude.Maybe [SimulationJobSummary],
    -- | A list of failed create simulation job requests. The request failed to
    -- be created into a simulation job. Failed requests do not have a
    -- simulation job ID.
    DescribeSimulationJobBatchResponse
-> Maybe [FailedCreateSimulationJobRequest]
failedRequests :: Prelude.Maybe [FailedCreateSimulationJobRequest],
    -- | The failure code of the simulation job batch.
    DescribeSimulationJobBatchResponse
-> Maybe SimulationJobBatchErrorCode
failureCode :: Prelude.Maybe SimulationJobBatchErrorCode,
    -- | The reason the simulation job batch failed.
    DescribeSimulationJobBatchResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The time, in milliseconds since the epoch, when the simulation job batch
    -- was last updated.
    DescribeSimulationJobBatchResponse -> Maybe POSIX
lastUpdatedAt :: Prelude.Maybe Data.POSIX,
    -- | A list of pending simulation job requests. These requests have not yet
    -- been created into simulation jobs.
    DescribeSimulationJobBatchResponse
-> Maybe (NonEmpty SimulationJobRequest)
pendingRequests :: Prelude.Maybe (Prelude.NonEmpty SimulationJobRequest),
    -- | The status of the batch.
    --
    -- [Pending]
    --     The simulation job batch request is pending.
    --
    -- [InProgress]
    --     The simulation job batch is in progress.
    --
    -- [Failed]
    --     The simulation job batch failed. One or more simulation job requests
    --     could not be completed due to an internal failure (like
    --     @InternalServiceError@). See @failureCode@ and @failureReason@ for
    --     more information.
    --
    -- [Completed]
    --     The simulation batch job completed. A batch is complete when (1)
    --     there are no pending simulation job requests in the batch and none
    --     of the failed simulation job requests are due to
    --     @InternalServiceError@ and (2) when all created simulation jobs have
    --     reached a terminal state (for example, @Completed@ or @Failed@).
    --
    -- [Canceled]
    --     The simulation batch job was cancelled.
    --
    -- [Canceling]
    --     The simulation batch job is being cancelled.
    --
    -- [Completing]
    --     The simulation batch job is completing.
    --
    -- [TimingOut]
    --     The simulation job batch is timing out.
    --
    --     If a batch timing out, and there are pending requests that were
    --     failing due to an internal failure (like @InternalServiceError@),
    --     the batch status will be @Failed@. If there are no such failing
    --     request, the batch status will be @TimedOut@.
    --
    -- [TimedOut]
    --     The simulation batch job timed out.
    DescribeSimulationJobBatchResponse
-> Maybe SimulationJobBatchStatus
status :: Prelude.Maybe SimulationJobBatchStatus,
    -- | A map that contains tag keys and tag values that are attached to the
    -- simulation job batch.
    DescribeSimulationJobBatchResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    DescribeSimulationJobBatchResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeSimulationJobBatchResponse
-> DescribeSimulationJobBatchResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSimulationJobBatchResponse
-> DescribeSimulationJobBatchResponse -> Bool
$c/= :: DescribeSimulationJobBatchResponse
-> DescribeSimulationJobBatchResponse -> Bool
== :: DescribeSimulationJobBatchResponse
-> DescribeSimulationJobBatchResponse -> Bool
$c== :: DescribeSimulationJobBatchResponse
-> DescribeSimulationJobBatchResponse -> Bool
Prelude.Eq, ReadPrec [DescribeSimulationJobBatchResponse]
ReadPrec DescribeSimulationJobBatchResponse
Int -> ReadS DescribeSimulationJobBatchResponse
ReadS [DescribeSimulationJobBatchResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSimulationJobBatchResponse]
$creadListPrec :: ReadPrec [DescribeSimulationJobBatchResponse]
readPrec :: ReadPrec DescribeSimulationJobBatchResponse
$creadPrec :: ReadPrec DescribeSimulationJobBatchResponse
readList :: ReadS [DescribeSimulationJobBatchResponse]
$creadList :: ReadS [DescribeSimulationJobBatchResponse]
readsPrec :: Int -> ReadS DescribeSimulationJobBatchResponse
$creadsPrec :: Int -> ReadS DescribeSimulationJobBatchResponse
Prelude.Read, Int -> DescribeSimulationJobBatchResponse -> ShowS
[DescribeSimulationJobBatchResponse] -> ShowS
DescribeSimulationJobBatchResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSimulationJobBatchResponse] -> ShowS
$cshowList :: [DescribeSimulationJobBatchResponse] -> ShowS
show :: DescribeSimulationJobBatchResponse -> String
$cshow :: DescribeSimulationJobBatchResponse -> String
showsPrec :: Int -> DescribeSimulationJobBatchResponse -> ShowS
$cshowsPrec :: Int -> DescribeSimulationJobBatchResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeSimulationJobBatchResponse x
-> DescribeSimulationJobBatchResponse
forall x.
DescribeSimulationJobBatchResponse
-> Rep DescribeSimulationJobBatchResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeSimulationJobBatchResponse x
-> DescribeSimulationJobBatchResponse
$cfrom :: forall x.
DescribeSimulationJobBatchResponse
-> Rep DescribeSimulationJobBatchResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSimulationJobBatchResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'arn', 'describeSimulationJobBatchResponse_arn' - The Amazon Resource Name (ARN) of the batch.
--
-- 'batchPolicy', 'describeSimulationJobBatchResponse_batchPolicy' - The batch policy.
--
-- 'clientRequestToken', 'describeSimulationJobBatchResponse_clientRequestToken' - Unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request.
--
-- 'createdAt', 'describeSimulationJobBatchResponse_createdAt' - The time, in milliseconds since the epoch, when the simulation job batch
-- was created.
--
-- 'createdRequests', 'describeSimulationJobBatchResponse_createdRequests' - A list of created simulation job summaries.
--
-- 'failedRequests', 'describeSimulationJobBatchResponse_failedRequests' - A list of failed create simulation job requests. The request failed to
-- be created into a simulation job. Failed requests do not have a
-- simulation job ID.
--
-- 'failureCode', 'describeSimulationJobBatchResponse_failureCode' - The failure code of the simulation job batch.
--
-- 'failureReason', 'describeSimulationJobBatchResponse_failureReason' - The reason the simulation job batch failed.
--
-- 'lastUpdatedAt', 'describeSimulationJobBatchResponse_lastUpdatedAt' - The time, in milliseconds since the epoch, when the simulation job batch
-- was last updated.
--
-- 'pendingRequests', 'describeSimulationJobBatchResponse_pendingRequests' - A list of pending simulation job requests. These requests have not yet
-- been created into simulation jobs.
--
-- 'status', 'describeSimulationJobBatchResponse_status' - The status of the batch.
--
-- [Pending]
--     The simulation job batch request is pending.
--
-- [InProgress]
--     The simulation job batch is in progress.
--
-- [Failed]
--     The simulation job batch failed. One or more simulation job requests
--     could not be completed due to an internal failure (like
--     @InternalServiceError@). See @failureCode@ and @failureReason@ for
--     more information.
--
-- [Completed]
--     The simulation batch job completed. A batch is complete when (1)
--     there are no pending simulation job requests in the batch and none
--     of the failed simulation job requests are due to
--     @InternalServiceError@ and (2) when all created simulation jobs have
--     reached a terminal state (for example, @Completed@ or @Failed@).
--
-- [Canceled]
--     The simulation batch job was cancelled.
--
-- [Canceling]
--     The simulation batch job is being cancelled.
--
-- [Completing]
--     The simulation batch job is completing.
--
-- [TimingOut]
--     The simulation job batch is timing out.
--
--     If a batch timing out, and there are pending requests that were
--     failing due to an internal failure (like @InternalServiceError@),
--     the batch status will be @Failed@. If there are no such failing
--     request, the batch status will be @TimedOut@.
--
-- [TimedOut]
--     The simulation batch job timed out.
--
-- 'tags', 'describeSimulationJobBatchResponse_tags' - A map that contains tag keys and tag values that are attached to the
-- simulation job batch.
--
-- 'httpStatus', 'describeSimulationJobBatchResponse_httpStatus' - The response's http status code.
newDescribeSimulationJobBatchResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeSimulationJobBatchResponse
newDescribeSimulationJobBatchResponse :: Int -> DescribeSimulationJobBatchResponse
newDescribeSimulationJobBatchResponse Int
pHttpStatus_ =
  DescribeSimulationJobBatchResponse'
    { $sel:arn:DescribeSimulationJobBatchResponse' :: Maybe Text
arn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:batchPolicy:DescribeSimulationJobBatchResponse' :: Maybe BatchPolicy
batchPolicy = forall a. Maybe a
Prelude.Nothing,
      $sel:clientRequestToken:DescribeSimulationJobBatchResponse' :: Maybe Text
clientRequestToken = forall a. Maybe a
Prelude.Nothing,
      $sel:createdAt:DescribeSimulationJobBatchResponse' :: Maybe POSIX
createdAt = forall a. Maybe a
Prelude.Nothing,
      $sel:createdRequests:DescribeSimulationJobBatchResponse' :: Maybe [SimulationJobSummary]
createdRequests = forall a. Maybe a
Prelude.Nothing,
      $sel:failedRequests:DescribeSimulationJobBatchResponse' :: Maybe [FailedCreateSimulationJobRequest]
failedRequests = forall a. Maybe a
Prelude.Nothing,
      $sel:failureCode:DescribeSimulationJobBatchResponse' :: Maybe SimulationJobBatchErrorCode
failureCode = forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:DescribeSimulationJobBatchResponse' :: Maybe Text
failureReason = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedAt:DescribeSimulationJobBatchResponse' :: Maybe POSIX
lastUpdatedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:pendingRequests:DescribeSimulationJobBatchResponse' :: Maybe (NonEmpty SimulationJobRequest)
pendingRequests = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeSimulationJobBatchResponse' :: Maybe SimulationJobBatchStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:DescribeSimulationJobBatchResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeSimulationJobBatchResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Amazon Resource Name (ARN) of the batch.
describeSimulationJobBatchResponse_arn :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe Prelude.Text)
describeSimulationJobBatchResponse_arn :: Lens' DescribeSimulationJobBatchResponse (Maybe Text)
describeSimulationJobBatchResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe Text
a -> DescribeSimulationJobBatchResponse
s {$sel:arn:DescribeSimulationJobBatchResponse' :: Maybe Text
arn = Maybe Text
a} :: DescribeSimulationJobBatchResponse)

-- | The batch policy.
describeSimulationJobBatchResponse_batchPolicy :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe BatchPolicy)
describeSimulationJobBatchResponse_batchPolicy :: Lens' DescribeSimulationJobBatchResponse (Maybe BatchPolicy)
describeSimulationJobBatchResponse_batchPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe BatchPolicy
batchPolicy :: Maybe BatchPolicy
$sel:batchPolicy:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe BatchPolicy
batchPolicy} -> Maybe BatchPolicy
batchPolicy) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe BatchPolicy
a -> DescribeSimulationJobBatchResponse
s {$sel:batchPolicy:DescribeSimulationJobBatchResponse' :: Maybe BatchPolicy
batchPolicy = Maybe BatchPolicy
a} :: DescribeSimulationJobBatchResponse)

-- | Unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request.
describeSimulationJobBatchResponse_clientRequestToken :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe Prelude.Text)
describeSimulationJobBatchResponse_clientRequestToken :: Lens' DescribeSimulationJobBatchResponse (Maybe Text)
describeSimulationJobBatchResponse_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe Text
clientRequestToken :: Maybe Text
$sel:clientRequestToken:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe Text
clientRequestToken} -> Maybe Text
clientRequestToken) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe Text
a -> DescribeSimulationJobBatchResponse
s {$sel:clientRequestToken:DescribeSimulationJobBatchResponse' :: Maybe Text
clientRequestToken = Maybe Text
a} :: DescribeSimulationJobBatchResponse)

-- | The time, in milliseconds since the epoch, when the simulation job batch
-- was created.
describeSimulationJobBatchResponse_createdAt :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe Prelude.UTCTime)
describeSimulationJobBatchResponse_createdAt :: Lens' DescribeSimulationJobBatchResponse (Maybe UTCTime)
describeSimulationJobBatchResponse_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe POSIX
a -> DescribeSimulationJobBatchResponse
s {$sel:createdAt:DescribeSimulationJobBatchResponse' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: DescribeSimulationJobBatchResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | A list of created simulation job summaries.
describeSimulationJobBatchResponse_createdRequests :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe [SimulationJobSummary])
describeSimulationJobBatchResponse_createdRequests :: Lens'
  DescribeSimulationJobBatchResponse (Maybe [SimulationJobSummary])
describeSimulationJobBatchResponse_createdRequests = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe [SimulationJobSummary]
createdRequests :: Maybe [SimulationJobSummary]
$sel:createdRequests:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe [SimulationJobSummary]
createdRequests} -> Maybe [SimulationJobSummary]
createdRequests) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe [SimulationJobSummary]
a -> DescribeSimulationJobBatchResponse
s {$sel:createdRequests:DescribeSimulationJobBatchResponse' :: Maybe [SimulationJobSummary]
createdRequests = Maybe [SimulationJobSummary]
a} :: DescribeSimulationJobBatchResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A list of failed create simulation job requests. The request failed to
-- be created into a simulation job. Failed requests do not have a
-- simulation job ID.
describeSimulationJobBatchResponse_failedRequests :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe [FailedCreateSimulationJobRequest])
describeSimulationJobBatchResponse_failedRequests :: Lens'
  DescribeSimulationJobBatchResponse
  (Maybe [FailedCreateSimulationJobRequest])
describeSimulationJobBatchResponse_failedRequests = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe [FailedCreateSimulationJobRequest]
failedRequests :: Maybe [FailedCreateSimulationJobRequest]
$sel:failedRequests:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe [FailedCreateSimulationJobRequest]
failedRequests} -> Maybe [FailedCreateSimulationJobRequest]
failedRequests) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe [FailedCreateSimulationJobRequest]
a -> DescribeSimulationJobBatchResponse
s {$sel:failedRequests:DescribeSimulationJobBatchResponse' :: Maybe [FailedCreateSimulationJobRequest]
failedRequests = Maybe [FailedCreateSimulationJobRequest]
a} :: DescribeSimulationJobBatchResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The failure code of the simulation job batch.
describeSimulationJobBatchResponse_failureCode :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe SimulationJobBatchErrorCode)
describeSimulationJobBatchResponse_failureCode :: Lens'
  DescribeSimulationJobBatchResponse
  (Maybe SimulationJobBatchErrorCode)
describeSimulationJobBatchResponse_failureCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe SimulationJobBatchErrorCode
failureCode :: Maybe SimulationJobBatchErrorCode
$sel:failureCode:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe SimulationJobBatchErrorCode
failureCode} -> Maybe SimulationJobBatchErrorCode
failureCode) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe SimulationJobBatchErrorCode
a -> DescribeSimulationJobBatchResponse
s {$sel:failureCode:DescribeSimulationJobBatchResponse' :: Maybe SimulationJobBatchErrorCode
failureCode = Maybe SimulationJobBatchErrorCode
a} :: DescribeSimulationJobBatchResponse)

-- | The reason the simulation job batch failed.
describeSimulationJobBatchResponse_failureReason :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe Prelude.Text)
describeSimulationJobBatchResponse_failureReason :: Lens' DescribeSimulationJobBatchResponse (Maybe Text)
describeSimulationJobBatchResponse_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe Text
a -> DescribeSimulationJobBatchResponse
s {$sel:failureReason:DescribeSimulationJobBatchResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeSimulationJobBatchResponse)

-- | The time, in milliseconds since the epoch, when the simulation job batch
-- was last updated.
describeSimulationJobBatchResponse_lastUpdatedAt :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe Prelude.UTCTime)
describeSimulationJobBatchResponse_lastUpdatedAt :: Lens' DescribeSimulationJobBatchResponse (Maybe UTCTime)
describeSimulationJobBatchResponse_lastUpdatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe POSIX
lastUpdatedAt :: Maybe POSIX
$sel:lastUpdatedAt:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe POSIX
lastUpdatedAt} -> Maybe POSIX
lastUpdatedAt) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe POSIX
a -> DescribeSimulationJobBatchResponse
s {$sel:lastUpdatedAt:DescribeSimulationJobBatchResponse' :: Maybe POSIX
lastUpdatedAt = Maybe POSIX
a} :: DescribeSimulationJobBatchResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | A list of pending simulation job requests. These requests have not yet
-- been created into simulation jobs.
describeSimulationJobBatchResponse_pendingRequests :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe (Prelude.NonEmpty SimulationJobRequest))
describeSimulationJobBatchResponse_pendingRequests :: Lens'
  DescribeSimulationJobBatchResponse
  (Maybe (NonEmpty SimulationJobRequest))
describeSimulationJobBatchResponse_pendingRequests = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe (NonEmpty SimulationJobRequest)
pendingRequests :: Maybe (NonEmpty SimulationJobRequest)
$sel:pendingRequests:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe (NonEmpty SimulationJobRequest)
pendingRequests} -> Maybe (NonEmpty SimulationJobRequest)
pendingRequests) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe (NonEmpty SimulationJobRequest)
a -> DescribeSimulationJobBatchResponse
s {$sel:pendingRequests:DescribeSimulationJobBatchResponse' :: Maybe (NonEmpty SimulationJobRequest)
pendingRequests = Maybe (NonEmpty SimulationJobRequest)
a} :: DescribeSimulationJobBatchResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The status of the batch.
--
-- [Pending]
--     The simulation job batch request is pending.
--
-- [InProgress]
--     The simulation job batch is in progress.
--
-- [Failed]
--     The simulation job batch failed. One or more simulation job requests
--     could not be completed due to an internal failure (like
--     @InternalServiceError@). See @failureCode@ and @failureReason@ for
--     more information.
--
-- [Completed]
--     The simulation batch job completed. A batch is complete when (1)
--     there are no pending simulation job requests in the batch and none
--     of the failed simulation job requests are due to
--     @InternalServiceError@ and (2) when all created simulation jobs have
--     reached a terminal state (for example, @Completed@ or @Failed@).
--
-- [Canceled]
--     The simulation batch job was cancelled.
--
-- [Canceling]
--     The simulation batch job is being cancelled.
--
-- [Completing]
--     The simulation batch job is completing.
--
-- [TimingOut]
--     The simulation job batch is timing out.
--
--     If a batch timing out, and there are pending requests that were
--     failing due to an internal failure (like @InternalServiceError@),
--     the batch status will be @Failed@. If there are no such failing
--     request, the batch status will be @TimedOut@.
--
-- [TimedOut]
--     The simulation batch job timed out.
describeSimulationJobBatchResponse_status :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe SimulationJobBatchStatus)
describeSimulationJobBatchResponse_status :: Lens'
  DescribeSimulationJobBatchResponse (Maybe SimulationJobBatchStatus)
describeSimulationJobBatchResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe SimulationJobBatchStatus
status :: Maybe SimulationJobBatchStatus
$sel:status:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe SimulationJobBatchStatus
status} -> Maybe SimulationJobBatchStatus
status) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe SimulationJobBatchStatus
a -> DescribeSimulationJobBatchResponse
s {$sel:status:DescribeSimulationJobBatchResponse' :: Maybe SimulationJobBatchStatus
status = Maybe SimulationJobBatchStatus
a} :: DescribeSimulationJobBatchResponse)

-- | A map that contains tag keys and tag values that are attached to the
-- simulation job batch.
describeSimulationJobBatchResponse_tags :: Lens.Lens' DescribeSimulationJobBatchResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
describeSimulationJobBatchResponse_tags :: Lens'
  DescribeSimulationJobBatchResponse (Maybe (HashMap Text Text))
describeSimulationJobBatchResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Maybe (HashMap Text Text)
a -> DescribeSimulationJobBatchResponse
s {$sel:tags:DescribeSimulationJobBatchResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: DescribeSimulationJobBatchResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
describeSimulationJobBatchResponse_httpStatus :: Lens.Lens' DescribeSimulationJobBatchResponse Prelude.Int
describeSimulationJobBatchResponse_httpStatus :: Lens' DescribeSimulationJobBatchResponse Int
describeSimulationJobBatchResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSimulationJobBatchResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeSimulationJobBatchResponse
s@DescribeSimulationJobBatchResponse' {} Int
a -> DescribeSimulationJobBatchResponse
s {$sel:httpStatus:DescribeSimulationJobBatchResponse' :: Int
httpStatus = Int
a} :: DescribeSimulationJobBatchResponse)

instance
  Prelude.NFData
    DescribeSimulationJobBatchResponse
  where
  rnf :: DescribeSimulationJobBatchResponse -> ()
rnf DescribeSimulationJobBatchResponse' {Int
Maybe [SimulationJobSummary]
Maybe [FailedCreateSimulationJobRequest]
Maybe (NonEmpty SimulationJobRequest)
Maybe Text
Maybe (HashMap Text Text)
Maybe POSIX
Maybe BatchPolicy
Maybe SimulationJobBatchErrorCode
Maybe SimulationJobBatchStatus
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
status :: Maybe SimulationJobBatchStatus
pendingRequests :: Maybe (NonEmpty SimulationJobRequest)
lastUpdatedAt :: Maybe POSIX
failureReason :: Maybe Text
failureCode :: Maybe SimulationJobBatchErrorCode
failedRequests :: Maybe [FailedCreateSimulationJobRequest]
createdRequests :: Maybe [SimulationJobSummary]
createdAt :: Maybe POSIX
clientRequestToken :: Maybe Text
batchPolicy :: Maybe BatchPolicy
arn :: Maybe Text
$sel:httpStatus:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Int
$sel:tags:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe (HashMap Text Text)
$sel:status:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe SimulationJobBatchStatus
$sel:pendingRequests:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe (NonEmpty SimulationJobRequest)
$sel:lastUpdatedAt:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe POSIX
$sel:failureReason:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe Text
$sel:failureCode:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe SimulationJobBatchErrorCode
$sel:failedRequests:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse
-> Maybe [FailedCreateSimulationJobRequest]
$sel:createdRequests:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe [SimulationJobSummary]
$sel:createdAt:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe POSIX
$sel:clientRequestToken:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe Text
$sel:batchPolicy:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe BatchPolicy
$sel:arn:DescribeSimulationJobBatchResponse' :: DescribeSimulationJobBatchResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe BatchPolicy
batchPolicy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientRequestToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SimulationJobSummary]
createdRequests
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [FailedCreateSimulationJobRequest]
failedRequests
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SimulationJobBatchErrorCode
failureCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
failureReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty SimulationJobRequest)
pendingRequests
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SimulationJobBatchStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus