{-# 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.ChimeSdkMediaPipelines.Types.MediaPipeline where
import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipeline
import Amazonka.ChimeSdkMediaPipelines.Types.MediaConcatenationPipeline
import Amazonka.ChimeSdkMediaPipelines.Types.MediaLiveConnectorPipeline
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
data MediaPipeline = MediaPipeline'
{
MediaPipeline -> Maybe MediaCapturePipeline
mediaCapturePipeline :: Prelude.Maybe MediaCapturePipeline,
MediaPipeline -> Maybe MediaConcatenationPipeline
mediaConcatenationPipeline :: Prelude.Maybe MediaConcatenationPipeline,
MediaPipeline -> Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline :: Prelude.Maybe MediaLiveConnectorPipeline
}
deriving (MediaPipeline -> MediaPipeline -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MediaPipeline -> MediaPipeline -> Bool
$c/= :: MediaPipeline -> MediaPipeline -> Bool
== :: MediaPipeline -> MediaPipeline -> Bool
$c== :: MediaPipeline -> MediaPipeline -> Bool
Prelude.Eq, Int -> MediaPipeline -> ShowS
[MediaPipeline] -> ShowS
MediaPipeline -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MediaPipeline] -> ShowS
$cshowList :: [MediaPipeline] -> ShowS
show :: MediaPipeline -> String
$cshow :: MediaPipeline -> String
showsPrec :: Int -> MediaPipeline -> ShowS
$cshowsPrec :: Int -> MediaPipeline -> ShowS
Prelude.Show, forall x. Rep MediaPipeline x -> MediaPipeline
forall x. MediaPipeline -> Rep MediaPipeline x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MediaPipeline x -> MediaPipeline
$cfrom :: forall x. MediaPipeline -> Rep MediaPipeline x
Prelude.Generic)
newMediaPipeline ::
MediaPipeline
newMediaPipeline :: MediaPipeline
newMediaPipeline =
MediaPipeline'
{ $sel:mediaCapturePipeline:MediaPipeline' :: Maybe MediaCapturePipeline
mediaCapturePipeline =
forall a. Maybe a
Prelude.Nothing,
$sel:mediaConcatenationPipeline:MediaPipeline' :: Maybe MediaConcatenationPipeline
mediaConcatenationPipeline = forall a. Maybe a
Prelude.Nothing,
$sel:mediaLiveConnectorPipeline:MediaPipeline' :: Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline = forall a. Maybe a
Prelude.Nothing
}
mediaPipeline_mediaCapturePipeline :: Lens.Lens' MediaPipeline (Prelude.Maybe MediaCapturePipeline)
mediaPipeline_mediaCapturePipeline :: Lens' MediaPipeline (Maybe MediaCapturePipeline)
mediaPipeline_mediaCapturePipeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MediaPipeline' {Maybe MediaCapturePipeline
mediaCapturePipeline :: Maybe MediaCapturePipeline
$sel:mediaCapturePipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaCapturePipeline
mediaCapturePipeline} -> Maybe MediaCapturePipeline
mediaCapturePipeline) (\s :: MediaPipeline
s@MediaPipeline' {} Maybe MediaCapturePipeline
a -> MediaPipeline
s {$sel:mediaCapturePipeline:MediaPipeline' :: Maybe MediaCapturePipeline
mediaCapturePipeline = Maybe MediaCapturePipeline
a} :: MediaPipeline)
mediaPipeline_mediaConcatenationPipeline :: Lens.Lens' MediaPipeline (Prelude.Maybe MediaConcatenationPipeline)
mediaPipeline_mediaConcatenationPipeline :: Lens' MediaPipeline (Maybe MediaConcatenationPipeline)
mediaPipeline_mediaConcatenationPipeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MediaPipeline' {Maybe MediaConcatenationPipeline
mediaConcatenationPipeline :: Maybe MediaConcatenationPipeline
$sel:mediaConcatenationPipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaConcatenationPipeline
mediaConcatenationPipeline} -> Maybe MediaConcatenationPipeline
mediaConcatenationPipeline) (\s :: MediaPipeline
s@MediaPipeline' {} Maybe MediaConcatenationPipeline
a -> MediaPipeline
s {$sel:mediaConcatenationPipeline:MediaPipeline' :: Maybe MediaConcatenationPipeline
mediaConcatenationPipeline = Maybe MediaConcatenationPipeline
a} :: MediaPipeline)
mediaPipeline_mediaLiveConnectorPipeline :: Lens.Lens' MediaPipeline (Prelude.Maybe MediaLiveConnectorPipeline)
mediaPipeline_mediaLiveConnectorPipeline :: Lens' MediaPipeline (Maybe MediaLiveConnectorPipeline)
mediaPipeline_mediaLiveConnectorPipeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MediaPipeline' {Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline :: Maybe MediaLiveConnectorPipeline
$sel:mediaLiveConnectorPipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline} -> Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline) (\s :: MediaPipeline
s@MediaPipeline' {} Maybe MediaLiveConnectorPipeline
a -> MediaPipeline
s {$sel:mediaLiveConnectorPipeline:MediaPipeline' :: Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline = Maybe MediaLiveConnectorPipeline
a} :: MediaPipeline)
instance Data.FromJSON MediaPipeline where
parseJSON :: Value -> Parser MediaPipeline
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"MediaPipeline"
( \Object
x ->
Maybe MediaCapturePipeline
-> Maybe MediaConcatenationPipeline
-> Maybe MediaLiveConnectorPipeline
-> MediaPipeline
MediaPipeline'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"MediaCapturePipeline")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"MediaConcatenationPipeline")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"MediaLiveConnectorPipeline")
)
instance Prelude.Hashable MediaPipeline where
hashWithSalt :: Int -> MediaPipeline -> Int
hashWithSalt Int
_salt MediaPipeline' {Maybe MediaLiveConnectorPipeline
Maybe MediaConcatenationPipeline
Maybe MediaCapturePipeline
mediaLiveConnectorPipeline :: Maybe MediaLiveConnectorPipeline
mediaConcatenationPipeline :: Maybe MediaConcatenationPipeline
mediaCapturePipeline :: Maybe MediaCapturePipeline
$sel:mediaLiveConnectorPipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaLiveConnectorPipeline
$sel:mediaConcatenationPipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaConcatenationPipeline
$sel:mediaCapturePipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaCapturePipeline
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MediaCapturePipeline
mediaCapturePipeline
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MediaConcatenationPipeline
mediaConcatenationPipeline
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline
instance Prelude.NFData MediaPipeline where
rnf :: MediaPipeline -> ()
rnf MediaPipeline' {Maybe MediaLiveConnectorPipeline
Maybe MediaConcatenationPipeline
Maybe MediaCapturePipeline
mediaLiveConnectorPipeline :: Maybe MediaLiveConnectorPipeline
mediaConcatenationPipeline :: Maybe MediaConcatenationPipeline
mediaCapturePipeline :: Maybe MediaCapturePipeline
$sel:mediaLiveConnectorPipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaLiveConnectorPipeline
$sel:mediaConcatenationPipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaConcatenationPipeline
$sel:mediaCapturePipeline:MediaPipeline' :: MediaPipeline -> Maybe MediaCapturePipeline
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe MediaCapturePipeline
mediaCapturePipeline
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MediaConcatenationPipeline
mediaConcatenationPipeline
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline