{-# 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.AutoScaling.BatchPutScheduledUpdateGroupAction
(
BatchPutScheduledUpdateGroupAction (..),
newBatchPutScheduledUpdateGroupAction,
batchPutScheduledUpdateGroupAction_autoScalingGroupName,
batchPutScheduledUpdateGroupAction_scheduledUpdateGroupActions,
BatchPutScheduledUpdateGroupActionResponse (..),
newBatchPutScheduledUpdateGroupActionResponse,
batchPutScheduledUpdateGroupActionResponse_failedScheduledUpdateGroupActions,
batchPutScheduledUpdateGroupActionResponse_httpStatus,
)
where
import Amazonka.AutoScaling.Types
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
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data BatchPutScheduledUpdateGroupAction = BatchPutScheduledUpdateGroupAction'
{
BatchPutScheduledUpdateGroupAction -> Text
autoScalingGroupName :: Prelude.Text,
BatchPutScheduledUpdateGroupAction
-> [ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions :: [ScheduledUpdateGroupActionRequest]
}
deriving (BatchPutScheduledUpdateGroupAction
-> BatchPutScheduledUpdateGroupAction -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchPutScheduledUpdateGroupAction
-> BatchPutScheduledUpdateGroupAction -> Bool
$c/= :: BatchPutScheduledUpdateGroupAction
-> BatchPutScheduledUpdateGroupAction -> Bool
== :: BatchPutScheduledUpdateGroupAction
-> BatchPutScheduledUpdateGroupAction -> Bool
$c== :: BatchPutScheduledUpdateGroupAction
-> BatchPutScheduledUpdateGroupAction -> Bool
Prelude.Eq, ReadPrec [BatchPutScheduledUpdateGroupAction]
ReadPrec BatchPutScheduledUpdateGroupAction
Int -> ReadS BatchPutScheduledUpdateGroupAction
ReadS [BatchPutScheduledUpdateGroupAction]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchPutScheduledUpdateGroupAction]
$creadListPrec :: ReadPrec [BatchPutScheduledUpdateGroupAction]
readPrec :: ReadPrec BatchPutScheduledUpdateGroupAction
$creadPrec :: ReadPrec BatchPutScheduledUpdateGroupAction
readList :: ReadS [BatchPutScheduledUpdateGroupAction]
$creadList :: ReadS [BatchPutScheduledUpdateGroupAction]
readsPrec :: Int -> ReadS BatchPutScheduledUpdateGroupAction
$creadsPrec :: Int -> ReadS BatchPutScheduledUpdateGroupAction
Prelude.Read, Int -> BatchPutScheduledUpdateGroupAction -> ShowS
[BatchPutScheduledUpdateGroupAction] -> ShowS
BatchPutScheduledUpdateGroupAction -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchPutScheduledUpdateGroupAction] -> ShowS
$cshowList :: [BatchPutScheduledUpdateGroupAction] -> ShowS
show :: BatchPutScheduledUpdateGroupAction -> String
$cshow :: BatchPutScheduledUpdateGroupAction -> String
showsPrec :: Int -> BatchPutScheduledUpdateGroupAction -> ShowS
$cshowsPrec :: Int -> BatchPutScheduledUpdateGroupAction -> ShowS
Prelude.Show, forall x.
Rep BatchPutScheduledUpdateGroupAction x
-> BatchPutScheduledUpdateGroupAction
forall x.
BatchPutScheduledUpdateGroupAction
-> Rep BatchPutScheduledUpdateGroupAction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep BatchPutScheduledUpdateGroupAction x
-> BatchPutScheduledUpdateGroupAction
$cfrom :: forall x.
BatchPutScheduledUpdateGroupAction
-> Rep BatchPutScheduledUpdateGroupAction x
Prelude.Generic)
newBatchPutScheduledUpdateGroupAction ::
Prelude.Text ->
BatchPutScheduledUpdateGroupAction
newBatchPutScheduledUpdateGroupAction :: Text -> BatchPutScheduledUpdateGroupAction
newBatchPutScheduledUpdateGroupAction
Text
pAutoScalingGroupName_ =
BatchPutScheduledUpdateGroupAction'
{ $sel:autoScalingGroupName:BatchPutScheduledUpdateGroupAction' :: Text
autoScalingGroupName =
Text
pAutoScalingGroupName_,
$sel:scheduledUpdateGroupActions:BatchPutScheduledUpdateGroupAction' :: [ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions =
forall a. Monoid a => a
Prelude.mempty
}
batchPutScheduledUpdateGroupAction_autoScalingGroupName :: Lens.Lens' BatchPutScheduledUpdateGroupAction Prelude.Text
batchPutScheduledUpdateGroupAction_autoScalingGroupName :: Lens' BatchPutScheduledUpdateGroupAction Text
batchPutScheduledUpdateGroupAction_autoScalingGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPutScheduledUpdateGroupAction' {Text
autoScalingGroupName :: Text
$sel:autoScalingGroupName:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction -> Text
autoScalingGroupName} -> Text
autoScalingGroupName) (\s :: BatchPutScheduledUpdateGroupAction
s@BatchPutScheduledUpdateGroupAction' {} Text
a -> BatchPutScheduledUpdateGroupAction
s {$sel:autoScalingGroupName:BatchPutScheduledUpdateGroupAction' :: Text
autoScalingGroupName = Text
a} :: BatchPutScheduledUpdateGroupAction)
batchPutScheduledUpdateGroupAction_scheduledUpdateGroupActions :: Lens.Lens' BatchPutScheduledUpdateGroupAction [ScheduledUpdateGroupActionRequest]
batchPutScheduledUpdateGroupAction_scheduledUpdateGroupActions :: Lens'
BatchPutScheduledUpdateGroupAction
[ScheduledUpdateGroupActionRequest]
batchPutScheduledUpdateGroupAction_scheduledUpdateGroupActions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPutScheduledUpdateGroupAction' {[ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions :: [ScheduledUpdateGroupActionRequest]
$sel:scheduledUpdateGroupActions:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction
-> [ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions} -> [ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions) (\s :: BatchPutScheduledUpdateGroupAction
s@BatchPutScheduledUpdateGroupAction' {} [ScheduledUpdateGroupActionRequest]
a -> BatchPutScheduledUpdateGroupAction
s {$sel:scheduledUpdateGroupActions:BatchPutScheduledUpdateGroupAction' :: [ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions = [ScheduledUpdateGroupActionRequest]
a} :: BatchPutScheduledUpdateGroupAction) 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
instance
Core.AWSRequest
BatchPutScheduledUpdateGroupAction
where
type
AWSResponse BatchPutScheduledUpdateGroupAction =
BatchPutScheduledUpdateGroupActionResponse
request :: (Service -> Service)
-> BatchPutScheduledUpdateGroupAction
-> Request BatchPutScheduledUpdateGroupAction
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy BatchPutScheduledUpdateGroupAction
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse BatchPutScheduledUpdateGroupAction)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"BatchPutScheduledUpdateGroupActionResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe [FailedScheduledUpdateGroupActionRequest]
-> Int -> BatchPutScheduledUpdateGroupActionResponse
BatchPutScheduledUpdateGroupActionResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"FailedScheduledUpdateGroupActions"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
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
BatchPutScheduledUpdateGroupAction
where
hashWithSalt :: Int -> BatchPutScheduledUpdateGroupAction -> Int
hashWithSalt
Int
_salt
BatchPutScheduledUpdateGroupAction' {[ScheduledUpdateGroupActionRequest]
Text
scheduledUpdateGroupActions :: [ScheduledUpdateGroupActionRequest]
autoScalingGroupName :: Text
$sel:scheduledUpdateGroupActions:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction
-> [ScheduledUpdateGroupActionRequest]
$sel:autoScalingGroupName:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
autoScalingGroupName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions
instance
Prelude.NFData
BatchPutScheduledUpdateGroupAction
where
rnf :: BatchPutScheduledUpdateGroupAction -> ()
rnf BatchPutScheduledUpdateGroupAction' {[ScheduledUpdateGroupActionRequest]
Text
scheduledUpdateGroupActions :: [ScheduledUpdateGroupActionRequest]
autoScalingGroupName :: Text
$sel:scheduledUpdateGroupActions:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction
-> [ScheduledUpdateGroupActionRequest]
$sel:autoScalingGroupName:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
autoScalingGroupName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions
instance
Data.ToHeaders
BatchPutScheduledUpdateGroupAction
where
toHeaders :: BatchPutScheduledUpdateGroupAction -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToPath
BatchPutScheduledUpdateGroupAction
where
toPath :: BatchPutScheduledUpdateGroupAction -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
BatchPutScheduledUpdateGroupAction
where
toQuery :: BatchPutScheduledUpdateGroupAction -> QueryString
toQuery BatchPutScheduledUpdateGroupAction' {[ScheduledUpdateGroupActionRequest]
Text
scheduledUpdateGroupActions :: [ScheduledUpdateGroupActionRequest]
autoScalingGroupName :: Text
$sel:scheduledUpdateGroupActions:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction
-> [ScheduledUpdateGroupActionRequest]
$sel:autoScalingGroupName:BatchPutScheduledUpdateGroupAction' :: BatchPutScheduledUpdateGroupAction -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"BatchPutScheduledUpdateGroupAction" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2011-01-01" :: Prelude.ByteString),
ByteString
"AutoScalingGroupName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
autoScalingGroupName,
ByteString
"ScheduledUpdateGroupActions"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList
ByteString
"member"
[ScheduledUpdateGroupActionRequest]
scheduledUpdateGroupActions
]
data BatchPutScheduledUpdateGroupActionResponse = BatchPutScheduledUpdateGroupActionResponse'
{
BatchPutScheduledUpdateGroupActionResponse
-> Maybe [FailedScheduledUpdateGroupActionRequest]
failedScheduledUpdateGroupActions :: Prelude.Maybe [FailedScheduledUpdateGroupActionRequest],
BatchPutScheduledUpdateGroupActionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (BatchPutScheduledUpdateGroupActionResponse
-> BatchPutScheduledUpdateGroupActionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BatchPutScheduledUpdateGroupActionResponse
-> BatchPutScheduledUpdateGroupActionResponse -> Bool
$c/= :: BatchPutScheduledUpdateGroupActionResponse
-> BatchPutScheduledUpdateGroupActionResponse -> Bool
== :: BatchPutScheduledUpdateGroupActionResponse
-> BatchPutScheduledUpdateGroupActionResponse -> Bool
$c== :: BatchPutScheduledUpdateGroupActionResponse
-> BatchPutScheduledUpdateGroupActionResponse -> Bool
Prelude.Eq, ReadPrec [BatchPutScheduledUpdateGroupActionResponse]
ReadPrec BatchPutScheduledUpdateGroupActionResponse
Int -> ReadS BatchPutScheduledUpdateGroupActionResponse
ReadS [BatchPutScheduledUpdateGroupActionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BatchPutScheduledUpdateGroupActionResponse]
$creadListPrec :: ReadPrec [BatchPutScheduledUpdateGroupActionResponse]
readPrec :: ReadPrec BatchPutScheduledUpdateGroupActionResponse
$creadPrec :: ReadPrec BatchPutScheduledUpdateGroupActionResponse
readList :: ReadS [BatchPutScheduledUpdateGroupActionResponse]
$creadList :: ReadS [BatchPutScheduledUpdateGroupActionResponse]
readsPrec :: Int -> ReadS BatchPutScheduledUpdateGroupActionResponse
$creadsPrec :: Int -> ReadS BatchPutScheduledUpdateGroupActionResponse
Prelude.Read, Int -> BatchPutScheduledUpdateGroupActionResponse -> ShowS
[BatchPutScheduledUpdateGroupActionResponse] -> ShowS
BatchPutScheduledUpdateGroupActionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BatchPutScheduledUpdateGroupActionResponse] -> ShowS
$cshowList :: [BatchPutScheduledUpdateGroupActionResponse] -> ShowS
show :: BatchPutScheduledUpdateGroupActionResponse -> String
$cshow :: BatchPutScheduledUpdateGroupActionResponse -> String
showsPrec :: Int -> BatchPutScheduledUpdateGroupActionResponse -> ShowS
$cshowsPrec :: Int -> BatchPutScheduledUpdateGroupActionResponse -> ShowS
Prelude.Show, forall x.
Rep BatchPutScheduledUpdateGroupActionResponse x
-> BatchPutScheduledUpdateGroupActionResponse
forall x.
BatchPutScheduledUpdateGroupActionResponse
-> Rep BatchPutScheduledUpdateGroupActionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep BatchPutScheduledUpdateGroupActionResponse x
-> BatchPutScheduledUpdateGroupActionResponse
$cfrom :: forall x.
BatchPutScheduledUpdateGroupActionResponse
-> Rep BatchPutScheduledUpdateGroupActionResponse x
Prelude.Generic)
newBatchPutScheduledUpdateGroupActionResponse ::
Prelude.Int ->
BatchPutScheduledUpdateGroupActionResponse
newBatchPutScheduledUpdateGroupActionResponse :: Int -> BatchPutScheduledUpdateGroupActionResponse
newBatchPutScheduledUpdateGroupActionResponse
Int
pHttpStatus_ =
BatchPutScheduledUpdateGroupActionResponse'
{ $sel:failedScheduledUpdateGroupActions:BatchPutScheduledUpdateGroupActionResponse' :: Maybe [FailedScheduledUpdateGroupActionRequest]
failedScheduledUpdateGroupActions =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:BatchPutScheduledUpdateGroupActionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
batchPutScheduledUpdateGroupActionResponse_failedScheduledUpdateGroupActions :: Lens.Lens' BatchPutScheduledUpdateGroupActionResponse (Prelude.Maybe [FailedScheduledUpdateGroupActionRequest])
batchPutScheduledUpdateGroupActionResponse_failedScheduledUpdateGroupActions :: Lens'
BatchPutScheduledUpdateGroupActionResponse
(Maybe [FailedScheduledUpdateGroupActionRequest])
batchPutScheduledUpdateGroupActionResponse_failedScheduledUpdateGroupActions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPutScheduledUpdateGroupActionResponse' {Maybe [FailedScheduledUpdateGroupActionRequest]
failedScheduledUpdateGroupActions :: Maybe [FailedScheduledUpdateGroupActionRequest]
$sel:failedScheduledUpdateGroupActions:BatchPutScheduledUpdateGroupActionResponse' :: BatchPutScheduledUpdateGroupActionResponse
-> Maybe [FailedScheduledUpdateGroupActionRequest]
failedScheduledUpdateGroupActions} -> Maybe [FailedScheduledUpdateGroupActionRequest]
failedScheduledUpdateGroupActions) (\s :: BatchPutScheduledUpdateGroupActionResponse
s@BatchPutScheduledUpdateGroupActionResponse' {} Maybe [FailedScheduledUpdateGroupActionRequest]
a -> BatchPutScheduledUpdateGroupActionResponse
s {$sel:failedScheduledUpdateGroupActions:BatchPutScheduledUpdateGroupActionResponse' :: Maybe [FailedScheduledUpdateGroupActionRequest]
failedScheduledUpdateGroupActions = Maybe [FailedScheduledUpdateGroupActionRequest]
a} :: BatchPutScheduledUpdateGroupActionResponse) 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
batchPutScheduledUpdateGroupActionResponse_httpStatus :: Lens.Lens' BatchPutScheduledUpdateGroupActionResponse Prelude.Int
batchPutScheduledUpdateGroupActionResponse_httpStatus :: Lens' BatchPutScheduledUpdateGroupActionResponse Int
batchPutScheduledUpdateGroupActionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BatchPutScheduledUpdateGroupActionResponse' {Int
httpStatus :: Int
$sel:httpStatus:BatchPutScheduledUpdateGroupActionResponse' :: BatchPutScheduledUpdateGroupActionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: BatchPutScheduledUpdateGroupActionResponse
s@BatchPutScheduledUpdateGroupActionResponse' {} Int
a -> BatchPutScheduledUpdateGroupActionResponse
s {$sel:httpStatus:BatchPutScheduledUpdateGroupActionResponse' :: Int
httpStatus = Int
a} :: BatchPutScheduledUpdateGroupActionResponse)
instance
Prelude.NFData
BatchPutScheduledUpdateGroupActionResponse
where
rnf :: BatchPutScheduledUpdateGroupActionResponse -> ()
rnf BatchPutScheduledUpdateGroupActionResponse' {Int
Maybe [FailedScheduledUpdateGroupActionRequest]
httpStatus :: Int
failedScheduledUpdateGroupActions :: Maybe [FailedScheduledUpdateGroupActionRequest]
$sel:httpStatus:BatchPutScheduledUpdateGroupActionResponse' :: BatchPutScheduledUpdateGroupActionResponse -> Int
$sel:failedScheduledUpdateGroupActions:BatchPutScheduledUpdateGroupActionResponse' :: BatchPutScheduledUpdateGroupActionResponse
-> Maybe [FailedScheduledUpdateGroupActionRequest]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [FailedScheduledUpdateGroupActionRequest]
failedScheduledUpdateGroupActions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus