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