{-# 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.UpdateFailoverConfig 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.FailoverMode
import Amazonka.MediaConnect.Types.SourcePriority
import Amazonka.MediaConnect.Types.State
import qualified Amazonka.Prelude as Prelude
data UpdateFailoverConfig = UpdateFailoverConfig'
{
UpdateFailoverConfig -> Maybe FailoverMode
failoverMode :: Prelude.Maybe FailoverMode,
UpdateFailoverConfig -> Maybe Int
recoveryWindow :: Prelude.Maybe Prelude.Int,
UpdateFailoverConfig -> Maybe SourcePriority
sourcePriority :: Prelude.Maybe SourcePriority,
UpdateFailoverConfig -> Maybe State
state :: Prelude.Maybe State
}
deriving (UpdateFailoverConfig -> UpdateFailoverConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateFailoverConfig -> UpdateFailoverConfig -> Bool
$c/= :: UpdateFailoverConfig -> UpdateFailoverConfig -> Bool
== :: UpdateFailoverConfig -> UpdateFailoverConfig -> Bool
$c== :: UpdateFailoverConfig -> UpdateFailoverConfig -> Bool
Prelude.Eq, ReadPrec [UpdateFailoverConfig]
ReadPrec UpdateFailoverConfig
Int -> ReadS UpdateFailoverConfig
ReadS [UpdateFailoverConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateFailoverConfig]
$creadListPrec :: ReadPrec [UpdateFailoverConfig]
readPrec :: ReadPrec UpdateFailoverConfig
$creadPrec :: ReadPrec UpdateFailoverConfig
readList :: ReadS [UpdateFailoverConfig]
$creadList :: ReadS [UpdateFailoverConfig]
readsPrec :: Int -> ReadS UpdateFailoverConfig
$creadsPrec :: Int -> ReadS UpdateFailoverConfig
Prelude.Read, Int -> UpdateFailoverConfig -> ShowS
[UpdateFailoverConfig] -> ShowS
UpdateFailoverConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateFailoverConfig] -> ShowS
$cshowList :: [UpdateFailoverConfig] -> ShowS
show :: UpdateFailoverConfig -> String
$cshow :: UpdateFailoverConfig -> String
showsPrec :: Int -> UpdateFailoverConfig -> ShowS
$cshowsPrec :: Int -> UpdateFailoverConfig -> ShowS
Prelude.Show, forall x. Rep UpdateFailoverConfig x -> UpdateFailoverConfig
forall x. UpdateFailoverConfig -> Rep UpdateFailoverConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateFailoverConfig x -> UpdateFailoverConfig
$cfrom :: forall x. UpdateFailoverConfig -> Rep UpdateFailoverConfig x
Prelude.Generic)
newUpdateFailoverConfig ::
UpdateFailoverConfig
newUpdateFailoverConfig :: UpdateFailoverConfig
newUpdateFailoverConfig =
UpdateFailoverConfig'
{ $sel:failoverMode:UpdateFailoverConfig' :: Maybe FailoverMode
failoverMode =
forall a. Maybe a
Prelude.Nothing,
$sel:recoveryWindow:UpdateFailoverConfig' :: Maybe Int
recoveryWindow = forall a. Maybe a
Prelude.Nothing,
$sel:sourcePriority:UpdateFailoverConfig' :: Maybe SourcePriority
sourcePriority = forall a. Maybe a
Prelude.Nothing,
$sel:state:UpdateFailoverConfig' :: Maybe State
state = forall a. Maybe a
Prelude.Nothing
}
updateFailoverConfig_failoverMode :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe FailoverMode)
updateFailoverConfig_failoverMode :: Lens' UpdateFailoverConfig (Maybe FailoverMode)
updateFailoverConfig_failoverMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFailoverConfig' {Maybe FailoverMode
failoverMode :: Maybe FailoverMode
$sel:failoverMode:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe FailoverMode
failoverMode} -> Maybe FailoverMode
failoverMode) (\s :: UpdateFailoverConfig
s@UpdateFailoverConfig' {} Maybe FailoverMode
a -> UpdateFailoverConfig
s {$sel:failoverMode:UpdateFailoverConfig' :: Maybe FailoverMode
failoverMode = Maybe FailoverMode
a} :: UpdateFailoverConfig)
updateFailoverConfig_recoveryWindow :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe Prelude.Int)
updateFailoverConfig_recoveryWindow :: Lens' UpdateFailoverConfig (Maybe Int)
updateFailoverConfig_recoveryWindow = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFailoverConfig' {Maybe Int
recoveryWindow :: Maybe Int
$sel:recoveryWindow:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe Int
recoveryWindow} -> Maybe Int
recoveryWindow) (\s :: UpdateFailoverConfig
s@UpdateFailoverConfig' {} Maybe Int
a -> UpdateFailoverConfig
s {$sel:recoveryWindow:UpdateFailoverConfig' :: Maybe Int
recoveryWindow = Maybe Int
a} :: UpdateFailoverConfig)
updateFailoverConfig_sourcePriority :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe SourcePriority)
updateFailoverConfig_sourcePriority :: Lens' UpdateFailoverConfig (Maybe SourcePriority)
updateFailoverConfig_sourcePriority = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFailoverConfig' {Maybe SourcePriority
sourcePriority :: Maybe SourcePriority
$sel:sourcePriority:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe SourcePriority
sourcePriority} -> Maybe SourcePriority
sourcePriority) (\s :: UpdateFailoverConfig
s@UpdateFailoverConfig' {} Maybe SourcePriority
a -> UpdateFailoverConfig
s {$sel:sourcePriority:UpdateFailoverConfig' :: Maybe SourcePriority
sourcePriority = Maybe SourcePriority
a} :: UpdateFailoverConfig)
updateFailoverConfig_state :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe State)
updateFailoverConfig_state :: Lens' UpdateFailoverConfig (Maybe State)
updateFailoverConfig_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFailoverConfig' {Maybe State
state :: Maybe State
$sel:state:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe State
state} -> Maybe State
state) (\s :: UpdateFailoverConfig
s@UpdateFailoverConfig' {} Maybe State
a -> UpdateFailoverConfig
s {$sel:state:UpdateFailoverConfig' :: Maybe State
state = Maybe State
a} :: UpdateFailoverConfig)
instance Prelude.Hashable UpdateFailoverConfig where
hashWithSalt :: Int -> UpdateFailoverConfig -> Int
hashWithSalt Int
_salt UpdateFailoverConfig' {Maybe Int
Maybe FailoverMode
Maybe SourcePriority
Maybe State
state :: Maybe State
sourcePriority :: Maybe SourcePriority
recoveryWindow :: Maybe Int
failoverMode :: Maybe FailoverMode
$sel:state:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe State
$sel:sourcePriority:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe SourcePriority
$sel:recoveryWindow:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe Int
$sel:failoverMode:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe FailoverMode
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FailoverMode
failoverMode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
recoveryWindow
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SourcePriority
sourcePriority
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe State
state
instance Prelude.NFData UpdateFailoverConfig where
rnf :: UpdateFailoverConfig -> ()
rnf UpdateFailoverConfig' {Maybe Int
Maybe FailoverMode
Maybe SourcePriority
Maybe State
state :: Maybe State
sourcePriority :: Maybe SourcePriority
recoveryWindow :: Maybe Int
failoverMode :: Maybe FailoverMode
$sel:state:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe State
$sel:sourcePriority:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe SourcePriority
$sel:recoveryWindow:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe Int
$sel:failoverMode:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe FailoverMode
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe FailoverMode
failoverMode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
recoveryWindow
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SourcePriority
sourcePriority
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe State
state
instance Data.ToJSON UpdateFailoverConfig where
toJSON :: UpdateFailoverConfig -> Value
toJSON UpdateFailoverConfig' {Maybe Int
Maybe FailoverMode
Maybe SourcePriority
Maybe State
state :: Maybe State
sourcePriority :: Maybe SourcePriority
recoveryWindow :: Maybe Int
failoverMode :: Maybe FailoverMode
$sel:state:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe State
$sel:sourcePriority:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe SourcePriority
$sel:recoveryWindow:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe Int
$sel:failoverMode:UpdateFailoverConfig' :: UpdateFailoverConfig -> Maybe FailoverMode
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"failoverMode" 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 FailoverMode
failoverMode,
(Key
"recoveryWindow" 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
recoveryWindow,
(Key
"sourcePriority" 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 SourcePriority
sourcePriority,
(Key
"state" 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 State
state
]
)