{-# 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-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- 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_jobId,
    describePackageImportJobResponse_jobType,
    describePackageImportJobResponse_inputConfig,
    describePackageImportJobResponse_outputConfig,
    describePackageImportJobResponse_output,
    describePackageImportJobResponse_createdTime,
    describePackageImportJobResponse_lastUpdatedTime,
    describePackageImportJobResponse_status,
    describePackageImportJobResponse_statusMessage,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
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
(DescribePackageImportJob -> DescribePackageImportJob -> Bool)
-> (DescribePackageImportJob -> DescribePackageImportJob -> Bool)
-> Eq DescribePackageImportJob
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]
(Int -> ReadS DescribePackageImportJob)
-> ReadS [DescribePackageImportJob]
-> ReadPrec DescribePackageImportJob
-> ReadPrec [DescribePackageImportJob]
-> Read 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
(Int -> DescribePackageImportJob -> ShowS)
-> (DescribePackageImportJob -> String)
-> ([DescribePackageImportJob] -> ShowS)
-> Show DescribePackageImportJob
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.
 DescribePackageImportJob -> Rep DescribePackageImportJob x)
-> (forall x.
    Rep DescribePackageImportJob x -> DescribePackageImportJob)
-> Generic DescribePackageImportJob
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' :: Text -> DescribePackageImportJob
DescribePackageImportJob' {$sel:jobId:DescribePackageImportJob' :: Text
jobId = Text
pJobId_}

-- | The job\'s ID.
describePackageImportJob_jobId :: Lens.Lens' DescribePackageImportJob Prelude.Text
describePackageImportJob_jobId :: (Text -> f Text)
-> DescribePackageImportJob -> f DescribePackageImportJob
describePackageImportJob_jobId = (DescribePackageImportJob -> Text)
-> (DescribePackageImportJob -> Text -> DescribePackageImportJob)
-> Lens DescribePackageImportJob DescribePackageImportJob Text Text
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 :: DescribePackageImportJob -> Request DescribePackageImportJob
request = Service
-> DescribePackageImportJob -> Request DescribePackageImportJob
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribePackageImportJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribePackageImportJob)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribePackageImportJob))
-> Logger
-> Service
-> Proxy DescribePackageImportJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribePackageImportJob)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe [JobResourceTags]
-> Int
-> Text
-> PackageImportJobType
-> PackageImportJobInputConfig
-> PackageImportJobOutputConfig
-> PackageImportJobOutput
-> POSIX
-> POSIX
-> PackageImportJobStatus
-> Text
-> DescribePackageImportJobResponse
DescribePackageImportJobResponse'
            (Maybe Text
 -> Maybe [JobResourceTags]
 -> Int
 -> Text
 -> PackageImportJobType
 -> PackageImportJobInputConfig
 -> PackageImportJobOutputConfig
 -> PackageImportJobOutput
 -> POSIX
 -> POSIX
 -> PackageImportJobStatus
 -> Text
 -> DescribePackageImportJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe [JobResourceTags]
      -> Int
      -> Text
      -> PackageImportJobType
      -> PackageImportJobInputConfig
      -> PackageImportJobOutputConfig
      -> PackageImportJobOutput
      -> POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ClientToken")
            Either
  String
  (Maybe [JobResourceTags]
   -> Int
   -> Text
   -> PackageImportJobType
   -> PackageImportJobInputConfig
   -> PackageImportJobOutputConfig
   -> PackageImportJobOutput
   -> POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String (Maybe [JobResourceTags])
-> Either
     String
     (Int
      -> Text
      -> PackageImportJobType
      -> PackageImportJobInputConfig
      -> PackageImportJobOutputConfig
      -> PackageImportJobOutput
      -> POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe [JobResourceTags]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"JobTags" Either String (Maybe (Maybe [JobResourceTags]))
-> Maybe [JobResourceTags]
-> Either String (Maybe [JobResourceTags])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [JobResourceTags]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Int
   -> Text
   -> PackageImportJobType
   -> PackageImportJobInputConfig
   -> PackageImportJobOutputConfig
   -> PackageImportJobOutput
   -> POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String Int
-> Either
     String
     (Text
      -> PackageImportJobType
      -> PackageImportJobInputConfig
      -> PackageImportJobOutputConfig
      -> PackageImportJobOutput
      -> POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            Either
  String
  (Text
   -> PackageImportJobType
   -> PackageImportJobInputConfig
   -> PackageImportJobOutputConfig
   -> PackageImportJobOutput
   -> POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String Text
-> Either
     String
     (PackageImportJobType
      -> PackageImportJobInputConfig
      -> PackageImportJobOutputConfig
      -> PackageImportJobOutput
      -> POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"JobId")
            Either
  String
  (PackageImportJobType
   -> PackageImportJobInputConfig
   -> PackageImportJobOutputConfig
   -> PackageImportJobOutput
   -> POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String PackageImportJobType
-> Either
     String
     (PackageImportJobInputConfig
      -> PackageImportJobOutputConfig
      -> PackageImportJobOutput
      -> POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String PackageImportJobType
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"JobType")
            Either
  String
  (PackageImportJobInputConfig
   -> PackageImportJobOutputConfig
   -> PackageImportJobOutput
   -> POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String PackageImportJobInputConfig
-> Either
     String
     (PackageImportJobOutputConfig
      -> PackageImportJobOutput
      -> POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String PackageImportJobInputConfig
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"InputConfig")
            Either
  String
  (PackageImportJobOutputConfig
   -> PackageImportJobOutput
   -> POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String PackageImportJobOutputConfig
-> Either
     String
     (PackageImportJobOutput
      -> POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String PackageImportJobOutputConfig
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"OutputConfig")
            Either
  String
  (PackageImportJobOutput
   -> POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String PackageImportJobOutput
-> Either
     String
     (POSIX
      -> POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String PackageImportJobOutput
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"Output")
            Either
  String
  (POSIX
   -> POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String POSIX
-> Either
     String
     (POSIX
      -> PackageImportJobStatus
      -> Text
      -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String POSIX
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"CreatedTime")
            Either
  String
  (POSIX
   -> PackageImportJobStatus
   -> Text
   -> DescribePackageImportJobResponse)
-> Either String POSIX
-> Either
     String
     (PackageImportJobStatus
      -> Text -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String POSIX
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"LastUpdatedTime")
            Either
  String
  (PackageImportJobStatus
   -> Text -> DescribePackageImportJobResponse)
-> Either String PackageImportJobStatus
-> Either String (Text -> DescribePackageImportJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String PackageImportJobStatus
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"Status")
            Either String (Text -> DescribePackageImportJobResponse)
-> Either String Text
-> Either String DescribePackageImportJobResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"StatusMessage")
      )

instance Prelude.Hashable DescribePackageImportJob

instance Prelude.NFData DescribePackageImportJob

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

instance Core.ToPath DescribePackageImportJob where
  toPath :: DescribePackageImportJob -> ByteString
toPath DescribePackageImportJob' {Text
jobId :: Text
$sel:jobId:DescribePackageImportJob' :: DescribePackageImportJob -> Text
..} =
    [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/packages/import-jobs/", Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
jobId]

instance Core.ToQuery DescribePackageImportJob where
  toQuery :: DescribePackageImportJob -> QueryString
toQuery = QueryString -> DescribePackageImportJob -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
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,
    -- | The job\'s ID.
    DescribePackageImportJobResponse -> Text
jobId :: Prelude.Text,
    -- | The job\'s type.
    DescribePackageImportJobResponse -> PackageImportJobType
jobType :: PackageImportJobType,
    -- | The job\'s input config.
    DescribePackageImportJobResponse -> PackageImportJobInputConfig
inputConfig :: PackageImportJobInputConfig,
    -- | The job\'s output config.
    DescribePackageImportJobResponse -> PackageImportJobOutputConfig
outputConfig :: PackageImportJobOutputConfig,
    -- | The job\'s output.
    DescribePackageImportJobResponse -> PackageImportJobOutput
output :: PackageImportJobOutput,
    -- | When the job was created.
    DescribePackageImportJobResponse -> POSIX
createdTime :: Core.POSIX,
    -- | When the job was updated.
    DescribePackageImportJobResponse -> POSIX
lastUpdatedTime :: Core.POSIX,
    -- | The job\'s status.
    DescribePackageImportJobResponse -> PackageImportJobStatus
status :: PackageImportJobStatus,
    -- | The job\'s status message.
    DescribePackageImportJobResponse -> Text
statusMessage :: Prelude.Text
  }
  deriving (DescribePackageImportJobResponse
-> DescribePackageImportJobResponse -> Bool
(DescribePackageImportJobResponse
 -> DescribePackageImportJobResponse -> Bool)
-> (DescribePackageImportJobResponse
    -> DescribePackageImportJobResponse -> Bool)
-> Eq DescribePackageImportJobResponse
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]
(Int -> ReadS DescribePackageImportJobResponse)
-> ReadS [DescribePackageImportJobResponse]
-> ReadPrec DescribePackageImportJobResponse
-> ReadPrec [DescribePackageImportJobResponse]
-> Read 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
(Int -> DescribePackageImportJobResponse -> ShowS)
-> (DescribePackageImportJobResponse -> String)
-> ([DescribePackageImportJobResponse] -> ShowS)
-> Show DescribePackageImportJobResponse
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.
 DescribePackageImportJobResponse
 -> Rep DescribePackageImportJobResponse x)
-> (forall x.
    Rep DescribePackageImportJobResponse x
    -> DescribePackageImportJobResponse)
-> Generic DescribePackageImportJobResponse
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.
--
-- 'jobId', 'describePackageImportJobResponse_jobId' - The job\'s ID.
--
-- 'jobType', 'describePackageImportJobResponse_jobType' - The job\'s type.
--
-- 'inputConfig', 'describePackageImportJobResponse_inputConfig' - The job\'s input config.
--
-- 'outputConfig', 'describePackageImportJobResponse_outputConfig' - The job\'s output config.
--
-- 'output', 'describePackageImportJobResponse_output' - The job\'s output.
--
-- 'createdTime', 'describePackageImportJobResponse_createdTime' - When the job was created.
--
-- 'lastUpdatedTime', 'describePackageImportJobResponse_lastUpdatedTime' - When the job was updated.
--
-- 'status', 'describePackageImportJobResponse_status' - The job\'s status.
--
-- 'statusMessage', 'describePackageImportJobResponse_statusMessage' - The job\'s status message.
newDescribePackageImportJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'jobId'
  Prelude.Text ->
  -- | 'jobType'
  PackageImportJobType ->
  -- | 'inputConfig'
  PackageImportJobInputConfig ->
  -- | 'outputConfig'
  PackageImportJobOutputConfig ->
  -- | 'output'
  PackageImportJobOutput ->
  -- | 'createdTime'
  Prelude.UTCTime ->
  -- | 'lastUpdatedTime'
  Prelude.UTCTime ->
  -- | 'status'
  PackageImportJobStatus ->
  -- | 'statusMessage'
  Prelude.Text ->
  DescribePackageImportJobResponse
newDescribePackageImportJobResponse :: Int
-> Text
-> PackageImportJobType
-> PackageImportJobInputConfig
-> PackageImportJobOutputConfig
-> PackageImportJobOutput
-> UTCTime
-> UTCTime
-> PackageImportJobStatus
-> Text
-> DescribePackageImportJobResponse
newDescribePackageImportJobResponse
  Int
pHttpStatus_
  Text
pJobId_
  PackageImportJobType
pJobType_
  PackageImportJobInputConfig
pInputConfig_
  PackageImportJobOutputConfig
pOutputConfig_
  PackageImportJobOutput
pOutput_
  UTCTime
pCreatedTime_
  UTCTime
pLastUpdatedTime_
  PackageImportJobStatus
pStatus_
  Text
pStatusMessage_ =
    DescribePackageImportJobResponse' :: Maybe Text
-> Maybe [JobResourceTags]
-> Int
-> Text
-> PackageImportJobType
-> PackageImportJobInputConfig
-> PackageImportJobOutputConfig
-> PackageImportJobOutput
-> POSIX
-> POSIX
-> PackageImportJobStatus
-> Text
-> DescribePackageImportJobResponse
DescribePackageImportJobResponse'
      { $sel:clientToken:DescribePackageImportJobResponse' :: Maybe Text
clientToken =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:jobTags:DescribePackageImportJobResponse' :: Maybe [JobResourceTags]
jobTags = Maybe [JobResourceTags]
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribePackageImportJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:jobId:DescribePackageImportJobResponse' :: Text
jobId = Text
pJobId_,
        $sel:jobType:DescribePackageImportJobResponse' :: PackageImportJobType
jobType = PackageImportJobType
pJobType_,
        $sel:inputConfig:DescribePackageImportJobResponse' :: PackageImportJobInputConfig
inputConfig = PackageImportJobInputConfig
pInputConfig_,
        $sel:outputConfig:DescribePackageImportJobResponse' :: PackageImportJobOutputConfig
outputConfig = PackageImportJobOutputConfig
pOutputConfig_,
        $sel:output:DescribePackageImportJobResponse' :: PackageImportJobOutput
output = PackageImportJobOutput
pOutput_,
        $sel:createdTime:DescribePackageImportJobResponse' :: POSIX
createdTime =
          Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreatedTime_,
        $sel:lastUpdatedTime:DescribePackageImportJobResponse' :: POSIX
lastUpdatedTime =
          Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastUpdatedTime_,
        $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 :: (Maybe Text -> f (Maybe Text))
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_clientToken = (DescribePackageImportJobResponse -> Maybe Text)
-> (DescribePackageImportJobResponse
    -> Maybe Text -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     (Maybe Text)
     (Maybe Text)
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 :: (Maybe [JobResourceTags] -> f (Maybe [JobResourceTags]))
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_jobTags = (DescribePackageImportJobResponse -> Maybe [JobResourceTags])
-> (DescribePackageImportJobResponse
    -> Maybe [JobResourceTags] -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     (Maybe [JobResourceTags])
     (Maybe [JobResourceTags])
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) ((Maybe [JobResourceTags] -> f (Maybe [JobResourceTags]))
 -> DescribePackageImportJobResponse
 -> f DescribePackageImportJobResponse)
-> ((Maybe [JobResourceTags] -> f (Maybe [JobResourceTags]))
    -> Maybe [JobResourceTags] -> f (Maybe [JobResourceTags]))
-> (Maybe [JobResourceTags] -> f (Maybe [JobResourceTags]))
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [JobResourceTags]
  [JobResourceTags]
  [JobResourceTags]
  [JobResourceTags]
-> Iso
     (Maybe [JobResourceTags])
     (Maybe [JobResourceTags])
     (Maybe [JobResourceTags])
     (Maybe [JobResourceTags])
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 AnIso
  [JobResourceTags]
  [JobResourceTags]
  [JobResourceTags]
  [JobResourceTags]
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 :: (Int -> f Int)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_httpStatus = (DescribePackageImportJobResponse -> Int)
-> (DescribePackageImportJobResponse
    -> Int -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     Int
     Int
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)

-- | The job\'s ID.
describePackageImportJobResponse_jobId :: Lens.Lens' DescribePackageImportJobResponse Prelude.Text
describePackageImportJobResponse_jobId :: (Text -> f Text)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_jobId = (DescribePackageImportJobResponse -> Text)
-> (DescribePackageImportJobResponse
    -> Text -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     Text
     Text
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 :: (PackageImportJobType -> f PackageImportJobType)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_jobType = (DescribePackageImportJobResponse -> PackageImportJobType)
-> (DescribePackageImportJobResponse
    -> PackageImportJobType -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     PackageImportJobType
     PackageImportJobType
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)

-- | The job\'s input config.
describePackageImportJobResponse_inputConfig :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobInputConfig
describePackageImportJobResponse_inputConfig :: (PackageImportJobInputConfig -> f PackageImportJobInputConfig)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_inputConfig = (DescribePackageImportJobResponse -> PackageImportJobInputConfig)
-> (DescribePackageImportJobResponse
    -> PackageImportJobInputConfig -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     PackageImportJobInputConfig
     PackageImportJobInputConfig
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 output config.
describePackageImportJobResponse_outputConfig :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobOutputConfig
describePackageImportJobResponse_outputConfig :: (PackageImportJobOutputConfig -> f PackageImportJobOutputConfig)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_outputConfig = (DescribePackageImportJobResponse -> PackageImportJobOutputConfig)
-> (DescribePackageImportJobResponse
    -> PackageImportJobOutputConfig
    -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     PackageImportJobOutputConfig
     PackageImportJobOutputConfig
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 output.
describePackageImportJobResponse_output :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobOutput
describePackageImportJobResponse_output :: (PackageImportJobOutput -> f PackageImportJobOutput)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_output = (DescribePackageImportJobResponse -> PackageImportJobOutput)
-> (DescribePackageImportJobResponse
    -> PackageImportJobOutput -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     PackageImportJobOutput
     PackageImportJobOutput
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)

-- | When the job was created.
describePackageImportJobResponse_createdTime :: Lens.Lens' DescribePackageImportJobResponse Prelude.UTCTime
describePackageImportJobResponse_createdTime :: (UTCTime -> f UTCTime)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_createdTime = (DescribePackageImportJobResponse -> POSIX)
-> (DescribePackageImportJobResponse
    -> POSIX -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     POSIX
     POSIX
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) ((POSIX -> f POSIX)
 -> DescribePackageImportJobResponse
 -> f DescribePackageImportJobResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | When the job was updated.
describePackageImportJobResponse_lastUpdatedTime :: Lens.Lens' DescribePackageImportJobResponse Prelude.UTCTime
describePackageImportJobResponse_lastUpdatedTime :: (UTCTime -> f UTCTime)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_lastUpdatedTime = (DescribePackageImportJobResponse -> POSIX)
-> (DescribePackageImportJobResponse
    -> POSIX -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     POSIX
     POSIX
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) ((POSIX -> f POSIX)
 -> DescribePackageImportJobResponse
 -> f DescribePackageImportJobResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The job\'s status.
describePackageImportJobResponse_status :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobStatus
describePackageImportJobResponse_status :: (PackageImportJobStatus -> f PackageImportJobStatus)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_status = (DescribePackageImportJobResponse -> PackageImportJobStatus)
-> (DescribePackageImportJobResponse
    -> PackageImportJobStatus -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     PackageImportJobStatus
     PackageImportJobStatus
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 :: (Text -> f Text)
-> DescribePackageImportJobResponse
-> f DescribePackageImportJobResponse
describePackageImportJobResponse_statusMessage = (DescribePackageImportJobResponse -> Text)
-> (DescribePackageImportJobResponse
    -> Text -> DescribePackageImportJobResponse)
-> Lens
     DescribePackageImportJobResponse
     DescribePackageImportJobResponse
     Text
     Text
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