{-# 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.CodeDeploy.Types.InstanceTarget where
import Amazonka.CodeDeploy.Types.LifecycleEvent
import Amazonka.CodeDeploy.Types.TargetLabel
import Amazonka.CodeDeploy.Types.TargetStatus
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 InstanceTarget = InstanceTarget'
{
InstanceTarget -> Maybe Text
deploymentId :: Prelude.Maybe Prelude.Text,
InstanceTarget -> Maybe TargetLabel
instanceLabel :: Prelude.Maybe TargetLabel,
InstanceTarget -> Maybe POSIX
lastUpdatedAt :: Prelude.Maybe Data.POSIX,
InstanceTarget -> Maybe [LifecycleEvent]
lifecycleEvents :: Prelude.Maybe [LifecycleEvent],
InstanceTarget -> Maybe TargetStatus
status :: Prelude.Maybe TargetStatus,
InstanceTarget -> Maybe Text
targetArn :: Prelude.Maybe Prelude.Text,
InstanceTarget -> Maybe Text
targetId :: Prelude.Maybe Prelude.Text
}
deriving (InstanceTarget -> InstanceTarget -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: InstanceTarget -> InstanceTarget -> Bool
$c/= :: InstanceTarget -> InstanceTarget -> Bool
== :: InstanceTarget -> InstanceTarget -> Bool
$c== :: InstanceTarget -> InstanceTarget -> Bool
Prelude.Eq, ReadPrec [InstanceTarget]
ReadPrec InstanceTarget
Int -> ReadS InstanceTarget
ReadS [InstanceTarget]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [InstanceTarget]
$creadListPrec :: ReadPrec [InstanceTarget]
readPrec :: ReadPrec InstanceTarget
$creadPrec :: ReadPrec InstanceTarget
readList :: ReadS [InstanceTarget]
$creadList :: ReadS [InstanceTarget]
readsPrec :: Int -> ReadS InstanceTarget
$creadsPrec :: Int -> ReadS InstanceTarget
Prelude.Read, Int -> InstanceTarget -> ShowS
[InstanceTarget] -> ShowS
InstanceTarget -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InstanceTarget] -> ShowS
$cshowList :: [InstanceTarget] -> ShowS
show :: InstanceTarget -> String
$cshow :: InstanceTarget -> String
showsPrec :: Int -> InstanceTarget -> ShowS
$cshowsPrec :: Int -> InstanceTarget -> ShowS
Prelude.Show, forall x. Rep InstanceTarget x -> InstanceTarget
forall x. InstanceTarget -> Rep InstanceTarget x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep InstanceTarget x -> InstanceTarget
$cfrom :: forall x. InstanceTarget -> Rep InstanceTarget x
Prelude.Generic)
newInstanceTarget ::
InstanceTarget
newInstanceTarget :: InstanceTarget
newInstanceTarget =
InstanceTarget'
{ $sel:deploymentId:InstanceTarget' :: Maybe Text
deploymentId = forall a. Maybe a
Prelude.Nothing,
$sel:instanceLabel:InstanceTarget' :: Maybe TargetLabel
instanceLabel = forall a. Maybe a
Prelude.Nothing,
$sel:lastUpdatedAt:InstanceTarget' :: Maybe POSIX
lastUpdatedAt = forall a. Maybe a
Prelude.Nothing,
$sel:lifecycleEvents:InstanceTarget' :: Maybe [LifecycleEvent]
lifecycleEvents = forall a. Maybe a
Prelude.Nothing,
$sel:status:InstanceTarget' :: Maybe TargetStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:targetArn:InstanceTarget' :: Maybe Text
targetArn = forall a. Maybe a
Prelude.Nothing,
$sel:targetId:InstanceTarget' :: Maybe Text
targetId = forall a. Maybe a
Prelude.Nothing
}
instanceTarget_deploymentId :: Lens.Lens' InstanceTarget (Prelude.Maybe Prelude.Text)
instanceTarget_deploymentId :: Lens' InstanceTarget (Maybe Text)
instanceTarget_deploymentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceTarget' {Maybe Text
deploymentId :: Maybe Text
$sel:deploymentId:InstanceTarget' :: InstanceTarget -> Maybe Text
deploymentId} -> Maybe Text
deploymentId) (\s :: InstanceTarget
s@InstanceTarget' {} Maybe Text
a -> InstanceTarget
s {$sel:deploymentId:InstanceTarget' :: Maybe Text
deploymentId = Maybe Text
a} :: InstanceTarget)
instanceTarget_instanceLabel :: Lens.Lens' InstanceTarget (Prelude.Maybe TargetLabel)
instanceTarget_instanceLabel :: Lens' InstanceTarget (Maybe TargetLabel)
instanceTarget_instanceLabel = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceTarget' {Maybe TargetLabel
instanceLabel :: Maybe TargetLabel
$sel:instanceLabel:InstanceTarget' :: InstanceTarget -> Maybe TargetLabel
instanceLabel} -> Maybe TargetLabel
instanceLabel) (\s :: InstanceTarget
s@InstanceTarget' {} Maybe TargetLabel
a -> InstanceTarget
s {$sel:instanceLabel:InstanceTarget' :: Maybe TargetLabel
instanceLabel = Maybe TargetLabel
a} :: InstanceTarget)
instanceTarget_lastUpdatedAt :: Lens.Lens' InstanceTarget (Prelude.Maybe Prelude.UTCTime)
instanceTarget_lastUpdatedAt :: Lens' InstanceTarget (Maybe UTCTime)
instanceTarget_lastUpdatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceTarget' {Maybe POSIX
lastUpdatedAt :: Maybe POSIX
$sel:lastUpdatedAt:InstanceTarget' :: InstanceTarget -> Maybe POSIX
lastUpdatedAt} -> Maybe POSIX
lastUpdatedAt) (\s :: InstanceTarget
s@InstanceTarget' {} Maybe POSIX
a -> InstanceTarget
s {$sel:lastUpdatedAt:InstanceTarget' :: Maybe POSIX
lastUpdatedAt = Maybe POSIX
a} :: InstanceTarget) 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
instanceTarget_lifecycleEvents :: Lens.Lens' InstanceTarget (Prelude.Maybe [LifecycleEvent])
instanceTarget_lifecycleEvents :: Lens' InstanceTarget (Maybe [LifecycleEvent])
instanceTarget_lifecycleEvents = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceTarget' {Maybe [LifecycleEvent]
lifecycleEvents :: Maybe [LifecycleEvent]
$sel:lifecycleEvents:InstanceTarget' :: InstanceTarget -> Maybe [LifecycleEvent]
lifecycleEvents} -> Maybe [LifecycleEvent]
lifecycleEvents) (\s :: InstanceTarget
s@InstanceTarget' {} Maybe [LifecycleEvent]
a -> InstanceTarget
s {$sel:lifecycleEvents:InstanceTarget' :: Maybe [LifecycleEvent]
lifecycleEvents = Maybe [LifecycleEvent]
a} :: InstanceTarget) 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
instanceTarget_status :: Lens.Lens' InstanceTarget (Prelude.Maybe TargetStatus)
instanceTarget_status :: Lens' InstanceTarget (Maybe TargetStatus)
instanceTarget_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceTarget' {Maybe TargetStatus
status :: Maybe TargetStatus
$sel:status:InstanceTarget' :: InstanceTarget -> Maybe TargetStatus
status} -> Maybe TargetStatus
status) (\s :: InstanceTarget
s@InstanceTarget' {} Maybe TargetStatus
a -> InstanceTarget
s {$sel:status:InstanceTarget' :: Maybe TargetStatus
status = Maybe TargetStatus
a} :: InstanceTarget)
instanceTarget_targetArn :: Lens.Lens' InstanceTarget (Prelude.Maybe Prelude.Text)
instanceTarget_targetArn :: Lens' InstanceTarget (Maybe Text)
instanceTarget_targetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceTarget' {Maybe Text
targetArn :: Maybe Text
$sel:targetArn:InstanceTarget' :: InstanceTarget -> Maybe Text
targetArn} -> Maybe Text
targetArn) (\s :: InstanceTarget
s@InstanceTarget' {} Maybe Text
a -> InstanceTarget
s {$sel:targetArn:InstanceTarget' :: Maybe Text
targetArn = Maybe Text
a} :: InstanceTarget)
instanceTarget_targetId :: Lens.Lens' InstanceTarget (Prelude.Maybe Prelude.Text)
instanceTarget_targetId :: Lens' InstanceTarget (Maybe Text)
instanceTarget_targetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceTarget' {Maybe Text
targetId :: Maybe Text
$sel:targetId:InstanceTarget' :: InstanceTarget -> Maybe Text
targetId} -> Maybe Text
targetId) (\s :: InstanceTarget
s@InstanceTarget' {} Maybe Text
a -> InstanceTarget
s {$sel:targetId:InstanceTarget' :: Maybe Text
targetId = Maybe Text
a} :: InstanceTarget)
instance Data.FromJSON InstanceTarget where
parseJSON :: Value -> Parser InstanceTarget
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"InstanceTarget"
( \Object
x ->
Maybe Text
-> Maybe TargetLabel
-> Maybe POSIX
-> Maybe [LifecycleEvent]
-> Maybe TargetStatus
-> Maybe Text
-> Maybe Text
-> InstanceTarget
InstanceTarget'
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
"deploymentId")
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
"instanceLabel")
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
"lastUpdatedAt")
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
"lifecycleEvents"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
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
"status")
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
"targetArn")
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
"targetId")
)
instance Prelude.Hashable InstanceTarget where
hashWithSalt :: Int -> InstanceTarget -> Int
hashWithSalt Int
_salt InstanceTarget' {Maybe [LifecycleEvent]
Maybe Text
Maybe POSIX
Maybe TargetLabel
Maybe TargetStatus
targetId :: Maybe Text
targetArn :: Maybe Text
status :: Maybe TargetStatus
lifecycleEvents :: Maybe [LifecycleEvent]
lastUpdatedAt :: Maybe POSIX
instanceLabel :: Maybe TargetLabel
deploymentId :: Maybe Text
$sel:targetId:InstanceTarget' :: InstanceTarget -> Maybe Text
$sel:targetArn:InstanceTarget' :: InstanceTarget -> Maybe Text
$sel:status:InstanceTarget' :: InstanceTarget -> Maybe TargetStatus
$sel:lifecycleEvents:InstanceTarget' :: InstanceTarget -> Maybe [LifecycleEvent]
$sel:lastUpdatedAt:InstanceTarget' :: InstanceTarget -> Maybe POSIX
$sel:instanceLabel:InstanceTarget' :: InstanceTarget -> Maybe TargetLabel
$sel:deploymentId:InstanceTarget' :: InstanceTarget -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
deploymentId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TargetLabel
instanceLabel
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastUpdatedAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [LifecycleEvent]
lifecycleEvents
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TargetStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
targetArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
targetId
instance Prelude.NFData InstanceTarget where
rnf :: InstanceTarget -> ()
rnf InstanceTarget' {Maybe [LifecycleEvent]
Maybe Text
Maybe POSIX
Maybe TargetLabel
Maybe TargetStatus
targetId :: Maybe Text
targetArn :: Maybe Text
status :: Maybe TargetStatus
lifecycleEvents :: Maybe [LifecycleEvent]
lastUpdatedAt :: Maybe POSIX
instanceLabel :: Maybe TargetLabel
deploymentId :: Maybe Text
$sel:targetId:InstanceTarget' :: InstanceTarget -> Maybe Text
$sel:targetArn:InstanceTarget' :: InstanceTarget -> Maybe Text
$sel:status:InstanceTarget' :: InstanceTarget -> Maybe TargetStatus
$sel:lifecycleEvents:InstanceTarget' :: InstanceTarget -> Maybe [LifecycleEvent]
$sel:lastUpdatedAt:InstanceTarget' :: InstanceTarget -> Maybe POSIX
$sel:instanceLabel:InstanceTarget' :: InstanceTarget -> Maybe TargetLabel
$sel:deploymentId:InstanceTarget' :: InstanceTarget -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
deploymentId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TargetLabel
instanceLabel
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [LifecycleEvent]
lifecycleEvents
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TargetStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetId