{-# 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.MigrationHub.CreateProgressUpdateStream
(
CreateProgressUpdateStream (..),
newCreateProgressUpdateStream,
createProgressUpdateStream_dryRun,
createProgressUpdateStream_progressUpdateStreamName,
CreateProgressUpdateStreamResponse (..),
newCreateProgressUpdateStreamResponse,
createProgressUpdateStreamResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MigrationHub.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateProgressUpdateStream = CreateProgressUpdateStream'
{
CreateProgressUpdateStream -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
CreateProgressUpdateStream -> Text
progressUpdateStreamName :: Prelude.Text
}
deriving (CreateProgressUpdateStream -> CreateProgressUpdateStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateProgressUpdateStream -> CreateProgressUpdateStream -> Bool
$c/= :: CreateProgressUpdateStream -> CreateProgressUpdateStream -> Bool
== :: CreateProgressUpdateStream -> CreateProgressUpdateStream -> Bool
$c== :: CreateProgressUpdateStream -> CreateProgressUpdateStream -> Bool
Prelude.Eq, ReadPrec [CreateProgressUpdateStream]
ReadPrec CreateProgressUpdateStream
Int -> ReadS CreateProgressUpdateStream
ReadS [CreateProgressUpdateStream]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateProgressUpdateStream]
$creadListPrec :: ReadPrec [CreateProgressUpdateStream]
readPrec :: ReadPrec CreateProgressUpdateStream
$creadPrec :: ReadPrec CreateProgressUpdateStream
readList :: ReadS [CreateProgressUpdateStream]
$creadList :: ReadS [CreateProgressUpdateStream]
readsPrec :: Int -> ReadS CreateProgressUpdateStream
$creadsPrec :: Int -> ReadS CreateProgressUpdateStream
Prelude.Read, Int -> CreateProgressUpdateStream -> ShowS
[CreateProgressUpdateStream] -> ShowS
CreateProgressUpdateStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateProgressUpdateStream] -> ShowS
$cshowList :: [CreateProgressUpdateStream] -> ShowS
show :: CreateProgressUpdateStream -> String
$cshow :: CreateProgressUpdateStream -> String
showsPrec :: Int -> CreateProgressUpdateStream -> ShowS
$cshowsPrec :: Int -> CreateProgressUpdateStream -> ShowS
Prelude.Show, forall x.
Rep CreateProgressUpdateStream x -> CreateProgressUpdateStream
forall x.
CreateProgressUpdateStream -> Rep CreateProgressUpdateStream x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateProgressUpdateStream x -> CreateProgressUpdateStream
$cfrom :: forall x.
CreateProgressUpdateStream -> Rep CreateProgressUpdateStream x
Prelude.Generic)
newCreateProgressUpdateStream ::
Prelude.Text ->
CreateProgressUpdateStream
newCreateProgressUpdateStream :: Text -> CreateProgressUpdateStream
newCreateProgressUpdateStream
Text
pProgressUpdateStreamName_ =
CreateProgressUpdateStream'
{ $sel:dryRun:CreateProgressUpdateStream' :: Maybe Bool
dryRun =
forall a. Maybe a
Prelude.Nothing,
$sel:progressUpdateStreamName:CreateProgressUpdateStream' :: Text
progressUpdateStreamName =
Text
pProgressUpdateStreamName_
}
createProgressUpdateStream_dryRun :: Lens.Lens' CreateProgressUpdateStream (Prelude.Maybe Prelude.Bool)
createProgressUpdateStream_dryRun :: Lens' CreateProgressUpdateStream (Maybe Bool)
createProgressUpdateStream_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProgressUpdateStream' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: CreateProgressUpdateStream
s@CreateProgressUpdateStream' {} Maybe Bool
a -> CreateProgressUpdateStream
s {$sel:dryRun:CreateProgressUpdateStream' :: Maybe Bool
dryRun = Maybe Bool
a} :: CreateProgressUpdateStream)
createProgressUpdateStream_progressUpdateStreamName :: Lens.Lens' CreateProgressUpdateStream Prelude.Text
createProgressUpdateStream_progressUpdateStreamName :: Lens' CreateProgressUpdateStream Text
createProgressUpdateStream_progressUpdateStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProgressUpdateStream' {Text
progressUpdateStreamName :: Text
$sel:progressUpdateStreamName:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Text
progressUpdateStreamName} -> Text
progressUpdateStreamName) (\s :: CreateProgressUpdateStream
s@CreateProgressUpdateStream' {} Text
a -> CreateProgressUpdateStream
s {$sel:progressUpdateStreamName:CreateProgressUpdateStream' :: Text
progressUpdateStreamName = Text
a} :: CreateProgressUpdateStream)
instance Core.AWSRequest CreateProgressUpdateStream where
type
AWSResponse CreateProgressUpdateStream =
CreateProgressUpdateStreamResponse
request :: (Service -> Service)
-> CreateProgressUpdateStream -> Request CreateProgressUpdateStream
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 CreateProgressUpdateStream
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateProgressUpdateStream)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> CreateProgressUpdateStreamResponse
CreateProgressUpdateStreamResponse'
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))
)
instance Prelude.Hashable CreateProgressUpdateStream where
hashWithSalt :: Int -> CreateProgressUpdateStream -> Int
hashWithSalt Int
_salt CreateProgressUpdateStream' {Maybe Bool
Text
progressUpdateStreamName :: Text
dryRun :: Maybe Bool
$sel:progressUpdateStreamName:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Text
$sel:dryRun:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
progressUpdateStreamName
instance Prelude.NFData CreateProgressUpdateStream where
rnf :: CreateProgressUpdateStream -> ()
rnf CreateProgressUpdateStream' {Maybe Bool
Text
progressUpdateStreamName :: Text
dryRun :: Maybe Bool
$sel:progressUpdateStreamName:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Text
$sel:dryRun:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
progressUpdateStreamName
instance Data.ToHeaders CreateProgressUpdateStream where
toHeaders :: CreateProgressUpdateStream -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSMigrationHub.CreateProgressUpdateStream" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateProgressUpdateStream where
toJSON :: CreateProgressUpdateStream -> Value
toJSON CreateProgressUpdateStream' {Maybe Bool
Text
progressUpdateStreamName :: Text
dryRun :: Maybe Bool
$sel:progressUpdateStreamName:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Text
$sel:dryRun:CreateProgressUpdateStream' :: CreateProgressUpdateStream -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DryRun" 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 Bool
dryRun,
forall a. a -> Maybe a
Prelude.Just
( Key
"ProgressUpdateStreamName"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
progressUpdateStreamName
)
]
)
instance Data.ToPath CreateProgressUpdateStream where
toPath :: CreateProgressUpdateStream -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateProgressUpdateStream where
toQuery :: CreateProgressUpdateStream -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateProgressUpdateStreamResponse = CreateProgressUpdateStreamResponse'
{
CreateProgressUpdateStreamResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateProgressUpdateStreamResponse
-> CreateProgressUpdateStreamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateProgressUpdateStreamResponse
-> CreateProgressUpdateStreamResponse -> Bool
$c/= :: CreateProgressUpdateStreamResponse
-> CreateProgressUpdateStreamResponse -> Bool
== :: CreateProgressUpdateStreamResponse
-> CreateProgressUpdateStreamResponse -> Bool
$c== :: CreateProgressUpdateStreamResponse
-> CreateProgressUpdateStreamResponse -> Bool
Prelude.Eq, ReadPrec [CreateProgressUpdateStreamResponse]
ReadPrec CreateProgressUpdateStreamResponse
Int -> ReadS CreateProgressUpdateStreamResponse
ReadS [CreateProgressUpdateStreamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateProgressUpdateStreamResponse]
$creadListPrec :: ReadPrec [CreateProgressUpdateStreamResponse]
readPrec :: ReadPrec CreateProgressUpdateStreamResponse
$creadPrec :: ReadPrec CreateProgressUpdateStreamResponse
readList :: ReadS [CreateProgressUpdateStreamResponse]
$creadList :: ReadS [CreateProgressUpdateStreamResponse]
readsPrec :: Int -> ReadS CreateProgressUpdateStreamResponse
$creadsPrec :: Int -> ReadS CreateProgressUpdateStreamResponse
Prelude.Read, Int -> CreateProgressUpdateStreamResponse -> ShowS
[CreateProgressUpdateStreamResponse] -> ShowS
CreateProgressUpdateStreamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateProgressUpdateStreamResponse] -> ShowS
$cshowList :: [CreateProgressUpdateStreamResponse] -> ShowS
show :: CreateProgressUpdateStreamResponse -> String
$cshow :: CreateProgressUpdateStreamResponse -> String
showsPrec :: Int -> CreateProgressUpdateStreamResponse -> ShowS
$cshowsPrec :: Int -> CreateProgressUpdateStreamResponse -> ShowS
Prelude.Show, forall x.
Rep CreateProgressUpdateStreamResponse x
-> CreateProgressUpdateStreamResponse
forall x.
CreateProgressUpdateStreamResponse
-> Rep CreateProgressUpdateStreamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateProgressUpdateStreamResponse x
-> CreateProgressUpdateStreamResponse
$cfrom :: forall x.
CreateProgressUpdateStreamResponse
-> Rep CreateProgressUpdateStreamResponse x
Prelude.Generic)
newCreateProgressUpdateStreamResponse ::
Prelude.Int ->
CreateProgressUpdateStreamResponse
newCreateProgressUpdateStreamResponse :: Int -> CreateProgressUpdateStreamResponse
newCreateProgressUpdateStreamResponse Int
pHttpStatus_ =
CreateProgressUpdateStreamResponse'
{ $sel:httpStatus:CreateProgressUpdateStreamResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
createProgressUpdateStreamResponse_httpStatus :: Lens.Lens' CreateProgressUpdateStreamResponse Prelude.Int
createProgressUpdateStreamResponse_httpStatus :: Lens' CreateProgressUpdateStreamResponse Int
createProgressUpdateStreamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProgressUpdateStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateProgressUpdateStreamResponse' :: CreateProgressUpdateStreamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateProgressUpdateStreamResponse
s@CreateProgressUpdateStreamResponse' {} Int
a -> CreateProgressUpdateStreamResponse
s {$sel:httpStatus:CreateProgressUpdateStreamResponse' :: Int
httpStatus = Int
a} :: CreateProgressUpdateStreamResponse)
instance
Prelude.NFData
CreateProgressUpdateStreamResponse
where
rnf :: CreateProgressUpdateStreamResponse -> ()
rnf CreateProgressUpdateStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateProgressUpdateStreamResponse' :: CreateProgressUpdateStreamResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus