{-# 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.Config.Types.RemediationExecutionStatus where
import Amazonka.Config.Types.RemediationExecutionState
import Amazonka.Config.Types.RemediationExecutionStep
import Amazonka.Config.Types.ResourceKey
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 RemediationExecutionStatus = RemediationExecutionStatus'
{
RemediationExecutionStatus -> Maybe POSIX
invocationTime :: Prelude.Maybe Data.POSIX,
RemediationExecutionStatus -> Maybe POSIX
lastUpdatedTime :: Prelude.Maybe Data.POSIX,
RemediationExecutionStatus -> Maybe ResourceKey
resourceKey :: Prelude.Maybe ResourceKey,
RemediationExecutionStatus -> Maybe RemediationExecutionState
state :: Prelude.Maybe RemediationExecutionState,
RemediationExecutionStatus -> Maybe [RemediationExecutionStep]
stepDetails :: Prelude.Maybe [RemediationExecutionStep]
}
deriving (RemediationExecutionStatus -> RemediationExecutionStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemediationExecutionStatus -> RemediationExecutionStatus -> Bool
$c/= :: RemediationExecutionStatus -> RemediationExecutionStatus -> Bool
== :: RemediationExecutionStatus -> RemediationExecutionStatus -> Bool
$c== :: RemediationExecutionStatus -> RemediationExecutionStatus -> Bool
Prelude.Eq, ReadPrec [RemediationExecutionStatus]
ReadPrec RemediationExecutionStatus
Int -> ReadS RemediationExecutionStatus
ReadS [RemediationExecutionStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemediationExecutionStatus]
$creadListPrec :: ReadPrec [RemediationExecutionStatus]
readPrec :: ReadPrec RemediationExecutionStatus
$creadPrec :: ReadPrec RemediationExecutionStatus
readList :: ReadS [RemediationExecutionStatus]
$creadList :: ReadS [RemediationExecutionStatus]
readsPrec :: Int -> ReadS RemediationExecutionStatus
$creadsPrec :: Int -> ReadS RemediationExecutionStatus
Prelude.Read, Int -> RemediationExecutionStatus -> ShowS
[RemediationExecutionStatus] -> ShowS
RemediationExecutionStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemediationExecutionStatus] -> ShowS
$cshowList :: [RemediationExecutionStatus] -> ShowS
show :: RemediationExecutionStatus -> String
$cshow :: RemediationExecutionStatus -> String
showsPrec :: Int -> RemediationExecutionStatus -> ShowS
$cshowsPrec :: Int -> RemediationExecutionStatus -> ShowS
Prelude.Show, forall x.
Rep RemediationExecutionStatus x -> RemediationExecutionStatus
forall x.
RemediationExecutionStatus -> Rep RemediationExecutionStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RemediationExecutionStatus x -> RemediationExecutionStatus
$cfrom :: forall x.
RemediationExecutionStatus -> Rep RemediationExecutionStatus x
Prelude.Generic)
newRemediationExecutionStatus ::
RemediationExecutionStatus
newRemediationExecutionStatus :: RemediationExecutionStatus
newRemediationExecutionStatus =
RemediationExecutionStatus'
{ $sel:invocationTime:RemediationExecutionStatus' :: Maybe POSIX
invocationTime =
forall a. Maybe a
Prelude.Nothing,
$sel:lastUpdatedTime:RemediationExecutionStatus' :: Maybe POSIX
lastUpdatedTime = forall a. Maybe a
Prelude.Nothing,
$sel:resourceKey:RemediationExecutionStatus' :: Maybe ResourceKey
resourceKey = forall a. Maybe a
Prelude.Nothing,
$sel:state:RemediationExecutionStatus' :: Maybe RemediationExecutionState
state = forall a. Maybe a
Prelude.Nothing,
$sel:stepDetails:RemediationExecutionStatus' :: Maybe [RemediationExecutionStep]
stepDetails = forall a. Maybe a
Prelude.Nothing
}
remediationExecutionStatus_invocationTime :: Lens.Lens' RemediationExecutionStatus (Prelude.Maybe Prelude.UTCTime)
remediationExecutionStatus_invocationTime :: Lens' RemediationExecutionStatus (Maybe UTCTime)
remediationExecutionStatus_invocationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemediationExecutionStatus' {Maybe POSIX
invocationTime :: Maybe POSIX
$sel:invocationTime:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe POSIX
invocationTime} -> Maybe POSIX
invocationTime) (\s :: RemediationExecutionStatus
s@RemediationExecutionStatus' {} Maybe POSIX
a -> RemediationExecutionStatus
s {$sel:invocationTime:RemediationExecutionStatus' :: Maybe POSIX
invocationTime = Maybe POSIX
a} :: RemediationExecutionStatus) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
remediationExecutionStatus_lastUpdatedTime :: Lens.Lens' RemediationExecutionStatus (Prelude.Maybe Prelude.UTCTime)
remediationExecutionStatus_lastUpdatedTime :: Lens' RemediationExecutionStatus (Maybe UTCTime)
remediationExecutionStatus_lastUpdatedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemediationExecutionStatus' {Maybe POSIX
lastUpdatedTime :: Maybe POSIX
$sel:lastUpdatedTime:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe POSIX
lastUpdatedTime} -> Maybe POSIX
lastUpdatedTime) (\s :: RemediationExecutionStatus
s@RemediationExecutionStatus' {} Maybe POSIX
a -> RemediationExecutionStatus
s {$sel:lastUpdatedTime:RemediationExecutionStatus' :: Maybe POSIX
lastUpdatedTime = Maybe POSIX
a} :: RemediationExecutionStatus) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
remediationExecutionStatus_resourceKey :: Lens.Lens' RemediationExecutionStatus (Prelude.Maybe ResourceKey)
remediationExecutionStatus_resourceKey :: Lens' RemediationExecutionStatus (Maybe ResourceKey)
remediationExecutionStatus_resourceKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemediationExecutionStatus' {Maybe ResourceKey
resourceKey :: Maybe ResourceKey
$sel:resourceKey:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe ResourceKey
resourceKey} -> Maybe ResourceKey
resourceKey) (\s :: RemediationExecutionStatus
s@RemediationExecutionStatus' {} Maybe ResourceKey
a -> RemediationExecutionStatus
s {$sel:resourceKey:RemediationExecutionStatus' :: Maybe ResourceKey
resourceKey = Maybe ResourceKey
a} :: RemediationExecutionStatus)
remediationExecutionStatus_state :: Lens.Lens' RemediationExecutionStatus (Prelude.Maybe RemediationExecutionState)
remediationExecutionStatus_state :: Lens' RemediationExecutionStatus (Maybe RemediationExecutionState)
remediationExecutionStatus_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemediationExecutionStatus' {Maybe RemediationExecutionState
state :: Maybe RemediationExecutionState
$sel:state:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe RemediationExecutionState
state} -> Maybe RemediationExecutionState
state) (\s :: RemediationExecutionStatus
s@RemediationExecutionStatus' {} Maybe RemediationExecutionState
a -> RemediationExecutionStatus
s {$sel:state:RemediationExecutionStatus' :: Maybe RemediationExecutionState
state = Maybe RemediationExecutionState
a} :: RemediationExecutionStatus)
remediationExecutionStatus_stepDetails :: Lens.Lens' RemediationExecutionStatus (Prelude.Maybe [RemediationExecutionStep])
remediationExecutionStatus_stepDetails :: Lens' RemediationExecutionStatus (Maybe [RemediationExecutionStep])
remediationExecutionStatus_stepDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemediationExecutionStatus' {Maybe [RemediationExecutionStep]
stepDetails :: Maybe [RemediationExecutionStep]
$sel:stepDetails:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe [RemediationExecutionStep]
stepDetails} -> Maybe [RemediationExecutionStep]
stepDetails) (\s :: RemediationExecutionStatus
s@RemediationExecutionStatus' {} Maybe [RemediationExecutionStep]
a -> RemediationExecutionStatus
s {$sel:stepDetails:RemediationExecutionStatus' :: Maybe [RemediationExecutionStep]
stepDetails = Maybe [RemediationExecutionStep]
a} :: RemediationExecutionStatus) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Data.FromJSON RemediationExecutionStatus where
parseJSON :: Value -> Parser RemediationExecutionStatus
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"RemediationExecutionStatus"
( \Object
x ->
Maybe POSIX
-> Maybe POSIX
-> Maybe ResourceKey
-> Maybe RemediationExecutionState
-> Maybe [RemediationExecutionStep]
-> RemediationExecutionStatus
RemediationExecutionStatus'
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
"InvocationTime")
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
"LastUpdatedTime")
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
"ResourceKey")
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
"State")
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
"StepDetails" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable RemediationExecutionStatus where
hashWithSalt :: Int -> RemediationExecutionStatus -> Int
hashWithSalt Int
_salt RemediationExecutionStatus' {Maybe [RemediationExecutionStep]
Maybe POSIX
Maybe RemediationExecutionState
Maybe ResourceKey
stepDetails :: Maybe [RemediationExecutionStep]
state :: Maybe RemediationExecutionState
resourceKey :: Maybe ResourceKey
lastUpdatedTime :: Maybe POSIX
invocationTime :: Maybe POSIX
$sel:stepDetails:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe [RemediationExecutionStep]
$sel:state:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe RemediationExecutionState
$sel:resourceKey:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe ResourceKey
$sel:lastUpdatedTime:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe POSIX
$sel:invocationTime:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe POSIX
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
invocationTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastUpdatedTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceKey
resourceKey
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RemediationExecutionState
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [RemediationExecutionStep]
stepDetails
instance Prelude.NFData RemediationExecutionStatus where
rnf :: RemediationExecutionStatus -> ()
rnf RemediationExecutionStatus' {Maybe [RemediationExecutionStep]
Maybe POSIX
Maybe RemediationExecutionState
Maybe ResourceKey
stepDetails :: Maybe [RemediationExecutionStep]
state :: Maybe RemediationExecutionState
resourceKey :: Maybe ResourceKey
lastUpdatedTime :: Maybe POSIX
invocationTime :: Maybe POSIX
$sel:stepDetails:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe [RemediationExecutionStep]
$sel:state:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe RemediationExecutionState
$sel:resourceKey:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe ResourceKey
$sel:lastUpdatedTime:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe POSIX
$sel:invocationTime:RemediationExecutionStatus' :: RemediationExecutionStatus -> Maybe POSIX
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
invocationTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceKey
resourceKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RemediationExecutionState
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [RemediationExecutionStep]
stepDetails