{-# 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.DescribeMigrationTask
(
DescribeMigrationTask (..),
newDescribeMigrationTask,
describeMigrationTask_progressUpdateStream,
describeMigrationTask_migrationTaskName,
DescribeMigrationTaskResponse (..),
newDescribeMigrationTaskResponse,
describeMigrationTaskResponse_migrationTask,
describeMigrationTaskResponse_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 DescribeMigrationTask = DescribeMigrationTask'
{
DescribeMigrationTask -> Text
progressUpdateStream :: Prelude.Text,
DescribeMigrationTask -> Text
migrationTaskName :: Prelude.Text
}
deriving (DescribeMigrationTask -> DescribeMigrationTask -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeMigrationTask -> DescribeMigrationTask -> Bool
$c/= :: DescribeMigrationTask -> DescribeMigrationTask -> Bool
== :: DescribeMigrationTask -> DescribeMigrationTask -> Bool
$c== :: DescribeMigrationTask -> DescribeMigrationTask -> Bool
Prelude.Eq, ReadPrec [DescribeMigrationTask]
ReadPrec DescribeMigrationTask
Int -> ReadS DescribeMigrationTask
ReadS [DescribeMigrationTask]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeMigrationTask]
$creadListPrec :: ReadPrec [DescribeMigrationTask]
readPrec :: ReadPrec DescribeMigrationTask
$creadPrec :: ReadPrec DescribeMigrationTask
readList :: ReadS [DescribeMigrationTask]
$creadList :: ReadS [DescribeMigrationTask]
readsPrec :: Int -> ReadS DescribeMigrationTask
$creadsPrec :: Int -> ReadS DescribeMigrationTask
Prelude.Read, Int -> DescribeMigrationTask -> ShowS
[DescribeMigrationTask] -> ShowS
DescribeMigrationTask -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeMigrationTask] -> ShowS
$cshowList :: [DescribeMigrationTask] -> ShowS
show :: DescribeMigrationTask -> String
$cshow :: DescribeMigrationTask -> String
showsPrec :: Int -> DescribeMigrationTask -> ShowS
$cshowsPrec :: Int -> DescribeMigrationTask -> ShowS
Prelude.Show, forall x. Rep DescribeMigrationTask x -> DescribeMigrationTask
forall x. DescribeMigrationTask -> Rep DescribeMigrationTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeMigrationTask x -> DescribeMigrationTask
$cfrom :: forall x. DescribeMigrationTask -> Rep DescribeMigrationTask x
Prelude.Generic)
newDescribeMigrationTask ::
Prelude.Text ->
Prelude.Text ->
DescribeMigrationTask
newDescribeMigrationTask :: Text -> Text -> DescribeMigrationTask
newDescribeMigrationTask
Text
pProgressUpdateStream_
Text
pMigrationTaskName_ =
DescribeMigrationTask'
{ $sel:progressUpdateStream:DescribeMigrationTask' :: Text
progressUpdateStream =
Text
pProgressUpdateStream_,
$sel:migrationTaskName:DescribeMigrationTask' :: Text
migrationTaskName = Text
pMigrationTaskName_
}
describeMigrationTask_progressUpdateStream :: Lens.Lens' DescribeMigrationTask Prelude.Text
describeMigrationTask_progressUpdateStream :: Lens' DescribeMigrationTask Text
describeMigrationTask_progressUpdateStream = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMigrationTask' {Text
progressUpdateStream :: Text
$sel:progressUpdateStream:DescribeMigrationTask' :: DescribeMigrationTask -> Text
progressUpdateStream} -> Text
progressUpdateStream) (\s :: DescribeMigrationTask
s@DescribeMigrationTask' {} Text
a -> DescribeMigrationTask
s {$sel:progressUpdateStream:DescribeMigrationTask' :: Text
progressUpdateStream = Text
a} :: DescribeMigrationTask)
describeMigrationTask_migrationTaskName :: Lens.Lens' DescribeMigrationTask Prelude.Text
describeMigrationTask_migrationTaskName :: Lens' DescribeMigrationTask Text
describeMigrationTask_migrationTaskName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMigrationTask' {Text
migrationTaskName :: Text
$sel:migrationTaskName:DescribeMigrationTask' :: DescribeMigrationTask -> Text
migrationTaskName} -> Text
migrationTaskName) (\s :: DescribeMigrationTask
s@DescribeMigrationTask' {} Text
a -> DescribeMigrationTask
s {$sel:migrationTaskName:DescribeMigrationTask' :: Text
migrationTaskName = Text
a} :: DescribeMigrationTask)
instance Core.AWSRequest DescribeMigrationTask where
type
AWSResponse DescribeMigrationTask =
DescribeMigrationTaskResponse
request :: (Service -> Service)
-> DescribeMigrationTask -> Request DescribeMigrationTask
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 DescribeMigrationTask
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeMigrationTask)))
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 MigrationTask -> Int -> DescribeMigrationTaskResponse
DescribeMigrationTaskResponse'
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
"MigrationTask")
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 DescribeMigrationTask where
hashWithSalt :: Int -> DescribeMigrationTask -> Int
hashWithSalt Int
_salt DescribeMigrationTask' {Text
migrationTaskName :: Text
progressUpdateStream :: Text
$sel:migrationTaskName:DescribeMigrationTask' :: DescribeMigrationTask -> Text
$sel:progressUpdateStream:DescribeMigrationTask' :: DescribeMigrationTask -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
progressUpdateStream
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
migrationTaskName
instance Prelude.NFData DescribeMigrationTask where
rnf :: DescribeMigrationTask -> ()
rnf DescribeMigrationTask' {Text
migrationTaskName :: Text
progressUpdateStream :: Text
$sel:migrationTaskName:DescribeMigrationTask' :: DescribeMigrationTask -> Text
$sel:progressUpdateStream:DescribeMigrationTask' :: DescribeMigrationTask -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
progressUpdateStream
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
migrationTaskName
instance Data.ToHeaders DescribeMigrationTask where
toHeaders :: DescribeMigrationTask -> 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.DescribeMigrationTask" ::
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 DescribeMigrationTask where
toJSON :: DescribeMigrationTask -> Value
toJSON DescribeMigrationTask' {Text
migrationTaskName :: Text
progressUpdateStream :: Text
$sel:migrationTaskName:DescribeMigrationTask' :: DescribeMigrationTask -> Text
$sel:progressUpdateStream:DescribeMigrationTask' :: DescribeMigrationTask -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"ProgressUpdateStream"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
progressUpdateStream
),
forall a. a -> Maybe a
Prelude.Just
(Key
"MigrationTaskName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
migrationTaskName)
]
)
instance Data.ToPath DescribeMigrationTask where
toPath :: DescribeMigrationTask -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeMigrationTask where
toQuery :: DescribeMigrationTask -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeMigrationTaskResponse = DescribeMigrationTaskResponse'
{
DescribeMigrationTaskResponse -> Maybe MigrationTask
migrationTask :: Prelude.Maybe MigrationTask,
DescribeMigrationTaskResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeMigrationTaskResponse
-> DescribeMigrationTaskResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeMigrationTaskResponse
-> DescribeMigrationTaskResponse -> Bool
$c/= :: DescribeMigrationTaskResponse
-> DescribeMigrationTaskResponse -> Bool
== :: DescribeMigrationTaskResponse
-> DescribeMigrationTaskResponse -> Bool
$c== :: DescribeMigrationTaskResponse
-> DescribeMigrationTaskResponse -> Bool
Prelude.Eq, ReadPrec [DescribeMigrationTaskResponse]
ReadPrec DescribeMigrationTaskResponse
Int -> ReadS DescribeMigrationTaskResponse
ReadS [DescribeMigrationTaskResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeMigrationTaskResponse]
$creadListPrec :: ReadPrec [DescribeMigrationTaskResponse]
readPrec :: ReadPrec DescribeMigrationTaskResponse
$creadPrec :: ReadPrec DescribeMigrationTaskResponse
readList :: ReadS [DescribeMigrationTaskResponse]
$creadList :: ReadS [DescribeMigrationTaskResponse]
readsPrec :: Int -> ReadS DescribeMigrationTaskResponse
$creadsPrec :: Int -> ReadS DescribeMigrationTaskResponse
Prelude.Read, Int -> DescribeMigrationTaskResponse -> ShowS
[DescribeMigrationTaskResponse] -> ShowS
DescribeMigrationTaskResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeMigrationTaskResponse] -> ShowS
$cshowList :: [DescribeMigrationTaskResponse] -> ShowS
show :: DescribeMigrationTaskResponse -> String
$cshow :: DescribeMigrationTaskResponse -> String
showsPrec :: Int -> DescribeMigrationTaskResponse -> ShowS
$cshowsPrec :: Int -> DescribeMigrationTaskResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeMigrationTaskResponse x
-> DescribeMigrationTaskResponse
forall x.
DescribeMigrationTaskResponse
-> Rep DescribeMigrationTaskResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeMigrationTaskResponse x
-> DescribeMigrationTaskResponse
$cfrom :: forall x.
DescribeMigrationTaskResponse
-> Rep DescribeMigrationTaskResponse x
Prelude.Generic)
newDescribeMigrationTaskResponse ::
Prelude.Int ->
DescribeMigrationTaskResponse
newDescribeMigrationTaskResponse :: Int -> DescribeMigrationTaskResponse
newDescribeMigrationTaskResponse Int
pHttpStatus_ =
DescribeMigrationTaskResponse'
{ $sel:migrationTask:DescribeMigrationTaskResponse' :: Maybe MigrationTask
migrationTask =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeMigrationTaskResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeMigrationTaskResponse_migrationTask :: Lens.Lens' DescribeMigrationTaskResponse (Prelude.Maybe MigrationTask)
describeMigrationTaskResponse_migrationTask :: Lens' DescribeMigrationTaskResponse (Maybe MigrationTask)
describeMigrationTaskResponse_migrationTask = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMigrationTaskResponse' {Maybe MigrationTask
migrationTask :: Maybe MigrationTask
$sel:migrationTask:DescribeMigrationTaskResponse' :: DescribeMigrationTaskResponse -> Maybe MigrationTask
migrationTask} -> Maybe MigrationTask
migrationTask) (\s :: DescribeMigrationTaskResponse
s@DescribeMigrationTaskResponse' {} Maybe MigrationTask
a -> DescribeMigrationTaskResponse
s {$sel:migrationTask:DescribeMigrationTaskResponse' :: Maybe MigrationTask
migrationTask = Maybe MigrationTask
a} :: DescribeMigrationTaskResponse)
describeMigrationTaskResponse_httpStatus :: Lens.Lens' DescribeMigrationTaskResponse Prelude.Int
describeMigrationTaskResponse_httpStatus :: Lens' DescribeMigrationTaskResponse Int
describeMigrationTaskResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMigrationTaskResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeMigrationTaskResponse' :: DescribeMigrationTaskResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeMigrationTaskResponse
s@DescribeMigrationTaskResponse' {} Int
a -> DescribeMigrationTaskResponse
s {$sel:httpStatus:DescribeMigrationTaskResponse' :: Int
httpStatus = Int
a} :: DescribeMigrationTaskResponse)
instance Prelude.NFData DescribeMigrationTaskResponse where
rnf :: DescribeMigrationTaskResponse -> ()
rnf DescribeMigrationTaskResponse' {Int
Maybe MigrationTask
httpStatus :: Int
migrationTask :: Maybe MigrationTask
$sel:httpStatus:DescribeMigrationTaskResponse' :: DescribeMigrationTaskResponse -> Int
$sel:migrationTask:DescribeMigrationTaskResponse' :: DescribeMigrationTaskResponse -> Maybe MigrationTask
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe MigrationTask
migrationTask
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus