{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.AutoScaling.DescribeLifecycleHooks
(
describeLifecycleHooks
, DescribeLifecycleHooks
, dlhLifecycleHookNames
, dlhAutoScalingGroupName
, describeLifecycleHooksResponse
, DescribeLifecycleHooksResponse
, dlhrsLifecycleHooks
, dlhrsResponseStatus
) where
import Network.AWS.AutoScaling.Types
import Network.AWS.AutoScaling.Types.Product
import Network.AWS.Lens
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 Hashable DescribeLifecycleHooks where
instance NFData DescribeLifecycleHooks where
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])
, _dlhrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeLifecycleHooksResponse
:: Int
-> DescribeLifecycleHooksResponse
describeLifecycleHooksResponse pResponseStatus_ =
DescribeLifecycleHooksResponse'
{_dlhrsLifecycleHooks = Nothing, _dlhrsResponseStatus = pResponseStatus_}
dlhrsLifecycleHooks :: Lens' DescribeLifecycleHooksResponse [LifecycleHook]
dlhrsLifecycleHooks = lens _dlhrsLifecycleHooks (\ s a -> s{_dlhrsLifecycleHooks = a}) . _Default . _Coerce
dlhrsResponseStatus :: Lens' DescribeLifecycleHooksResponse Int
dlhrsResponseStatus = lens _dlhrsResponseStatus (\ s a -> s{_dlhrsResponseStatus = a})
instance NFData DescribeLifecycleHooksResponse where