{-# 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.GuardDuty.Types.EcsTaskDetails where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GuardDuty.Types.Container
import Amazonka.GuardDuty.Types.Tag
import Amazonka.GuardDuty.Types.Volume
import qualified Amazonka.Prelude as Prelude
data EcsTaskDetails = EcsTaskDetails'
{
EcsTaskDetails -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
EcsTaskDetails -> Maybe [Container]
containers :: Prelude.Maybe [Container],
EcsTaskDetails -> Maybe Text
definitionArn :: Prelude.Maybe Prelude.Text,
EcsTaskDetails -> Maybe Text
group' :: Prelude.Maybe Prelude.Text,
EcsTaskDetails -> Maybe POSIX
startedAt :: Prelude.Maybe Data.POSIX,
EcsTaskDetails -> Maybe Text
startedBy :: Prelude.Maybe Prelude.Text,
EcsTaskDetails -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
EcsTaskDetails -> Maybe POSIX
taskCreatedAt :: Prelude.Maybe Data.POSIX,
EcsTaskDetails -> Maybe Text
version :: Prelude.Maybe Prelude.Text,
EcsTaskDetails -> Maybe [Volume]
volumes :: Prelude.Maybe [Volume]
}
deriving (EcsTaskDetails -> EcsTaskDetails -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EcsTaskDetails -> EcsTaskDetails -> Bool
$c/= :: EcsTaskDetails -> EcsTaskDetails -> Bool
== :: EcsTaskDetails -> EcsTaskDetails -> Bool
$c== :: EcsTaskDetails -> EcsTaskDetails -> Bool
Prelude.Eq, ReadPrec [EcsTaskDetails]
ReadPrec EcsTaskDetails
Int -> ReadS EcsTaskDetails
ReadS [EcsTaskDetails]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EcsTaskDetails]
$creadListPrec :: ReadPrec [EcsTaskDetails]
readPrec :: ReadPrec EcsTaskDetails
$creadPrec :: ReadPrec EcsTaskDetails
readList :: ReadS [EcsTaskDetails]
$creadList :: ReadS [EcsTaskDetails]
readsPrec :: Int -> ReadS EcsTaskDetails
$creadsPrec :: Int -> ReadS EcsTaskDetails
Prelude.Read, Int -> EcsTaskDetails -> ShowS
[EcsTaskDetails] -> ShowS
EcsTaskDetails -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EcsTaskDetails] -> ShowS
$cshowList :: [EcsTaskDetails] -> ShowS
show :: EcsTaskDetails -> String
$cshow :: EcsTaskDetails -> String
showsPrec :: Int -> EcsTaskDetails -> ShowS
$cshowsPrec :: Int -> EcsTaskDetails -> ShowS
Prelude.Show, forall x. Rep EcsTaskDetails x -> EcsTaskDetails
forall x. EcsTaskDetails -> Rep EcsTaskDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep EcsTaskDetails x -> EcsTaskDetails
$cfrom :: forall x. EcsTaskDetails -> Rep EcsTaskDetails x
Prelude.Generic)
newEcsTaskDetails ::
EcsTaskDetails
newEcsTaskDetails :: EcsTaskDetails
newEcsTaskDetails =
EcsTaskDetails'
{ $sel:arn:EcsTaskDetails' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:containers:EcsTaskDetails' :: Maybe [Container]
containers = forall a. Maybe a
Prelude.Nothing,
$sel:definitionArn:EcsTaskDetails' :: Maybe Text
definitionArn = forall a. Maybe a
Prelude.Nothing,
$sel:group':EcsTaskDetails' :: Maybe Text
group' = forall a. Maybe a
Prelude.Nothing,
$sel:startedAt:EcsTaskDetails' :: Maybe POSIX
startedAt = forall a. Maybe a
Prelude.Nothing,
$sel:startedBy:EcsTaskDetails' :: Maybe Text
startedBy = forall a. Maybe a
Prelude.Nothing,
$sel:tags:EcsTaskDetails' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:taskCreatedAt:EcsTaskDetails' :: Maybe POSIX
taskCreatedAt = forall a. Maybe a
Prelude.Nothing,
$sel:version:EcsTaskDetails' :: Maybe Text
version = forall a. Maybe a
Prelude.Nothing,
$sel:volumes:EcsTaskDetails' :: Maybe [Volume]
volumes = forall a. Maybe a
Prelude.Nothing
}
ecsTaskDetails_arn :: Lens.Lens' EcsTaskDetails (Prelude.Maybe Prelude.Text)
ecsTaskDetails_arn :: Lens' EcsTaskDetails (Maybe Text)
ecsTaskDetails_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe Text
arn :: Maybe Text
$sel:arn:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
arn} -> Maybe Text
arn) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe Text
a -> EcsTaskDetails
s {$sel:arn:EcsTaskDetails' :: Maybe Text
arn = Maybe Text
a} :: EcsTaskDetails)
ecsTaskDetails_containers :: Lens.Lens' EcsTaskDetails (Prelude.Maybe [Container])
ecsTaskDetails_containers :: Lens' EcsTaskDetails (Maybe [Container])
ecsTaskDetails_containers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe [Container]
containers :: Maybe [Container]
$sel:containers:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Container]
containers} -> Maybe [Container]
containers) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe [Container]
a -> EcsTaskDetails
s {$sel:containers:EcsTaskDetails' :: Maybe [Container]
containers = Maybe [Container]
a} :: EcsTaskDetails) 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
ecsTaskDetails_definitionArn :: Lens.Lens' EcsTaskDetails (Prelude.Maybe Prelude.Text)
ecsTaskDetails_definitionArn :: Lens' EcsTaskDetails (Maybe Text)
ecsTaskDetails_definitionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe Text
definitionArn :: Maybe Text
$sel:definitionArn:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
definitionArn} -> Maybe Text
definitionArn) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe Text
a -> EcsTaskDetails
s {$sel:definitionArn:EcsTaskDetails' :: Maybe Text
definitionArn = Maybe Text
a} :: EcsTaskDetails)
ecsTaskDetails_group :: Lens.Lens' EcsTaskDetails (Prelude.Maybe Prelude.Text)
ecsTaskDetails_group :: Lens' EcsTaskDetails (Maybe Text)
ecsTaskDetails_group = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe Text
group' :: Maybe Text
$sel:group':EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
group'} -> Maybe Text
group') (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe Text
a -> EcsTaskDetails
s {$sel:group':EcsTaskDetails' :: Maybe Text
group' = Maybe Text
a} :: EcsTaskDetails)
ecsTaskDetails_startedAt :: Lens.Lens' EcsTaskDetails (Prelude.Maybe Prelude.UTCTime)
ecsTaskDetails_startedAt :: Lens' EcsTaskDetails (Maybe UTCTime)
ecsTaskDetails_startedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe POSIX
startedAt :: Maybe POSIX
$sel:startedAt:EcsTaskDetails' :: EcsTaskDetails -> Maybe POSIX
startedAt} -> Maybe POSIX
startedAt) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe POSIX
a -> EcsTaskDetails
s {$sel:startedAt:EcsTaskDetails' :: Maybe POSIX
startedAt = Maybe POSIX
a} :: EcsTaskDetails) 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
ecsTaskDetails_startedBy :: Lens.Lens' EcsTaskDetails (Prelude.Maybe Prelude.Text)
ecsTaskDetails_startedBy :: Lens' EcsTaskDetails (Maybe Text)
ecsTaskDetails_startedBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe Text
startedBy :: Maybe Text
$sel:startedBy:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
startedBy} -> Maybe Text
startedBy) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe Text
a -> EcsTaskDetails
s {$sel:startedBy:EcsTaskDetails' :: Maybe Text
startedBy = Maybe Text
a} :: EcsTaskDetails)
ecsTaskDetails_tags :: Lens.Lens' EcsTaskDetails (Prelude.Maybe [Tag])
ecsTaskDetails_tags :: Lens' EcsTaskDetails (Maybe [Tag])
ecsTaskDetails_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe [Tag]
a -> EcsTaskDetails
s {$sel:tags:EcsTaskDetails' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: EcsTaskDetails) 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
ecsTaskDetails_taskCreatedAt :: Lens.Lens' EcsTaskDetails (Prelude.Maybe Prelude.UTCTime)
ecsTaskDetails_taskCreatedAt :: Lens' EcsTaskDetails (Maybe UTCTime)
ecsTaskDetails_taskCreatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe POSIX
taskCreatedAt :: Maybe POSIX
$sel:taskCreatedAt:EcsTaskDetails' :: EcsTaskDetails -> Maybe POSIX
taskCreatedAt} -> Maybe POSIX
taskCreatedAt) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe POSIX
a -> EcsTaskDetails
s {$sel:taskCreatedAt:EcsTaskDetails' :: Maybe POSIX
taskCreatedAt = Maybe POSIX
a} :: EcsTaskDetails) 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
ecsTaskDetails_version :: Lens.Lens' EcsTaskDetails (Prelude.Maybe Prelude.Text)
ecsTaskDetails_version :: Lens' EcsTaskDetails (Maybe Text)
ecsTaskDetails_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe Text
version :: Maybe Text
$sel:version:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
version} -> Maybe Text
version) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe Text
a -> EcsTaskDetails
s {$sel:version:EcsTaskDetails' :: Maybe Text
version = Maybe Text
a} :: EcsTaskDetails)
ecsTaskDetails_volumes :: Lens.Lens' EcsTaskDetails (Prelude.Maybe [Volume])
ecsTaskDetails_volumes :: Lens' EcsTaskDetails (Maybe [Volume])
ecsTaskDetails_volumes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EcsTaskDetails' {Maybe [Volume]
volumes :: Maybe [Volume]
$sel:volumes:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Volume]
volumes} -> Maybe [Volume]
volumes) (\s :: EcsTaskDetails
s@EcsTaskDetails' {} Maybe [Volume]
a -> EcsTaskDetails
s {$sel:volumes:EcsTaskDetails' :: Maybe [Volume]
volumes = Maybe [Volume]
a} :: EcsTaskDetails) 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 EcsTaskDetails where
parseJSON :: Value -> Parser EcsTaskDetails
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"EcsTaskDetails"
( \Object
x ->
Maybe Text
-> Maybe [Container]
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe [Tag]
-> Maybe POSIX
-> Maybe Text
-> Maybe [Volume]
-> EcsTaskDetails
EcsTaskDetails'
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
"arn")
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
"containers" 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
"definitionArn")
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
"group")
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
"startedAt")
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
"startedBy")
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
"tags" 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
"createdAt")
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
"version")
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
"volumes" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable EcsTaskDetails where
hashWithSalt :: Int -> EcsTaskDetails -> Int
hashWithSalt Int
_salt EcsTaskDetails' {Maybe [Tag]
Maybe [Volume]
Maybe [Container]
Maybe Text
Maybe POSIX
volumes :: Maybe [Volume]
version :: Maybe Text
taskCreatedAt :: Maybe POSIX
tags :: Maybe [Tag]
startedBy :: Maybe Text
startedAt :: Maybe POSIX
group' :: Maybe Text
definitionArn :: Maybe Text
containers :: Maybe [Container]
arn :: Maybe Text
$sel:volumes:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Volume]
$sel:version:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:taskCreatedAt:EcsTaskDetails' :: EcsTaskDetails -> Maybe POSIX
$sel:tags:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Tag]
$sel:startedBy:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:startedAt:EcsTaskDetails' :: EcsTaskDetails -> Maybe POSIX
$sel:group':EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:definitionArn:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:containers:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Container]
$sel:arn:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Container]
containers
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
definitionArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
group'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
startedAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
startedBy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
taskCreatedAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
version
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Volume]
volumes
instance Prelude.NFData EcsTaskDetails where
rnf :: EcsTaskDetails -> ()
rnf EcsTaskDetails' {Maybe [Tag]
Maybe [Volume]
Maybe [Container]
Maybe Text
Maybe POSIX
volumes :: Maybe [Volume]
version :: Maybe Text
taskCreatedAt :: Maybe POSIX
tags :: Maybe [Tag]
startedBy :: Maybe Text
startedAt :: Maybe POSIX
group' :: Maybe Text
definitionArn :: Maybe Text
containers :: Maybe [Container]
arn :: Maybe Text
$sel:volumes:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Volume]
$sel:version:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:taskCreatedAt:EcsTaskDetails' :: EcsTaskDetails -> Maybe POSIX
$sel:tags:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Tag]
$sel:startedBy:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:startedAt:EcsTaskDetails' :: EcsTaskDetails -> Maybe POSIX
$sel:group':EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:definitionArn:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
$sel:containers:EcsTaskDetails' :: EcsTaskDetails -> Maybe [Container]
$sel:arn:EcsTaskDetails' :: EcsTaskDetails -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Container]
containers
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
definitionArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
group'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
startedAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
startedBy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
taskCreatedAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
version
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Volume]
volumes