module Network.AWS.AutoScaling.PutScheduledUpdateGroupAction
(
PutScheduledUpdateGroupAction
, putScheduledUpdateGroupAction
, psugaAutoScalingGroupName
, psugaDesiredCapacity
, psugaEndTime
, psugaMaxSize
, psugaMinSize
, psugaRecurrence
, psugaScheduledActionName
, psugaStartTime
, psugaTime
, PutScheduledUpdateGroupActionResponse
, putScheduledUpdateGroupActionResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
data PutScheduledUpdateGroupAction = PutScheduledUpdateGroupAction
{ _psugaAutoScalingGroupName :: Text
, _psugaDesiredCapacity :: Maybe Int
, _psugaEndTime :: Maybe ISO8601
, _psugaMaxSize :: Maybe Int
, _psugaMinSize :: Maybe Int
, _psugaRecurrence :: Maybe Text
, _psugaScheduledActionName :: Text
, _psugaStartTime :: Maybe ISO8601
, _psugaTime :: Maybe ISO8601
} deriving (Eq, Ord, Read, Show)
putScheduledUpdateGroupAction :: Text
-> Text
-> PutScheduledUpdateGroupAction
putScheduledUpdateGroupAction p1 p2 = PutScheduledUpdateGroupAction
{ _psugaAutoScalingGroupName = p1
, _psugaScheduledActionName = p2
, _psugaTime = Nothing
, _psugaStartTime = Nothing
, _psugaEndTime = Nothing
, _psugaRecurrence = Nothing
, _psugaMinSize = Nothing
, _psugaMaxSize = Nothing
, _psugaDesiredCapacity = Nothing
}
psugaAutoScalingGroupName :: Lens' PutScheduledUpdateGroupAction Text
psugaAutoScalingGroupName =
lens _psugaAutoScalingGroupName
(\s a -> s { _psugaAutoScalingGroupName = a })
psugaDesiredCapacity :: Lens' PutScheduledUpdateGroupAction (Maybe Int)
psugaDesiredCapacity =
lens _psugaDesiredCapacity (\s a -> s { _psugaDesiredCapacity = a })
psugaEndTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)
psugaEndTime = lens _psugaEndTime (\s a -> s { _psugaEndTime = a }) . mapping _Time
psugaMaxSize :: Lens' PutScheduledUpdateGroupAction (Maybe Int)
psugaMaxSize = lens _psugaMaxSize (\s a -> s { _psugaMaxSize = a })
psugaMinSize :: Lens' PutScheduledUpdateGroupAction (Maybe Int)
psugaMinSize = lens _psugaMinSize (\s a -> s { _psugaMinSize = a })
psugaRecurrence :: Lens' PutScheduledUpdateGroupAction (Maybe Text)
psugaRecurrence = lens _psugaRecurrence (\s a -> s { _psugaRecurrence = a })
psugaScheduledActionName :: Lens' PutScheduledUpdateGroupAction Text
psugaScheduledActionName =
lens _psugaScheduledActionName
(\s a -> s { _psugaScheduledActionName = a })
psugaStartTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)
psugaStartTime = lens _psugaStartTime (\s a -> s { _psugaStartTime = a }) . mapping _Time
psugaTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)
psugaTime = lens _psugaTime (\s a -> s { _psugaTime = a }) . mapping _Time
data PutScheduledUpdateGroupActionResponse = PutScheduledUpdateGroupActionResponse
deriving (Eq, Ord, Read, Show, Generic)
putScheduledUpdateGroupActionResponse :: PutScheduledUpdateGroupActionResponse
putScheduledUpdateGroupActionResponse = PutScheduledUpdateGroupActionResponse
instance ToPath PutScheduledUpdateGroupAction where
toPath = const "/"
instance ToQuery PutScheduledUpdateGroupAction where
toQuery PutScheduledUpdateGroupAction{..} = mconcat
[ "AutoScalingGroupName" =? _psugaAutoScalingGroupName
, "DesiredCapacity" =? _psugaDesiredCapacity
, "EndTime" =? _psugaEndTime
, "MaxSize" =? _psugaMaxSize
, "MinSize" =? _psugaMinSize
, "Recurrence" =? _psugaRecurrence
, "ScheduledActionName" =? _psugaScheduledActionName
, "StartTime" =? _psugaStartTime
, "Time" =? _psugaTime
]
instance ToHeaders PutScheduledUpdateGroupAction
instance AWSRequest PutScheduledUpdateGroupAction where
type Sv PutScheduledUpdateGroupAction = AutoScaling
type Rs PutScheduledUpdateGroupAction = PutScheduledUpdateGroupActionResponse
request = post "PutScheduledUpdateGroupAction"
response = nullResponse PutScheduledUpdateGroupActionResponse