module Network.AWS.AutoScaling.DescribeLifecycleHooks
(
describeLifecycleHooks
, DescribeLifecycleHooks
, dlhLifecycleHookNames
, dlhAutoScalingGroupName
, describeLifecycleHooksResponse
, DescribeLifecycleHooksResponse
, dlhrsLifecycleHooks
, dlhrsStatus
) where
import Network.AWS.AutoScaling.Types
import Network.AWS.AutoScaling.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeLifecycleHooks = DescribeLifecycleHooks'
{ _dlhLifecycleHookNames :: !(Maybe [Text])
, _dlhAutoScalingGroupName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeLifecycleHooks
:: Text
-> DescribeLifecycleHooks
describeLifecycleHooks pAutoScalingGroupName_ =
DescribeLifecycleHooks'
{ _dlhLifecycleHookNames = Nothing
, _dlhAutoScalingGroupName = pAutoScalingGroupName_
}
dlhLifecycleHookNames :: Lens' DescribeLifecycleHooks [Text]
dlhLifecycleHookNames = lens _dlhLifecycleHookNames (\ s a -> s{_dlhLifecycleHookNames = a}) . _Default . _Coerce;
dlhAutoScalingGroupName :: Lens' DescribeLifecycleHooks Text
dlhAutoScalingGroupName = lens _dlhAutoScalingGroupName (\ s a -> s{_dlhAutoScalingGroupName = a});
instance AWSRequest DescribeLifecycleHooks where
type Rs DescribeLifecycleHooks =
DescribeLifecycleHooksResponse
request = postQuery autoScaling
response
= receiveXMLWrapper "DescribeLifecycleHooksResult"
(\ s h x ->
DescribeLifecycleHooksResponse' <$>
(x .@? "LifecycleHooks" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribeLifecycleHooks where
toHeaders = const mempty
instance ToPath DescribeLifecycleHooks where
toPath = const "/"
instance ToQuery DescribeLifecycleHooks where
toQuery DescribeLifecycleHooks'{..}
= mconcat
["Action" =:
("DescribeLifecycleHooks" :: ByteString),
"Version" =: ("2011-01-01" :: ByteString),
"LifecycleHookNames" =:
toQuery
(toQueryList "member" <$> _dlhLifecycleHookNames),
"AutoScalingGroupName" =: _dlhAutoScalingGroupName]
data DescribeLifecycleHooksResponse = DescribeLifecycleHooksResponse'
{ _dlhrsLifecycleHooks :: !(Maybe [LifecycleHook])
, _dlhrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeLifecycleHooksResponse
:: Int
-> DescribeLifecycleHooksResponse
describeLifecycleHooksResponse pStatus_ =
DescribeLifecycleHooksResponse'
{ _dlhrsLifecycleHooks = Nothing
, _dlhrsStatus = pStatus_
}
dlhrsLifecycleHooks :: Lens' DescribeLifecycleHooksResponse [LifecycleHook]
dlhrsLifecycleHooks = lens _dlhrsLifecycleHooks (\ s a -> s{_dlhrsLifecycleHooks = a}) . _Default . _Coerce;
dlhrsStatus :: Lens' DescribeLifecycleHooksResponse Int
dlhrsStatus = lens _dlhrsStatus (\ s a -> s{_dlhrsStatus = a});