{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.MediaConnect.Types.AddMediaStreamRequest 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.MediaStreamAttributesRequest
import Amazonka.MediaConnect.Types.MediaStreamType
import qualified Amazonka.Prelude as Prelude
data AddMediaStreamRequest = AddMediaStreamRequest'
{
AddMediaStreamRequest -> Maybe MediaStreamAttributesRequest
attributes :: Prelude.Maybe MediaStreamAttributesRequest,
AddMediaStreamRequest -> Maybe Int
clockRate :: Prelude.Maybe Prelude.Int,
AddMediaStreamRequest -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
AddMediaStreamRequest -> Maybe Text
videoFormat :: Prelude.Maybe Prelude.Text,
AddMediaStreamRequest -> MediaStreamType
mediaStreamType :: MediaStreamType,
AddMediaStreamRequest -> Int
mediaStreamId :: Prelude.Int,
AddMediaStreamRequest -> Text
mediaStreamName :: Prelude.Text
}
deriving (AddMediaStreamRequest -> AddMediaStreamRequest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddMediaStreamRequest -> AddMediaStreamRequest -> Bool
$c/= :: AddMediaStreamRequest -> AddMediaStreamRequest -> Bool
== :: AddMediaStreamRequest -> AddMediaStreamRequest -> Bool
$c== :: AddMediaStreamRequest -> AddMediaStreamRequest -> Bool
Prelude.Eq, ReadPrec [AddMediaStreamRequest]
ReadPrec AddMediaStreamRequest
Int -> ReadS AddMediaStreamRequest
ReadS [AddMediaStreamRequest]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddMediaStreamRequest]
$creadListPrec :: ReadPrec [AddMediaStreamRequest]
readPrec :: ReadPrec AddMediaStreamRequest
$creadPrec :: ReadPrec AddMediaStreamRequest
readList :: ReadS [AddMediaStreamRequest]
$creadList :: ReadS [AddMediaStreamRequest]
readsPrec :: Int -> ReadS AddMediaStreamRequest
$creadsPrec :: Int -> ReadS AddMediaStreamRequest
Prelude.Read, Int -> AddMediaStreamRequest -> ShowS
[AddMediaStreamRequest] -> ShowS
AddMediaStreamRequest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddMediaStreamRequest] -> ShowS
$cshowList :: [AddMediaStreamRequest] -> ShowS
show :: AddMediaStreamRequest -> String
$cshow :: AddMediaStreamRequest -> String
showsPrec :: Int -> AddMediaStreamRequest -> ShowS
$cshowsPrec :: Int -> AddMediaStreamRequest -> ShowS
Prelude.Show, forall x. Rep AddMediaStreamRequest x -> AddMediaStreamRequest
forall x. AddMediaStreamRequest -> Rep AddMediaStreamRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AddMediaStreamRequest x -> AddMediaStreamRequest
$cfrom :: forall x. AddMediaStreamRequest -> Rep AddMediaStreamRequest x
Prelude.Generic)
newAddMediaStreamRequest ::
MediaStreamType ->
Prelude.Int ->
Prelude.Text ->
AddMediaStreamRequest
newAddMediaStreamRequest :: MediaStreamType -> Int -> Text -> AddMediaStreamRequest
newAddMediaStreamRequest
MediaStreamType
pMediaStreamType_
Int
pMediaStreamId_
Text
pMediaStreamName_ =
AddMediaStreamRequest'
{ $sel:attributes:AddMediaStreamRequest' :: Maybe MediaStreamAttributesRequest
attributes =
forall a. Maybe a
Prelude.Nothing,
$sel:clockRate:AddMediaStreamRequest' :: Maybe Int
clockRate = forall a. Maybe a
Prelude.Nothing,
$sel:description:AddMediaStreamRequest' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:videoFormat:AddMediaStreamRequest' :: Maybe Text
videoFormat = forall a. Maybe a
Prelude.Nothing,
$sel:mediaStreamType:AddMediaStreamRequest' :: MediaStreamType
mediaStreamType = MediaStreamType
pMediaStreamType_,
$sel:mediaStreamId:AddMediaStreamRequest' :: Int
mediaStreamId = Int
pMediaStreamId_,
$sel:mediaStreamName:AddMediaStreamRequest' :: Text
mediaStreamName = Text
pMediaStreamName_
}
addMediaStreamRequest_attributes :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe MediaStreamAttributesRequest)
addMediaStreamRequest_attributes :: Lens' AddMediaStreamRequest (Maybe MediaStreamAttributesRequest)
addMediaStreamRequest_attributes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddMediaStreamRequest' {Maybe MediaStreamAttributesRequest
attributes :: Maybe MediaStreamAttributesRequest
$sel:attributes:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe MediaStreamAttributesRequest
attributes} -> Maybe MediaStreamAttributesRequest
attributes) (\s :: AddMediaStreamRequest
s@AddMediaStreamRequest' {} Maybe MediaStreamAttributesRequest
a -> AddMediaStreamRequest
s {$sel:attributes:AddMediaStreamRequest' :: Maybe MediaStreamAttributesRequest
attributes = Maybe MediaStreamAttributesRequest
a} :: AddMediaStreamRequest)
addMediaStreamRequest_clockRate :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe Prelude.Int)
addMediaStreamRequest_clockRate :: Lens' AddMediaStreamRequest (Maybe Int)
addMediaStreamRequest_clockRate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddMediaStreamRequest' {Maybe Int
clockRate :: Maybe Int
$sel:clockRate:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Int
clockRate} -> Maybe Int
clockRate) (\s :: AddMediaStreamRequest
s@AddMediaStreamRequest' {} Maybe Int
a -> AddMediaStreamRequest
s {$sel:clockRate:AddMediaStreamRequest' :: Maybe Int
clockRate = Maybe Int
a} :: AddMediaStreamRequest)
addMediaStreamRequest_description :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe Prelude.Text)
addMediaStreamRequest_description :: Lens' AddMediaStreamRequest (Maybe Text)
addMediaStreamRequest_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddMediaStreamRequest' {Maybe Text
description :: Maybe Text
$sel:description:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
description} -> Maybe Text
description) (\s :: AddMediaStreamRequest
s@AddMediaStreamRequest' {} Maybe Text
a -> AddMediaStreamRequest
s {$sel:description:AddMediaStreamRequest' :: Maybe Text
description = Maybe Text
a} :: AddMediaStreamRequest)
addMediaStreamRequest_videoFormat :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe Prelude.Text)
addMediaStreamRequest_videoFormat :: Lens' AddMediaStreamRequest (Maybe Text)
addMediaStreamRequest_videoFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddMediaStreamRequest' {Maybe Text
videoFormat :: Maybe Text
$sel:videoFormat:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
videoFormat} -> Maybe Text
videoFormat) (\s :: AddMediaStreamRequest
s@AddMediaStreamRequest' {} Maybe Text
a -> AddMediaStreamRequest
s {$sel:videoFormat:AddMediaStreamRequest' :: Maybe Text
videoFormat = Maybe Text
a} :: AddMediaStreamRequest)
addMediaStreamRequest_mediaStreamType :: Lens.Lens' AddMediaStreamRequest MediaStreamType
addMediaStreamRequest_mediaStreamType :: Lens' AddMediaStreamRequest MediaStreamType
addMediaStreamRequest_mediaStreamType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddMediaStreamRequest' {MediaStreamType
mediaStreamType :: MediaStreamType
$sel:mediaStreamType:AddMediaStreamRequest' :: AddMediaStreamRequest -> MediaStreamType
mediaStreamType} -> MediaStreamType
mediaStreamType) (\s :: AddMediaStreamRequest
s@AddMediaStreamRequest' {} MediaStreamType
a -> AddMediaStreamRequest
s {$sel:mediaStreamType:AddMediaStreamRequest' :: MediaStreamType
mediaStreamType = MediaStreamType
a} :: AddMediaStreamRequest)
addMediaStreamRequest_mediaStreamId :: Lens.Lens' AddMediaStreamRequest Prelude.Int
addMediaStreamRequest_mediaStreamId :: Lens' AddMediaStreamRequest Int
addMediaStreamRequest_mediaStreamId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddMediaStreamRequest' {Int
mediaStreamId :: Int
$sel:mediaStreamId:AddMediaStreamRequest' :: AddMediaStreamRequest -> Int
mediaStreamId} -> Int
mediaStreamId) (\s :: AddMediaStreamRequest
s@AddMediaStreamRequest' {} Int
a -> AddMediaStreamRequest
s {$sel:mediaStreamId:AddMediaStreamRequest' :: Int
mediaStreamId = Int
a} :: AddMediaStreamRequest)
addMediaStreamRequest_mediaStreamName :: Lens.Lens' AddMediaStreamRequest Prelude.Text
addMediaStreamRequest_mediaStreamName :: Lens' AddMediaStreamRequest Text
addMediaStreamRequest_mediaStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddMediaStreamRequest' {Text
mediaStreamName :: Text
$sel:mediaStreamName:AddMediaStreamRequest' :: AddMediaStreamRequest -> Text
mediaStreamName} -> Text
mediaStreamName) (\s :: AddMediaStreamRequest
s@AddMediaStreamRequest' {} Text
a -> AddMediaStreamRequest
s {$sel:mediaStreamName:AddMediaStreamRequest' :: Text
mediaStreamName = Text
a} :: AddMediaStreamRequest)
instance Prelude.Hashable AddMediaStreamRequest where
hashWithSalt :: Int -> AddMediaStreamRequest -> Int
hashWithSalt Int
_salt AddMediaStreamRequest' {Int
Maybe Int
Maybe Text
Maybe MediaStreamAttributesRequest
Text
MediaStreamType
mediaStreamName :: Text
mediaStreamId :: Int
mediaStreamType :: MediaStreamType
videoFormat :: Maybe Text
description :: Maybe Text
clockRate :: Maybe Int
attributes :: Maybe MediaStreamAttributesRequest
$sel:mediaStreamName:AddMediaStreamRequest' :: AddMediaStreamRequest -> Text
$sel:mediaStreamId:AddMediaStreamRequest' :: AddMediaStreamRequest -> Int
$sel:mediaStreamType:AddMediaStreamRequest' :: AddMediaStreamRequest -> MediaStreamType
$sel:videoFormat:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
$sel:description:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
$sel:clockRate:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Int
$sel:attributes:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe MediaStreamAttributesRequest
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MediaStreamAttributesRequest
attributes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
clockRate
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
videoFormat
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MediaStreamType
mediaStreamType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
mediaStreamId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
mediaStreamName
instance Prelude.NFData AddMediaStreamRequest where
rnf :: AddMediaStreamRequest -> ()
rnf AddMediaStreamRequest' {Int
Maybe Int
Maybe Text
Maybe MediaStreamAttributesRequest
Text
MediaStreamType
mediaStreamName :: Text
mediaStreamId :: Int
mediaStreamType :: MediaStreamType
videoFormat :: Maybe Text
description :: Maybe Text
clockRate :: Maybe Int
attributes :: Maybe MediaStreamAttributesRequest
$sel:mediaStreamName:AddMediaStreamRequest' :: AddMediaStreamRequest -> Text
$sel:mediaStreamId:AddMediaStreamRequest' :: AddMediaStreamRequest -> Int
$sel:mediaStreamType:AddMediaStreamRequest' :: AddMediaStreamRequest -> MediaStreamType
$sel:videoFormat:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
$sel:description:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
$sel:clockRate:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Int
$sel:attributes:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe MediaStreamAttributesRequest
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe MediaStreamAttributesRequest
attributes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
clockRate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
videoFormat
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MediaStreamType
mediaStreamType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
mediaStreamId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
mediaStreamName
instance Data.ToJSON AddMediaStreamRequest where
toJSON :: AddMediaStreamRequest -> Value
toJSON AddMediaStreamRequest' {Int
Maybe Int
Maybe Text
Maybe MediaStreamAttributesRequest
Text
MediaStreamType
mediaStreamName :: Text
mediaStreamId :: Int
mediaStreamType :: MediaStreamType
videoFormat :: Maybe Text
description :: Maybe Text
clockRate :: Maybe Int
attributes :: Maybe MediaStreamAttributesRequest
$sel:mediaStreamName:AddMediaStreamRequest' :: AddMediaStreamRequest -> Text
$sel:mediaStreamId:AddMediaStreamRequest' :: AddMediaStreamRequest -> Int
$sel:mediaStreamType:AddMediaStreamRequest' :: AddMediaStreamRequest -> MediaStreamType
$sel:videoFormat:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
$sel:description:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Text
$sel:clockRate:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe Int
$sel:attributes:AddMediaStreamRequest' :: AddMediaStreamRequest -> Maybe MediaStreamAttributesRequest
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"attributes" 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 MediaStreamAttributesRequest
attributes,
(Key
"clockRate" 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
clockRate,
(Key
"description" 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
description,
(Key
"videoFormat" 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
videoFormat,
forall a. a -> Maybe a
Prelude.Just
(Key
"mediaStreamType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= MediaStreamType
mediaStreamType),
forall a. a -> Maybe a
Prelude.Just (Key
"mediaStreamId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Int
mediaStreamId),
forall a. a -> Maybe a
Prelude.Just
(Key
"mediaStreamName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
mediaStreamName)
]
)