{-# 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.MediaLive.Types.OutputGroupSettings where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MediaLive.Types.ArchiveGroupSettings
import Amazonka.MediaLive.Types.FrameCaptureGroupSettings
import Amazonka.MediaLive.Types.HlsGroupSettings
import Amazonka.MediaLive.Types.MediaPackageGroupSettings
import Amazonka.MediaLive.Types.MsSmoothGroupSettings
import Amazonka.MediaLive.Types.MultiplexGroupSettings
import Amazonka.MediaLive.Types.RtmpGroupSettings
import Amazonka.MediaLive.Types.UdpGroupSettings
import qualified Amazonka.Prelude as Prelude
data OutputGroupSettings = OutputGroupSettings'
{ OutputGroupSettings -> Maybe MediaPackageGroupSettings
mediaPackageGroupSettings :: Prelude.Maybe MediaPackageGroupSettings,
OutputGroupSettings -> Maybe MsSmoothGroupSettings
msSmoothGroupSettings :: Prelude.Maybe MsSmoothGroupSettings,
OutputGroupSettings -> Maybe RtmpGroupSettings
rtmpGroupSettings :: Prelude.Maybe RtmpGroupSettings,
OutputGroupSettings -> Maybe MultiplexGroupSettings
multiplexGroupSettings :: Prelude.Maybe MultiplexGroupSettings,
OutputGroupSettings -> Maybe HlsGroupSettings
hlsGroupSettings :: Prelude.Maybe HlsGroupSettings,
OutputGroupSettings -> Maybe ArchiveGroupSettings
archiveGroupSettings :: Prelude.Maybe ArchiveGroupSettings,
OutputGroupSettings -> Maybe UdpGroupSettings
udpGroupSettings :: Prelude.Maybe UdpGroupSettings,
OutputGroupSettings -> Maybe FrameCaptureGroupSettings
frameCaptureGroupSettings :: Prelude.Maybe FrameCaptureGroupSettings
}
deriving (OutputGroupSettings -> OutputGroupSettings -> Bool
(OutputGroupSettings -> OutputGroupSettings -> Bool)
-> (OutputGroupSettings -> OutputGroupSettings -> Bool)
-> Eq OutputGroupSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OutputGroupSettings -> OutputGroupSettings -> Bool
$c/= :: OutputGroupSettings -> OutputGroupSettings -> Bool
== :: OutputGroupSettings -> OutputGroupSettings -> Bool
$c== :: OutputGroupSettings -> OutputGroupSettings -> Bool
Prelude.Eq, ReadPrec [OutputGroupSettings]
ReadPrec OutputGroupSettings
Int -> ReadS OutputGroupSettings
ReadS [OutputGroupSettings]
(Int -> ReadS OutputGroupSettings)
-> ReadS [OutputGroupSettings]
-> ReadPrec OutputGroupSettings
-> ReadPrec [OutputGroupSettings]
-> Read OutputGroupSettings
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [OutputGroupSettings]
$creadListPrec :: ReadPrec [OutputGroupSettings]
readPrec :: ReadPrec OutputGroupSettings
$creadPrec :: ReadPrec OutputGroupSettings
readList :: ReadS [OutputGroupSettings]
$creadList :: ReadS [OutputGroupSettings]
readsPrec :: Int -> ReadS OutputGroupSettings
$creadsPrec :: Int -> ReadS OutputGroupSettings
Prelude.Read, Int -> OutputGroupSettings -> ShowS
[OutputGroupSettings] -> ShowS
OutputGroupSettings -> String
(Int -> OutputGroupSettings -> ShowS)
-> (OutputGroupSettings -> String)
-> ([OutputGroupSettings] -> ShowS)
-> Show OutputGroupSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OutputGroupSettings] -> ShowS
$cshowList :: [OutputGroupSettings] -> ShowS
show :: OutputGroupSettings -> String
$cshow :: OutputGroupSettings -> String
showsPrec :: Int -> OutputGroupSettings -> ShowS
$cshowsPrec :: Int -> OutputGroupSettings -> ShowS
Prelude.Show, (forall x. OutputGroupSettings -> Rep OutputGroupSettings x)
-> (forall x. Rep OutputGroupSettings x -> OutputGroupSettings)
-> Generic OutputGroupSettings
forall x. Rep OutputGroupSettings x -> OutputGroupSettings
forall x. OutputGroupSettings -> Rep OutputGroupSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep OutputGroupSettings x -> OutputGroupSettings
$cfrom :: forall x. OutputGroupSettings -> Rep OutputGroupSettings x
Prelude.Generic)
newOutputGroupSettings ::
OutputGroupSettings
newOutputGroupSettings :: OutputGroupSettings
newOutputGroupSettings =
OutputGroupSettings' :: Maybe MediaPackageGroupSettings
-> Maybe MsSmoothGroupSettings
-> Maybe RtmpGroupSettings
-> Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings
OutputGroupSettings'
{ $sel:mediaPackageGroupSettings:OutputGroupSettings' :: Maybe MediaPackageGroupSettings
mediaPackageGroupSettings =
Maybe MediaPackageGroupSettings
forall a. Maybe a
Prelude.Nothing,
$sel:msSmoothGroupSettings:OutputGroupSettings' :: Maybe MsSmoothGroupSettings
msSmoothGroupSettings = Maybe MsSmoothGroupSettings
forall a. Maybe a
Prelude.Nothing,
$sel:rtmpGroupSettings:OutputGroupSettings' :: Maybe RtmpGroupSettings
rtmpGroupSettings = Maybe RtmpGroupSettings
forall a. Maybe a
Prelude.Nothing,
$sel:multiplexGroupSettings:OutputGroupSettings' :: Maybe MultiplexGroupSettings
multiplexGroupSettings = Maybe MultiplexGroupSettings
forall a. Maybe a
Prelude.Nothing,
$sel:hlsGroupSettings:OutputGroupSettings' :: Maybe HlsGroupSettings
hlsGroupSettings = Maybe HlsGroupSettings
forall a. Maybe a
Prelude.Nothing,
$sel:archiveGroupSettings:OutputGroupSettings' :: Maybe ArchiveGroupSettings
archiveGroupSettings = Maybe ArchiveGroupSettings
forall a. Maybe a
Prelude.Nothing,
$sel:udpGroupSettings:OutputGroupSettings' :: Maybe UdpGroupSettings
udpGroupSettings = Maybe UdpGroupSettings
forall a. Maybe a
Prelude.Nothing,
$sel:frameCaptureGroupSettings:OutputGroupSettings' :: Maybe FrameCaptureGroupSettings
frameCaptureGroupSettings = Maybe FrameCaptureGroupSettings
forall a. Maybe a
Prelude.Nothing
}
outputGroupSettings_mediaPackageGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe MediaPackageGroupSettings)
outputGroupSettings_mediaPackageGroupSettings :: (Maybe MediaPackageGroupSettings
-> f (Maybe MediaPackageGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_mediaPackageGroupSettings = (OutputGroupSettings -> Maybe MediaPackageGroupSettings)
-> (OutputGroupSettings
-> Maybe MediaPackageGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe MediaPackageGroupSettings)
(Maybe MediaPackageGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe MediaPackageGroupSettings
mediaPackageGroupSettings :: Maybe MediaPackageGroupSettings
$sel:mediaPackageGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe MediaPackageGroupSettings
mediaPackageGroupSettings} -> Maybe MediaPackageGroupSettings
mediaPackageGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe MediaPackageGroupSettings
a -> OutputGroupSettings
s {$sel:mediaPackageGroupSettings:OutputGroupSettings' :: Maybe MediaPackageGroupSettings
mediaPackageGroupSettings = Maybe MediaPackageGroupSettings
a} :: OutputGroupSettings)
outputGroupSettings_msSmoothGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe MsSmoothGroupSettings)
outputGroupSettings_msSmoothGroupSettings :: (Maybe MsSmoothGroupSettings -> f (Maybe MsSmoothGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_msSmoothGroupSettings = (OutputGroupSettings -> Maybe MsSmoothGroupSettings)
-> (OutputGroupSettings
-> Maybe MsSmoothGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe MsSmoothGroupSettings)
(Maybe MsSmoothGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe MsSmoothGroupSettings
msSmoothGroupSettings :: Maybe MsSmoothGroupSettings
$sel:msSmoothGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe MsSmoothGroupSettings
msSmoothGroupSettings} -> Maybe MsSmoothGroupSettings
msSmoothGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe MsSmoothGroupSettings
a -> OutputGroupSettings
s {$sel:msSmoothGroupSettings:OutputGroupSettings' :: Maybe MsSmoothGroupSettings
msSmoothGroupSettings = Maybe MsSmoothGroupSettings
a} :: OutputGroupSettings)
outputGroupSettings_rtmpGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe RtmpGroupSettings)
outputGroupSettings_rtmpGroupSettings :: (Maybe RtmpGroupSettings -> f (Maybe RtmpGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_rtmpGroupSettings = (OutputGroupSettings -> Maybe RtmpGroupSettings)
-> (OutputGroupSettings
-> Maybe RtmpGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe RtmpGroupSettings)
(Maybe RtmpGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe RtmpGroupSettings
rtmpGroupSettings :: Maybe RtmpGroupSettings
$sel:rtmpGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe RtmpGroupSettings
rtmpGroupSettings} -> Maybe RtmpGroupSettings
rtmpGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe RtmpGroupSettings
a -> OutputGroupSettings
s {$sel:rtmpGroupSettings:OutputGroupSettings' :: Maybe RtmpGroupSettings
rtmpGroupSettings = Maybe RtmpGroupSettings
a} :: OutputGroupSettings)
outputGroupSettings_multiplexGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe MultiplexGroupSettings)
outputGroupSettings_multiplexGroupSettings :: (Maybe MultiplexGroupSettings -> f (Maybe MultiplexGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_multiplexGroupSettings = (OutputGroupSettings -> Maybe MultiplexGroupSettings)
-> (OutputGroupSettings
-> Maybe MultiplexGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe MultiplexGroupSettings)
(Maybe MultiplexGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe MultiplexGroupSettings
multiplexGroupSettings :: Maybe MultiplexGroupSettings
$sel:multiplexGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe MultiplexGroupSettings
multiplexGroupSettings} -> Maybe MultiplexGroupSettings
multiplexGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe MultiplexGroupSettings
a -> OutputGroupSettings
s {$sel:multiplexGroupSettings:OutputGroupSettings' :: Maybe MultiplexGroupSettings
multiplexGroupSettings = Maybe MultiplexGroupSettings
a} :: OutputGroupSettings)
outputGroupSettings_hlsGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe HlsGroupSettings)
outputGroupSettings_hlsGroupSettings :: (Maybe HlsGroupSettings -> f (Maybe HlsGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_hlsGroupSettings = (OutputGroupSettings -> Maybe HlsGroupSettings)
-> (OutputGroupSettings
-> Maybe HlsGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe HlsGroupSettings)
(Maybe HlsGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe HlsGroupSettings
hlsGroupSettings :: Maybe HlsGroupSettings
$sel:hlsGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe HlsGroupSettings
hlsGroupSettings} -> Maybe HlsGroupSettings
hlsGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe HlsGroupSettings
a -> OutputGroupSettings
s {$sel:hlsGroupSettings:OutputGroupSettings' :: Maybe HlsGroupSettings
hlsGroupSettings = Maybe HlsGroupSettings
a} :: OutputGroupSettings)
outputGroupSettings_archiveGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe ArchiveGroupSettings)
outputGroupSettings_archiveGroupSettings :: (Maybe ArchiveGroupSettings -> f (Maybe ArchiveGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_archiveGroupSettings = (OutputGroupSettings -> Maybe ArchiveGroupSettings)
-> (OutputGroupSettings
-> Maybe ArchiveGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe ArchiveGroupSettings)
(Maybe ArchiveGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe ArchiveGroupSettings
archiveGroupSettings :: Maybe ArchiveGroupSettings
$sel:archiveGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe ArchiveGroupSettings
archiveGroupSettings} -> Maybe ArchiveGroupSettings
archiveGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe ArchiveGroupSettings
a -> OutputGroupSettings
s {$sel:archiveGroupSettings:OutputGroupSettings' :: Maybe ArchiveGroupSettings
archiveGroupSettings = Maybe ArchiveGroupSettings
a} :: OutputGroupSettings)
outputGroupSettings_udpGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe UdpGroupSettings)
outputGroupSettings_udpGroupSettings :: (Maybe UdpGroupSettings -> f (Maybe UdpGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_udpGroupSettings = (OutputGroupSettings -> Maybe UdpGroupSettings)
-> (OutputGroupSettings
-> Maybe UdpGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe UdpGroupSettings)
(Maybe UdpGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe UdpGroupSettings
udpGroupSettings :: Maybe UdpGroupSettings
$sel:udpGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe UdpGroupSettings
udpGroupSettings} -> Maybe UdpGroupSettings
udpGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe UdpGroupSettings
a -> OutputGroupSettings
s {$sel:udpGroupSettings:OutputGroupSettings' :: Maybe UdpGroupSettings
udpGroupSettings = Maybe UdpGroupSettings
a} :: OutputGroupSettings)
outputGroupSettings_frameCaptureGroupSettings :: Lens.Lens' OutputGroupSettings (Prelude.Maybe FrameCaptureGroupSettings)
outputGroupSettings_frameCaptureGroupSettings :: (Maybe FrameCaptureGroupSettings
-> f (Maybe FrameCaptureGroupSettings))
-> OutputGroupSettings -> f OutputGroupSettings
outputGroupSettings_frameCaptureGroupSettings = (OutputGroupSettings -> Maybe FrameCaptureGroupSettings)
-> (OutputGroupSettings
-> Maybe FrameCaptureGroupSettings -> OutputGroupSettings)
-> Lens
OutputGroupSettings
OutputGroupSettings
(Maybe FrameCaptureGroupSettings)
(Maybe FrameCaptureGroupSettings)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OutputGroupSettings' {Maybe FrameCaptureGroupSettings
frameCaptureGroupSettings :: Maybe FrameCaptureGroupSettings
$sel:frameCaptureGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe FrameCaptureGroupSettings
frameCaptureGroupSettings} -> Maybe FrameCaptureGroupSettings
frameCaptureGroupSettings) (\s :: OutputGroupSettings
s@OutputGroupSettings' {} Maybe FrameCaptureGroupSettings
a -> OutputGroupSettings
s {$sel:frameCaptureGroupSettings:OutputGroupSettings' :: Maybe FrameCaptureGroupSettings
frameCaptureGroupSettings = Maybe FrameCaptureGroupSettings
a} :: OutputGroupSettings)
instance Core.FromJSON OutputGroupSettings where
parseJSON :: Value -> Parser OutputGroupSettings
parseJSON =
String
-> (Object -> Parser OutputGroupSettings)
-> Value
-> Parser OutputGroupSettings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
String
"OutputGroupSettings"
( \Object
x ->
Maybe MediaPackageGroupSettings
-> Maybe MsSmoothGroupSettings
-> Maybe RtmpGroupSettings
-> Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings
OutputGroupSettings'
(Maybe MediaPackageGroupSettings
-> Maybe MsSmoothGroupSettings
-> Maybe RtmpGroupSettings
-> Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
-> Parser (Maybe MediaPackageGroupSettings)
-> Parser
(Maybe MsSmoothGroupSettings
-> Maybe RtmpGroupSettings
-> Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe MediaPackageGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"mediaPackageGroupSettings")
Parser
(Maybe MsSmoothGroupSettings
-> Maybe RtmpGroupSettings
-> Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
-> Parser (Maybe MsSmoothGroupSettings)
-> Parser
(Maybe RtmpGroupSettings
-> Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe MsSmoothGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"msSmoothGroupSettings")
Parser
(Maybe RtmpGroupSettings
-> Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
-> Parser (Maybe RtmpGroupSettings)
-> Parser
(Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe RtmpGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"rtmpGroupSettings")
Parser
(Maybe MultiplexGroupSettings
-> Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
-> Parser (Maybe MultiplexGroupSettings)
-> Parser
(Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe MultiplexGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"multiplexGroupSettings")
Parser
(Maybe HlsGroupSettings
-> Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
-> Parser (Maybe HlsGroupSettings)
-> Parser
(Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe HlsGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"hlsGroupSettings")
Parser
(Maybe ArchiveGroupSettings
-> Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings
-> OutputGroupSettings)
-> Parser (Maybe ArchiveGroupSettings)
-> Parser
(Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings -> OutputGroupSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ArchiveGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"archiveGroupSettings")
Parser
(Maybe UdpGroupSettings
-> Maybe FrameCaptureGroupSettings -> OutputGroupSettings)
-> Parser (Maybe UdpGroupSettings)
-> Parser (Maybe FrameCaptureGroupSettings -> OutputGroupSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe UdpGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"udpGroupSettings")
Parser (Maybe FrameCaptureGroupSettings -> OutputGroupSettings)
-> Parser (Maybe FrameCaptureGroupSettings)
-> Parser OutputGroupSettings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe FrameCaptureGroupSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"frameCaptureGroupSettings")
)
instance Prelude.Hashable OutputGroupSettings
instance Prelude.NFData OutputGroupSettings
instance Core.ToJSON OutputGroupSettings where
toJSON :: OutputGroupSettings -> Value
toJSON OutputGroupSettings' {Maybe MultiplexGroupSettings
Maybe MediaPackageGroupSettings
Maybe RtmpGroupSettings
Maybe FrameCaptureGroupSettings
Maybe ArchiveGroupSettings
Maybe MsSmoothGroupSettings
Maybe HlsGroupSettings
Maybe UdpGroupSettings
frameCaptureGroupSettings :: Maybe FrameCaptureGroupSettings
udpGroupSettings :: Maybe UdpGroupSettings
archiveGroupSettings :: Maybe ArchiveGroupSettings
hlsGroupSettings :: Maybe HlsGroupSettings
multiplexGroupSettings :: Maybe MultiplexGroupSettings
rtmpGroupSettings :: Maybe RtmpGroupSettings
msSmoothGroupSettings :: Maybe MsSmoothGroupSettings
mediaPackageGroupSettings :: Maybe MediaPackageGroupSettings
$sel:frameCaptureGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe FrameCaptureGroupSettings
$sel:udpGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe UdpGroupSettings
$sel:archiveGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe ArchiveGroupSettings
$sel:hlsGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe HlsGroupSettings
$sel:multiplexGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe MultiplexGroupSettings
$sel:rtmpGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe RtmpGroupSettings
$sel:msSmoothGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe MsSmoothGroupSettings
$sel:mediaPackageGroupSettings:OutputGroupSettings' :: OutputGroupSettings -> Maybe MediaPackageGroupSettings
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"mediaPackageGroupSettings" Text -> MediaPackageGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(MediaPackageGroupSettings -> Pair)
-> Maybe MediaPackageGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MediaPackageGroupSettings
mediaPackageGroupSettings,
(Text
"msSmoothGroupSettings" Text -> MsSmoothGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(MsSmoothGroupSettings -> Pair)
-> Maybe MsSmoothGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MsSmoothGroupSettings
msSmoothGroupSettings,
(Text
"rtmpGroupSettings" Text -> RtmpGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(RtmpGroupSettings -> Pair)
-> Maybe RtmpGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RtmpGroupSettings
rtmpGroupSettings,
(Text
"multiplexGroupSettings" Text -> MultiplexGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(MultiplexGroupSettings -> Pair)
-> Maybe MultiplexGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MultiplexGroupSettings
multiplexGroupSettings,
(Text
"hlsGroupSettings" Text -> HlsGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(HlsGroupSettings -> Pair) -> Maybe HlsGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe HlsGroupSettings
hlsGroupSettings,
(Text
"archiveGroupSettings" Text -> ArchiveGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ArchiveGroupSettings -> Pair)
-> Maybe ArchiveGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ArchiveGroupSettings
archiveGroupSettings,
(Text
"udpGroupSettings" Text -> UdpGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(UdpGroupSettings -> Pair) -> Maybe UdpGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe UdpGroupSettings
udpGroupSettings,
(Text
"frameCaptureGroupSettings" Text -> FrameCaptureGroupSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(FrameCaptureGroupSettings -> Pair)
-> Maybe FrameCaptureGroupSettings -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FrameCaptureGroupSettings
frameCaptureGroupSettings
]
)