{-# 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.ECS.Types.ContainerInstance where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ECS.Types.AgentUpdateStatus
import Amazonka.ECS.Types.Attachment
import Amazonka.ECS.Types.Attribute
import Amazonka.ECS.Types.ContainerInstanceHealthStatus
import Amazonka.ECS.Types.Resource
import Amazonka.ECS.Types.Tag
import Amazonka.ECS.Types.VersionInfo
import qualified Amazonka.Prelude as Prelude
data ContainerInstance = ContainerInstance'
{
ContainerInstance -> Maybe Bool
agentConnected :: Prelude.Maybe Prelude.Bool,
ContainerInstance -> Maybe AgentUpdateStatus
agentUpdateStatus :: Prelude.Maybe AgentUpdateStatus,
ContainerInstance -> Maybe [Attachment]
attachments :: Prelude.Maybe [Attachment],
ContainerInstance -> Maybe [Attribute]
attributes :: Prelude.Maybe [Attribute],
ContainerInstance -> Maybe Text
capacityProviderName :: Prelude.Maybe Prelude.Text,
ContainerInstance -> Maybe Text
containerInstanceArn :: Prelude.Maybe Prelude.Text,
ContainerInstance -> Maybe Text
ec2InstanceId :: Prelude.Maybe Prelude.Text,
ContainerInstance -> Maybe ContainerInstanceHealthStatus
healthStatus :: Prelude.Maybe ContainerInstanceHealthStatus,
ContainerInstance -> Maybe Int
pendingTasksCount :: Prelude.Maybe Prelude.Int,
ContainerInstance -> Maybe POSIX
registeredAt :: Prelude.Maybe Data.POSIX,
ContainerInstance -> Maybe [Resource]
registeredResources :: Prelude.Maybe [Resource],
ContainerInstance -> Maybe [Resource]
remainingResources :: Prelude.Maybe [Resource],
ContainerInstance -> Maybe Int
runningTasksCount :: Prelude.Maybe Prelude.Int,
ContainerInstance -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
ContainerInstance -> Maybe Text
statusReason :: Prelude.Maybe Prelude.Text,
ContainerInstance -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
ContainerInstance -> Maybe Integer
version :: Prelude.Maybe Prelude.Integer,
ContainerInstance -> Maybe VersionInfo
versionInfo :: Prelude.Maybe VersionInfo
}
deriving (ContainerInstance -> ContainerInstance -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ContainerInstance -> ContainerInstance -> Bool
$c/= :: ContainerInstance -> ContainerInstance -> Bool
== :: ContainerInstance -> ContainerInstance -> Bool
$c== :: ContainerInstance -> ContainerInstance -> Bool
Prelude.Eq, ReadPrec [ContainerInstance]
ReadPrec ContainerInstance
Int -> ReadS ContainerInstance
ReadS [ContainerInstance]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ContainerInstance]
$creadListPrec :: ReadPrec [ContainerInstance]
readPrec :: ReadPrec ContainerInstance
$creadPrec :: ReadPrec ContainerInstance
readList :: ReadS [ContainerInstance]
$creadList :: ReadS [ContainerInstance]
readsPrec :: Int -> ReadS ContainerInstance
$creadsPrec :: Int -> ReadS ContainerInstance
Prelude.Read, Int -> ContainerInstance -> ShowS
[ContainerInstance] -> ShowS
ContainerInstance -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ContainerInstance] -> ShowS
$cshowList :: [ContainerInstance] -> ShowS
show :: ContainerInstance -> String
$cshow :: ContainerInstance -> String
showsPrec :: Int -> ContainerInstance -> ShowS
$cshowsPrec :: Int -> ContainerInstance -> ShowS
Prelude.Show, forall x. Rep ContainerInstance x -> ContainerInstance
forall x. ContainerInstance -> Rep ContainerInstance x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ContainerInstance x -> ContainerInstance
$cfrom :: forall x. ContainerInstance -> Rep ContainerInstance x
Prelude.Generic)
newContainerInstance ::
ContainerInstance
newContainerInstance :: ContainerInstance
newContainerInstance =
ContainerInstance'
{ $sel:agentConnected:ContainerInstance' :: Maybe Bool
agentConnected =
forall a. Maybe a
Prelude.Nothing,
$sel:agentUpdateStatus:ContainerInstance' :: Maybe AgentUpdateStatus
agentUpdateStatus = forall a. Maybe a
Prelude.Nothing,
$sel:attachments:ContainerInstance' :: Maybe [Attachment]
attachments = forall a. Maybe a
Prelude.Nothing,
$sel:attributes:ContainerInstance' :: Maybe [Attribute]
attributes = forall a. Maybe a
Prelude.Nothing,
$sel:capacityProviderName:ContainerInstance' :: Maybe Text
capacityProviderName = forall a. Maybe a
Prelude.Nothing,
$sel:containerInstanceArn:ContainerInstance' :: Maybe Text
containerInstanceArn = forall a. Maybe a
Prelude.Nothing,
$sel:ec2InstanceId:ContainerInstance' :: Maybe Text
ec2InstanceId = forall a. Maybe a
Prelude.Nothing,
$sel:healthStatus:ContainerInstance' :: Maybe ContainerInstanceHealthStatus
healthStatus = forall a. Maybe a
Prelude.Nothing,
$sel:pendingTasksCount:ContainerInstance' :: Maybe Int
pendingTasksCount = forall a. Maybe a
Prelude.Nothing,
$sel:registeredAt:ContainerInstance' :: Maybe POSIX
registeredAt = forall a. Maybe a
Prelude.Nothing,
$sel:registeredResources:ContainerInstance' :: Maybe [Resource]
registeredResources = forall a. Maybe a
Prelude.Nothing,
$sel:remainingResources:ContainerInstance' :: Maybe [Resource]
remainingResources = forall a. Maybe a
Prelude.Nothing,
$sel:runningTasksCount:ContainerInstance' :: Maybe Int
runningTasksCount = forall a. Maybe a
Prelude.Nothing,
$sel:status:ContainerInstance' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
$sel:statusReason:ContainerInstance' :: Maybe Text
statusReason = forall a. Maybe a
Prelude.Nothing,
$sel:tags:ContainerInstance' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:version:ContainerInstance' :: Maybe Integer
version = forall a. Maybe a
Prelude.Nothing,
$sel:versionInfo:ContainerInstance' :: Maybe VersionInfo
versionInfo = forall a. Maybe a
Prelude.Nothing
}
containerInstance_agentConnected :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Bool)
containerInstance_agentConnected :: Lens' ContainerInstance (Maybe Bool)
containerInstance_agentConnected = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Bool
agentConnected :: Maybe Bool
$sel:agentConnected:ContainerInstance' :: ContainerInstance -> Maybe Bool
agentConnected} -> Maybe Bool
agentConnected) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Bool
a -> ContainerInstance
s {$sel:agentConnected:ContainerInstance' :: Maybe Bool
agentConnected = Maybe Bool
a} :: ContainerInstance)
containerInstance_agentUpdateStatus :: Lens.Lens' ContainerInstance (Prelude.Maybe AgentUpdateStatus)
containerInstance_agentUpdateStatus :: Lens' ContainerInstance (Maybe AgentUpdateStatus)
containerInstance_agentUpdateStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe AgentUpdateStatus
agentUpdateStatus :: Maybe AgentUpdateStatus
$sel:agentUpdateStatus:ContainerInstance' :: ContainerInstance -> Maybe AgentUpdateStatus
agentUpdateStatus} -> Maybe AgentUpdateStatus
agentUpdateStatus) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe AgentUpdateStatus
a -> ContainerInstance
s {$sel:agentUpdateStatus:ContainerInstance' :: Maybe AgentUpdateStatus
agentUpdateStatus = Maybe AgentUpdateStatus
a} :: ContainerInstance)
containerInstance_attachments :: Lens.Lens' ContainerInstance (Prelude.Maybe [Attachment])
containerInstance_attachments :: Lens' ContainerInstance (Maybe [Attachment])
containerInstance_attachments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe [Attachment]
attachments :: Maybe [Attachment]
$sel:attachments:ContainerInstance' :: ContainerInstance -> Maybe [Attachment]
attachments} -> Maybe [Attachment]
attachments) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe [Attachment]
a -> ContainerInstance
s {$sel:attachments:ContainerInstance' :: Maybe [Attachment]
attachments = Maybe [Attachment]
a} :: ContainerInstance) 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
containerInstance_attributes :: Lens.Lens' ContainerInstance (Prelude.Maybe [Attribute])
containerInstance_attributes :: Lens' ContainerInstance (Maybe [Attribute])
containerInstance_attributes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe [Attribute]
attributes :: Maybe [Attribute]
$sel:attributes:ContainerInstance' :: ContainerInstance -> Maybe [Attribute]
attributes} -> Maybe [Attribute]
attributes) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe [Attribute]
a -> ContainerInstance
s {$sel:attributes:ContainerInstance' :: Maybe [Attribute]
attributes = Maybe [Attribute]
a} :: ContainerInstance) 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
containerInstance_capacityProviderName :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Text)
containerInstance_capacityProviderName :: Lens' ContainerInstance (Maybe Text)
containerInstance_capacityProviderName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Text
capacityProviderName :: Maybe Text
$sel:capacityProviderName:ContainerInstance' :: ContainerInstance -> Maybe Text
capacityProviderName} -> Maybe Text
capacityProviderName) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Text
a -> ContainerInstance
s {$sel:capacityProviderName:ContainerInstance' :: Maybe Text
capacityProviderName = Maybe Text
a} :: ContainerInstance)
containerInstance_containerInstanceArn :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Text)
containerInstance_containerInstanceArn :: Lens' ContainerInstance (Maybe Text)
containerInstance_containerInstanceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Text
containerInstanceArn :: Maybe Text
$sel:containerInstanceArn:ContainerInstance' :: ContainerInstance -> Maybe Text
containerInstanceArn} -> Maybe Text
containerInstanceArn) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Text
a -> ContainerInstance
s {$sel:containerInstanceArn:ContainerInstance' :: Maybe Text
containerInstanceArn = Maybe Text
a} :: ContainerInstance)
containerInstance_ec2InstanceId :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Text)
containerInstance_ec2InstanceId :: Lens' ContainerInstance (Maybe Text)
containerInstance_ec2InstanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Text
ec2InstanceId :: Maybe Text
$sel:ec2InstanceId:ContainerInstance' :: ContainerInstance -> Maybe Text
ec2InstanceId} -> Maybe Text
ec2InstanceId) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Text
a -> ContainerInstance
s {$sel:ec2InstanceId:ContainerInstance' :: Maybe Text
ec2InstanceId = Maybe Text
a} :: ContainerInstance)
containerInstance_healthStatus :: Lens.Lens' ContainerInstance (Prelude.Maybe ContainerInstanceHealthStatus)
containerInstance_healthStatus :: Lens' ContainerInstance (Maybe ContainerInstanceHealthStatus)
containerInstance_healthStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe ContainerInstanceHealthStatus
healthStatus :: Maybe ContainerInstanceHealthStatus
$sel:healthStatus:ContainerInstance' :: ContainerInstance -> Maybe ContainerInstanceHealthStatus
healthStatus} -> Maybe ContainerInstanceHealthStatus
healthStatus) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe ContainerInstanceHealthStatus
a -> ContainerInstance
s {$sel:healthStatus:ContainerInstance' :: Maybe ContainerInstanceHealthStatus
healthStatus = Maybe ContainerInstanceHealthStatus
a} :: ContainerInstance)
containerInstance_pendingTasksCount :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Int)
containerInstance_pendingTasksCount :: Lens' ContainerInstance (Maybe Int)
containerInstance_pendingTasksCount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Int
pendingTasksCount :: Maybe Int
$sel:pendingTasksCount:ContainerInstance' :: ContainerInstance -> Maybe Int
pendingTasksCount} -> Maybe Int
pendingTasksCount) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Int
a -> ContainerInstance
s {$sel:pendingTasksCount:ContainerInstance' :: Maybe Int
pendingTasksCount = Maybe Int
a} :: ContainerInstance)
containerInstance_registeredAt :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.UTCTime)
containerInstance_registeredAt :: Lens' ContainerInstance (Maybe UTCTime)
containerInstance_registeredAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe POSIX
registeredAt :: Maybe POSIX
$sel:registeredAt:ContainerInstance' :: ContainerInstance -> Maybe POSIX
registeredAt} -> Maybe POSIX
registeredAt) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe POSIX
a -> ContainerInstance
s {$sel:registeredAt:ContainerInstance' :: Maybe POSIX
registeredAt = Maybe POSIX
a} :: ContainerInstance) 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
containerInstance_registeredResources :: Lens.Lens' ContainerInstance (Prelude.Maybe [Resource])
containerInstance_registeredResources :: Lens' ContainerInstance (Maybe [Resource])
containerInstance_registeredResources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe [Resource]
registeredResources :: Maybe [Resource]
$sel:registeredResources:ContainerInstance' :: ContainerInstance -> Maybe [Resource]
registeredResources} -> Maybe [Resource]
registeredResources) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe [Resource]
a -> ContainerInstance
s {$sel:registeredResources:ContainerInstance' :: Maybe [Resource]
registeredResources = Maybe [Resource]
a} :: ContainerInstance) 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
containerInstance_remainingResources :: Lens.Lens' ContainerInstance (Prelude.Maybe [Resource])
containerInstance_remainingResources :: Lens' ContainerInstance (Maybe [Resource])
containerInstance_remainingResources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe [Resource]
remainingResources :: Maybe [Resource]
$sel:remainingResources:ContainerInstance' :: ContainerInstance -> Maybe [Resource]
remainingResources} -> Maybe [Resource]
remainingResources) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe [Resource]
a -> ContainerInstance
s {$sel:remainingResources:ContainerInstance' :: Maybe [Resource]
remainingResources = Maybe [Resource]
a} :: ContainerInstance) 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
containerInstance_runningTasksCount :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Int)
containerInstance_runningTasksCount :: Lens' ContainerInstance (Maybe Int)
containerInstance_runningTasksCount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Int
runningTasksCount :: Maybe Int
$sel:runningTasksCount:ContainerInstance' :: ContainerInstance -> Maybe Int
runningTasksCount} -> Maybe Int
runningTasksCount) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Int
a -> ContainerInstance
s {$sel:runningTasksCount:ContainerInstance' :: Maybe Int
runningTasksCount = Maybe Int
a} :: ContainerInstance)
containerInstance_status :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Text)
containerInstance_status :: Lens' ContainerInstance (Maybe Text)
containerInstance_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Text
status :: Maybe Text
$sel:status:ContainerInstance' :: ContainerInstance -> Maybe Text
status} -> Maybe Text
status) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Text
a -> ContainerInstance
s {$sel:status:ContainerInstance' :: Maybe Text
status = Maybe Text
a} :: ContainerInstance)
containerInstance_statusReason :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Text)
containerInstance_statusReason :: Lens' ContainerInstance (Maybe Text)
containerInstance_statusReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Text
statusReason :: Maybe Text
$sel:statusReason:ContainerInstance' :: ContainerInstance -> Maybe Text
statusReason} -> Maybe Text
statusReason) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Text
a -> ContainerInstance
s {$sel:statusReason:ContainerInstance' :: Maybe Text
statusReason = Maybe Text
a} :: ContainerInstance)
containerInstance_tags :: Lens.Lens' ContainerInstance (Prelude.Maybe [Tag])
containerInstance_tags :: Lens' ContainerInstance (Maybe [Tag])
containerInstance_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ContainerInstance' :: ContainerInstance -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe [Tag]
a -> ContainerInstance
s {$sel:tags:ContainerInstance' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ContainerInstance) 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
containerInstance_version :: Lens.Lens' ContainerInstance (Prelude.Maybe Prelude.Integer)
containerInstance_version :: Lens' ContainerInstance (Maybe Integer)
containerInstance_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe Integer
version :: Maybe Integer
$sel:version:ContainerInstance' :: ContainerInstance -> Maybe Integer
version} -> Maybe Integer
version) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe Integer
a -> ContainerInstance
s {$sel:version:ContainerInstance' :: Maybe Integer
version = Maybe Integer
a} :: ContainerInstance)
containerInstance_versionInfo :: Lens.Lens' ContainerInstance (Prelude.Maybe VersionInfo)
containerInstance_versionInfo :: Lens' ContainerInstance (Maybe VersionInfo)
containerInstance_versionInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerInstance' {Maybe VersionInfo
versionInfo :: Maybe VersionInfo
$sel:versionInfo:ContainerInstance' :: ContainerInstance -> Maybe VersionInfo
versionInfo} -> Maybe VersionInfo
versionInfo) (\s :: ContainerInstance
s@ContainerInstance' {} Maybe VersionInfo
a -> ContainerInstance
s {$sel:versionInfo:ContainerInstance' :: Maybe VersionInfo
versionInfo = Maybe VersionInfo
a} :: ContainerInstance)
instance Data.FromJSON ContainerInstance where
parseJSON :: Value -> Parser ContainerInstance
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ContainerInstance"
( \Object
x ->
Maybe Bool
-> Maybe AgentUpdateStatus
-> Maybe [Attachment]
-> Maybe [Attribute]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ContainerInstanceHealthStatus
-> Maybe Int
-> Maybe POSIX
-> Maybe [Resource]
-> Maybe [Resource]
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe [Tag]
-> Maybe Integer
-> Maybe VersionInfo
-> ContainerInstance
ContainerInstance'
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
"agentConnected")
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
"agentUpdateStatus")
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
"attachments" 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
"attributes" 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
"capacityProviderName")
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
"containerInstanceArn")
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
"ec2InstanceId")
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
"healthStatus")
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
"pendingTasksCount")
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
"registeredAt")
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
"registeredResources"
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
"remainingResources"
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
"runningTasksCount")
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
"statusReason")
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
"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
"versionInfo")
)
instance Prelude.Hashable ContainerInstance where
hashWithSalt :: Int -> ContainerInstance -> Int
hashWithSalt Int
_salt ContainerInstance' {Maybe Bool
Maybe Int
Maybe Integer
Maybe [Attachment]
Maybe [Resource]
Maybe [Tag]
Maybe [Attribute]
Maybe Text
Maybe POSIX
Maybe AgentUpdateStatus
Maybe ContainerInstanceHealthStatus
Maybe VersionInfo
versionInfo :: Maybe VersionInfo
version :: Maybe Integer
tags :: Maybe [Tag]
statusReason :: Maybe Text
status :: Maybe Text
runningTasksCount :: Maybe Int
remainingResources :: Maybe [Resource]
registeredResources :: Maybe [Resource]
registeredAt :: Maybe POSIX
pendingTasksCount :: Maybe Int
healthStatus :: Maybe ContainerInstanceHealthStatus
ec2InstanceId :: Maybe Text
containerInstanceArn :: Maybe Text
capacityProviderName :: Maybe Text
attributes :: Maybe [Attribute]
attachments :: Maybe [Attachment]
agentUpdateStatus :: Maybe AgentUpdateStatus
agentConnected :: Maybe Bool
$sel:versionInfo:ContainerInstance' :: ContainerInstance -> Maybe VersionInfo
$sel:version:ContainerInstance' :: ContainerInstance -> Maybe Integer
$sel:tags:ContainerInstance' :: ContainerInstance -> Maybe [Tag]
$sel:statusReason:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:status:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:runningTasksCount:ContainerInstance' :: ContainerInstance -> Maybe Int
$sel:remainingResources:ContainerInstance' :: ContainerInstance -> Maybe [Resource]
$sel:registeredResources:ContainerInstance' :: ContainerInstance -> Maybe [Resource]
$sel:registeredAt:ContainerInstance' :: ContainerInstance -> Maybe POSIX
$sel:pendingTasksCount:ContainerInstance' :: ContainerInstance -> Maybe Int
$sel:healthStatus:ContainerInstance' :: ContainerInstance -> Maybe ContainerInstanceHealthStatus
$sel:ec2InstanceId:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:containerInstanceArn:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:capacityProviderName:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:attributes:ContainerInstance' :: ContainerInstance -> Maybe [Attribute]
$sel:attachments:ContainerInstance' :: ContainerInstance -> Maybe [Attachment]
$sel:agentUpdateStatus:ContainerInstance' :: ContainerInstance -> Maybe AgentUpdateStatus
$sel:agentConnected:ContainerInstance' :: ContainerInstance -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
agentConnected
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AgentUpdateStatus
agentUpdateStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Attachment]
attachments
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Attribute]
attributes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
capacityProviderName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
containerInstanceArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ec2InstanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ContainerInstanceHealthStatus
healthStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
pendingTasksCount
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
registeredAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Resource]
registeredResources
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Resource]
remainingResources
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
runningTasksCount
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusReason
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
version
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VersionInfo
versionInfo
instance Prelude.NFData ContainerInstance where
rnf :: ContainerInstance -> ()
rnf ContainerInstance' {Maybe Bool
Maybe Int
Maybe Integer
Maybe [Attachment]
Maybe [Resource]
Maybe [Tag]
Maybe [Attribute]
Maybe Text
Maybe POSIX
Maybe AgentUpdateStatus
Maybe ContainerInstanceHealthStatus
Maybe VersionInfo
versionInfo :: Maybe VersionInfo
version :: Maybe Integer
tags :: Maybe [Tag]
statusReason :: Maybe Text
status :: Maybe Text
runningTasksCount :: Maybe Int
remainingResources :: Maybe [Resource]
registeredResources :: Maybe [Resource]
registeredAt :: Maybe POSIX
pendingTasksCount :: Maybe Int
healthStatus :: Maybe ContainerInstanceHealthStatus
ec2InstanceId :: Maybe Text
containerInstanceArn :: Maybe Text
capacityProviderName :: Maybe Text
attributes :: Maybe [Attribute]
attachments :: Maybe [Attachment]
agentUpdateStatus :: Maybe AgentUpdateStatus
agentConnected :: Maybe Bool
$sel:versionInfo:ContainerInstance' :: ContainerInstance -> Maybe VersionInfo
$sel:version:ContainerInstance' :: ContainerInstance -> Maybe Integer
$sel:tags:ContainerInstance' :: ContainerInstance -> Maybe [Tag]
$sel:statusReason:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:status:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:runningTasksCount:ContainerInstance' :: ContainerInstance -> Maybe Int
$sel:remainingResources:ContainerInstance' :: ContainerInstance -> Maybe [Resource]
$sel:registeredResources:ContainerInstance' :: ContainerInstance -> Maybe [Resource]
$sel:registeredAt:ContainerInstance' :: ContainerInstance -> Maybe POSIX
$sel:pendingTasksCount:ContainerInstance' :: ContainerInstance -> Maybe Int
$sel:healthStatus:ContainerInstance' :: ContainerInstance -> Maybe ContainerInstanceHealthStatus
$sel:ec2InstanceId:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:containerInstanceArn:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:capacityProviderName:ContainerInstance' :: ContainerInstance -> Maybe Text
$sel:attributes:ContainerInstance' :: ContainerInstance -> Maybe [Attribute]
$sel:attachments:ContainerInstance' :: ContainerInstance -> Maybe [Attachment]
$sel:agentUpdateStatus:ContainerInstance' :: ContainerInstance -> Maybe AgentUpdateStatus
$sel:agentConnected:ContainerInstance' :: ContainerInstance -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
agentConnected
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AgentUpdateStatus
agentUpdateStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Attachment]
attachments
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Attribute]
attributes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
capacityProviderName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
containerInstanceArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ec2InstanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ContainerInstanceHealthStatus
healthStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
pendingTasksCount
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
registeredAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Resource]
registeredResources
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Resource]
remainingResources
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
runningTasksCount
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusReason
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 Integer
version
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VersionInfo
versionInfo