{-# 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.ElasticTranscoder.Types.Preset where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ElasticTranscoder.Types.AudioParameters
import Amazonka.ElasticTranscoder.Types.Thumbnails
import Amazonka.ElasticTranscoder.Types.VideoParameters
import qualified Amazonka.Prelude as Prelude
data Preset = Preset'
{
Preset -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
Preset -> Maybe AudioParameters
audio :: Prelude.Maybe AudioParameters,
Preset -> Maybe Text
container :: Prelude.Maybe Prelude.Text,
Preset -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
Preset -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
Preset -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
Preset -> Maybe Thumbnails
thumbnails :: Prelude.Maybe Thumbnails,
Preset -> Maybe Text
type' :: Prelude.Maybe Prelude.Text,
Preset -> Maybe VideoParameters
video :: Prelude.Maybe VideoParameters
}
deriving (Preset -> Preset -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Preset -> Preset -> Bool
$c/= :: Preset -> Preset -> Bool
== :: Preset -> Preset -> Bool
$c== :: Preset -> Preset -> Bool
Prelude.Eq, ReadPrec [Preset]
ReadPrec Preset
Int -> ReadS Preset
ReadS [Preset]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Preset]
$creadListPrec :: ReadPrec [Preset]
readPrec :: ReadPrec Preset
$creadPrec :: ReadPrec Preset
readList :: ReadS [Preset]
$creadList :: ReadS [Preset]
readsPrec :: Int -> ReadS Preset
$creadsPrec :: Int -> ReadS Preset
Prelude.Read, Int -> Preset -> ShowS
[Preset] -> ShowS
Preset -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Preset] -> ShowS
$cshowList :: [Preset] -> ShowS
show :: Preset -> String
$cshow :: Preset -> String
showsPrec :: Int -> Preset -> ShowS
$cshowsPrec :: Int -> Preset -> ShowS
Prelude.Show, forall x. Rep Preset x -> Preset
forall x. Preset -> Rep Preset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Preset x -> Preset
$cfrom :: forall x. Preset -> Rep Preset x
Prelude.Generic)
newPreset ::
Preset
newPreset :: Preset
newPreset =
Preset'
{ $sel:arn:Preset' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:audio:Preset' :: Maybe AudioParameters
audio = forall a. Maybe a
Prelude.Nothing,
$sel:container:Preset' :: Maybe Text
container = forall a. Maybe a
Prelude.Nothing,
$sel:description:Preset' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:id:Preset' :: Maybe Text
id = forall a. Maybe a
Prelude.Nothing,
$sel:name:Preset' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:thumbnails:Preset' :: Maybe Thumbnails
thumbnails = forall a. Maybe a
Prelude.Nothing,
$sel:type':Preset' :: Maybe Text
type' = forall a. Maybe a
Prelude.Nothing,
$sel:video:Preset' :: Maybe VideoParameters
video = forall a. Maybe a
Prelude.Nothing
}
preset_arn :: Lens.Lens' Preset (Prelude.Maybe Prelude.Text)
preset_arn :: Lens' Preset (Maybe Text)
preset_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe Text
arn :: Maybe Text
$sel:arn:Preset' :: Preset -> Maybe Text
arn} -> Maybe Text
arn) (\s :: Preset
s@Preset' {} Maybe Text
a -> Preset
s {$sel:arn:Preset' :: Maybe Text
arn = Maybe Text
a} :: Preset)
preset_audio :: Lens.Lens' Preset (Prelude.Maybe AudioParameters)
preset_audio :: Lens' Preset (Maybe AudioParameters)
preset_audio = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe AudioParameters
audio :: Maybe AudioParameters
$sel:audio:Preset' :: Preset -> Maybe AudioParameters
audio} -> Maybe AudioParameters
audio) (\s :: Preset
s@Preset' {} Maybe AudioParameters
a -> Preset
s {$sel:audio:Preset' :: Maybe AudioParameters
audio = Maybe AudioParameters
a} :: Preset)
preset_container :: Lens.Lens' Preset (Prelude.Maybe Prelude.Text)
preset_container :: Lens' Preset (Maybe Text)
preset_container = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe Text
container :: Maybe Text
$sel:container:Preset' :: Preset -> Maybe Text
container} -> Maybe Text
container) (\s :: Preset
s@Preset' {} Maybe Text
a -> Preset
s {$sel:container:Preset' :: Maybe Text
container = Maybe Text
a} :: Preset)
preset_description :: Lens.Lens' Preset (Prelude.Maybe Prelude.Text)
preset_description :: Lens' Preset (Maybe Text)
preset_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe Text
description :: Maybe Text
$sel:description:Preset' :: Preset -> Maybe Text
description} -> Maybe Text
description) (\s :: Preset
s@Preset' {} Maybe Text
a -> Preset
s {$sel:description:Preset' :: Maybe Text
description = Maybe Text
a} :: Preset)
preset_id :: Lens.Lens' Preset (Prelude.Maybe Prelude.Text)
preset_id :: Lens' Preset (Maybe Text)
preset_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe Text
id :: Maybe Text
$sel:id:Preset' :: Preset -> Maybe Text
id} -> Maybe Text
id) (\s :: Preset
s@Preset' {} Maybe Text
a -> Preset
s {$sel:id:Preset' :: Maybe Text
id = Maybe Text
a} :: Preset)
preset_name :: Lens.Lens' Preset (Prelude.Maybe Prelude.Text)
preset_name :: Lens' Preset (Maybe Text)
preset_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe Text
name :: Maybe Text
$sel:name:Preset' :: Preset -> Maybe Text
name} -> Maybe Text
name) (\s :: Preset
s@Preset' {} Maybe Text
a -> Preset
s {$sel:name:Preset' :: Maybe Text
name = Maybe Text
a} :: Preset)
preset_thumbnails :: Lens.Lens' Preset (Prelude.Maybe Thumbnails)
preset_thumbnails :: Lens' Preset (Maybe Thumbnails)
preset_thumbnails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe Thumbnails
thumbnails :: Maybe Thumbnails
$sel:thumbnails:Preset' :: Preset -> Maybe Thumbnails
thumbnails} -> Maybe Thumbnails
thumbnails) (\s :: Preset
s@Preset' {} Maybe Thumbnails
a -> Preset
s {$sel:thumbnails:Preset' :: Maybe Thumbnails
thumbnails = Maybe Thumbnails
a} :: Preset)
preset_type :: Lens.Lens' Preset (Prelude.Maybe Prelude.Text)
preset_type :: Lens' Preset (Maybe Text)
preset_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe Text
type' :: Maybe Text
$sel:type':Preset' :: Preset -> Maybe Text
type'} -> Maybe Text
type') (\s :: Preset
s@Preset' {} Maybe Text
a -> Preset
s {$sel:type':Preset' :: Maybe Text
type' = Maybe Text
a} :: Preset)
preset_video :: Lens.Lens' Preset (Prelude.Maybe VideoParameters)
preset_video :: Lens' Preset (Maybe VideoParameters)
preset_video = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Preset' {Maybe VideoParameters
video :: Maybe VideoParameters
$sel:video:Preset' :: Preset -> Maybe VideoParameters
video} -> Maybe VideoParameters
video) (\s :: Preset
s@Preset' {} Maybe VideoParameters
a -> Preset
s {$sel:video:Preset' :: Maybe VideoParameters
video = Maybe VideoParameters
a} :: Preset)
instance Data.FromJSON Preset where
parseJSON :: Value -> Parser Preset
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"Preset"
( \Object
x ->
Maybe Text
-> Maybe AudioParameters
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Thumbnails
-> Maybe Text
-> Maybe VideoParameters
-> Preset
Preset'
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
"Arn")
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
"Audio")
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
"Container")
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
"Description")
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
"Id")
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
"Name")
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
"Thumbnails")
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
"Type")
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
"Video")
)
instance Prelude.Hashable Preset where
hashWithSalt :: Int -> Preset -> Int
hashWithSalt Int
_salt Preset' {Maybe Text
Maybe AudioParameters
Maybe Thumbnails
Maybe VideoParameters
video :: Maybe VideoParameters
type' :: Maybe Text
thumbnails :: Maybe Thumbnails
name :: Maybe Text
id :: Maybe Text
description :: Maybe Text
container :: Maybe Text
audio :: Maybe AudioParameters
arn :: Maybe Text
$sel:video:Preset' :: Preset -> Maybe VideoParameters
$sel:type':Preset' :: Preset -> Maybe Text
$sel:thumbnails:Preset' :: Preset -> Maybe Thumbnails
$sel:name:Preset' :: Preset -> Maybe Text
$sel:id:Preset' :: Preset -> Maybe Text
$sel:description:Preset' :: Preset -> Maybe Text
$sel:container:Preset' :: Preset -> Maybe Text
$sel:audio:Preset' :: Preset -> Maybe AudioParameters
$sel:arn:Preset' :: Preset -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AudioParameters
audio
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
container
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Thumbnails
thumbnails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
type'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VideoParameters
video
instance Prelude.NFData Preset where
rnf :: Preset -> ()
rnf Preset' {Maybe Text
Maybe AudioParameters
Maybe Thumbnails
Maybe VideoParameters
video :: Maybe VideoParameters
type' :: Maybe Text
thumbnails :: Maybe Thumbnails
name :: Maybe Text
id :: Maybe Text
description :: Maybe Text
container :: Maybe Text
audio :: Maybe AudioParameters
arn :: Maybe Text
$sel:video:Preset' :: Preset -> Maybe VideoParameters
$sel:type':Preset' :: Preset -> Maybe Text
$sel:thumbnails:Preset' :: Preset -> Maybe Thumbnails
$sel:name:Preset' :: Preset -> Maybe Text
$sel:id:Preset' :: Preset -> Maybe Text
$sel:description:Preset' :: Preset -> Maybe Text
$sel:container:Preset' :: Preset -> Maybe Text
$sel:audio:Preset' :: Preset -> Maybe AudioParameters
$sel:arn:Preset' :: Preset -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AudioParameters
audio
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
container
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
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Thumbnails
thumbnails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
type'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VideoParameters
video