{-# 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.UpdateTaskSet
(
UpdateTaskSet (..),
newUpdateTaskSet,
updateTaskSet_cluster,
updateTaskSet_service,
updateTaskSet_taskSet,
updateTaskSet_scale,
UpdateTaskSetResponse (..),
newUpdateTaskSetResponse,
updateTaskSetResponse_taskSet,
updateTaskSetResponse_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 UpdateTaskSet = UpdateTaskSet'
{
UpdateTaskSet -> Text
cluster :: Prelude.Text,
UpdateTaskSet -> Text
service :: Prelude.Text,
UpdateTaskSet -> Text
taskSet :: Prelude.Text,
UpdateTaskSet -> Scale
scale :: Scale
}
deriving (UpdateTaskSet -> UpdateTaskSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateTaskSet -> UpdateTaskSet -> Bool
$c/= :: UpdateTaskSet -> UpdateTaskSet -> Bool
== :: UpdateTaskSet -> UpdateTaskSet -> Bool
$c== :: UpdateTaskSet -> UpdateTaskSet -> Bool
Prelude.Eq, ReadPrec [UpdateTaskSet]
ReadPrec UpdateTaskSet
Int -> ReadS UpdateTaskSet
ReadS [UpdateTaskSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateTaskSet]
$creadListPrec :: ReadPrec [UpdateTaskSet]
readPrec :: ReadPrec UpdateTaskSet
$creadPrec :: ReadPrec UpdateTaskSet
readList :: ReadS [UpdateTaskSet]
$creadList :: ReadS [UpdateTaskSet]
readsPrec :: Int -> ReadS UpdateTaskSet
$creadsPrec :: Int -> ReadS UpdateTaskSet
Prelude.Read, Int -> UpdateTaskSet -> ShowS
[UpdateTaskSet] -> ShowS
UpdateTaskSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateTaskSet] -> ShowS
$cshowList :: [UpdateTaskSet] -> ShowS
show :: UpdateTaskSet -> String
$cshow :: UpdateTaskSet -> String
showsPrec :: Int -> UpdateTaskSet -> ShowS
$cshowsPrec :: Int -> UpdateTaskSet -> ShowS
Prelude.Show, forall x. Rep UpdateTaskSet x -> UpdateTaskSet
forall x. UpdateTaskSet -> Rep UpdateTaskSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateTaskSet x -> UpdateTaskSet
$cfrom :: forall x. UpdateTaskSet -> Rep UpdateTaskSet x
Prelude.Generic)
newUpdateTaskSet ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
Scale ->
UpdateTaskSet
newUpdateTaskSet :: Text -> Text -> Text -> Scale -> UpdateTaskSet
newUpdateTaskSet
Text
pCluster_
Text
pService_
Text
pTaskSet_
Scale
pScale_ =
UpdateTaskSet'
{ $sel:cluster:UpdateTaskSet' :: Text
cluster = Text
pCluster_,
$sel:service:UpdateTaskSet' :: Text
service = Text
pService_,
$sel:taskSet:UpdateTaskSet' :: Text
taskSet = Text
pTaskSet_,
$sel:scale:UpdateTaskSet' :: Scale
scale = Scale
pScale_
}
updateTaskSet_cluster :: Lens.Lens' UpdateTaskSet Prelude.Text
updateTaskSet_cluster :: Lens' UpdateTaskSet Text
updateTaskSet_cluster = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTaskSet' {Text
cluster :: Text
$sel:cluster:UpdateTaskSet' :: UpdateTaskSet -> Text
cluster} -> Text
cluster) (\s :: UpdateTaskSet
s@UpdateTaskSet' {} Text
a -> UpdateTaskSet
s {$sel:cluster:UpdateTaskSet' :: Text
cluster = Text
a} :: UpdateTaskSet)
updateTaskSet_service :: Lens.Lens' UpdateTaskSet Prelude.Text
updateTaskSet_service :: Lens' UpdateTaskSet Text
updateTaskSet_service = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTaskSet' {Text
service :: Text
$sel:service:UpdateTaskSet' :: UpdateTaskSet -> Text
service} -> Text
service) (\s :: UpdateTaskSet
s@UpdateTaskSet' {} Text
a -> UpdateTaskSet
s {$sel:service:UpdateTaskSet' :: Text
service = Text
a} :: UpdateTaskSet)
updateTaskSet_taskSet :: Lens.Lens' UpdateTaskSet Prelude.Text
updateTaskSet_taskSet :: Lens' UpdateTaskSet Text
updateTaskSet_taskSet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTaskSet' {Text
taskSet :: Text
$sel:taskSet:UpdateTaskSet' :: UpdateTaskSet -> Text
taskSet} -> Text
taskSet) (\s :: UpdateTaskSet
s@UpdateTaskSet' {} Text
a -> UpdateTaskSet
s {$sel:taskSet:UpdateTaskSet' :: Text
taskSet = Text
a} :: UpdateTaskSet)
updateTaskSet_scale :: Lens.Lens' UpdateTaskSet Scale
updateTaskSet_scale :: Lens' UpdateTaskSet Scale
updateTaskSet_scale = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTaskSet' {Scale
scale :: Scale
$sel:scale:UpdateTaskSet' :: UpdateTaskSet -> Scale
scale} -> Scale
scale) (\s :: UpdateTaskSet
s@UpdateTaskSet' {} Scale
a -> UpdateTaskSet
s {$sel:scale:UpdateTaskSet' :: Scale
scale = Scale
a} :: UpdateTaskSet)
instance Core.AWSRequest UpdateTaskSet where
type
AWSResponse UpdateTaskSet =
UpdateTaskSetResponse
request :: (Service -> Service) -> UpdateTaskSet -> Request UpdateTaskSet
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 UpdateTaskSet
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateTaskSet)))
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 TaskSet -> Int -> UpdateTaskSetResponse
UpdateTaskSetResponse'
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
"taskSet")
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 UpdateTaskSet where
hashWithSalt :: Int -> UpdateTaskSet -> Int
hashWithSalt Int
_salt UpdateTaskSet' {Text
Scale
scale :: Scale
taskSet :: Text
service :: Text
cluster :: Text
$sel:scale:UpdateTaskSet' :: UpdateTaskSet -> Scale
$sel:taskSet:UpdateTaskSet' :: UpdateTaskSet -> Text
$sel:service:UpdateTaskSet' :: UpdateTaskSet -> Text
$sel:cluster:UpdateTaskSet' :: UpdateTaskSet -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
cluster
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
service
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
taskSet
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Scale
scale
instance Prelude.NFData UpdateTaskSet where
rnf :: UpdateTaskSet -> ()
rnf UpdateTaskSet' {Text
Scale
scale :: Scale
taskSet :: Text
service :: Text
cluster :: Text
$sel:scale:UpdateTaskSet' :: UpdateTaskSet -> Scale
$sel:taskSet:UpdateTaskSet' :: UpdateTaskSet -> Text
$sel:service:UpdateTaskSet' :: UpdateTaskSet -> Text
$sel:cluster:UpdateTaskSet' :: UpdateTaskSet -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
cluster
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
service
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
taskSet
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Scale
scale
instance Data.ToHeaders UpdateTaskSet where
toHeaders :: UpdateTaskSet -> 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.UpdateTaskSet" ::
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 UpdateTaskSet where
toJSON :: UpdateTaskSet -> Value
toJSON UpdateTaskSet' {Text
Scale
scale :: Scale
taskSet :: Text
service :: Text
cluster :: Text
$sel:scale:UpdateTaskSet' :: UpdateTaskSet -> Scale
$sel:taskSet:UpdateTaskSet' :: UpdateTaskSet -> Text
$sel:service:UpdateTaskSet' :: UpdateTaskSet -> Text
$sel:cluster:UpdateTaskSet' :: UpdateTaskSet -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"cluster" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
cluster),
forall a. a -> Maybe a
Prelude.Just (Key
"service" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
service),
forall a. a -> Maybe a
Prelude.Just (Key
"taskSet" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
taskSet),
forall a. a -> Maybe a
Prelude.Just (Key
"scale" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Scale
scale)
]
)
instance Data.ToPath UpdateTaskSet where
toPath :: UpdateTaskSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateTaskSet where
toQuery :: UpdateTaskSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateTaskSetResponse = UpdateTaskSetResponse'
{
UpdateTaskSetResponse -> Maybe TaskSet
taskSet :: Prelude.Maybe TaskSet,
UpdateTaskSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateTaskSetResponse -> UpdateTaskSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateTaskSetResponse -> UpdateTaskSetResponse -> Bool
$c/= :: UpdateTaskSetResponse -> UpdateTaskSetResponse -> Bool
== :: UpdateTaskSetResponse -> UpdateTaskSetResponse -> Bool
$c== :: UpdateTaskSetResponse -> UpdateTaskSetResponse -> Bool
Prelude.Eq, ReadPrec [UpdateTaskSetResponse]
ReadPrec UpdateTaskSetResponse
Int -> ReadS UpdateTaskSetResponse
ReadS [UpdateTaskSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateTaskSetResponse]
$creadListPrec :: ReadPrec [UpdateTaskSetResponse]
readPrec :: ReadPrec UpdateTaskSetResponse
$creadPrec :: ReadPrec UpdateTaskSetResponse
readList :: ReadS [UpdateTaskSetResponse]
$creadList :: ReadS [UpdateTaskSetResponse]
readsPrec :: Int -> ReadS UpdateTaskSetResponse
$creadsPrec :: Int -> ReadS UpdateTaskSetResponse
Prelude.Read, Int -> UpdateTaskSetResponse -> ShowS
[UpdateTaskSetResponse] -> ShowS
UpdateTaskSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateTaskSetResponse] -> ShowS
$cshowList :: [UpdateTaskSetResponse] -> ShowS
show :: UpdateTaskSetResponse -> String
$cshow :: UpdateTaskSetResponse -> String
showsPrec :: Int -> UpdateTaskSetResponse -> ShowS
$cshowsPrec :: Int -> UpdateTaskSetResponse -> ShowS
Prelude.Show, forall x. Rep UpdateTaskSetResponse x -> UpdateTaskSetResponse
forall x. UpdateTaskSetResponse -> Rep UpdateTaskSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateTaskSetResponse x -> UpdateTaskSetResponse
$cfrom :: forall x. UpdateTaskSetResponse -> Rep UpdateTaskSetResponse x
Prelude.Generic)
newUpdateTaskSetResponse ::
Prelude.Int ->
UpdateTaskSetResponse
newUpdateTaskSetResponse :: Int -> UpdateTaskSetResponse
newUpdateTaskSetResponse Int
pHttpStatus_ =
UpdateTaskSetResponse'
{ $sel:taskSet:UpdateTaskSetResponse' :: Maybe TaskSet
taskSet = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateTaskSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateTaskSetResponse_taskSet :: Lens.Lens' UpdateTaskSetResponse (Prelude.Maybe TaskSet)
updateTaskSetResponse_taskSet :: Lens' UpdateTaskSetResponse (Maybe TaskSet)
updateTaskSetResponse_taskSet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTaskSetResponse' {Maybe TaskSet
taskSet :: Maybe TaskSet
$sel:taskSet:UpdateTaskSetResponse' :: UpdateTaskSetResponse -> Maybe TaskSet
taskSet} -> Maybe TaskSet
taskSet) (\s :: UpdateTaskSetResponse
s@UpdateTaskSetResponse' {} Maybe TaskSet
a -> UpdateTaskSetResponse
s {$sel:taskSet:UpdateTaskSetResponse' :: Maybe TaskSet
taskSet = Maybe TaskSet
a} :: UpdateTaskSetResponse)
updateTaskSetResponse_httpStatus :: Lens.Lens' UpdateTaskSetResponse Prelude.Int
updateTaskSetResponse_httpStatus :: Lens' UpdateTaskSetResponse Int
updateTaskSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateTaskSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateTaskSetResponse' :: UpdateTaskSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateTaskSetResponse
s@UpdateTaskSetResponse' {} Int
a -> UpdateTaskSetResponse
s {$sel:httpStatus:UpdateTaskSetResponse' :: Int
httpStatus = Int
a} :: UpdateTaskSetResponse)
instance Prelude.NFData UpdateTaskSetResponse where
rnf :: UpdateTaskSetResponse -> ()
rnf UpdateTaskSetResponse' {Int
Maybe TaskSet
httpStatus :: Int
taskSet :: Maybe TaskSet
$sel:httpStatus:UpdateTaskSetResponse' :: UpdateTaskSetResponse -> Int
$sel:taskSet:UpdateTaskSetResponse' :: UpdateTaskSetResponse -> Maybe TaskSet
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe TaskSet
taskSet
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus