{-# 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.Omics.StartReadSetActivationJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Starts a read set activation job.
module Amazonka.Omics.StartReadSetActivationJob
  ( -- * Creating a Request
    StartReadSetActivationJob (..),
    newStartReadSetActivationJob,

    -- * Request Lenses
    startReadSetActivationJob_clientToken,
    startReadSetActivationJob_sequenceStoreId,
    startReadSetActivationJob_sources,

    -- * Destructuring the Response
    StartReadSetActivationJobResponse (..),
    newStartReadSetActivationJobResponse,

    -- * Response Lenses
    startReadSetActivationJobResponse_httpStatus,
    startReadSetActivationJobResponse_creationTime,
    startReadSetActivationJobResponse_id,
    startReadSetActivationJobResponse_sequenceStoreId,
    startReadSetActivationJobResponse_status,
  )
where

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

-- | /See:/ 'newStartReadSetActivationJob' smart constructor.
data StartReadSetActivationJob = StartReadSetActivationJob'
  { -- | To ensure that jobs don\'t run multiple times, specify a unique token
    -- for each job.
    StartReadSetActivationJob -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | The read set\'s sequence store ID.
    StartReadSetActivationJob -> Text
sequenceStoreId :: Prelude.Text,
    -- | The job\'s sources.
    StartReadSetActivationJob
-> NonEmpty StartReadSetActivationJobSourceItem
sources :: Prelude.NonEmpty StartReadSetActivationJobSourceItem
  }
  deriving (StartReadSetActivationJob -> StartReadSetActivationJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartReadSetActivationJob -> StartReadSetActivationJob -> Bool
$c/= :: StartReadSetActivationJob -> StartReadSetActivationJob -> Bool
== :: StartReadSetActivationJob -> StartReadSetActivationJob -> Bool
$c== :: StartReadSetActivationJob -> StartReadSetActivationJob -> Bool
Prelude.Eq, ReadPrec [StartReadSetActivationJob]
ReadPrec StartReadSetActivationJob
Int -> ReadS StartReadSetActivationJob
ReadS [StartReadSetActivationJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartReadSetActivationJob]
$creadListPrec :: ReadPrec [StartReadSetActivationJob]
readPrec :: ReadPrec StartReadSetActivationJob
$creadPrec :: ReadPrec StartReadSetActivationJob
readList :: ReadS [StartReadSetActivationJob]
$creadList :: ReadS [StartReadSetActivationJob]
readsPrec :: Int -> ReadS StartReadSetActivationJob
$creadsPrec :: Int -> ReadS StartReadSetActivationJob
Prelude.Read, Int -> StartReadSetActivationJob -> ShowS
[StartReadSetActivationJob] -> ShowS
StartReadSetActivationJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartReadSetActivationJob] -> ShowS
$cshowList :: [StartReadSetActivationJob] -> ShowS
show :: StartReadSetActivationJob -> String
$cshow :: StartReadSetActivationJob -> String
showsPrec :: Int -> StartReadSetActivationJob -> ShowS
$cshowsPrec :: Int -> StartReadSetActivationJob -> ShowS
Prelude.Show, forall x.
Rep StartReadSetActivationJob x -> StartReadSetActivationJob
forall x.
StartReadSetActivationJob -> Rep StartReadSetActivationJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartReadSetActivationJob x -> StartReadSetActivationJob
$cfrom :: forall x.
StartReadSetActivationJob -> Rep StartReadSetActivationJob x
Prelude.Generic)

-- |
-- Create a value of 'StartReadSetActivationJob' 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:
--
-- 'clientToken', 'startReadSetActivationJob_clientToken' - To ensure that jobs don\'t run multiple times, specify a unique token
-- for each job.
--
-- 'sequenceStoreId', 'startReadSetActivationJob_sequenceStoreId' - The read set\'s sequence store ID.
--
-- 'sources', 'startReadSetActivationJob_sources' - The job\'s sources.
newStartReadSetActivationJob ::
  -- | 'sequenceStoreId'
  Prelude.Text ->
  -- | 'sources'
  Prelude.NonEmpty StartReadSetActivationJobSourceItem ->
  StartReadSetActivationJob
newStartReadSetActivationJob :: Text
-> NonEmpty StartReadSetActivationJobSourceItem
-> StartReadSetActivationJob
newStartReadSetActivationJob
  Text
pSequenceStoreId_
  NonEmpty StartReadSetActivationJobSourceItem
pSources_ =
    StartReadSetActivationJob'
      { $sel:clientToken:StartReadSetActivationJob' :: Maybe Text
clientToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:sequenceStoreId:StartReadSetActivationJob' :: Text
sequenceStoreId = Text
pSequenceStoreId_,
        $sel:sources:StartReadSetActivationJob' :: NonEmpty StartReadSetActivationJobSourceItem
sources = forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty StartReadSetActivationJobSourceItem
pSources_
      }

-- | To ensure that jobs don\'t run multiple times, specify a unique token
-- for each job.
startReadSetActivationJob_clientToken :: Lens.Lens' StartReadSetActivationJob (Prelude.Maybe Prelude.Text)
startReadSetActivationJob_clientToken :: Lens' StartReadSetActivationJob (Maybe Text)
startReadSetActivationJob_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReadSetActivationJob' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:StartReadSetActivationJob' :: StartReadSetActivationJob -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: StartReadSetActivationJob
s@StartReadSetActivationJob' {} Maybe Text
a -> StartReadSetActivationJob
s {$sel:clientToken:StartReadSetActivationJob' :: Maybe Text
clientToken = Maybe Text
a} :: StartReadSetActivationJob)

-- | The read set\'s sequence store ID.
startReadSetActivationJob_sequenceStoreId :: Lens.Lens' StartReadSetActivationJob Prelude.Text
startReadSetActivationJob_sequenceStoreId :: Lens' StartReadSetActivationJob Text
startReadSetActivationJob_sequenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReadSetActivationJob' {Text
sequenceStoreId :: Text
$sel:sequenceStoreId:StartReadSetActivationJob' :: StartReadSetActivationJob -> Text
sequenceStoreId} -> Text
sequenceStoreId) (\s :: StartReadSetActivationJob
s@StartReadSetActivationJob' {} Text
a -> StartReadSetActivationJob
s {$sel:sequenceStoreId:StartReadSetActivationJob' :: Text
sequenceStoreId = Text
a} :: StartReadSetActivationJob)

-- | The job\'s sources.
startReadSetActivationJob_sources :: Lens.Lens' StartReadSetActivationJob (Prelude.NonEmpty StartReadSetActivationJobSourceItem)
startReadSetActivationJob_sources :: Lens'
  StartReadSetActivationJob
  (NonEmpty StartReadSetActivationJobSourceItem)
startReadSetActivationJob_sources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReadSetActivationJob' {NonEmpty StartReadSetActivationJobSourceItem
sources :: NonEmpty StartReadSetActivationJobSourceItem
$sel:sources:StartReadSetActivationJob' :: StartReadSetActivationJob
-> NonEmpty StartReadSetActivationJobSourceItem
sources} -> NonEmpty StartReadSetActivationJobSourceItem
sources) (\s :: StartReadSetActivationJob
s@StartReadSetActivationJob' {} NonEmpty StartReadSetActivationJobSourceItem
a -> StartReadSetActivationJob
s {$sel:sources:StartReadSetActivationJob' :: NonEmpty StartReadSetActivationJobSourceItem
sources = NonEmpty StartReadSetActivationJobSourceItem
a} :: StartReadSetActivationJob) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance Core.AWSRequest StartReadSetActivationJob where
  type
    AWSResponse StartReadSetActivationJob =
      StartReadSetActivationJobResponse
  request :: (Service -> Service)
-> StartReadSetActivationJob -> Request StartReadSetActivationJob
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 StartReadSetActivationJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse StartReadSetActivationJob)))
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 ->
          Int
-> ISO8601
-> Text
-> Text
-> ReadSetActivationJobStatus
-> StartReadSetActivationJobResponse
StartReadSetActivationJobResponse'
            forall (f :: * -> *) a b. Functor 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))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"creationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"id")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"sequenceStoreId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"status")
      )

instance Prelude.Hashable StartReadSetActivationJob where
  hashWithSalt :: Int -> StartReadSetActivationJob -> Int
hashWithSalt Int
_salt StartReadSetActivationJob' {Maybe Text
NonEmpty StartReadSetActivationJobSourceItem
Text
sources :: NonEmpty StartReadSetActivationJobSourceItem
sequenceStoreId :: Text
clientToken :: Maybe Text
$sel:sources:StartReadSetActivationJob' :: StartReadSetActivationJob
-> NonEmpty StartReadSetActivationJobSourceItem
$sel:sequenceStoreId:StartReadSetActivationJob' :: StartReadSetActivationJob -> Text
$sel:clientToken:StartReadSetActivationJob' :: StartReadSetActivationJob -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sequenceStoreId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty StartReadSetActivationJobSourceItem
sources

instance Prelude.NFData StartReadSetActivationJob where
  rnf :: StartReadSetActivationJob -> ()
rnf StartReadSetActivationJob' {Maybe Text
NonEmpty StartReadSetActivationJobSourceItem
Text
sources :: NonEmpty StartReadSetActivationJobSourceItem
sequenceStoreId :: Text
clientToken :: Maybe Text
$sel:sources:StartReadSetActivationJob' :: StartReadSetActivationJob
-> NonEmpty StartReadSetActivationJobSourceItem
$sel:sequenceStoreId:StartReadSetActivationJob' :: StartReadSetActivationJob -> Text
$sel:clientToken:StartReadSetActivationJob' :: StartReadSetActivationJob -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
sequenceStoreId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty StartReadSetActivationJobSourceItem
sources

instance Data.ToHeaders StartReadSetActivationJob where
  toHeaders :: StartReadSetActivationJob -> 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 StartReadSetActivationJob where
  toJSON :: StartReadSetActivationJob -> Value
toJSON StartReadSetActivationJob' {Maybe Text
NonEmpty StartReadSetActivationJobSourceItem
Text
sources :: NonEmpty StartReadSetActivationJobSourceItem
sequenceStoreId :: Text
clientToken :: Maybe Text
$sel:sources:StartReadSetActivationJob' :: StartReadSetActivationJob
-> NonEmpty StartReadSetActivationJobSourceItem
$sel:sequenceStoreId:StartReadSetActivationJob' :: StartReadSetActivationJob -> Text
$sel:clientToken:StartReadSetActivationJob' :: StartReadSetActivationJob -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"clientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientToken,
            forall a. a -> Maybe a
Prelude.Just (Key
"sources" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty StartReadSetActivationJobSourceItem
sources)
          ]
      )

instance Data.ToPath StartReadSetActivationJob where
  toPath :: StartReadSetActivationJob -> ByteString
toPath StartReadSetActivationJob' {Maybe Text
NonEmpty StartReadSetActivationJobSourceItem
Text
sources :: NonEmpty StartReadSetActivationJobSourceItem
sequenceStoreId :: Text
clientToken :: Maybe Text
$sel:sources:StartReadSetActivationJob' :: StartReadSetActivationJob
-> NonEmpty StartReadSetActivationJobSourceItem
$sel:sequenceStoreId:StartReadSetActivationJob' :: StartReadSetActivationJob -> Text
$sel:clientToken:StartReadSetActivationJob' :: StartReadSetActivationJob -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/sequencestore/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
sequenceStoreId,
        ByteString
"/activationjob"
      ]

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

-- | /See:/ 'newStartReadSetActivationJobResponse' smart constructor.
data StartReadSetActivationJobResponse = StartReadSetActivationJobResponse'
  { -- | The response's http status code.
    StartReadSetActivationJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | When the job was created.
    StartReadSetActivationJobResponse -> ISO8601
creationTime :: Data.ISO8601,
    -- | The job\'s ID.
    StartReadSetActivationJobResponse -> Text
id :: Prelude.Text,
    -- | The read set\'s sequence store ID.
    StartReadSetActivationJobResponse -> Text
sequenceStoreId :: Prelude.Text,
    -- | The job\'s status.
    StartReadSetActivationJobResponse -> ReadSetActivationJobStatus
status :: ReadSetActivationJobStatus
  }
  deriving (StartReadSetActivationJobResponse
-> StartReadSetActivationJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartReadSetActivationJobResponse
-> StartReadSetActivationJobResponse -> Bool
$c/= :: StartReadSetActivationJobResponse
-> StartReadSetActivationJobResponse -> Bool
== :: StartReadSetActivationJobResponse
-> StartReadSetActivationJobResponse -> Bool
$c== :: StartReadSetActivationJobResponse
-> StartReadSetActivationJobResponse -> Bool
Prelude.Eq, ReadPrec [StartReadSetActivationJobResponse]
ReadPrec StartReadSetActivationJobResponse
Int -> ReadS StartReadSetActivationJobResponse
ReadS [StartReadSetActivationJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartReadSetActivationJobResponse]
$creadListPrec :: ReadPrec [StartReadSetActivationJobResponse]
readPrec :: ReadPrec StartReadSetActivationJobResponse
$creadPrec :: ReadPrec StartReadSetActivationJobResponse
readList :: ReadS [StartReadSetActivationJobResponse]
$creadList :: ReadS [StartReadSetActivationJobResponse]
readsPrec :: Int -> ReadS StartReadSetActivationJobResponse
$creadsPrec :: Int -> ReadS StartReadSetActivationJobResponse
Prelude.Read, Int -> StartReadSetActivationJobResponse -> ShowS
[StartReadSetActivationJobResponse] -> ShowS
StartReadSetActivationJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartReadSetActivationJobResponse] -> ShowS
$cshowList :: [StartReadSetActivationJobResponse] -> ShowS
show :: StartReadSetActivationJobResponse -> String
$cshow :: StartReadSetActivationJobResponse -> String
showsPrec :: Int -> StartReadSetActivationJobResponse -> ShowS
$cshowsPrec :: Int -> StartReadSetActivationJobResponse -> ShowS
Prelude.Show, forall x.
Rep StartReadSetActivationJobResponse x
-> StartReadSetActivationJobResponse
forall x.
StartReadSetActivationJobResponse
-> Rep StartReadSetActivationJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartReadSetActivationJobResponse x
-> StartReadSetActivationJobResponse
$cfrom :: forall x.
StartReadSetActivationJobResponse
-> Rep StartReadSetActivationJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'StartReadSetActivationJobResponse' 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:
--
-- 'httpStatus', 'startReadSetActivationJobResponse_httpStatus' - The response's http status code.
--
-- 'creationTime', 'startReadSetActivationJobResponse_creationTime' - When the job was created.
--
-- 'id', 'startReadSetActivationJobResponse_id' - The job\'s ID.
--
-- 'sequenceStoreId', 'startReadSetActivationJobResponse_sequenceStoreId' - The read set\'s sequence store ID.
--
-- 'status', 'startReadSetActivationJobResponse_status' - The job\'s status.
newStartReadSetActivationJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'id'
  Prelude.Text ->
  -- | 'sequenceStoreId'
  Prelude.Text ->
  -- | 'status'
  ReadSetActivationJobStatus ->
  StartReadSetActivationJobResponse
newStartReadSetActivationJobResponse :: Int
-> UTCTime
-> Text
-> Text
-> ReadSetActivationJobStatus
-> StartReadSetActivationJobResponse
newStartReadSetActivationJobResponse
  Int
pHttpStatus_
  UTCTime
pCreationTime_
  Text
pId_
  Text
pSequenceStoreId_
  ReadSetActivationJobStatus
pStatus_ =
    StartReadSetActivationJobResponse'
      { $sel:httpStatus:StartReadSetActivationJobResponse' :: Int
httpStatus =
          Int
pHttpStatus_,
        $sel:creationTime:StartReadSetActivationJobResponse' :: ISO8601
creationTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:id:StartReadSetActivationJobResponse' :: Text
id = Text
pId_,
        $sel:sequenceStoreId:StartReadSetActivationJobResponse' :: Text
sequenceStoreId = Text
pSequenceStoreId_,
        $sel:status:StartReadSetActivationJobResponse' :: ReadSetActivationJobStatus
status = ReadSetActivationJobStatus
pStatus_
      }

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

-- | When the job was created.
startReadSetActivationJobResponse_creationTime :: Lens.Lens' StartReadSetActivationJobResponse Prelude.UTCTime
startReadSetActivationJobResponse_creationTime :: Lens' StartReadSetActivationJobResponse UTCTime
startReadSetActivationJobResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReadSetActivationJobResponse' {ISO8601
creationTime :: ISO8601
$sel:creationTime:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> ISO8601
creationTime} -> ISO8601
creationTime) (\s :: StartReadSetActivationJobResponse
s@StartReadSetActivationJobResponse' {} ISO8601
a -> StartReadSetActivationJobResponse
s {$sel:creationTime:StartReadSetActivationJobResponse' :: ISO8601
creationTime = ISO8601
a} :: StartReadSetActivationJobResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The job\'s ID.
startReadSetActivationJobResponse_id :: Lens.Lens' StartReadSetActivationJobResponse Prelude.Text
startReadSetActivationJobResponse_id :: Lens' StartReadSetActivationJobResponse Text
startReadSetActivationJobResponse_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReadSetActivationJobResponse' {Text
id :: Text
$sel:id:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> Text
id} -> Text
id) (\s :: StartReadSetActivationJobResponse
s@StartReadSetActivationJobResponse' {} Text
a -> StartReadSetActivationJobResponse
s {$sel:id:StartReadSetActivationJobResponse' :: Text
id = Text
a} :: StartReadSetActivationJobResponse)

-- | The read set\'s sequence store ID.
startReadSetActivationJobResponse_sequenceStoreId :: Lens.Lens' StartReadSetActivationJobResponse Prelude.Text
startReadSetActivationJobResponse_sequenceStoreId :: Lens' StartReadSetActivationJobResponse Text
startReadSetActivationJobResponse_sequenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReadSetActivationJobResponse' {Text
sequenceStoreId :: Text
$sel:sequenceStoreId:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> Text
sequenceStoreId} -> Text
sequenceStoreId) (\s :: StartReadSetActivationJobResponse
s@StartReadSetActivationJobResponse' {} Text
a -> StartReadSetActivationJobResponse
s {$sel:sequenceStoreId:StartReadSetActivationJobResponse' :: Text
sequenceStoreId = Text
a} :: StartReadSetActivationJobResponse)

-- | The job\'s status.
startReadSetActivationJobResponse_status :: Lens.Lens' StartReadSetActivationJobResponse ReadSetActivationJobStatus
startReadSetActivationJobResponse_status :: Lens' StartReadSetActivationJobResponse ReadSetActivationJobStatus
startReadSetActivationJobResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReadSetActivationJobResponse' {ReadSetActivationJobStatus
status :: ReadSetActivationJobStatus
$sel:status:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> ReadSetActivationJobStatus
status} -> ReadSetActivationJobStatus
status) (\s :: StartReadSetActivationJobResponse
s@StartReadSetActivationJobResponse' {} ReadSetActivationJobStatus
a -> StartReadSetActivationJobResponse
s {$sel:status:StartReadSetActivationJobResponse' :: ReadSetActivationJobStatus
status = ReadSetActivationJobStatus
a} :: StartReadSetActivationJobResponse)

instance
  Prelude.NFData
    StartReadSetActivationJobResponse
  where
  rnf :: StartReadSetActivationJobResponse -> ()
rnf StartReadSetActivationJobResponse' {Int
Text
ISO8601
ReadSetActivationJobStatus
status :: ReadSetActivationJobStatus
sequenceStoreId :: Text
id :: Text
creationTime :: ISO8601
httpStatus :: Int
$sel:status:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> ReadSetActivationJobStatus
$sel:sequenceStoreId:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> Text
$sel:id:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> Text
$sel:creationTime:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> ISO8601
$sel:httpStatus:StartReadSetActivationJobResponse' :: StartReadSetActivationJobResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ISO8601
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
sequenceStoreId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReadSetActivationJobStatus
status