{-# 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.AddFlowMediaStreams
(
AddFlowMediaStreams (..),
newAddFlowMediaStreams,
addFlowMediaStreams_flowArn,
addFlowMediaStreams_mediaStreams,
AddFlowMediaStreamsResponse (..),
newAddFlowMediaStreamsResponse,
addFlowMediaStreamsResponse_flowArn,
addFlowMediaStreamsResponse_mediaStreams,
addFlowMediaStreamsResponse_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 AddFlowMediaStreams = AddFlowMediaStreams'
{
AddFlowMediaStreams -> Text
flowArn :: Prelude.Text,
AddFlowMediaStreams -> [AddMediaStreamRequest]
mediaStreams :: [AddMediaStreamRequest]
}
deriving (AddFlowMediaStreams -> AddFlowMediaStreams -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddFlowMediaStreams -> AddFlowMediaStreams -> Bool
$c/= :: AddFlowMediaStreams -> AddFlowMediaStreams -> Bool
== :: AddFlowMediaStreams -> AddFlowMediaStreams -> Bool
$c== :: AddFlowMediaStreams -> AddFlowMediaStreams -> Bool
Prelude.Eq, ReadPrec [AddFlowMediaStreams]
ReadPrec AddFlowMediaStreams
Int -> ReadS AddFlowMediaStreams
ReadS [AddFlowMediaStreams]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddFlowMediaStreams]
$creadListPrec :: ReadPrec [AddFlowMediaStreams]
readPrec :: ReadPrec AddFlowMediaStreams
$creadPrec :: ReadPrec AddFlowMediaStreams
readList :: ReadS [AddFlowMediaStreams]
$creadList :: ReadS [AddFlowMediaStreams]
readsPrec :: Int -> ReadS AddFlowMediaStreams
$creadsPrec :: Int -> ReadS AddFlowMediaStreams
Prelude.Read, Int -> AddFlowMediaStreams -> ShowS
[AddFlowMediaStreams] -> ShowS
AddFlowMediaStreams -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddFlowMediaStreams] -> ShowS
$cshowList :: [AddFlowMediaStreams] -> ShowS
show :: AddFlowMediaStreams -> String
$cshow :: AddFlowMediaStreams -> String
showsPrec :: Int -> AddFlowMediaStreams -> ShowS
$cshowsPrec :: Int -> AddFlowMediaStreams -> ShowS
Prelude.Show, forall x. Rep AddFlowMediaStreams x -> AddFlowMediaStreams
forall x. AddFlowMediaStreams -> Rep AddFlowMediaStreams x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AddFlowMediaStreams x -> AddFlowMediaStreams
$cfrom :: forall x. AddFlowMediaStreams -> Rep AddFlowMediaStreams x
Prelude.Generic)
newAddFlowMediaStreams ::
Prelude.Text ->
AddFlowMediaStreams
newAddFlowMediaStreams :: Text -> AddFlowMediaStreams
newAddFlowMediaStreams Text
pFlowArn_ =
AddFlowMediaStreams'
{ $sel:flowArn:AddFlowMediaStreams' :: Text
flowArn = Text
pFlowArn_,
$sel:mediaStreams:AddFlowMediaStreams' :: [AddMediaStreamRequest]
mediaStreams = forall a. Monoid a => a
Prelude.mempty
}
addFlowMediaStreams_flowArn :: Lens.Lens' AddFlowMediaStreams Prelude.Text
addFlowMediaStreams_flowArn :: Lens' AddFlowMediaStreams Text
addFlowMediaStreams_flowArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddFlowMediaStreams' {Text
flowArn :: Text
$sel:flowArn:AddFlowMediaStreams' :: AddFlowMediaStreams -> Text
flowArn} -> Text
flowArn) (\s :: AddFlowMediaStreams
s@AddFlowMediaStreams' {} Text
a -> AddFlowMediaStreams
s {$sel:flowArn:AddFlowMediaStreams' :: Text
flowArn = Text
a} :: AddFlowMediaStreams)
addFlowMediaStreams_mediaStreams :: Lens.Lens' AddFlowMediaStreams [AddMediaStreamRequest]
addFlowMediaStreams_mediaStreams :: Lens' AddFlowMediaStreams [AddMediaStreamRequest]
addFlowMediaStreams_mediaStreams = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddFlowMediaStreams' {[AddMediaStreamRequest]
mediaStreams :: [AddMediaStreamRequest]
$sel:mediaStreams:AddFlowMediaStreams' :: AddFlowMediaStreams -> [AddMediaStreamRequest]
mediaStreams} -> [AddMediaStreamRequest]
mediaStreams) (\s :: AddFlowMediaStreams
s@AddFlowMediaStreams' {} [AddMediaStreamRequest]
a -> AddFlowMediaStreams
s {$sel:mediaStreams:AddFlowMediaStreams' :: [AddMediaStreamRequest]
mediaStreams = [AddMediaStreamRequest]
a} :: AddFlowMediaStreams) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest AddFlowMediaStreams where
type
AWSResponse AddFlowMediaStreams =
AddFlowMediaStreamsResponse
request :: (Service -> Service)
-> AddFlowMediaStreams -> Request AddFlowMediaStreams
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 AddFlowMediaStreams
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse AddFlowMediaStreams)))
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 Text
-> Maybe [MediaStream] -> Int -> AddFlowMediaStreamsResponse
AddFlowMediaStreamsResponse'
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
"flowArn")
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
"mediaStreams" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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 AddFlowMediaStreams where
hashWithSalt :: Int -> AddFlowMediaStreams -> Int
hashWithSalt Int
_salt AddFlowMediaStreams' {[AddMediaStreamRequest]
Text
mediaStreams :: [AddMediaStreamRequest]
flowArn :: Text
$sel:mediaStreams:AddFlowMediaStreams' :: AddFlowMediaStreams -> [AddMediaStreamRequest]
$sel:flowArn:AddFlowMediaStreams' :: AddFlowMediaStreams -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
flowArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [AddMediaStreamRequest]
mediaStreams
instance Prelude.NFData AddFlowMediaStreams where
rnf :: AddFlowMediaStreams -> ()
rnf AddFlowMediaStreams' {[AddMediaStreamRequest]
Text
mediaStreams :: [AddMediaStreamRequest]
flowArn :: Text
$sel:mediaStreams:AddFlowMediaStreams' :: AddFlowMediaStreams -> [AddMediaStreamRequest]
$sel:flowArn:AddFlowMediaStreams' :: AddFlowMediaStreams -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
flowArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [AddMediaStreamRequest]
mediaStreams
instance Data.ToHeaders AddFlowMediaStreams where
toHeaders :: AddFlowMediaStreams -> 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 AddFlowMediaStreams where
toJSON :: AddFlowMediaStreams -> Value
toJSON AddFlowMediaStreams' {[AddMediaStreamRequest]
Text
mediaStreams :: [AddMediaStreamRequest]
flowArn :: Text
$sel:mediaStreams:AddFlowMediaStreams' :: AddFlowMediaStreams -> [AddMediaStreamRequest]
$sel:flowArn:AddFlowMediaStreams' :: AddFlowMediaStreams -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"mediaStreams" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [AddMediaStreamRequest]
mediaStreams)]
)
instance Data.ToPath AddFlowMediaStreams where
toPath :: AddFlowMediaStreams -> ByteString
toPath AddFlowMediaStreams' {[AddMediaStreamRequest]
Text
mediaStreams :: [AddMediaStreamRequest]
flowArn :: Text
$sel:mediaStreams:AddFlowMediaStreams' :: AddFlowMediaStreams -> [AddMediaStreamRequest]
$sel:flowArn:AddFlowMediaStreams' :: AddFlowMediaStreams -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/v1/flows/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
flowArn, ByteString
"/mediaStreams"]
instance Data.ToQuery AddFlowMediaStreams where
toQuery :: AddFlowMediaStreams -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AddFlowMediaStreamsResponse = AddFlowMediaStreamsResponse'
{
AddFlowMediaStreamsResponse -> Maybe Text
flowArn :: Prelude.Maybe Prelude.Text,
AddFlowMediaStreamsResponse -> Maybe [MediaStream]
mediaStreams :: Prelude.Maybe [MediaStream],
AddFlowMediaStreamsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AddFlowMediaStreamsResponse -> AddFlowMediaStreamsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddFlowMediaStreamsResponse -> AddFlowMediaStreamsResponse -> Bool
$c/= :: AddFlowMediaStreamsResponse -> AddFlowMediaStreamsResponse -> Bool
== :: AddFlowMediaStreamsResponse -> AddFlowMediaStreamsResponse -> Bool
$c== :: AddFlowMediaStreamsResponse -> AddFlowMediaStreamsResponse -> Bool
Prelude.Eq, ReadPrec [AddFlowMediaStreamsResponse]
ReadPrec AddFlowMediaStreamsResponse
Int -> ReadS AddFlowMediaStreamsResponse
ReadS [AddFlowMediaStreamsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddFlowMediaStreamsResponse]
$creadListPrec :: ReadPrec [AddFlowMediaStreamsResponse]
readPrec :: ReadPrec AddFlowMediaStreamsResponse
$creadPrec :: ReadPrec AddFlowMediaStreamsResponse
readList :: ReadS [AddFlowMediaStreamsResponse]
$creadList :: ReadS [AddFlowMediaStreamsResponse]
readsPrec :: Int -> ReadS AddFlowMediaStreamsResponse
$creadsPrec :: Int -> ReadS AddFlowMediaStreamsResponse
Prelude.Read, Int -> AddFlowMediaStreamsResponse -> ShowS
[AddFlowMediaStreamsResponse] -> ShowS
AddFlowMediaStreamsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddFlowMediaStreamsResponse] -> ShowS
$cshowList :: [AddFlowMediaStreamsResponse] -> ShowS
show :: AddFlowMediaStreamsResponse -> String
$cshow :: AddFlowMediaStreamsResponse -> String
showsPrec :: Int -> AddFlowMediaStreamsResponse -> ShowS
$cshowsPrec :: Int -> AddFlowMediaStreamsResponse -> ShowS
Prelude.Show, forall x.
Rep AddFlowMediaStreamsResponse x -> AddFlowMediaStreamsResponse
forall x.
AddFlowMediaStreamsResponse -> Rep AddFlowMediaStreamsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AddFlowMediaStreamsResponse x -> AddFlowMediaStreamsResponse
$cfrom :: forall x.
AddFlowMediaStreamsResponse -> Rep AddFlowMediaStreamsResponse x
Prelude.Generic)
newAddFlowMediaStreamsResponse ::
Prelude.Int ->
AddFlowMediaStreamsResponse
newAddFlowMediaStreamsResponse :: Int -> AddFlowMediaStreamsResponse
newAddFlowMediaStreamsResponse Int
pHttpStatus_ =
AddFlowMediaStreamsResponse'
{ $sel:flowArn:AddFlowMediaStreamsResponse' :: Maybe Text
flowArn =
forall a. Maybe a
Prelude.Nothing,
$sel:mediaStreams:AddFlowMediaStreamsResponse' :: Maybe [MediaStream]
mediaStreams = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:AddFlowMediaStreamsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
addFlowMediaStreamsResponse_flowArn :: Lens.Lens' AddFlowMediaStreamsResponse (Prelude.Maybe Prelude.Text)
addFlowMediaStreamsResponse_flowArn :: Lens' AddFlowMediaStreamsResponse (Maybe Text)
addFlowMediaStreamsResponse_flowArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddFlowMediaStreamsResponse' {Maybe Text
flowArn :: Maybe Text
$sel:flowArn:AddFlowMediaStreamsResponse' :: AddFlowMediaStreamsResponse -> Maybe Text
flowArn} -> Maybe Text
flowArn) (\s :: AddFlowMediaStreamsResponse
s@AddFlowMediaStreamsResponse' {} Maybe Text
a -> AddFlowMediaStreamsResponse
s {$sel:flowArn:AddFlowMediaStreamsResponse' :: Maybe Text
flowArn = Maybe Text
a} :: AddFlowMediaStreamsResponse)
addFlowMediaStreamsResponse_mediaStreams :: Lens.Lens' AddFlowMediaStreamsResponse (Prelude.Maybe [MediaStream])
addFlowMediaStreamsResponse_mediaStreams :: Lens' AddFlowMediaStreamsResponse (Maybe [MediaStream])
addFlowMediaStreamsResponse_mediaStreams = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddFlowMediaStreamsResponse' {Maybe [MediaStream]
mediaStreams :: Maybe [MediaStream]
$sel:mediaStreams:AddFlowMediaStreamsResponse' :: AddFlowMediaStreamsResponse -> Maybe [MediaStream]
mediaStreams} -> Maybe [MediaStream]
mediaStreams) (\s :: AddFlowMediaStreamsResponse
s@AddFlowMediaStreamsResponse' {} Maybe [MediaStream]
a -> AddFlowMediaStreamsResponse
s {$sel:mediaStreams:AddFlowMediaStreamsResponse' :: Maybe [MediaStream]
mediaStreams = Maybe [MediaStream]
a} :: AddFlowMediaStreamsResponse) 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
addFlowMediaStreamsResponse_httpStatus :: Lens.Lens' AddFlowMediaStreamsResponse Prelude.Int
addFlowMediaStreamsResponse_httpStatus :: Lens' AddFlowMediaStreamsResponse Int
addFlowMediaStreamsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddFlowMediaStreamsResponse' {Int
httpStatus :: Int
$sel:httpStatus:AddFlowMediaStreamsResponse' :: AddFlowMediaStreamsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AddFlowMediaStreamsResponse
s@AddFlowMediaStreamsResponse' {} Int
a -> AddFlowMediaStreamsResponse
s {$sel:httpStatus:AddFlowMediaStreamsResponse' :: Int
httpStatus = Int
a} :: AddFlowMediaStreamsResponse)
instance Prelude.NFData AddFlowMediaStreamsResponse where
rnf :: AddFlowMediaStreamsResponse -> ()
rnf AddFlowMediaStreamsResponse' {Int
Maybe [MediaStream]
Maybe Text
httpStatus :: Int
mediaStreams :: Maybe [MediaStream]
flowArn :: Maybe Text
$sel:httpStatus:AddFlowMediaStreamsResponse' :: AddFlowMediaStreamsResponse -> Int
$sel:mediaStreams:AddFlowMediaStreamsResponse' :: AddFlowMediaStreamsResponse -> Maybe [MediaStream]
$sel:flowArn:AddFlowMediaStreamsResponse' :: AddFlowMediaStreamsResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
flowArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [MediaStream]
mediaStreams
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus