module Network.AWS.AutoScaling.DescribeLifecycleHooks
(
DescribeLifecycleHooks
, describeLifecycleHooks
, dlhAutoScalingGroupName
, dlhLifecycleHookNames
, DescribeLifecycleHooksResponse
, describeLifecycleHooksResponse
, dlhrLifecycleHooks
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
data DescribeLifecycleHooks = DescribeLifecycleHooks
{ _dlhAutoScalingGroupName :: Text
, _dlhLifecycleHookNames :: List "LifecycleHookNames" Text
} deriving (Eq, Ord, Show)
describeLifecycleHooks :: Text
-> DescribeLifecycleHooks
describeLifecycleHooks p1 = DescribeLifecycleHooks
{ _dlhAutoScalingGroupName = p1
, _dlhLifecycleHookNames = mempty
}
dlhAutoScalingGroupName :: Lens' DescribeLifecycleHooks Text
dlhAutoScalingGroupName =
lens _dlhAutoScalingGroupName (\s a -> s { _dlhAutoScalingGroupName = a })
dlhLifecycleHookNames :: Lens' DescribeLifecycleHooks [Text]
dlhLifecycleHookNames =
lens _dlhLifecycleHookNames (\s a -> s { _dlhLifecycleHookNames = a })
. _List
newtype DescribeLifecycleHooksResponse = DescribeLifecycleHooksResponse
{ _dlhrLifecycleHooks :: List "LifecycleHooks" LifecycleHook
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeLifecycleHooksResponse where
type Item DescribeLifecycleHooksResponse = LifecycleHook
fromList = DescribeLifecycleHooksResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dlhrLifecycleHooks
describeLifecycleHooksResponse :: DescribeLifecycleHooksResponse
describeLifecycleHooksResponse = DescribeLifecycleHooksResponse
{ _dlhrLifecycleHooks = mempty
}
dlhrLifecycleHooks :: Lens' DescribeLifecycleHooksResponse [LifecycleHook]
dlhrLifecycleHooks =
lens _dlhrLifecycleHooks (\s a -> s { _dlhrLifecycleHooks = a })
. _List
instance ToPath DescribeLifecycleHooks where
toPath = const "/"
instance ToQuery DescribeLifecycleHooks where
toQuery DescribeLifecycleHooks{..} = mconcat
[ "AutoScalingGroupName" =? _dlhAutoScalingGroupName
, "LifecycleHookNames" =? _dlhLifecycleHookNames
]
instance ToHeaders DescribeLifecycleHooks
instance AWSRequest DescribeLifecycleHooks where
type Sv DescribeLifecycleHooks = AutoScaling
type Rs DescribeLifecycleHooks = DescribeLifecycleHooksResponse
request = post "DescribeLifecycleHooks"
response = xmlResponse
instance FromXML DescribeLifecycleHooksResponse where
parseXML = withElement "DescribeLifecycleHooksResult" $ \x -> DescribeLifecycleHooksResponse
<$> x .@ "LifecycleHooks"