{-# 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.EMR.Types.InstanceFleetStatus where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EMR.Types.InstanceFleetState
import Amazonka.EMR.Types.InstanceFleetStateChangeReason
import Amazonka.EMR.Types.InstanceFleetTimeline
import qualified Amazonka.Prelude as Prelude
data InstanceFleetStatus = InstanceFleetStatus'
{
InstanceFleetStatus -> Maybe InstanceFleetState
state :: Prelude.Maybe InstanceFleetState,
InstanceFleetStatus -> Maybe InstanceFleetStateChangeReason
stateChangeReason :: Prelude.Maybe InstanceFleetStateChangeReason,
InstanceFleetStatus -> Maybe InstanceFleetTimeline
timeline :: Prelude.Maybe InstanceFleetTimeline
}
deriving (InstanceFleetStatus -> InstanceFleetStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: InstanceFleetStatus -> InstanceFleetStatus -> Bool
$c/= :: InstanceFleetStatus -> InstanceFleetStatus -> Bool
== :: InstanceFleetStatus -> InstanceFleetStatus -> Bool
$c== :: InstanceFleetStatus -> InstanceFleetStatus -> Bool
Prelude.Eq, ReadPrec [InstanceFleetStatus]
ReadPrec InstanceFleetStatus
Int -> ReadS InstanceFleetStatus
ReadS [InstanceFleetStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [InstanceFleetStatus]
$creadListPrec :: ReadPrec [InstanceFleetStatus]
readPrec :: ReadPrec InstanceFleetStatus
$creadPrec :: ReadPrec InstanceFleetStatus
readList :: ReadS [InstanceFleetStatus]
$creadList :: ReadS [InstanceFleetStatus]
readsPrec :: Int -> ReadS InstanceFleetStatus
$creadsPrec :: Int -> ReadS InstanceFleetStatus
Prelude.Read, Int -> InstanceFleetStatus -> ShowS
[InstanceFleetStatus] -> ShowS
InstanceFleetStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InstanceFleetStatus] -> ShowS
$cshowList :: [InstanceFleetStatus] -> ShowS
show :: InstanceFleetStatus -> String
$cshow :: InstanceFleetStatus -> String
showsPrec :: Int -> InstanceFleetStatus -> ShowS
$cshowsPrec :: Int -> InstanceFleetStatus -> ShowS
Prelude.Show, forall x. Rep InstanceFleetStatus x -> InstanceFleetStatus
forall x. InstanceFleetStatus -> Rep InstanceFleetStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep InstanceFleetStatus x -> InstanceFleetStatus
$cfrom :: forall x. InstanceFleetStatus -> Rep InstanceFleetStatus x
Prelude.Generic)
newInstanceFleetStatus ::
InstanceFleetStatus
newInstanceFleetStatus :: InstanceFleetStatus
newInstanceFleetStatus =
InstanceFleetStatus'
{ $sel:state:InstanceFleetStatus' :: Maybe InstanceFleetState
state = forall a. Maybe a
Prelude.Nothing,
$sel:stateChangeReason:InstanceFleetStatus' :: Maybe InstanceFleetStateChangeReason
stateChangeReason = forall a. Maybe a
Prelude.Nothing,
$sel:timeline:InstanceFleetStatus' :: Maybe InstanceFleetTimeline
timeline = forall a. Maybe a
Prelude.Nothing
}
instanceFleetStatus_state :: Lens.Lens' InstanceFleetStatus (Prelude.Maybe InstanceFleetState)
instanceFleetStatus_state :: Lens' InstanceFleetStatus (Maybe InstanceFleetState)
instanceFleetStatus_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceFleetStatus' {Maybe InstanceFleetState
state :: Maybe InstanceFleetState
$sel:state:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetState
state} -> Maybe InstanceFleetState
state) (\s :: InstanceFleetStatus
s@InstanceFleetStatus' {} Maybe InstanceFleetState
a -> InstanceFleetStatus
s {$sel:state:InstanceFleetStatus' :: Maybe InstanceFleetState
state = Maybe InstanceFleetState
a} :: InstanceFleetStatus)
instanceFleetStatus_stateChangeReason :: Lens.Lens' InstanceFleetStatus (Prelude.Maybe InstanceFleetStateChangeReason)
instanceFleetStatus_stateChangeReason :: Lens' InstanceFleetStatus (Maybe InstanceFleetStateChangeReason)
instanceFleetStatus_stateChangeReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceFleetStatus' {Maybe InstanceFleetStateChangeReason
stateChangeReason :: Maybe InstanceFleetStateChangeReason
$sel:stateChangeReason:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetStateChangeReason
stateChangeReason} -> Maybe InstanceFleetStateChangeReason
stateChangeReason) (\s :: InstanceFleetStatus
s@InstanceFleetStatus' {} Maybe InstanceFleetStateChangeReason
a -> InstanceFleetStatus
s {$sel:stateChangeReason:InstanceFleetStatus' :: Maybe InstanceFleetStateChangeReason
stateChangeReason = Maybe InstanceFleetStateChangeReason
a} :: InstanceFleetStatus)
instanceFleetStatus_timeline :: Lens.Lens' InstanceFleetStatus (Prelude.Maybe InstanceFleetTimeline)
instanceFleetStatus_timeline :: Lens' InstanceFleetStatus (Maybe InstanceFleetTimeline)
instanceFleetStatus_timeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceFleetStatus' {Maybe InstanceFleetTimeline
timeline :: Maybe InstanceFleetTimeline
$sel:timeline:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetTimeline
timeline} -> Maybe InstanceFleetTimeline
timeline) (\s :: InstanceFleetStatus
s@InstanceFleetStatus' {} Maybe InstanceFleetTimeline
a -> InstanceFleetStatus
s {$sel:timeline:InstanceFleetStatus' :: Maybe InstanceFleetTimeline
timeline = Maybe InstanceFleetTimeline
a} :: InstanceFleetStatus)
instance Data.FromJSON InstanceFleetStatus where
parseJSON :: Value -> Parser InstanceFleetStatus
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"InstanceFleetStatus"
( \Object
x ->
Maybe InstanceFleetState
-> Maybe InstanceFleetStateChangeReason
-> Maybe InstanceFleetTimeline
-> InstanceFleetStatus
InstanceFleetStatus'
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
"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
"StateChangeReason")
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
"Timeline")
)
instance Prelude.Hashable InstanceFleetStatus where
hashWithSalt :: Int -> InstanceFleetStatus -> Int
hashWithSalt Int
_salt InstanceFleetStatus' {Maybe InstanceFleetState
Maybe InstanceFleetStateChangeReason
Maybe InstanceFleetTimeline
timeline :: Maybe InstanceFleetTimeline
stateChangeReason :: Maybe InstanceFleetStateChangeReason
state :: Maybe InstanceFleetState
$sel:timeline:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetTimeline
$sel:stateChangeReason:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetStateChangeReason
$sel:state:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetState
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InstanceFleetState
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InstanceFleetStateChangeReason
stateChangeReason
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InstanceFleetTimeline
timeline
instance Prelude.NFData InstanceFleetStatus where
rnf :: InstanceFleetStatus -> ()
rnf InstanceFleetStatus' {Maybe InstanceFleetState
Maybe InstanceFleetStateChangeReason
Maybe InstanceFleetTimeline
timeline :: Maybe InstanceFleetTimeline
stateChangeReason :: Maybe InstanceFleetStateChangeReason
state :: Maybe InstanceFleetState
$sel:timeline:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetTimeline
$sel:stateChangeReason:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetStateChangeReason
$sel:state:InstanceFleetStatus' :: InstanceFleetStatus -> Maybe InstanceFleetState
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe InstanceFleetState
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InstanceFleetStateChangeReason
stateChangeReason
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InstanceFleetTimeline
timeline