{-# 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.GetReferenceImportJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets information about a reference import job.
module Amazonka.Omics.GetReferenceImportJob
  ( -- * Creating a Request
    GetReferenceImportJob (..),
    newGetReferenceImportJob,

    -- * Request Lenses
    getReferenceImportJob_id,
    getReferenceImportJob_referenceStoreId,

    -- * Destructuring the Response
    GetReferenceImportJobResponse (..),
    newGetReferenceImportJobResponse,

    -- * Response Lenses
    getReferenceImportJobResponse_completionTime,
    getReferenceImportJobResponse_statusMessage,
    getReferenceImportJobResponse_httpStatus,
    getReferenceImportJobResponse_creationTime,
    getReferenceImportJobResponse_id,
    getReferenceImportJobResponse_referenceStoreId,
    getReferenceImportJobResponse_roleArn,
    getReferenceImportJobResponse_sources,
    getReferenceImportJobResponse_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:/ 'newGetReferenceImportJob' smart constructor.
data GetReferenceImportJob = GetReferenceImportJob'
  { -- | The job\'s ID.
    GetReferenceImportJob -> Text
id :: Prelude.Text,
    -- | The job\'s reference store ID.
    GetReferenceImportJob -> Text
referenceStoreId :: Prelude.Text
  }
  deriving (GetReferenceImportJob -> GetReferenceImportJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetReferenceImportJob -> GetReferenceImportJob -> Bool
$c/= :: GetReferenceImportJob -> GetReferenceImportJob -> Bool
== :: GetReferenceImportJob -> GetReferenceImportJob -> Bool
$c== :: GetReferenceImportJob -> GetReferenceImportJob -> Bool
Prelude.Eq, ReadPrec [GetReferenceImportJob]
ReadPrec GetReferenceImportJob
Int -> ReadS GetReferenceImportJob
ReadS [GetReferenceImportJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetReferenceImportJob]
$creadListPrec :: ReadPrec [GetReferenceImportJob]
readPrec :: ReadPrec GetReferenceImportJob
$creadPrec :: ReadPrec GetReferenceImportJob
readList :: ReadS [GetReferenceImportJob]
$creadList :: ReadS [GetReferenceImportJob]
readsPrec :: Int -> ReadS GetReferenceImportJob
$creadsPrec :: Int -> ReadS GetReferenceImportJob
Prelude.Read, Int -> GetReferenceImportJob -> ShowS
[GetReferenceImportJob] -> ShowS
GetReferenceImportJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetReferenceImportJob] -> ShowS
$cshowList :: [GetReferenceImportJob] -> ShowS
show :: GetReferenceImportJob -> String
$cshow :: GetReferenceImportJob -> String
showsPrec :: Int -> GetReferenceImportJob -> ShowS
$cshowsPrec :: Int -> GetReferenceImportJob -> ShowS
Prelude.Show, forall x. Rep GetReferenceImportJob x -> GetReferenceImportJob
forall x. GetReferenceImportJob -> Rep GetReferenceImportJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetReferenceImportJob x -> GetReferenceImportJob
$cfrom :: forall x. GetReferenceImportJob -> Rep GetReferenceImportJob x
Prelude.Generic)

-- |
-- Create a value of 'GetReferenceImportJob' 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:
--
-- 'id', 'getReferenceImportJob_id' - The job\'s ID.
--
-- 'referenceStoreId', 'getReferenceImportJob_referenceStoreId' - The job\'s reference store ID.
newGetReferenceImportJob ::
  -- | 'id'
  Prelude.Text ->
  -- | 'referenceStoreId'
  Prelude.Text ->
  GetReferenceImportJob
newGetReferenceImportJob :: Text -> Text -> GetReferenceImportJob
newGetReferenceImportJob Text
pId_ Text
pReferenceStoreId_ =
  GetReferenceImportJob'
    { $sel:id:GetReferenceImportJob' :: Text
id = Text
pId_,
      $sel:referenceStoreId:GetReferenceImportJob' :: Text
referenceStoreId = Text
pReferenceStoreId_
    }

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

-- | The job\'s reference store ID.
getReferenceImportJob_referenceStoreId :: Lens.Lens' GetReferenceImportJob Prelude.Text
getReferenceImportJob_referenceStoreId :: Lens' GetReferenceImportJob Text
getReferenceImportJob_referenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceImportJob' {Text
referenceStoreId :: Text
$sel:referenceStoreId:GetReferenceImportJob' :: GetReferenceImportJob -> Text
referenceStoreId} -> Text
referenceStoreId) (\s :: GetReferenceImportJob
s@GetReferenceImportJob' {} Text
a -> GetReferenceImportJob
s {$sel:referenceStoreId:GetReferenceImportJob' :: Text
referenceStoreId = Text
a} :: GetReferenceImportJob)

instance Core.AWSRequest GetReferenceImportJob where
  type
    AWSResponse GetReferenceImportJob =
      GetReferenceImportJobResponse
  request :: (Service -> Service)
-> GetReferenceImportJob -> Request GetReferenceImportJob
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetReferenceImportJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetReferenceImportJob)))
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 ISO8601
-> Maybe Text
-> Int
-> ISO8601
-> Text
-> Text
-> Text
-> [ImportReferenceSourceItem]
-> ReferenceImportJobStatus
-> GetReferenceImportJobResponse
GetReferenceImportJobResponse'
            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
"completionTime")
            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
"statusMessage")
            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))
            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
"referenceStoreId")
            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
"roleArn")
            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
"sources" 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 a
Data..:> Key
"status")
      )

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

instance Prelude.NFData GetReferenceImportJob where
  rnf :: GetReferenceImportJob -> ()
rnf GetReferenceImportJob' {Text
referenceStoreId :: Text
id :: Text
$sel:referenceStoreId:GetReferenceImportJob' :: GetReferenceImportJob -> Text
$sel:id:GetReferenceImportJob' :: GetReferenceImportJob -> Text
..} =
    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
referenceStoreId

instance Data.ToHeaders GetReferenceImportJob where
  toHeaders :: GetReferenceImportJob -> 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.ToPath GetReferenceImportJob where
  toPath :: GetReferenceImportJob -> ByteString
toPath GetReferenceImportJob' {Text
referenceStoreId :: Text
id :: Text
$sel:referenceStoreId:GetReferenceImportJob' :: GetReferenceImportJob -> Text
$sel:id:GetReferenceImportJob' :: GetReferenceImportJob -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/referencestore/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
referenceStoreId,
        ByteString
"/importjob/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
id
      ]

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

-- | /See:/ 'newGetReferenceImportJobResponse' smart constructor.
data GetReferenceImportJobResponse = GetReferenceImportJobResponse'
  { -- | When the job completed.
    GetReferenceImportJobResponse -> Maybe ISO8601
completionTime :: Prelude.Maybe Data.ISO8601,
    -- | The job\'s status message.
    GetReferenceImportJobResponse -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetReferenceImportJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | When the job was created.
    GetReferenceImportJobResponse -> ISO8601
creationTime :: Data.ISO8601,
    -- | The job\'s ID.
    GetReferenceImportJobResponse -> Text
id :: Prelude.Text,
    -- | The job\'s reference store ID.
    GetReferenceImportJobResponse -> Text
referenceStoreId :: Prelude.Text,
    -- | The job\'s service role ARN.
    GetReferenceImportJobResponse -> Text
roleArn :: Prelude.Text,
    -- | The job\'s sources.
    GetReferenceImportJobResponse -> [ImportReferenceSourceItem]
sources :: [ImportReferenceSourceItem],
    -- | The job\'s status.
    GetReferenceImportJobResponse -> ReferenceImportJobStatus
status :: ReferenceImportJobStatus
  }
  deriving (GetReferenceImportJobResponse
-> GetReferenceImportJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetReferenceImportJobResponse
-> GetReferenceImportJobResponse -> Bool
$c/= :: GetReferenceImportJobResponse
-> GetReferenceImportJobResponse -> Bool
== :: GetReferenceImportJobResponse
-> GetReferenceImportJobResponse -> Bool
$c== :: GetReferenceImportJobResponse
-> GetReferenceImportJobResponse -> Bool
Prelude.Eq, ReadPrec [GetReferenceImportJobResponse]
ReadPrec GetReferenceImportJobResponse
Int -> ReadS GetReferenceImportJobResponse
ReadS [GetReferenceImportJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetReferenceImportJobResponse]
$creadListPrec :: ReadPrec [GetReferenceImportJobResponse]
readPrec :: ReadPrec GetReferenceImportJobResponse
$creadPrec :: ReadPrec GetReferenceImportJobResponse
readList :: ReadS [GetReferenceImportJobResponse]
$creadList :: ReadS [GetReferenceImportJobResponse]
readsPrec :: Int -> ReadS GetReferenceImportJobResponse
$creadsPrec :: Int -> ReadS GetReferenceImportJobResponse
Prelude.Read, Int -> GetReferenceImportJobResponse -> ShowS
[GetReferenceImportJobResponse] -> ShowS
GetReferenceImportJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetReferenceImportJobResponse] -> ShowS
$cshowList :: [GetReferenceImportJobResponse] -> ShowS
show :: GetReferenceImportJobResponse -> String
$cshow :: GetReferenceImportJobResponse -> String
showsPrec :: Int -> GetReferenceImportJobResponse -> ShowS
$cshowsPrec :: Int -> GetReferenceImportJobResponse -> ShowS
Prelude.Show, forall x.
Rep GetReferenceImportJobResponse x
-> GetReferenceImportJobResponse
forall x.
GetReferenceImportJobResponse
-> Rep GetReferenceImportJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetReferenceImportJobResponse x
-> GetReferenceImportJobResponse
$cfrom :: forall x.
GetReferenceImportJobResponse
-> Rep GetReferenceImportJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetReferenceImportJobResponse' 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:
--
-- 'completionTime', 'getReferenceImportJobResponse_completionTime' - When the job completed.
--
-- 'statusMessage', 'getReferenceImportJobResponse_statusMessage' - The job\'s status message.
--
-- 'httpStatus', 'getReferenceImportJobResponse_httpStatus' - The response's http status code.
--
-- 'creationTime', 'getReferenceImportJobResponse_creationTime' - When the job was created.
--
-- 'id', 'getReferenceImportJobResponse_id' - The job\'s ID.
--
-- 'referenceStoreId', 'getReferenceImportJobResponse_referenceStoreId' - The job\'s reference store ID.
--
-- 'roleArn', 'getReferenceImportJobResponse_roleArn' - The job\'s service role ARN.
--
-- 'sources', 'getReferenceImportJobResponse_sources' - The job\'s sources.
--
-- 'status', 'getReferenceImportJobResponse_status' - The job\'s status.
newGetReferenceImportJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'id'
  Prelude.Text ->
  -- | 'referenceStoreId'
  Prelude.Text ->
  -- | 'roleArn'
  Prelude.Text ->
  -- | 'status'
  ReferenceImportJobStatus ->
  GetReferenceImportJobResponse
newGetReferenceImportJobResponse :: Int
-> UTCTime
-> Text
-> Text
-> Text
-> ReferenceImportJobStatus
-> GetReferenceImportJobResponse
newGetReferenceImportJobResponse
  Int
pHttpStatus_
  UTCTime
pCreationTime_
  Text
pId_
  Text
pReferenceStoreId_
  Text
pRoleArn_
  ReferenceImportJobStatus
pStatus_ =
    GetReferenceImportJobResponse'
      { $sel:completionTime:GetReferenceImportJobResponse' :: Maybe ISO8601
completionTime =
          forall a. Maybe a
Prelude.Nothing,
        $sel:statusMessage:GetReferenceImportJobResponse' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:GetReferenceImportJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:creationTime:GetReferenceImportJobResponse' :: ISO8601
creationTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:id:GetReferenceImportJobResponse' :: Text
id = Text
pId_,
        $sel:referenceStoreId:GetReferenceImportJobResponse' :: Text
referenceStoreId = Text
pReferenceStoreId_,
        $sel:roleArn:GetReferenceImportJobResponse' :: Text
roleArn = Text
pRoleArn_,
        $sel:sources:GetReferenceImportJobResponse' :: [ImportReferenceSourceItem]
sources = forall a. Monoid a => a
Prelude.mempty,
        $sel:status:GetReferenceImportJobResponse' :: ReferenceImportJobStatus
status = ReferenceImportJobStatus
pStatus_
      }

-- | When the job completed.
getReferenceImportJobResponse_completionTime :: Lens.Lens' GetReferenceImportJobResponse (Prelude.Maybe Prelude.UTCTime)
getReferenceImportJobResponse_completionTime :: Lens' GetReferenceImportJobResponse (Maybe UTCTime)
getReferenceImportJobResponse_completionTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceImportJobResponse' {Maybe ISO8601
completionTime :: Maybe ISO8601
$sel:completionTime:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Maybe ISO8601
completionTime} -> Maybe ISO8601
completionTime) (\s :: GetReferenceImportJobResponse
s@GetReferenceImportJobResponse' {} Maybe ISO8601
a -> GetReferenceImportJobResponse
s {$sel:completionTime:GetReferenceImportJobResponse' :: Maybe ISO8601
completionTime = Maybe ISO8601
a} :: GetReferenceImportJobResponse) 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

-- | The job\'s status message.
getReferenceImportJobResponse_statusMessage :: Lens.Lens' GetReferenceImportJobResponse (Prelude.Maybe Prelude.Text)
getReferenceImportJobResponse_statusMessage :: Lens' GetReferenceImportJobResponse (Maybe Text)
getReferenceImportJobResponse_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceImportJobResponse' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: GetReferenceImportJobResponse
s@GetReferenceImportJobResponse' {} Maybe Text
a -> GetReferenceImportJobResponse
s {$sel:statusMessage:GetReferenceImportJobResponse' :: Maybe Text
statusMessage = Maybe Text
a} :: GetReferenceImportJobResponse)

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

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

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

-- | The job\'s reference store ID.
getReferenceImportJobResponse_referenceStoreId :: Lens.Lens' GetReferenceImportJobResponse Prelude.Text
getReferenceImportJobResponse_referenceStoreId :: Lens' GetReferenceImportJobResponse Text
getReferenceImportJobResponse_referenceStoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceImportJobResponse' {Text
referenceStoreId :: Text
$sel:referenceStoreId:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Text
referenceStoreId} -> Text
referenceStoreId) (\s :: GetReferenceImportJobResponse
s@GetReferenceImportJobResponse' {} Text
a -> GetReferenceImportJobResponse
s {$sel:referenceStoreId:GetReferenceImportJobResponse' :: Text
referenceStoreId = Text
a} :: GetReferenceImportJobResponse)

-- | The job\'s service role ARN.
getReferenceImportJobResponse_roleArn :: Lens.Lens' GetReferenceImportJobResponse Prelude.Text
getReferenceImportJobResponse_roleArn :: Lens' GetReferenceImportJobResponse Text
getReferenceImportJobResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceImportJobResponse' {Text
roleArn :: Text
$sel:roleArn:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Text
roleArn} -> Text
roleArn) (\s :: GetReferenceImportJobResponse
s@GetReferenceImportJobResponse' {} Text
a -> GetReferenceImportJobResponse
s {$sel:roleArn:GetReferenceImportJobResponse' :: Text
roleArn = Text
a} :: GetReferenceImportJobResponse)

-- | The job\'s sources.
getReferenceImportJobResponse_sources :: Lens.Lens' GetReferenceImportJobResponse [ImportReferenceSourceItem]
getReferenceImportJobResponse_sources :: Lens' GetReferenceImportJobResponse [ImportReferenceSourceItem]
getReferenceImportJobResponse_sources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetReferenceImportJobResponse' {[ImportReferenceSourceItem]
sources :: [ImportReferenceSourceItem]
$sel:sources:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> [ImportReferenceSourceItem]
sources} -> [ImportReferenceSourceItem]
sources) (\s :: GetReferenceImportJobResponse
s@GetReferenceImportJobResponse' {} [ImportReferenceSourceItem]
a -> GetReferenceImportJobResponse
s {$sel:sources:GetReferenceImportJobResponse' :: [ImportReferenceSourceItem]
sources = [ImportReferenceSourceItem]
a} :: GetReferenceImportJobResponse) 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

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

instance Prelude.NFData GetReferenceImportJobResponse where
  rnf :: GetReferenceImportJobResponse -> ()
rnf GetReferenceImportJobResponse' {Int
[ImportReferenceSourceItem]
Maybe Text
Maybe ISO8601
Text
ISO8601
ReferenceImportJobStatus
status :: ReferenceImportJobStatus
sources :: [ImportReferenceSourceItem]
roleArn :: Text
referenceStoreId :: Text
id :: Text
creationTime :: ISO8601
httpStatus :: Int
statusMessage :: Maybe Text
completionTime :: Maybe ISO8601
$sel:status:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> ReferenceImportJobStatus
$sel:sources:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> [ImportReferenceSourceItem]
$sel:roleArn:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Text
$sel:referenceStoreId:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Text
$sel:id:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Text
$sel:creationTime:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> ISO8601
$sel:httpStatus:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Int
$sel:statusMessage:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Maybe Text
$sel:completionTime:GetReferenceImportJobResponse' :: GetReferenceImportJobResponse -> Maybe ISO8601
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
completionTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusMessage
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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
referenceStoreId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [ImportReferenceSourceItem]
sources
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReferenceImportJobStatus
status