module Stratosphere.MediaLive.Channel.H264ColorSpaceSettingsProperty (
module Exports, H264ColorSpaceSettingsProperty(..),
mkH264ColorSpaceSettingsProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.MediaLive.Channel.ColorSpacePassthroughSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.MediaLive.Channel.Rec601SettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.MediaLive.Channel.Rec709SettingsProperty as Exports
import Stratosphere.ResourceProperties
data H264ColorSpaceSettingsProperty
=
H264ColorSpaceSettingsProperty {H264ColorSpaceSettingsProperty -> ()
haddock_workaround_ :: (),
H264ColorSpaceSettingsProperty
-> Maybe ColorSpacePassthroughSettingsProperty
colorSpacePassthroughSettings :: (Prelude.Maybe ColorSpacePassthroughSettingsProperty),
H264ColorSpaceSettingsProperty -> Maybe Rec601SettingsProperty
rec601Settings :: (Prelude.Maybe Rec601SettingsProperty),
H264ColorSpaceSettingsProperty -> Maybe Rec709SettingsProperty
rec709Settings :: (Prelude.Maybe Rec709SettingsProperty)}
deriving stock (H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> Bool
(H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> Bool)
-> (H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> Bool)
-> Eq H264ColorSpaceSettingsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> Bool
== :: H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> Bool
$c/= :: H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> Bool
/= :: H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> Bool
Prelude.Eq, Int -> H264ColorSpaceSettingsProperty -> ShowS
[H264ColorSpaceSettingsProperty] -> ShowS
H264ColorSpaceSettingsProperty -> String
(Int -> H264ColorSpaceSettingsProperty -> ShowS)
-> (H264ColorSpaceSettingsProperty -> String)
-> ([H264ColorSpaceSettingsProperty] -> ShowS)
-> Show H264ColorSpaceSettingsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> H264ColorSpaceSettingsProperty -> ShowS
showsPrec :: Int -> H264ColorSpaceSettingsProperty -> ShowS
$cshow :: H264ColorSpaceSettingsProperty -> String
show :: H264ColorSpaceSettingsProperty -> String
$cshowList :: [H264ColorSpaceSettingsProperty] -> ShowS
showList :: [H264ColorSpaceSettingsProperty] -> ShowS
Prelude.Show)
mkH264ColorSpaceSettingsProperty :: H264ColorSpaceSettingsProperty
mkH264ColorSpaceSettingsProperty :: H264ColorSpaceSettingsProperty
mkH264ColorSpaceSettingsProperty
= H264ColorSpaceSettingsProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (),
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
colorSpacePassthroughSettings = Maybe ColorSpacePassthroughSettingsProperty
forall a. Maybe a
Prelude.Nothing,
rec601Settings :: Maybe Rec601SettingsProperty
rec601Settings = Maybe Rec601SettingsProperty
forall a. Maybe a
Prelude.Nothing, rec709Settings :: Maybe Rec709SettingsProperty
rec709Settings = Maybe Rec709SettingsProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties H264ColorSpaceSettingsProperty where
toResourceProperties :: H264ColorSpaceSettingsProperty -> ResourceProperties
toResourceProperties H264ColorSpaceSettingsProperty {Maybe ColorSpacePassthroughSettingsProperty
Maybe Rec601SettingsProperty
Maybe Rec709SettingsProperty
()
haddock_workaround_ :: H264ColorSpaceSettingsProperty -> ()
colorSpacePassthroughSettings :: H264ColorSpaceSettingsProperty
-> Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec601SettingsProperty
rec709Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec709SettingsProperty
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: Maybe Rec601SettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::MediaLive::Channel.H264ColorSpaceSettings",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> ColorSpacePassthroughSettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ColorSpacePassthroughSettings"
(ColorSpacePassthroughSettingsProperty -> (Key, Value))
-> Maybe ColorSpacePassthroughSettingsProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ColorSpacePassthroughSettingsProperty
colorSpacePassthroughSettings,
Key -> Rec601SettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Rec601Settings" (Rec601SettingsProperty -> (Key, Value))
-> Maybe Rec601SettingsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Rec601SettingsProperty
rec601Settings,
Key -> Rec709SettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Rec709Settings" (Rec709SettingsProperty -> (Key, Value))
-> Maybe Rec709SettingsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Rec709SettingsProperty
rec709Settings])}
instance JSON.ToJSON H264ColorSpaceSettingsProperty where
toJSON :: H264ColorSpaceSettingsProperty -> Value
toJSON H264ColorSpaceSettingsProperty {Maybe ColorSpacePassthroughSettingsProperty
Maybe Rec601SettingsProperty
Maybe Rec709SettingsProperty
()
haddock_workaround_ :: H264ColorSpaceSettingsProperty -> ()
colorSpacePassthroughSettings :: H264ColorSpaceSettingsProperty
-> Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec601SettingsProperty
rec709Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec709SettingsProperty
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: Maybe Rec601SettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> ColorSpacePassthroughSettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ColorSpacePassthroughSettings"
(ColorSpacePassthroughSettingsProperty -> (Key, Value))
-> Maybe ColorSpacePassthroughSettingsProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ColorSpacePassthroughSettingsProperty
colorSpacePassthroughSettings,
Key -> Rec601SettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Rec601Settings" (Rec601SettingsProperty -> (Key, Value))
-> Maybe Rec601SettingsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Rec601SettingsProperty
rec601Settings,
Key -> Rec709SettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Rec709Settings" (Rec709SettingsProperty -> (Key, Value))
-> Maybe Rec709SettingsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Rec709SettingsProperty
rec709Settings]))
instance Property "ColorSpacePassthroughSettings" H264ColorSpaceSettingsProperty where
type PropertyType "ColorSpacePassthroughSettings" H264ColorSpaceSettingsProperty = ColorSpacePassthroughSettingsProperty
set :: PropertyType
"ColorSpacePassthroughSettings" H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> H264ColorSpaceSettingsProperty
set PropertyType
"ColorSpacePassthroughSettings" H264ColorSpaceSettingsProperty
newValue H264ColorSpaceSettingsProperty {Maybe ColorSpacePassthroughSettingsProperty
Maybe Rec601SettingsProperty
Maybe Rec709SettingsProperty
()
haddock_workaround_ :: H264ColorSpaceSettingsProperty -> ()
colorSpacePassthroughSettings :: H264ColorSpaceSettingsProperty
-> Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec601SettingsProperty
rec709Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec709SettingsProperty
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: Maybe Rec601SettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
..}
= H264ColorSpaceSettingsProperty
{colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
colorSpacePassthroughSettings = ColorSpacePassthroughSettingsProperty
-> Maybe ColorSpacePassthroughSettingsProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
"ColorSpacePassthroughSettings" H264ColorSpaceSettingsProperty
ColorSpacePassthroughSettingsProperty
newValue, Maybe Rec601SettingsProperty
Maybe Rec709SettingsProperty
()
haddock_workaround_ :: ()
rec601Settings :: Maybe Rec601SettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
haddock_workaround_ :: ()
rec601Settings :: Maybe Rec601SettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
..}
instance Property "Rec601Settings" H264ColorSpaceSettingsProperty where
type PropertyType "Rec601Settings" H264ColorSpaceSettingsProperty = Rec601SettingsProperty
set :: PropertyType "Rec601Settings" H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> H264ColorSpaceSettingsProperty
set PropertyType "Rec601Settings" H264ColorSpaceSettingsProperty
newValue H264ColorSpaceSettingsProperty {Maybe ColorSpacePassthroughSettingsProperty
Maybe Rec601SettingsProperty
Maybe Rec709SettingsProperty
()
haddock_workaround_ :: H264ColorSpaceSettingsProperty -> ()
colorSpacePassthroughSettings :: H264ColorSpaceSettingsProperty
-> Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec601SettingsProperty
rec709Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec709SettingsProperty
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: Maybe Rec601SettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
..}
= H264ColorSpaceSettingsProperty
{rec601Settings :: Maybe Rec601SettingsProperty
rec601Settings = Rec601SettingsProperty -> Maybe Rec601SettingsProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Rec601Settings" H264ColorSpaceSettingsProperty
Rec601SettingsProperty
newValue, Maybe ColorSpacePassthroughSettingsProperty
Maybe Rec709SettingsProperty
()
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
..}
instance Property "Rec709Settings" H264ColorSpaceSettingsProperty where
type PropertyType "Rec709Settings" H264ColorSpaceSettingsProperty = Rec709SettingsProperty
set :: PropertyType "Rec709Settings" H264ColorSpaceSettingsProperty
-> H264ColorSpaceSettingsProperty -> H264ColorSpaceSettingsProperty
set PropertyType "Rec709Settings" H264ColorSpaceSettingsProperty
newValue H264ColorSpaceSettingsProperty {Maybe ColorSpacePassthroughSettingsProperty
Maybe Rec601SettingsProperty
Maybe Rec709SettingsProperty
()
haddock_workaround_ :: H264ColorSpaceSettingsProperty -> ()
colorSpacePassthroughSettings :: H264ColorSpaceSettingsProperty
-> Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec601SettingsProperty
rec709Settings :: H264ColorSpaceSettingsProperty -> Maybe Rec709SettingsProperty
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: Maybe Rec601SettingsProperty
rec709Settings :: Maybe Rec709SettingsProperty
..}
= H264ColorSpaceSettingsProperty
{rec709Settings :: Maybe Rec709SettingsProperty
rec709Settings = Rec709SettingsProperty -> Maybe Rec709SettingsProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Rec709Settings" H264ColorSpaceSettingsProperty
Rec709SettingsProperty
newValue, Maybe ColorSpacePassthroughSettingsProperty
Maybe Rec601SettingsProperty
()
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: Maybe Rec601SettingsProperty
haddock_workaround_ :: ()
colorSpacePassthroughSettings :: Maybe ColorSpacePassthroughSettingsProperty
rec601Settings :: Maybe Rec601SettingsProperty
..}