{-# 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.MediaConnect.DescribeFlow
(
DescribeFlow (..),
newDescribeFlow,
describeFlow_flowArn,
DescribeFlowResponse (..),
newDescribeFlowResponse,
describeFlowResponse_flow,
describeFlowResponse_messages,
describeFlowResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MediaConnect.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeFlow = DescribeFlow'
{
DescribeFlow -> Text
flowArn :: Prelude.Text
}
deriving (DescribeFlow -> DescribeFlow -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFlow -> DescribeFlow -> Bool
$c/= :: DescribeFlow -> DescribeFlow -> Bool
== :: DescribeFlow -> DescribeFlow -> Bool
$c== :: DescribeFlow -> DescribeFlow -> Bool
Prelude.Eq, ReadPrec [DescribeFlow]
ReadPrec DescribeFlow
Int -> ReadS DescribeFlow
ReadS [DescribeFlow]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFlow]
$creadListPrec :: ReadPrec [DescribeFlow]
readPrec :: ReadPrec DescribeFlow
$creadPrec :: ReadPrec DescribeFlow
readList :: ReadS [DescribeFlow]
$creadList :: ReadS [DescribeFlow]
readsPrec :: Int -> ReadS DescribeFlow
$creadsPrec :: Int -> ReadS DescribeFlow
Prelude.Read, Int -> DescribeFlow -> ShowS
[DescribeFlow] -> ShowS
DescribeFlow -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFlow] -> ShowS
$cshowList :: [DescribeFlow] -> ShowS
show :: DescribeFlow -> String
$cshow :: DescribeFlow -> String
showsPrec :: Int -> DescribeFlow -> ShowS
$cshowsPrec :: Int -> DescribeFlow -> ShowS
Prelude.Show, forall x. Rep DescribeFlow x -> DescribeFlow
forall x. DescribeFlow -> Rep DescribeFlow x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeFlow x -> DescribeFlow
$cfrom :: forall x. DescribeFlow -> Rep DescribeFlow x
Prelude.Generic)
newDescribeFlow ::
Prelude.Text ->
DescribeFlow
newDescribeFlow :: Text -> DescribeFlow
newDescribeFlow Text
pFlowArn_ =
DescribeFlow' {$sel:flowArn:DescribeFlow' :: Text
flowArn = Text
pFlowArn_}
describeFlow_flowArn :: Lens.Lens' DescribeFlow Prelude.Text
describeFlow_flowArn :: Lens' DescribeFlow Text
describeFlow_flowArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFlow' {Text
flowArn :: Text
$sel:flowArn:DescribeFlow' :: DescribeFlow -> Text
flowArn} -> Text
flowArn) (\s :: DescribeFlow
s@DescribeFlow' {} Text
a -> DescribeFlow
s {$sel:flowArn:DescribeFlow' :: Text
flowArn = Text
a} :: DescribeFlow)
instance Core.AWSRequest DescribeFlow where
type AWSResponse DescribeFlow = DescribeFlowResponse
request :: (Service -> Service) -> DescribeFlow -> Request DescribeFlow
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeFlow
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeFlow)))
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 Flow -> Maybe Messages -> Int -> DescribeFlowResponse
DescribeFlowResponse'
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
"flow")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"messages")
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 DescribeFlow where
hashWithSalt :: Int -> DescribeFlow -> Int
hashWithSalt Int
_salt DescribeFlow' {Text
flowArn :: Text
$sel:flowArn:DescribeFlow' :: DescribeFlow -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
flowArn
instance Prelude.NFData DescribeFlow where
rnf :: DescribeFlow -> ()
rnf DescribeFlow' {Text
flowArn :: Text
$sel:flowArn:DescribeFlow' :: DescribeFlow -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
flowArn
instance Data.ToHeaders DescribeFlow where
toHeaders :: DescribeFlow -> 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.ToPath DescribeFlow where
toPath :: DescribeFlow -> ByteString
toPath DescribeFlow' {Text
flowArn :: Text
$sel:flowArn:DescribeFlow' :: DescribeFlow -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/v1/flows/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
flowArn]
instance Data.ToQuery DescribeFlow where
toQuery :: DescribeFlow -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeFlowResponse = DescribeFlowResponse'
{ DescribeFlowResponse -> Maybe Flow
flow :: Prelude.Maybe Flow,
DescribeFlowResponse -> Maybe Messages
messages :: Prelude.Maybe Messages,
DescribeFlowResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeFlowResponse -> DescribeFlowResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFlowResponse -> DescribeFlowResponse -> Bool
$c/= :: DescribeFlowResponse -> DescribeFlowResponse -> Bool
== :: DescribeFlowResponse -> DescribeFlowResponse -> Bool
$c== :: DescribeFlowResponse -> DescribeFlowResponse -> Bool
Prelude.Eq, ReadPrec [DescribeFlowResponse]
ReadPrec DescribeFlowResponse
Int -> ReadS DescribeFlowResponse
ReadS [DescribeFlowResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFlowResponse]
$creadListPrec :: ReadPrec [DescribeFlowResponse]
readPrec :: ReadPrec DescribeFlowResponse
$creadPrec :: ReadPrec DescribeFlowResponse
readList :: ReadS [DescribeFlowResponse]
$creadList :: ReadS [DescribeFlowResponse]
readsPrec :: Int -> ReadS DescribeFlowResponse
$creadsPrec :: Int -> ReadS DescribeFlowResponse
Prelude.Read, Int -> DescribeFlowResponse -> ShowS
[DescribeFlowResponse] -> ShowS
DescribeFlowResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFlowResponse] -> ShowS
$cshowList :: [DescribeFlowResponse] -> ShowS
show :: DescribeFlowResponse -> String
$cshow :: DescribeFlowResponse -> String
showsPrec :: Int -> DescribeFlowResponse -> ShowS
$cshowsPrec :: Int -> DescribeFlowResponse -> ShowS
Prelude.Show, forall x. Rep DescribeFlowResponse x -> DescribeFlowResponse
forall x. DescribeFlowResponse -> Rep DescribeFlowResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeFlowResponse x -> DescribeFlowResponse
$cfrom :: forall x. DescribeFlowResponse -> Rep DescribeFlowResponse x
Prelude.Generic)
newDescribeFlowResponse ::
Prelude.Int ->
DescribeFlowResponse
newDescribeFlowResponse :: Int -> DescribeFlowResponse
newDescribeFlowResponse Int
pHttpStatus_ =
DescribeFlowResponse'
{ $sel:flow:DescribeFlowResponse' :: Maybe Flow
flow = forall a. Maybe a
Prelude.Nothing,
$sel:messages:DescribeFlowResponse' :: Maybe Messages
messages = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeFlowResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeFlowResponse_flow :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Flow)
describeFlowResponse_flow :: Lens' DescribeFlowResponse (Maybe Flow)
describeFlowResponse_flow = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFlowResponse' {Maybe Flow
flow :: Maybe Flow
$sel:flow:DescribeFlowResponse' :: DescribeFlowResponse -> Maybe Flow
flow} -> Maybe Flow
flow) (\s :: DescribeFlowResponse
s@DescribeFlowResponse' {} Maybe Flow
a -> DescribeFlowResponse
s {$sel:flow:DescribeFlowResponse' :: Maybe Flow
flow = Maybe Flow
a} :: DescribeFlowResponse)
describeFlowResponse_messages :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Messages)
describeFlowResponse_messages :: Lens' DescribeFlowResponse (Maybe Messages)
describeFlowResponse_messages = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFlowResponse' {Maybe Messages
messages :: Maybe Messages
$sel:messages:DescribeFlowResponse' :: DescribeFlowResponse -> Maybe Messages
messages} -> Maybe Messages
messages) (\s :: DescribeFlowResponse
s@DescribeFlowResponse' {} Maybe Messages
a -> DescribeFlowResponse
s {$sel:messages:DescribeFlowResponse' :: Maybe Messages
messages = Maybe Messages
a} :: DescribeFlowResponse)
describeFlowResponse_httpStatus :: Lens.Lens' DescribeFlowResponse Prelude.Int
describeFlowResponse_httpStatus :: Lens' DescribeFlowResponse Int
describeFlowResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFlowResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeFlowResponse' :: DescribeFlowResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeFlowResponse
s@DescribeFlowResponse' {} Int
a -> DescribeFlowResponse
s {$sel:httpStatus:DescribeFlowResponse' :: Int
httpStatus = Int
a} :: DescribeFlowResponse)
instance Prelude.NFData DescribeFlowResponse where
rnf :: DescribeFlowResponse -> ()
rnf DescribeFlowResponse' {Int
Maybe Messages
Maybe Flow
httpStatus :: Int
messages :: Maybe Messages
flow :: Maybe Flow
$sel:httpStatus:DescribeFlowResponse' :: DescribeFlowResponse -> Int
$sel:messages:DescribeFlowResponse' :: DescribeFlowResponse -> Maybe Messages
$sel:flow:DescribeFlowResponse' :: DescribeFlowResponse -> Maybe Flow
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Flow
flow
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Messages
messages
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus