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

    -- * Request Lenses
    describePackageImportJob_jobId,

    -- * Destructuring the Response
    DescribePackageImportJobResponse (..),
    newDescribePackageImportJobResponse,

    -- * Response Lenses
    describePackageImportJobResponse_clientToken,
    describePackageImportJobResponse_jobTags,
    describePackageImportJobResponse_httpStatus,
    describePackageImportJobResponse_createdTime,
    describePackageImportJobResponse_inputConfig,
    describePackageImportJobResponse_jobId,
    describePackageImportJobResponse_jobType,
    describePackageImportJobResponse_lastUpdatedTime,
    describePackageImportJobResponse_output,
    describePackageImportJobResponse_outputConfig,
    describePackageImportJobResponse_status,
    describePackageImportJobResponse_statusMessage,
  )
where

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

-- | /See:/ 'newDescribePackageImportJob' smart constructor.
data DescribePackageImportJob = DescribePackageImportJob'
  { -- | The job\'s ID.
    DescribePackageImportJob -> Text
jobId :: Prelude.Text
  }
  deriving (DescribePackageImportJob -> DescribePackageImportJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePackageImportJob -> DescribePackageImportJob -> Bool
$c/= :: DescribePackageImportJob -> DescribePackageImportJob -> Bool
== :: DescribePackageImportJob -> DescribePackageImportJob -> Bool
$c== :: DescribePackageImportJob -> DescribePackageImportJob -> Bool
Prelude.Eq, ReadPrec [DescribePackageImportJob]
ReadPrec DescribePackageImportJob
Int -> ReadS DescribePackageImportJob
ReadS [DescribePackageImportJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePackageImportJob]
$creadListPrec :: ReadPrec [DescribePackageImportJob]
readPrec :: ReadPrec DescribePackageImportJob
$creadPrec :: ReadPrec DescribePackageImportJob
readList :: ReadS [DescribePackageImportJob]
$creadList :: ReadS [DescribePackageImportJob]
readsPrec :: Int -> ReadS DescribePackageImportJob
$creadsPrec :: Int -> ReadS DescribePackageImportJob
Prelude.Read, Int -> DescribePackageImportJob -> ShowS
[DescribePackageImportJob] -> ShowS
DescribePackageImportJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePackageImportJob] -> ShowS
$cshowList :: [DescribePackageImportJob] -> ShowS
show :: DescribePackageImportJob -> String
$cshow :: DescribePackageImportJob -> String
showsPrec :: Int -> DescribePackageImportJob -> ShowS
$cshowsPrec :: Int -> DescribePackageImportJob -> ShowS
Prelude.Show, forall x.
Rep DescribePackageImportJob x -> DescribePackageImportJob
forall x.
DescribePackageImportJob -> Rep DescribePackageImportJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribePackageImportJob x -> DescribePackageImportJob
$cfrom :: forall x.
DescribePackageImportJob -> Rep DescribePackageImportJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribePackageImportJob' 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:
--
-- 'jobId', 'describePackageImportJob_jobId' - The job\'s ID.
newDescribePackageImportJob ::
  -- | 'jobId'
  Prelude.Text ->
  DescribePackageImportJob
newDescribePackageImportJob :: Text -> DescribePackageImportJob
newDescribePackageImportJob Text
pJobId_ =
  DescribePackageImportJob' {$sel:jobId:DescribePackageImportJob' :: Text
jobId = Text
pJobId_}

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

instance Core.AWSRequest DescribePackageImportJob where
  type
    AWSResponse DescribePackageImportJob =
      DescribePackageImportJobResponse
  request :: (Service -> Service)
-> DescribePackageImportJob -> Request DescribePackageImportJob
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 DescribePackageImportJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribePackageImportJob)))
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 [JobResourceTags]
-> Int
-> POSIX
-> PackageImportJobInputConfig
-> Text
-> PackageImportJobType
-> POSIX
-> PackageImportJobOutput
-> PackageImportJobOutputConfig
-> PackageImportJobStatus
-> Text
-> DescribePackageImportJobResponse
DescribePackageImportJobResponse'
            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
"ClientToken")
            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
"JobTags" 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))
            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
"CreatedTime")
            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
"InputConfig")
            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
"JobId")
            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
"JobType")
            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
"LastUpdatedTime")
            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
"Output")
            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
"OutputConfig")
            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")
            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
"StatusMessage")
      )

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

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

instance Data.ToHeaders DescribePackageImportJob where
  toHeaders :: DescribePackageImportJob -> 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 DescribePackageImportJob where
  toPath :: DescribePackageImportJob -> ByteString
toPath DescribePackageImportJob' {Text
jobId :: Text
$sel:jobId:DescribePackageImportJob' :: DescribePackageImportJob -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/packages/import-jobs/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
jobId]

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

-- | /See:/ 'newDescribePackageImportJobResponse' smart constructor.
data DescribePackageImportJobResponse = DescribePackageImportJobResponse'
  { -- | The job\'s client token.
    DescribePackageImportJobResponse -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | The job\'s tags.
    DescribePackageImportJobResponse -> Maybe [JobResourceTags]
jobTags :: Prelude.Maybe [JobResourceTags],
    -- | The response's http status code.
    DescribePackageImportJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | When the job was created.
    DescribePackageImportJobResponse -> POSIX
createdTime :: Data.POSIX,
    -- | The job\'s input config.
    DescribePackageImportJobResponse -> PackageImportJobInputConfig
inputConfig :: PackageImportJobInputConfig,
    -- | The job\'s ID.
    DescribePackageImportJobResponse -> Text
jobId :: Prelude.Text,
    -- | The job\'s type.
    DescribePackageImportJobResponse -> PackageImportJobType
jobType :: PackageImportJobType,
    -- | When the job was updated.
    DescribePackageImportJobResponse -> POSIX
lastUpdatedTime :: Data.POSIX,
    -- | The job\'s output.
    DescribePackageImportJobResponse -> PackageImportJobOutput
output :: PackageImportJobOutput,
    -- | The job\'s output config.
    DescribePackageImportJobResponse -> PackageImportJobOutputConfig
outputConfig :: PackageImportJobOutputConfig,
    -- | The job\'s status.
    DescribePackageImportJobResponse -> PackageImportJobStatus
status :: PackageImportJobStatus,
    -- | The job\'s status message.
    DescribePackageImportJobResponse -> Text
statusMessage :: Prelude.Text
  }
  deriving (DescribePackageImportJobResponse
-> DescribePackageImportJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePackageImportJobResponse
-> DescribePackageImportJobResponse -> Bool
$c/= :: DescribePackageImportJobResponse
-> DescribePackageImportJobResponse -> Bool
== :: DescribePackageImportJobResponse
-> DescribePackageImportJobResponse -> Bool
$c== :: DescribePackageImportJobResponse
-> DescribePackageImportJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribePackageImportJobResponse]
ReadPrec DescribePackageImportJobResponse
Int -> ReadS DescribePackageImportJobResponse
ReadS [DescribePackageImportJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePackageImportJobResponse]
$creadListPrec :: ReadPrec [DescribePackageImportJobResponse]
readPrec :: ReadPrec DescribePackageImportJobResponse
$creadPrec :: ReadPrec DescribePackageImportJobResponse
readList :: ReadS [DescribePackageImportJobResponse]
$creadList :: ReadS [DescribePackageImportJobResponse]
readsPrec :: Int -> ReadS DescribePackageImportJobResponse
$creadsPrec :: Int -> ReadS DescribePackageImportJobResponse
Prelude.Read, Int -> DescribePackageImportJobResponse -> ShowS
[DescribePackageImportJobResponse] -> ShowS
DescribePackageImportJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePackageImportJobResponse] -> ShowS
$cshowList :: [DescribePackageImportJobResponse] -> ShowS
show :: DescribePackageImportJobResponse -> String
$cshow :: DescribePackageImportJobResponse -> String
showsPrec :: Int -> DescribePackageImportJobResponse -> ShowS
$cshowsPrec :: Int -> DescribePackageImportJobResponse -> ShowS
Prelude.Show, forall x.
Rep DescribePackageImportJobResponse x
-> DescribePackageImportJobResponse
forall x.
DescribePackageImportJobResponse
-> Rep DescribePackageImportJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribePackageImportJobResponse x
-> DescribePackageImportJobResponse
$cfrom :: forall x.
DescribePackageImportJobResponse
-> Rep DescribePackageImportJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribePackageImportJobResponse' 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', 'describePackageImportJobResponse_clientToken' - The job\'s client token.
--
-- 'jobTags', 'describePackageImportJobResponse_jobTags' - The job\'s tags.
--
-- 'httpStatus', 'describePackageImportJobResponse_httpStatus' - The response's http status code.
--
-- 'createdTime', 'describePackageImportJobResponse_createdTime' - When the job was created.
--
-- 'inputConfig', 'describePackageImportJobResponse_inputConfig' - The job\'s input config.
--
-- 'jobId', 'describePackageImportJobResponse_jobId' - The job\'s ID.
--
-- 'jobType', 'describePackageImportJobResponse_jobType' - The job\'s type.
--
-- 'lastUpdatedTime', 'describePackageImportJobResponse_lastUpdatedTime' - When the job was updated.
--
-- 'output', 'describePackageImportJobResponse_output' - The job\'s output.
--
-- 'outputConfig', 'describePackageImportJobResponse_outputConfig' - The job\'s output config.
--
-- 'status', 'describePackageImportJobResponse_status' - The job\'s status.
--
-- 'statusMessage', 'describePackageImportJobResponse_statusMessage' - The job\'s status message.
newDescribePackageImportJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'createdTime'
  Prelude.UTCTime ->
  -- | 'inputConfig'
  PackageImportJobInputConfig ->
  -- | 'jobId'
  Prelude.Text ->
  -- | 'jobType'
  PackageImportJobType ->
  -- | 'lastUpdatedTime'
  Prelude.UTCTime ->
  -- | 'output'
  PackageImportJobOutput ->
  -- | 'outputConfig'
  PackageImportJobOutputConfig ->
  -- | 'status'
  PackageImportJobStatus ->
  -- | 'statusMessage'
  Prelude.Text ->
  DescribePackageImportJobResponse
newDescribePackageImportJobResponse :: Int
-> UTCTime
-> PackageImportJobInputConfig
-> Text
-> PackageImportJobType
-> UTCTime
-> PackageImportJobOutput
-> PackageImportJobOutputConfig
-> PackageImportJobStatus
-> Text
-> DescribePackageImportJobResponse
newDescribePackageImportJobResponse
  Int
pHttpStatus_
  UTCTime
pCreatedTime_
  PackageImportJobInputConfig
pInputConfig_
  Text
pJobId_
  PackageImportJobType
pJobType_
  UTCTime
pLastUpdatedTime_
  PackageImportJobOutput
pOutput_
  PackageImportJobOutputConfig
pOutputConfig_
  PackageImportJobStatus
pStatus_
  Text
pStatusMessage_ =
    DescribePackageImportJobResponse'
      { $sel:clientToken:DescribePackageImportJobResponse' :: Maybe Text
clientToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:jobTags:DescribePackageImportJobResponse' :: Maybe [JobResourceTags]
jobTags = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribePackageImportJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:createdTime:DescribePackageImportJobResponse' :: POSIX
createdTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreatedTime_,
        $sel:inputConfig:DescribePackageImportJobResponse' :: PackageImportJobInputConfig
inputConfig = PackageImportJobInputConfig
pInputConfig_,
        $sel:jobId:DescribePackageImportJobResponse' :: Text
jobId = Text
pJobId_,
        $sel:jobType:DescribePackageImportJobResponse' :: PackageImportJobType
jobType = PackageImportJobType
pJobType_,
        $sel:lastUpdatedTime:DescribePackageImportJobResponse' :: POSIX
lastUpdatedTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastUpdatedTime_,
        $sel:output:DescribePackageImportJobResponse' :: PackageImportJobOutput
output = PackageImportJobOutput
pOutput_,
        $sel:outputConfig:DescribePackageImportJobResponse' :: PackageImportJobOutputConfig
outputConfig = PackageImportJobOutputConfig
pOutputConfig_,
        $sel:status:DescribePackageImportJobResponse' :: PackageImportJobStatus
status = PackageImportJobStatus
pStatus_,
        $sel:statusMessage:DescribePackageImportJobResponse' :: Text
statusMessage = Text
pStatusMessage_
      }

-- | The job\'s client token.
describePackageImportJobResponse_clientToken :: Lens.Lens' DescribePackageImportJobResponse (Prelude.Maybe Prelude.Text)
describePackageImportJobResponse_clientToken :: Lens' DescribePackageImportJobResponse (Maybe Text)
describePackageImportJobResponse_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} Maybe Text
a -> DescribePackageImportJobResponse
s {$sel:clientToken:DescribePackageImportJobResponse' :: Maybe Text
clientToken = Maybe Text
a} :: DescribePackageImportJobResponse)

-- | The job\'s tags.
describePackageImportJobResponse_jobTags :: Lens.Lens' DescribePackageImportJobResponse (Prelude.Maybe [JobResourceTags])
describePackageImportJobResponse_jobTags :: Lens' DescribePackageImportJobResponse (Maybe [JobResourceTags])
describePackageImportJobResponse_jobTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {Maybe [JobResourceTags]
jobTags :: Maybe [JobResourceTags]
$sel:jobTags:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> Maybe [JobResourceTags]
jobTags} -> Maybe [JobResourceTags]
jobTags) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} Maybe [JobResourceTags]
a -> DescribePackageImportJobResponse
s {$sel:jobTags:DescribePackageImportJobResponse' :: Maybe [JobResourceTags]
jobTags = Maybe [JobResourceTags]
a} :: DescribePackageImportJobResponse) 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.
describePackageImportJobResponse_httpStatus :: Lens.Lens' DescribePackageImportJobResponse Prelude.Int
describePackageImportJobResponse_httpStatus :: Lens' DescribePackageImportJobResponse Int
describePackageImportJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} Int
a -> DescribePackageImportJobResponse
s {$sel:httpStatus:DescribePackageImportJobResponse' :: Int
httpStatus = Int
a} :: DescribePackageImportJobResponse)

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

-- | The job\'s input config.
describePackageImportJobResponse_inputConfig :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobInputConfig
describePackageImportJobResponse_inputConfig :: Lens' DescribePackageImportJobResponse PackageImportJobInputConfig
describePackageImportJobResponse_inputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {PackageImportJobInputConfig
inputConfig :: PackageImportJobInputConfig
$sel:inputConfig:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobInputConfig
inputConfig} -> PackageImportJobInputConfig
inputConfig) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} PackageImportJobInputConfig
a -> DescribePackageImportJobResponse
s {$sel:inputConfig:DescribePackageImportJobResponse' :: PackageImportJobInputConfig
inputConfig = PackageImportJobInputConfig
a} :: DescribePackageImportJobResponse)

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

-- | The job\'s type.
describePackageImportJobResponse_jobType :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobType
describePackageImportJobResponse_jobType :: Lens' DescribePackageImportJobResponse PackageImportJobType
describePackageImportJobResponse_jobType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {PackageImportJobType
jobType :: PackageImportJobType
$sel:jobType:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobType
jobType} -> PackageImportJobType
jobType) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} PackageImportJobType
a -> DescribePackageImportJobResponse
s {$sel:jobType:DescribePackageImportJobResponse' :: PackageImportJobType
jobType = PackageImportJobType
a} :: DescribePackageImportJobResponse)

-- | When the job was updated.
describePackageImportJobResponse_lastUpdatedTime :: Lens.Lens' DescribePackageImportJobResponse Prelude.UTCTime
describePackageImportJobResponse_lastUpdatedTime :: Lens' DescribePackageImportJobResponse UTCTime
describePackageImportJobResponse_lastUpdatedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {POSIX
lastUpdatedTime :: POSIX
$sel:lastUpdatedTime:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> POSIX
lastUpdatedTime} -> POSIX
lastUpdatedTime) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} POSIX
a -> DescribePackageImportJobResponse
s {$sel:lastUpdatedTime:DescribePackageImportJobResponse' :: POSIX
lastUpdatedTime = POSIX
a} :: DescribePackageImportJobResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The job\'s output.
describePackageImportJobResponse_output :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobOutput
describePackageImportJobResponse_output :: Lens' DescribePackageImportJobResponse PackageImportJobOutput
describePackageImportJobResponse_output = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {PackageImportJobOutput
output :: PackageImportJobOutput
$sel:output:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobOutput
output} -> PackageImportJobOutput
output) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} PackageImportJobOutput
a -> DescribePackageImportJobResponse
s {$sel:output:DescribePackageImportJobResponse' :: PackageImportJobOutput
output = PackageImportJobOutput
a} :: DescribePackageImportJobResponse)

-- | The job\'s output config.
describePackageImportJobResponse_outputConfig :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobOutputConfig
describePackageImportJobResponse_outputConfig :: Lens' DescribePackageImportJobResponse PackageImportJobOutputConfig
describePackageImportJobResponse_outputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePackageImportJobResponse' {PackageImportJobOutputConfig
outputConfig :: PackageImportJobOutputConfig
$sel:outputConfig:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobOutputConfig
outputConfig} -> PackageImportJobOutputConfig
outputConfig) (\s :: DescribePackageImportJobResponse
s@DescribePackageImportJobResponse' {} PackageImportJobOutputConfig
a -> DescribePackageImportJobResponse
s {$sel:outputConfig:DescribePackageImportJobResponse' :: PackageImportJobOutputConfig
outputConfig = PackageImportJobOutputConfig
a} :: DescribePackageImportJobResponse)

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

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

instance
  Prelude.NFData
    DescribePackageImportJobResponse
  where
  rnf :: DescribePackageImportJobResponse -> ()
rnf DescribePackageImportJobResponse' {Int
Maybe [JobResourceTags]
Maybe Text
Text
POSIX
PackageImportJobOutput
PackageImportJobStatus
PackageImportJobType
PackageImportJobOutputConfig
PackageImportJobInputConfig
statusMessage :: Text
status :: PackageImportJobStatus
outputConfig :: PackageImportJobOutputConfig
output :: PackageImportJobOutput
lastUpdatedTime :: POSIX
jobType :: PackageImportJobType
jobId :: Text
inputConfig :: PackageImportJobInputConfig
createdTime :: POSIX
httpStatus :: Int
jobTags :: Maybe [JobResourceTags]
clientToken :: Maybe Text
$sel:statusMessage:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> Text
$sel:status:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobStatus
$sel:outputConfig:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobOutputConfig
$sel:output:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobOutput
$sel:lastUpdatedTime:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> POSIX
$sel:jobType:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobType
$sel:jobId:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> Text
$sel:inputConfig:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> PackageImportJobInputConfig
$sel:createdTime:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> POSIX
$sel:httpStatus:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> Int
$sel:jobTags:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> Maybe [JobResourceTags]
$sel:clientToken:DescribePackageImportJobResponse' :: DescribePackageImportJobResponse -> 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 Maybe [JobResourceTags]
jobTags
      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 POSIX
createdTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageImportJobInputConfig
inputConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageImportJobType
jobType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
lastUpdatedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageImportJobOutput
output
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageImportJobOutputConfig
outputConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageImportJobStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
statusMessage