{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.ECS.UpdateContainerInstancesState
(
UpdateContainerInstancesState (..),
newUpdateContainerInstancesState,
updateContainerInstancesState_cluster,
updateContainerInstancesState_containerInstances,
updateContainerInstancesState_status,
UpdateContainerInstancesStateResponse (..),
newUpdateContainerInstancesStateResponse,
updateContainerInstancesStateResponse_containerInstances,
updateContainerInstancesStateResponse_failures,
updateContainerInstancesStateResponse_httpStatus,
)
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
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateContainerInstancesState = UpdateContainerInstancesState'
{
UpdateContainerInstancesState -> Maybe Text
cluster :: Prelude.Maybe Prelude.Text,
UpdateContainerInstancesState -> [Text]
containerInstances :: [Prelude.Text],
UpdateContainerInstancesState -> ContainerInstanceStatus
status :: ContainerInstanceStatus
}
deriving (UpdateContainerInstancesState
-> UpdateContainerInstancesState -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateContainerInstancesState
-> UpdateContainerInstancesState -> Bool
$c/= :: UpdateContainerInstancesState
-> UpdateContainerInstancesState -> Bool
== :: UpdateContainerInstancesState
-> UpdateContainerInstancesState -> Bool
$c== :: UpdateContainerInstancesState
-> UpdateContainerInstancesState -> Bool
Prelude.Eq, ReadPrec [UpdateContainerInstancesState]
ReadPrec UpdateContainerInstancesState
Int -> ReadS UpdateContainerInstancesState
ReadS [UpdateContainerInstancesState]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateContainerInstancesState]
$creadListPrec :: ReadPrec [UpdateContainerInstancesState]
readPrec :: ReadPrec UpdateContainerInstancesState
$creadPrec :: ReadPrec UpdateContainerInstancesState
readList :: ReadS [UpdateContainerInstancesState]
$creadList :: ReadS [UpdateContainerInstancesState]
readsPrec :: Int -> ReadS UpdateContainerInstancesState
$creadsPrec :: Int -> ReadS UpdateContainerInstancesState
Prelude.Read, Int -> UpdateContainerInstancesState -> ShowS
[UpdateContainerInstancesState] -> ShowS
UpdateContainerInstancesState -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateContainerInstancesState] -> ShowS
$cshowList :: [UpdateContainerInstancesState] -> ShowS
show :: UpdateContainerInstancesState -> String
$cshow :: UpdateContainerInstancesState -> String
showsPrec :: Int -> UpdateContainerInstancesState -> ShowS
$cshowsPrec :: Int -> UpdateContainerInstancesState -> ShowS
Prelude.Show, forall x.
Rep UpdateContainerInstancesState x
-> UpdateContainerInstancesState
forall x.
UpdateContainerInstancesState
-> Rep UpdateContainerInstancesState x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateContainerInstancesState x
-> UpdateContainerInstancesState
$cfrom :: forall x.
UpdateContainerInstancesState
-> Rep UpdateContainerInstancesState x
Prelude.Generic)
newUpdateContainerInstancesState ::
ContainerInstanceStatus ->
UpdateContainerInstancesState
newUpdateContainerInstancesState :: ContainerInstanceStatus -> UpdateContainerInstancesState
newUpdateContainerInstancesState ContainerInstanceStatus
pStatus_ =
UpdateContainerInstancesState'
{ $sel:cluster:UpdateContainerInstancesState' :: Maybe Text
cluster =
forall a. Maybe a
Prelude.Nothing,
$sel:containerInstances:UpdateContainerInstancesState' :: [Text]
containerInstances = forall a. Monoid a => a
Prelude.mempty,
$sel:status:UpdateContainerInstancesState' :: ContainerInstanceStatus
status = ContainerInstanceStatus
pStatus_
}
updateContainerInstancesState_cluster :: Lens.Lens' UpdateContainerInstancesState (Prelude.Maybe Prelude.Text)
updateContainerInstancesState_cluster :: Lens' UpdateContainerInstancesState (Maybe Text)
updateContainerInstancesState_cluster = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContainerInstancesState' {Maybe Text
cluster :: Maybe Text
$sel:cluster:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> Maybe Text
cluster} -> Maybe Text
cluster) (\s :: UpdateContainerInstancesState
s@UpdateContainerInstancesState' {} Maybe Text
a -> UpdateContainerInstancesState
s {$sel:cluster:UpdateContainerInstancesState' :: Maybe Text
cluster = Maybe Text
a} :: UpdateContainerInstancesState)
updateContainerInstancesState_containerInstances :: Lens.Lens' UpdateContainerInstancesState [Prelude.Text]
updateContainerInstancesState_containerInstances :: Lens' UpdateContainerInstancesState [Text]
updateContainerInstancesState_containerInstances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContainerInstancesState' {[Text]
containerInstances :: [Text]
$sel:containerInstances:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> [Text]
containerInstances} -> [Text]
containerInstances) (\s :: UpdateContainerInstancesState
s@UpdateContainerInstancesState' {} [Text]
a -> UpdateContainerInstancesState
s {$sel:containerInstances:UpdateContainerInstancesState' :: [Text]
containerInstances = [Text]
a} :: UpdateContainerInstancesState) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
updateContainerInstancesState_status :: Lens.Lens' UpdateContainerInstancesState ContainerInstanceStatus
updateContainerInstancesState_status :: Lens' UpdateContainerInstancesState ContainerInstanceStatus
updateContainerInstancesState_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContainerInstancesState' {ContainerInstanceStatus
status :: ContainerInstanceStatus
$sel:status:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> ContainerInstanceStatus
status} -> ContainerInstanceStatus
status) (\s :: UpdateContainerInstancesState
s@UpdateContainerInstancesState' {} ContainerInstanceStatus
a -> UpdateContainerInstancesState
s {$sel:status:UpdateContainerInstancesState' :: ContainerInstanceStatus
status = ContainerInstanceStatus
a} :: UpdateContainerInstancesState)
instance
Core.AWSRequest
UpdateContainerInstancesState
where
type
AWSResponse UpdateContainerInstancesState =
UpdateContainerInstancesStateResponse
request :: (Service -> Service)
-> UpdateContainerInstancesState
-> Request UpdateContainerInstancesState
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateContainerInstancesState
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateContainerInstancesState)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe [ContainerInstance]
-> Maybe [Failure] -> Int -> UpdateContainerInstancesStateResponse
UpdateContainerInstancesStateResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"containerInstances"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ 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 -> Either String (Maybe a)
Data..?> Key
"failures" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
UpdateContainerInstancesState
where
hashWithSalt :: Int -> UpdateContainerInstancesState -> Int
hashWithSalt Int
_salt UpdateContainerInstancesState' {[Text]
Maybe Text
ContainerInstanceStatus
status :: ContainerInstanceStatus
containerInstances :: [Text]
cluster :: Maybe Text
$sel:status:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> ContainerInstanceStatus
$sel:containerInstances:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> [Text]
$sel:cluster:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
cluster
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
containerInstances
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ContainerInstanceStatus
status
instance Prelude.NFData UpdateContainerInstancesState where
rnf :: UpdateContainerInstancesState -> ()
rnf UpdateContainerInstancesState' {[Text]
Maybe Text
ContainerInstanceStatus
status :: ContainerInstanceStatus
containerInstances :: [Text]
cluster :: Maybe Text
$sel:status:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> ContainerInstanceStatus
$sel:containerInstances:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> [Text]
$sel:cluster:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
cluster
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
containerInstances
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ContainerInstanceStatus
status
instance Data.ToHeaders UpdateContainerInstancesState where
toHeaders :: UpdateContainerInstancesState -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonEC2ContainerServiceV20141113.UpdateContainerInstancesState" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateContainerInstancesState where
toJSON :: UpdateContainerInstancesState -> Value
toJSON UpdateContainerInstancesState' {[Text]
Maybe Text
ContainerInstanceStatus
status :: ContainerInstanceStatus
containerInstances :: [Text]
cluster :: Maybe Text
$sel:status:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> ContainerInstanceStatus
$sel:containerInstances:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> [Text]
$sel:cluster:UpdateContainerInstancesState' :: UpdateContainerInstancesState -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"cluster" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
cluster,
forall a. a -> Maybe a
Prelude.Just
(Key
"containerInstances" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
containerInstances),
forall a. a -> Maybe a
Prelude.Just (Key
"status" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ContainerInstanceStatus
status)
]
)
instance Data.ToPath UpdateContainerInstancesState where
toPath :: UpdateContainerInstancesState -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateContainerInstancesState where
toQuery :: UpdateContainerInstancesState -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateContainerInstancesStateResponse = UpdateContainerInstancesStateResponse'
{
UpdateContainerInstancesStateResponse -> Maybe [ContainerInstance]
containerInstances :: Prelude.Maybe [ContainerInstance],
UpdateContainerInstancesStateResponse -> Maybe [Failure]
failures :: Prelude.Maybe [Failure],
UpdateContainerInstancesStateResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateContainerInstancesStateResponse
-> UpdateContainerInstancesStateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateContainerInstancesStateResponse
-> UpdateContainerInstancesStateResponse -> Bool
$c/= :: UpdateContainerInstancesStateResponse
-> UpdateContainerInstancesStateResponse -> Bool
== :: UpdateContainerInstancesStateResponse
-> UpdateContainerInstancesStateResponse -> Bool
$c== :: UpdateContainerInstancesStateResponse
-> UpdateContainerInstancesStateResponse -> Bool
Prelude.Eq, ReadPrec [UpdateContainerInstancesStateResponse]
ReadPrec UpdateContainerInstancesStateResponse
Int -> ReadS UpdateContainerInstancesStateResponse
ReadS [UpdateContainerInstancesStateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateContainerInstancesStateResponse]
$creadListPrec :: ReadPrec [UpdateContainerInstancesStateResponse]
readPrec :: ReadPrec UpdateContainerInstancesStateResponse
$creadPrec :: ReadPrec UpdateContainerInstancesStateResponse
readList :: ReadS [UpdateContainerInstancesStateResponse]
$creadList :: ReadS [UpdateContainerInstancesStateResponse]
readsPrec :: Int -> ReadS UpdateContainerInstancesStateResponse
$creadsPrec :: Int -> ReadS UpdateContainerInstancesStateResponse
Prelude.Read, Int -> UpdateContainerInstancesStateResponse -> ShowS
[UpdateContainerInstancesStateResponse] -> ShowS
UpdateContainerInstancesStateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateContainerInstancesStateResponse] -> ShowS
$cshowList :: [UpdateContainerInstancesStateResponse] -> ShowS
show :: UpdateContainerInstancesStateResponse -> String
$cshow :: UpdateContainerInstancesStateResponse -> String
showsPrec :: Int -> UpdateContainerInstancesStateResponse -> ShowS
$cshowsPrec :: Int -> UpdateContainerInstancesStateResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateContainerInstancesStateResponse x
-> UpdateContainerInstancesStateResponse
forall x.
UpdateContainerInstancesStateResponse
-> Rep UpdateContainerInstancesStateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateContainerInstancesStateResponse x
-> UpdateContainerInstancesStateResponse
$cfrom :: forall x.
UpdateContainerInstancesStateResponse
-> Rep UpdateContainerInstancesStateResponse x
Prelude.Generic)
newUpdateContainerInstancesStateResponse ::
Prelude.Int ->
UpdateContainerInstancesStateResponse
newUpdateContainerInstancesStateResponse :: Int -> UpdateContainerInstancesStateResponse
newUpdateContainerInstancesStateResponse Int
pHttpStatus_ =
UpdateContainerInstancesStateResponse'
{ $sel:containerInstances:UpdateContainerInstancesStateResponse' :: Maybe [ContainerInstance]
containerInstances =
forall a. Maybe a
Prelude.Nothing,
$sel:failures:UpdateContainerInstancesStateResponse' :: Maybe [Failure]
failures = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateContainerInstancesStateResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateContainerInstancesStateResponse_containerInstances :: Lens.Lens' UpdateContainerInstancesStateResponse (Prelude.Maybe [ContainerInstance])
updateContainerInstancesStateResponse_containerInstances :: Lens'
UpdateContainerInstancesStateResponse (Maybe [ContainerInstance])
updateContainerInstancesStateResponse_containerInstances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContainerInstancesStateResponse' {Maybe [ContainerInstance]
containerInstances :: Maybe [ContainerInstance]
$sel:containerInstances:UpdateContainerInstancesStateResponse' :: UpdateContainerInstancesStateResponse -> Maybe [ContainerInstance]
containerInstances} -> Maybe [ContainerInstance]
containerInstances) (\s :: UpdateContainerInstancesStateResponse
s@UpdateContainerInstancesStateResponse' {} Maybe [ContainerInstance]
a -> UpdateContainerInstancesStateResponse
s {$sel:containerInstances:UpdateContainerInstancesStateResponse' :: Maybe [ContainerInstance]
containerInstances = Maybe [ContainerInstance]
a} :: UpdateContainerInstancesStateResponse) 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
updateContainerInstancesStateResponse_failures :: Lens.Lens' UpdateContainerInstancesStateResponse (Prelude.Maybe [Failure])
updateContainerInstancesStateResponse_failures :: Lens' UpdateContainerInstancesStateResponse (Maybe [Failure])
updateContainerInstancesStateResponse_failures = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContainerInstancesStateResponse' {Maybe [Failure]
failures :: Maybe [Failure]
$sel:failures:UpdateContainerInstancesStateResponse' :: UpdateContainerInstancesStateResponse -> Maybe [Failure]
failures} -> Maybe [Failure]
failures) (\s :: UpdateContainerInstancesStateResponse
s@UpdateContainerInstancesStateResponse' {} Maybe [Failure]
a -> UpdateContainerInstancesStateResponse
s {$sel:failures:UpdateContainerInstancesStateResponse' :: Maybe [Failure]
failures = Maybe [Failure]
a} :: UpdateContainerInstancesStateResponse) 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
updateContainerInstancesStateResponse_httpStatus :: Lens.Lens' UpdateContainerInstancesStateResponse Prelude.Int
updateContainerInstancesStateResponse_httpStatus :: Lens' UpdateContainerInstancesStateResponse Int
updateContainerInstancesStateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContainerInstancesStateResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateContainerInstancesStateResponse' :: UpdateContainerInstancesStateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateContainerInstancesStateResponse
s@UpdateContainerInstancesStateResponse' {} Int
a -> UpdateContainerInstancesStateResponse
s {$sel:httpStatus:UpdateContainerInstancesStateResponse' :: Int
httpStatus = Int
a} :: UpdateContainerInstancesStateResponse)
instance
Prelude.NFData
UpdateContainerInstancesStateResponse
where
rnf :: UpdateContainerInstancesStateResponse -> ()
rnf UpdateContainerInstancesStateResponse' {Int
Maybe [Failure]
Maybe [ContainerInstance]
httpStatus :: Int
failures :: Maybe [Failure]
containerInstances :: Maybe [ContainerInstance]
$sel:httpStatus:UpdateContainerInstancesStateResponse' :: UpdateContainerInstancesStateResponse -> Int
$sel:failures:UpdateContainerInstancesStateResponse' :: UpdateContainerInstancesStateResponse -> Maybe [Failure]
$sel:containerInstances:UpdateContainerInstancesStateResponse' :: UpdateContainerInstancesStateResponse -> Maybe [ContainerInstance]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [ContainerInstance]
containerInstances
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Failure]
failures
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus