module Network.AWS.OpsWorks.SetTimeBasedAutoScaling
(
SetTimeBasedAutoScaling
, setTimeBasedAutoScaling
, stbasAutoScalingSchedule
, stbasInstanceId
, SetTimeBasedAutoScalingResponse
, setTimeBasedAutoScalingResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.OpsWorks.Types
import qualified GHC.Exts
data SetTimeBasedAutoScaling = SetTimeBasedAutoScaling
{ _stbasAutoScalingSchedule :: Maybe WeeklyAutoScalingSchedule
, _stbasInstanceId :: Text
} deriving (Eq, Show)
setTimeBasedAutoScaling :: Text
-> SetTimeBasedAutoScaling
setTimeBasedAutoScaling p1 = SetTimeBasedAutoScaling
{ _stbasInstanceId = p1
, _stbasAutoScalingSchedule = Nothing
}
stbasAutoScalingSchedule :: Lens' SetTimeBasedAutoScaling (Maybe WeeklyAutoScalingSchedule)
stbasAutoScalingSchedule =
lens _stbasAutoScalingSchedule
(\s a -> s { _stbasAutoScalingSchedule = a })
stbasInstanceId :: Lens' SetTimeBasedAutoScaling Text
stbasInstanceId = lens _stbasInstanceId (\s a -> s { _stbasInstanceId = a })
data SetTimeBasedAutoScalingResponse = SetTimeBasedAutoScalingResponse
deriving (Eq, Ord, Show, Generic)
setTimeBasedAutoScalingResponse :: SetTimeBasedAutoScalingResponse
setTimeBasedAutoScalingResponse = SetTimeBasedAutoScalingResponse
instance ToPath SetTimeBasedAutoScaling where
toPath = const "/"
instance ToQuery SetTimeBasedAutoScaling where
toQuery = const mempty
instance ToHeaders SetTimeBasedAutoScaling
instance ToJSON SetTimeBasedAutoScaling where
toJSON SetTimeBasedAutoScaling{..} = object
[ "InstanceId" .= _stbasInstanceId
, "AutoScalingSchedule" .= _stbasAutoScalingSchedule
]
instance AWSRequest SetTimeBasedAutoScaling where
type Sv SetTimeBasedAutoScaling = OpsWorks
type Rs SetTimeBasedAutoScaling = SetTimeBasedAutoScalingResponse
request = post "SetTimeBasedAutoScaling"
response = nullResponse SetTimeBasedAutoScalingResponse