module Network.AWS.AutoScaling.ExitStandby
(
ExitStandby
, exitStandby
, es1AutoScalingGroupName
, es1InstanceIds
, ExitStandbyResponse
, exitStandbyResponse
, esrActivities
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
data ExitStandby = ExitStandby
{ _es1AutoScalingGroupName :: Text
, _es1InstanceIds :: List "member" Text
} deriving (Eq, Ord, Read, Show)
exitStandby :: Text
-> ExitStandby
exitStandby p1 = ExitStandby
{ _es1AutoScalingGroupName = p1
, _es1InstanceIds = mempty
}
es1AutoScalingGroupName :: Lens' ExitStandby Text
es1AutoScalingGroupName =
lens _es1AutoScalingGroupName (\s a -> s { _es1AutoScalingGroupName = a })
es1InstanceIds :: Lens' ExitStandby [Text]
es1InstanceIds = lens _es1InstanceIds (\s a -> s { _es1InstanceIds = a }) . _List
newtype ExitStandbyResponse = ExitStandbyResponse
{ _esrActivities :: List "member" Activity
} deriving (Eq, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList ExitStandbyResponse where
type Item ExitStandbyResponse = Activity
fromList = ExitStandbyResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _esrActivities
exitStandbyResponse :: ExitStandbyResponse
exitStandbyResponse = ExitStandbyResponse
{ _esrActivities = mempty
}
esrActivities :: Lens' ExitStandbyResponse [Activity]
esrActivities = lens _esrActivities (\s a -> s { _esrActivities = a }) . _List
instance ToPath ExitStandby where
toPath = const "/"
instance ToQuery ExitStandby where
toQuery ExitStandby{..} = mconcat
[ "AutoScalingGroupName" =? _es1AutoScalingGroupName
, "InstanceIds" =? _es1InstanceIds
]
instance ToHeaders ExitStandby
instance AWSRequest ExitStandby where
type Sv ExitStandby = AutoScaling
type Rs ExitStandby = ExitStandbyResponse
request = post "ExitStandby"
response = xmlResponse
instance FromXML ExitStandbyResponse where
parseXML = withElement "ExitStandbyResult" $ \x -> ExitStandbyResponse
<$> x .@? "Activities" .!@ mempty