{-# 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.MediaConvert.CreateJob
(
CreateJob (..),
newCreateJob,
createJob_accelerationSettings,
createJob_billingTagsSource,
createJob_clientRequestToken,
createJob_hopDestinations,
createJob_jobTemplate,
createJob_priority,
createJob_queue,
createJob_simulateReservedQueue,
createJob_statusUpdateInterval,
createJob_tags,
createJob_userMetadata,
createJob_role,
createJob_settings,
CreateJobResponse (..),
newCreateJobResponse,
createJobResponse_job,
createJobResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MediaConvert.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateJob = CreateJob'
{
CreateJob -> Maybe AccelerationSettings
accelerationSettings :: Prelude.Maybe AccelerationSettings,
CreateJob -> Maybe BillingTagsSource
billingTagsSource :: Prelude.Maybe BillingTagsSource,
CreateJob -> Maybe Text
clientRequestToken :: Prelude.Maybe Prelude.Text,
CreateJob -> Maybe [HopDestination]
hopDestinations :: Prelude.Maybe [HopDestination],
CreateJob -> Maybe Text
jobTemplate :: Prelude.Maybe Prelude.Text,
CreateJob -> Maybe Int
priority :: Prelude.Maybe Prelude.Int,
CreateJob -> Maybe Text
queue :: Prelude.Maybe Prelude.Text,
CreateJob -> Maybe SimulateReservedQueue
simulateReservedQueue :: Prelude.Maybe SimulateReservedQueue,
CreateJob -> Maybe StatusUpdateInterval
statusUpdateInterval :: Prelude.Maybe StatusUpdateInterval,
CreateJob -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
CreateJob -> Maybe (HashMap Text Text)
userMetadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
CreateJob -> Text
role' :: Prelude.Text,
CreateJob -> JobSettings
settings :: JobSettings
}
deriving (CreateJob -> CreateJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateJob -> CreateJob -> Bool
$c/= :: CreateJob -> CreateJob -> Bool
== :: CreateJob -> CreateJob -> Bool
$c== :: CreateJob -> CreateJob -> Bool
Prelude.Eq, ReadPrec [CreateJob]
ReadPrec CreateJob
Int -> ReadS CreateJob
ReadS [CreateJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateJob]
$creadListPrec :: ReadPrec [CreateJob]
readPrec :: ReadPrec CreateJob
$creadPrec :: ReadPrec CreateJob
readList :: ReadS [CreateJob]
$creadList :: ReadS [CreateJob]
readsPrec :: Int -> ReadS CreateJob
$creadsPrec :: Int -> ReadS CreateJob
Prelude.Read, Int -> CreateJob -> ShowS
[CreateJob] -> ShowS
CreateJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateJob] -> ShowS
$cshowList :: [CreateJob] -> ShowS
show :: CreateJob -> String
$cshow :: CreateJob -> String
showsPrec :: Int -> CreateJob -> ShowS
$cshowsPrec :: Int -> CreateJob -> ShowS
Prelude.Show, forall x. Rep CreateJob x -> CreateJob
forall x. CreateJob -> Rep CreateJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateJob x -> CreateJob
$cfrom :: forall x. CreateJob -> Rep CreateJob x
Prelude.Generic)
newCreateJob ::
Prelude.Text ->
JobSettings ->
CreateJob
newCreateJob :: Text -> JobSettings -> CreateJob
newCreateJob Text
pRole_ JobSettings
pSettings_ =
CreateJob'
{ $sel:accelerationSettings:CreateJob' :: Maybe AccelerationSettings
accelerationSettings = forall a. Maybe a
Prelude.Nothing,
$sel:billingTagsSource:CreateJob' :: Maybe BillingTagsSource
billingTagsSource = forall a. Maybe a
Prelude.Nothing,
$sel:clientRequestToken:CreateJob' :: Maybe Text
clientRequestToken = forall a. Maybe a
Prelude.Nothing,
$sel:hopDestinations:CreateJob' :: Maybe [HopDestination]
hopDestinations = forall a. Maybe a
Prelude.Nothing,
$sel:jobTemplate:CreateJob' :: Maybe Text
jobTemplate = forall a. Maybe a
Prelude.Nothing,
$sel:priority:CreateJob' :: Maybe Int
priority = forall a. Maybe a
Prelude.Nothing,
$sel:queue:CreateJob' :: Maybe Text
queue = forall a. Maybe a
Prelude.Nothing,
$sel:simulateReservedQueue:CreateJob' :: Maybe SimulateReservedQueue
simulateReservedQueue = forall a. Maybe a
Prelude.Nothing,
$sel:statusUpdateInterval:CreateJob' :: Maybe StatusUpdateInterval
statusUpdateInterval = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateJob' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:userMetadata:CreateJob' :: Maybe (HashMap Text Text)
userMetadata = forall a. Maybe a
Prelude.Nothing,
$sel:role':CreateJob' :: Text
role' = Text
pRole_,
$sel:settings:CreateJob' :: JobSettings
settings = JobSettings
pSettings_
}
createJob_accelerationSettings :: Lens.Lens' CreateJob (Prelude.Maybe AccelerationSettings)
createJob_accelerationSettings :: Lens' CreateJob (Maybe AccelerationSettings)
createJob_accelerationSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe AccelerationSettings
accelerationSettings :: Maybe AccelerationSettings
$sel:accelerationSettings:CreateJob' :: CreateJob -> Maybe AccelerationSettings
accelerationSettings} -> Maybe AccelerationSettings
accelerationSettings) (\s :: CreateJob
s@CreateJob' {} Maybe AccelerationSettings
a -> CreateJob
s {$sel:accelerationSettings:CreateJob' :: Maybe AccelerationSettings
accelerationSettings = Maybe AccelerationSettings
a} :: CreateJob)
createJob_billingTagsSource :: Lens.Lens' CreateJob (Prelude.Maybe BillingTagsSource)
createJob_billingTagsSource :: Lens' CreateJob (Maybe BillingTagsSource)
createJob_billingTagsSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe BillingTagsSource
billingTagsSource :: Maybe BillingTagsSource
$sel:billingTagsSource:CreateJob' :: CreateJob -> Maybe BillingTagsSource
billingTagsSource} -> Maybe BillingTagsSource
billingTagsSource) (\s :: CreateJob
s@CreateJob' {} Maybe BillingTagsSource
a -> CreateJob
s {$sel:billingTagsSource:CreateJob' :: Maybe BillingTagsSource
billingTagsSource = Maybe BillingTagsSource
a} :: CreateJob)
createJob_clientRequestToken :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Text)
createJob_clientRequestToken :: Lens' CreateJob (Maybe Text)
createJob_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe Text
clientRequestToken :: Maybe Text
$sel:clientRequestToken:CreateJob' :: CreateJob -> Maybe Text
clientRequestToken} -> Maybe Text
clientRequestToken) (\s :: CreateJob
s@CreateJob' {} Maybe Text
a -> CreateJob
s {$sel:clientRequestToken:CreateJob' :: Maybe Text
clientRequestToken = Maybe Text
a} :: CreateJob)
createJob_hopDestinations :: Lens.Lens' CreateJob (Prelude.Maybe [HopDestination])
createJob_hopDestinations :: Lens' CreateJob (Maybe [HopDestination])
createJob_hopDestinations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe [HopDestination]
hopDestinations :: Maybe [HopDestination]
$sel:hopDestinations:CreateJob' :: CreateJob -> Maybe [HopDestination]
hopDestinations} -> Maybe [HopDestination]
hopDestinations) (\s :: CreateJob
s@CreateJob' {} Maybe [HopDestination]
a -> CreateJob
s {$sel:hopDestinations:CreateJob' :: Maybe [HopDestination]
hopDestinations = Maybe [HopDestination]
a} :: CreateJob) 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
createJob_jobTemplate :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Text)
createJob_jobTemplate :: Lens' CreateJob (Maybe Text)
createJob_jobTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe Text
jobTemplate :: Maybe Text
$sel:jobTemplate:CreateJob' :: CreateJob -> Maybe Text
jobTemplate} -> Maybe Text
jobTemplate) (\s :: CreateJob
s@CreateJob' {} Maybe Text
a -> CreateJob
s {$sel:jobTemplate:CreateJob' :: Maybe Text
jobTemplate = Maybe Text
a} :: CreateJob)
createJob_priority :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Int)
createJob_priority :: Lens' CreateJob (Maybe Int)
createJob_priority = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe Int
priority :: Maybe Int
$sel:priority:CreateJob' :: CreateJob -> Maybe Int
priority} -> Maybe Int
priority) (\s :: CreateJob
s@CreateJob' {} Maybe Int
a -> CreateJob
s {$sel:priority:CreateJob' :: Maybe Int
priority = Maybe Int
a} :: CreateJob)
createJob_queue :: Lens.Lens' CreateJob (Prelude.Maybe Prelude.Text)
createJob_queue :: Lens' CreateJob (Maybe Text)
createJob_queue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe Text
queue :: Maybe Text
$sel:queue:CreateJob' :: CreateJob -> Maybe Text
queue} -> Maybe Text
queue) (\s :: CreateJob
s@CreateJob' {} Maybe Text
a -> CreateJob
s {$sel:queue:CreateJob' :: Maybe Text
queue = Maybe Text
a} :: CreateJob)
createJob_simulateReservedQueue :: Lens.Lens' CreateJob (Prelude.Maybe SimulateReservedQueue)
createJob_simulateReservedQueue :: Lens' CreateJob (Maybe SimulateReservedQueue)
createJob_simulateReservedQueue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe SimulateReservedQueue
simulateReservedQueue :: Maybe SimulateReservedQueue
$sel:simulateReservedQueue:CreateJob' :: CreateJob -> Maybe SimulateReservedQueue
simulateReservedQueue} -> Maybe SimulateReservedQueue
simulateReservedQueue) (\s :: CreateJob
s@CreateJob' {} Maybe SimulateReservedQueue
a -> CreateJob
s {$sel:simulateReservedQueue:CreateJob' :: Maybe SimulateReservedQueue
simulateReservedQueue = Maybe SimulateReservedQueue
a} :: CreateJob)
createJob_statusUpdateInterval :: Lens.Lens' CreateJob (Prelude.Maybe StatusUpdateInterval)
createJob_statusUpdateInterval :: Lens' CreateJob (Maybe StatusUpdateInterval)
createJob_statusUpdateInterval = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe StatusUpdateInterval
statusUpdateInterval :: Maybe StatusUpdateInterval
$sel:statusUpdateInterval:CreateJob' :: CreateJob -> Maybe StatusUpdateInterval
statusUpdateInterval} -> Maybe StatusUpdateInterval
statusUpdateInterval) (\s :: CreateJob
s@CreateJob' {} Maybe StatusUpdateInterval
a -> CreateJob
s {$sel:statusUpdateInterval:CreateJob' :: Maybe StatusUpdateInterval
statusUpdateInterval = Maybe StatusUpdateInterval
a} :: CreateJob)
createJob_tags :: Lens.Lens' CreateJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createJob_tags :: Lens' CreateJob (Maybe (HashMap Text Text))
createJob_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: CreateJob
s@CreateJob' {} Maybe (HashMap Text Text)
a -> CreateJob
s {$sel:tags:CreateJob' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: CreateJob) 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
createJob_userMetadata :: Lens.Lens' CreateJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createJob_userMetadata :: Lens' CreateJob (Maybe (HashMap Text Text))
createJob_userMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Maybe (HashMap Text Text)
userMetadata :: Maybe (HashMap Text Text)
$sel:userMetadata:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
userMetadata} -> Maybe (HashMap Text Text)
userMetadata) (\s :: CreateJob
s@CreateJob' {} Maybe (HashMap Text Text)
a -> CreateJob
s {$sel:userMetadata:CreateJob' :: Maybe (HashMap Text Text)
userMetadata = Maybe (HashMap Text Text)
a} :: CreateJob) 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
createJob_role :: Lens.Lens' CreateJob Prelude.Text
createJob_role :: Lens' CreateJob Text
createJob_role = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {Text
role' :: Text
$sel:role':CreateJob' :: CreateJob -> Text
role'} -> Text
role') (\s :: CreateJob
s@CreateJob' {} Text
a -> CreateJob
s {$sel:role':CreateJob' :: Text
role' = Text
a} :: CreateJob)
createJob_settings :: Lens.Lens' CreateJob JobSettings
createJob_settings :: Lens' CreateJob JobSettings
createJob_settings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJob' {JobSettings
settings :: JobSettings
$sel:settings:CreateJob' :: CreateJob -> JobSettings
settings} -> JobSettings
settings) (\s :: CreateJob
s@CreateJob' {} JobSettings
a -> CreateJob
s {$sel:settings:CreateJob' :: JobSettings
settings = JobSettings
a} :: CreateJob)
instance Core.AWSRequest CreateJob where
type AWSResponse CreateJob = CreateJobResponse
request :: (Service -> Service) -> CreateJob -> Request CreateJob
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 CreateJob
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateJob)))
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 Job -> Int -> CreateJobResponse
CreateJobResponse'
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
"job")
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))
)
instance Prelude.Hashable CreateJob where
hashWithSalt :: Int -> CreateJob -> Int
hashWithSalt Int
_salt CreateJob' {Maybe Int
Maybe [HopDestination]
Maybe Text
Maybe (HashMap Text Text)
Maybe AccelerationSettings
Maybe BillingTagsSource
Maybe SimulateReservedQueue
Maybe StatusUpdateInterval
Text
JobSettings
settings :: JobSettings
role' :: Text
userMetadata :: Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
statusUpdateInterval :: Maybe StatusUpdateInterval
simulateReservedQueue :: Maybe SimulateReservedQueue
queue :: Maybe Text
priority :: Maybe Int
jobTemplate :: Maybe Text
hopDestinations :: Maybe [HopDestination]
clientRequestToken :: Maybe Text
billingTagsSource :: Maybe BillingTagsSource
accelerationSettings :: Maybe AccelerationSettings
$sel:settings:CreateJob' :: CreateJob -> JobSettings
$sel:role':CreateJob' :: CreateJob -> Text
$sel:userMetadata:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
$sel:tags:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
$sel:statusUpdateInterval:CreateJob' :: CreateJob -> Maybe StatusUpdateInterval
$sel:simulateReservedQueue:CreateJob' :: CreateJob -> Maybe SimulateReservedQueue
$sel:queue:CreateJob' :: CreateJob -> Maybe Text
$sel:priority:CreateJob' :: CreateJob -> Maybe Int
$sel:jobTemplate:CreateJob' :: CreateJob -> Maybe Text
$sel:hopDestinations:CreateJob' :: CreateJob -> Maybe [HopDestination]
$sel:clientRequestToken:CreateJob' :: CreateJob -> Maybe Text
$sel:billingTagsSource:CreateJob' :: CreateJob -> Maybe BillingTagsSource
$sel:accelerationSettings:CreateJob' :: CreateJob -> Maybe AccelerationSettings
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AccelerationSettings
accelerationSettings
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BillingTagsSource
billingTagsSource
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientRequestToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [HopDestination]
hopDestinations
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
jobTemplate
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
priority
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
queue
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SimulateReservedQueue
simulateReservedQueue
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe StatusUpdateInterval
statusUpdateInterval
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
userMetadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
role'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` JobSettings
settings
instance Prelude.NFData CreateJob where
rnf :: CreateJob -> ()
rnf CreateJob' {Maybe Int
Maybe [HopDestination]
Maybe Text
Maybe (HashMap Text Text)
Maybe AccelerationSettings
Maybe BillingTagsSource
Maybe SimulateReservedQueue
Maybe StatusUpdateInterval
Text
JobSettings
settings :: JobSettings
role' :: Text
userMetadata :: Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
statusUpdateInterval :: Maybe StatusUpdateInterval
simulateReservedQueue :: Maybe SimulateReservedQueue
queue :: Maybe Text
priority :: Maybe Int
jobTemplate :: Maybe Text
hopDestinations :: Maybe [HopDestination]
clientRequestToken :: Maybe Text
billingTagsSource :: Maybe BillingTagsSource
accelerationSettings :: Maybe AccelerationSettings
$sel:settings:CreateJob' :: CreateJob -> JobSettings
$sel:role':CreateJob' :: CreateJob -> Text
$sel:userMetadata:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
$sel:tags:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
$sel:statusUpdateInterval:CreateJob' :: CreateJob -> Maybe StatusUpdateInterval
$sel:simulateReservedQueue:CreateJob' :: CreateJob -> Maybe SimulateReservedQueue
$sel:queue:CreateJob' :: CreateJob -> Maybe Text
$sel:priority:CreateJob' :: CreateJob -> Maybe Int
$sel:jobTemplate:CreateJob' :: CreateJob -> Maybe Text
$sel:hopDestinations:CreateJob' :: CreateJob -> Maybe [HopDestination]
$sel:clientRequestToken:CreateJob' :: CreateJob -> Maybe Text
$sel:billingTagsSource:CreateJob' :: CreateJob -> Maybe BillingTagsSource
$sel:accelerationSettings:CreateJob' :: CreateJob -> Maybe AccelerationSettings
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AccelerationSettings
accelerationSettings
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe BillingTagsSource
billingTagsSource
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientRequestToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [HopDestination]
hopDestinations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobTemplate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
priority
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
queue
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SimulateReservedQueue
simulateReservedQueue
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StatusUpdateInterval
statusUpdateInterval
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
userMetadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
role'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JobSettings
settings
instance Data.ToHeaders CreateJob where
toHeaders :: CreateJob -> 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 CreateJob where
toJSON :: CreateJob -> Value
toJSON CreateJob' {Maybe Int
Maybe [HopDestination]
Maybe Text
Maybe (HashMap Text Text)
Maybe AccelerationSettings
Maybe BillingTagsSource
Maybe SimulateReservedQueue
Maybe StatusUpdateInterval
Text
JobSettings
settings :: JobSettings
role' :: Text
userMetadata :: Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
statusUpdateInterval :: Maybe StatusUpdateInterval
simulateReservedQueue :: Maybe SimulateReservedQueue
queue :: Maybe Text
priority :: Maybe Int
jobTemplate :: Maybe Text
hopDestinations :: Maybe [HopDestination]
clientRequestToken :: Maybe Text
billingTagsSource :: Maybe BillingTagsSource
accelerationSettings :: Maybe AccelerationSettings
$sel:settings:CreateJob' :: CreateJob -> JobSettings
$sel:role':CreateJob' :: CreateJob -> Text
$sel:userMetadata:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
$sel:tags:CreateJob' :: CreateJob -> Maybe (HashMap Text Text)
$sel:statusUpdateInterval:CreateJob' :: CreateJob -> Maybe StatusUpdateInterval
$sel:simulateReservedQueue:CreateJob' :: CreateJob -> Maybe SimulateReservedQueue
$sel:queue:CreateJob' :: CreateJob -> Maybe Text
$sel:priority:CreateJob' :: CreateJob -> Maybe Int
$sel:jobTemplate:CreateJob' :: CreateJob -> Maybe Text
$sel:hopDestinations:CreateJob' :: CreateJob -> Maybe [HopDestination]
$sel:clientRequestToken:CreateJob' :: CreateJob -> Maybe Text
$sel:billingTagsSource:CreateJob' :: CreateJob -> Maybe BillingTagsSource
$sel:accelerationSettings:CreateJob' :: CreateJob -> Maybe AccelerationSettings
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"accelerationSettings" 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 AccelerationSettings
accelerationSettings,
(Key
"billingTagsSource" 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 BillingTagsSource
billingTagsSource,
(Key
"clientRequestToken" 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 Text
clientRequestToken,
(Key
"hopDestinations" 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 [HopDestination]
hopDestinations,
(Key
"jobTemplate" 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 Text
jobTemplate,
(Key
"priority" 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 Int
priority,
(Key
"queue" 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 Text
queue,
(Key
"simulateReservedQueue" 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 SimulateReservedQueue
simulateReservedQueue,
(Key
"statusUpdateInterval" 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 StatusUpdateInterval
statusUpdateInterval,
(Key
"tags" 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 (HashMap Text Text)
tags,
(Key
"userMetadata" 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 (HashMap Text Text)
userMetadata,
forall a. a -> Maybe a
Prelude.Just (Key
"role" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
role'),
forall a. a -> Maybe a
Prelude.Just (Key
"settings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= JobSettings
settings)
]
)
instance Data.ToPath CreateJob where
toPath :: CreateJob -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/2017-08-29/jobs"
instance Data.ToQuery CreateJob where
toQuery :: CreateJob -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateJobResponse = CreateJobResponse'
{
CreateJobResponse -> Maybe Job
job :: Prelude.Maybe Job,
CreateJobResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateJobResponse -> CreateJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateJobResponse -> CreateJobResponse -> Bool
$c/= :: CreateJobResponse -> CreateJobResponse -> Bool
== :: CreateJobResponse -> CreateJobResponse -> Bool
$c== :: CreateJobResponse -> CreateJobResponse -> Bool
Prelude.Eq, ReadPrec [CreateJobResponse]
ReadPrec CreateJobResponse
Int -> ReadS CreateJobResponse
ReadS [CreateJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateJobResponse]
$creadListPrec :: ReadPrec [CreateJobResponse]
readPrec :: ReadPrec CreateJobResponse
$creadPrec :: ReadPrec CreateJobResponse
readList :: ReadS [CreateJobResponse]
$creadList :: ReadS [CreateJobResponse]
readsPrec :: Int -> ReadS CreateJobResponse
$creadsPrec :: Int -> ReadS CreateJobResponse
Prelude.Read, Int -> CreateJobResponse -> ShowS
[CreateJobResponse] -> ShowS
CreateJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateJobResponse] -> ShowS
$cshowList :: [CreateJobResponse] -> ShowS
show :: CreateJobResponse -> String
$cshow :: CreateJobResponse -> String
showsPrec :: Int -> CreateJobResponse -> ShowS
$cshowsPrec :: Int -> CreateJobResponse -> ShowS
Prelude.Show, forall x. Rep CreateJobResponse x -> CreateJobResponse
forall x. CreateJobResponse -> Rep CreateJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateJobResponse x -> CreateJobResponse
$cfrom :: forall x. CreateJobResponse -> Rep CreateJobResponse x
Prelude.Generic)
newCreateJobResponse ::
Prelude.Int ->
CreateJobResponse
newCreateJobResponse :: Int -> CreateJobResponse
newCreateJobResponse Int
pHttpStatus_ =
CreateJobResponse'
{ $sel:job:CreateJobResponse' :: Maybe Job
job = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateJobResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createJobResponse_job :: Lens.Lens' CreateJobResponse (Prelude.Maybe Job)
createJobResponse_job :: Lens' CreateJobResponse (Maybe Job)
createJobResponse_job = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJobResponse' {Maybe Job
job :: Maybe Job
$sel:job:CreateJobResponse' :: CreateJobResponse -> Maybe Job
job} -> Maybe Job
job) (\s :: CreateJobResponse
s@CreateJobResponse' {} Maybe Job
a -> CreateJobResponse
s {$sel:job:CreateJobResponse' :: Maybe Job
job = Maybe Job
a} :: CreateJobResponse)
createJobResponse_httpStatus :: Lens.Lens' CreateJobResponse Prelude.Int
createJobResponse_httpStatus :: Lens' CreateJobResponse Int
createJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateJobResponse' :: CreateJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateJobResponse
s@CreateJobResponse' {} Int
a -> CreateJobResponse
s {$sel:httpStatus:CreateJobResponse' :: Int
httpStatus = Int
a} :: CreateJobResponse)
instance Prelude.NFData CreateJobResponse where
rnf :: CreateJobResponse -> ()
rnf CreateJobResponse' {Int
Maybe Job
httpStatus :: Int
job :: Maybe Job
$sel:httpStatus:CreateJobResponse' :: CreateJobResponse -> Int
$sel:job:CreateJobResponse' :: CreateJobResponse -> Maybe Job
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Job
job
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus