{-# 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 #-}
module Amazonka.Panorama.CreatePackageImportJob
(
CreatePackageImportJob (..),
newCreatePackageImportJob,
createPackageImportJob_jobTags,
createPackageImportJob_clientToken,
createPackageImportJob_inputConfig,
createPackageImportJob_jobType,
createPackageImportJob_outputConfig,
CreatePackageImportJobResponse (..),
newCreatePackageImportJobResponse,
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
data CreatePackageImportJob = CreatePackageImportJob'
{
CreatePackageImportJob -> Maybe [JobResourceTags]
jobTags :: Prelude.Maybe [JobResourceTags],
CreatePackageImportJob -> Text
clientToken :: Prelude.Text,
CreatePackageImportJob -> PackageImportJobInputConfig
inputConfig :: PackageImportJobInputConfig,
CreatePackageImportJob -> PackageImportJobType
jobType :: PackageImportJobType,
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)
newCreatePackageImportJob ::
Prelude.Text ->
PackageImportJobInputConfig ->
PackageImportJobType ->
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_
}
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
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)
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)
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)
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
data CreatePackageImportJobResponse = CreatePackageImportJobResponse'
{
CreatePackageImportJobResponse -> Int
httpStatus :: Prelude.Int,
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)
newCreatePackageImportJobResponse ::
Prelude.Int ->
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_
}
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)
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