{-# 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.CreatePackageImportJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Imports a node package.
module Amazonka.Panorama.CreatePackageImportJob
  ( -- * Creating a Request
    CreatePackageImportJob (..),
    newCreatePackageImportJob,

    -- * Request Lenses
    createPackageImportJob_jobTags,
    createPackageImportJob_clientToken,
    createPackageImportJob_inputConfig,
    createPackageImportJob_jobType,
    createPackageImportJob_outputConfig,

    -- * Destructuring the Response
    CreatePackageImportJobResponse (..),
    newCreatePackageImportJobResponse,

    -- * Response Lenses
    createPackageImportJobResponse_httpStatus,
    createPackageImportJobResponse_jobId,
  )
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:/ 'newCreatePackageImportJob' smart constructor.
data CreatePackageImportJob = CreatePackageImportJob'
  { -- | Tags for the package import job.
    CreatePackageImportJob -> Maybe [JobResourceTags]
jobTags :: Prelude.Maybe [JobResourceTags],
    -- | A client token for the package import job.
    CreatePackageImportJob -> Text
clientToken :: Prelude.Text,
    -- | An input config for the package import job.
    CreatePackageImportJob -> PackageImportJobInputConfig
inputConfig :: PackageImportJobInputConfig,
    -- | A job type for the package import job.
    CreatePackageImportJob -> PackageImportJobType
jobType :: PackageImportJobType,
    -- | An output config for the package import job.
    CreatePackageImportJob -> PackageImportJobOutputConfig
outputConfig :: PackageImportJobOutputConfig
  }
  deriving (CreatePackageImportJob -> CreatePackageImportJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreatePackageImportJob -> CreatePackageImportJob -> Bool
$c/= :: CreatePackageImportJob -> CreatePackageImportJob -> Bool
== :: CreatePackageImportJob -> CreatePackageImportJob -> Bool
$c== :: CreatePackageImportJob -> CreatePackageImportJob -> Bool
Prelude.Eq, ReadPrec [CreatePackageImportJob]
ReadPrec CreatePackageImportJob
Int -> ReadS CreatePackageImportJob
ReadS [CreatePackageImportJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreatePackageImportJob]
$creadListPrec :: ReadPrec [CreatePackageImportJob]
readPrec :: ReadPrec CreatePackageImportJob
$creadPrec :: ReadPrec CreatePackageImportJob
readList :: ReadS [CreatePackageImportJob]
$creadList :: ReadS [CreatePackageImportJob]
readsPrec :: Int -> ReadS CreatePackageImportJob
$creadsPrec :: Int -> ReadS CreatePackageImportJob
Prelude.Read, Int -> CreatePackageImportJob -> ShowS
[CreatePackageImportJob] -> ShowS
CreatePackageImportJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreatePackageImportJob] -> ShowS
$cshowList :: [CreatePackageImportJob] -> ShowS
show :: CreatePackageImportJob -> String
$cshow :: CreatePackageImportJob -> String
showsPrec :: Int -> CreatePackageImportJob -> ShowS
$cshowsPrec :: Int -> CreatePackageImportJob -> ShowS
Prelude.Show, forall x. Rep CreatePackageImportJob x -> CreatePackageImportJob
forall x. CreatePackageImportJob -> Rep CreatePackageImportJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreatePackageImportJob x -> CreatePackageImportJob
$cfrom :: forall x. CreatePackageImportJob -> Rep CreatePackageImportJob x
Prelude.Generic)

-- |
-- Create a value of 'CreatePackageImportJob' 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:
--
-- 'jobTags', 'createPackageImportJob_jobTags' - Tags for the package import job.
--
-- 'clientToken', 'createPackageImportJob_clientToken' - A client token for the package import job.
--
-- 'inputConfig', 'createPackageImportJob_inputConfig' - An input config for the package import job.
--
-- 'jobType', 'createPackageImportJob_jobType' - A job type for the package import job.
--
-- 'outputConfig', 'createPackageImportJob_outputConfig' - An output config for the package import job.
newCreatePackageImportJob ::
  -- | 'clientToken'
  Prelude.Text ->
  -- | 'inputConfig'
  PackageImportJobInputConfig ->
  -- | 'jobType'
  PackageImportJobType ->
  -- | 'outputConfig'
  PackageImportJobOutputConfig ->
  CreatePackageImportJob
newCreatePackageImportJob :: Text
-> PackageImportJobInputConfig
-> PackageImportJobType
-> PackageImportJobOutputConfig
-> CreatePackageImportJob
newCreatePackageImportJob
  Text
pClientToken_
  PackageImportJobInputConfig
pInputConfig_
  PackageImportJobType
pJobType_
  PackageImportJobOutputConfig
pOutputConfig_ =
    CreatePackageImportJob'
      { $sel:jobTags:CreatePackageImportJob' :: Maybe [JobResourceTags]
jobTags = forall a. Maybe a
Prelude.Nothing,
        $sel:clientToken:CreatePackageImportJob' :: Text
clientToken = Text
pClientToken_,
        $sel:inputConfig:CreatePackageImportJob' :: PackageImportJobInputConfig
inputConfig = PackageImportJobInputConfig
pInputConfig_,
        $sel:jobType:CreatePackageImportJob' :: PackageImportJobType
jobType = PackageImportJobType
pJobType_,
        $sel:outputConfig:CreatePackageImportJob' :: PackageImportJobOutputConfig
outputConfig = PackageImportJobOutputConfig
pOutputConfig_
      }

-- | Tags for the package import job.
createPackageImportJob_jobTags :: Lens.Lens' CreatePackageImportJob (Prelude.Maybe [JobResourceTags])
createPackageImportJob_jobTags :: Lens' CreatePackageImportJob (Maybe [JobResourceTags])
createPackageImportJob_jobTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePackageImportJob' {Maybe [JobResourceTags]
jobTags :: Maybe [JobResourceTags]
$sel:jobTags:CreatePackageImportJob' :: CreatePackageImportJob -> Maybe [JobResourceTags]
jobTags} -> Maybe [JobResourceTags]
jobTags) (\s :: CreatePackageImportJob
s@CreatePackageImportJob' {} Maybe [JobResourceTags]
a -> CreatePackageImportJob
s {$sel:jobTags:CreatePackageImportJob' :: Maybe [JobResourceTags]
jobTags = Maybe [JobResourceTags]
a} :: CreatePackageImportJob) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A client token for the package import job.
createPackageImportJob_clientToken :: Lens.Lens' CreatePackageImportJob Prelude.Text
createPackageImportJob_clientToken :: Lens' CreatePackageImportJob Text
createPackageImportJob_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePackageImportJob' {Text
clientToken :: Text
$sel:clientToken:CreatePackageImportJob' :: CreatePackageImportJob -> Text
clientToken} -> Text
clientToken) (\s :: CreatePackageImportJob
s@CreatePackageImportJob' {} Text
a -> CreatePackageImportJob
s {$sel:clientToken:CreatePackageImportJob' :: Text
clientToken = Text
a} :: CreatePackageImportJob)

-- | An input config for the package import job.
createPackageImportJob_inputConfig :: Lens.Lens' CreatePackageImportJob PackageImportJobInputConfig
createPackageImportJob_inputConfig :: Lens' CreatePackageImportJob PackageImportJobInputConfig
createPackageImportJob_inputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePackageImportJob' {PackageImportJobInputConfig
inputConfig :: PackageImportJobInputConfig
$sel:inputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobInputConfig
inputConfig} -> PackageImportJobInputConfig
inputConfig) (\s :: CreatePackageImportJob
s@CreatePackageImportJob' {} PackageImportJobInputConfig
a -> CreatePackageImportJob
s {$sel:inputConfig:CreatePackageImportJob' :: PackageImportJobInputConfig
inputConfig = PackageImportJobInputConfig
a} :: CreatePackageImportJob)

-- | A job type for the package import job.
createPackageImportJob_jobType :: Lens.Lens' CreatePackageImportJob PackageImportJobType
createPackageImportJob_jobType :: Lens' CreatePackageImportJob PackageImportJobType
createPackageImportJob_jobType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePackageImportJob' {PackageImportJobType
jobType :: PackageImportJobType
$sel:jobType:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobType
jobType} -> PackageImportJobType
jobType) (\s :: CreatePackageImportJob
s@CreatePackageImportJob' {} PackageImportJobType
a -> CreatePackageImportJob
s {$sel:jobType:CreatePackageImportJob' :: PackageImportJobType
jobType = PackageImportJobType
a} :: CreatePackageImportJob)

-- | An output config for the package import job.
createPackageImportJob_outputConfig :: Lens.Lens' CreatePackageImportJob PackageImportJobOutputConfig
createPackageImportJob_outputConfig :: Lens' CreatePackageImportJob PackageImportJobOutputConfig
createPackageImportJob_outputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePackageImportJob' {PackageImportJobOutputConfig
outputConfig :: PackageImportJobOutputConfig
$sel:outputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobOutputConfig
outputConfig} -> PackageImportJobOutputConfig
outputConfig) (\s :: CreatePackageImportJob
s@CreatePackageImportJob' {} PackageImportJobOutputConfig
a -> CreatePackageImportJob
s {$sel:outputConfig:CreatePackageImportJob' :: PackageImportJobOutputConfig
outputConfig = PackageImportJobOutputConfig
a} :: CreatePackageImportJob)

instance Core.AWSRequest CreatePackageImportJob where
  type
    AWSResponse CreatePackageImportJob =
      CreatePackageImportJobResponse
  request :: (Service -> Service)
-> CreatePackageImportJob -> Request CreatePackageImportJob
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreatePackageImportJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse CreatePackageImportJob)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Int -> Text -> CreatePackageImportJobResponse
CreatePackageImportJobResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"JobId")
      )

instance Prelude.Hashable CreatePackageImportJob where
  hashWithSalt :: Int -> CreatePackageImportJob -> Int
hashWithSalt Int
_salt CreatePackageImportJob' {Maybe [JobResourceTags]
Text
PackageImportJobType
PackageImportJobOutputConfig
PackageImportJobInputConfig
outputConfig :: PackageImportJobOutputConfig
jobType :: PackageImportJobType
inputConfig :: PackageImportJobInputConfig
clientToken :: Text
jobTags :: Maybe [JobResourceTags]
$sel:outputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobOutputConfig
$sel:jobType:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobType
$sel:inputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobInputConfig
$sel:clientToken:CreatePackageImportJob' :: CreatePackageImportJob -> Text
$sel:jobTags:CreatePackageImportJob' :: CreatePackageImportJob -> Maybe [JobResourceTags]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [JobResourceTags]
jobTags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
clientToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PackageImportJobInputConfig
inputConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PackageImportJobType
jobType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PackageImportJobOutputConfig
outputConfig

instance Prelude.NFData CreatePackageImportJob where
  rnf :: CreatePackageImportJob -> ()
rnf CreatePackageImportJob' {Maybe [JobResourceTags]
Text
PackageImportJobType
PackageImportJobOutputConfig
PackageImportJobInputConfig
outputConfig :: PackageImportJobOutputConfig
jobType :: PackageImportJobType
inputConfig :: PackageImportJobInputConfig
clientToken :: Text
jobTags :: Maybe [JobResourceTags]
$sel:outputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobOutputConfig
$sel:jobType:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobType
$sel:inputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobInputConfig
$sel:clientToken:CreatePackageImportJob' :: CreatePackageImportJob -> Text
$sel:jobTags:CreatePackageImportJob' :: CreatePackageImportJob -> Maybe [JobResourceTags]
..} =
    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 Text
clientToken
      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 PackageImportJobType
jobType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PackageImportJobOutputConfig
outputConfig

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

instance Data.ToJSON CreatePackageImportJob where
  toJSON :: CreatePackageImportJob -> Value
toJSON CreatePackageImportJob' {Maybe [JobResourceTags]
Text
PackageImportJobType
PackageImportJobOutputConfig
PackageImportJobInputConfig
outputConfig :: PackageImportJobOutputConfig
jobType :: PackageImportJobType
inputConfig :: PackageImportJobInputConfig
clientToken :: Text
jobTags :: Maybe [JobResourceTags]
$sel:outputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobOutputConfig
$sel:jobType:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobType
$sel:inputConfig:CreatePackageImportJob' :: CreatePackageImportJob -> PackageImportJobInputConfig
$sel:clientToken:CreatePackageImportJob' :: CreatePackageImportJob -> Text
$sel:jobTags:CreatePackageImportJob' :: CreatePackageImportJob -> Maybe [JobResourceTags]
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"JobTags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [JobResourceTags]
jobTags,
            forall a. a -> Maybe a
Prelude.Just (Key
"ClientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
clientToken),
            forall a. a -> Maybe a
Prelude.Just (Key
"InputConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PackageImportJobInputConfig
inputConfig),
            forall a. a -> Maybe a
Prelude.Just (Key
"JobType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PackageImportJobType
jobType),
            forall a. a -> Maybe a
Prelude.Just (Key
"OutputConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PackageImportJobOutputConfig
outputConfig)
          ]
      )

instance Data.ToPath CreatePackageImportJob where
  toPath :: CreatePackageImportJob -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/packages/import-jobs"

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

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

-- |
-- Create a value of 'CreatePackageImportJobResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'httpStatus', 'createPackageImportJobResponse_httpStatus' - The response's http status code.
--
-- 'jobId', 'createPackageImportJobResponse_jobId' - The job\'s ID.
newCreatePackageImportJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'jobId'
  Prelude.Text ->
  CreatePackageImportJobResponse
newCreatePackageImportJobResponse :: Int -> Text -> CreatePackageImportJobResponse
newCreatePackageImportJobResponse
  Int
pHttpStatus_
  Text
pJobId_ =
    CreatePackageImportJobResponse'
      { $sel:httpStatus:CreatePackageImportJobResponse' :: Int
httpStatus =
          Int
pHttpStatus_,
        $sel:jobId:CreatePackageImportJobResponse' :: Text
jobId = Text
pJobId_
      }

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

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

instance
  Prelude.NFData
    CreatePackageImportJobResponse
  where
  rnf :: CreatePackageImportJobResponse -> ()
rnf CreatePackageImportJobResponse' {Int
Text
jobId :: Text
httpStatus :: Int
$sel:jobId:CreatePackageImportJobResponse' :: CreatePackageImportJobResponse -> Text
$sel:httpStatus:CreatePackageImportJobResponse' :: CreatePackageImportJobResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobId