module Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes
(
describeAutoScalingNotificationTypes
, DescribeAutoScalingNotificationTypes
, describeAutoScalingNotificationTypesResponse
, DescribeAutoScalingNotificationTypesResponse
, dasntrsAutoScalingNotificationTypes
, dasntrsStatus
) 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 DescribeAutoScalingNotificationTypes =
DescribeAutoScalingNotificationTypes'
deriving (Eq,Read,Show,Data,Typeable,Generic)
describeAutoScalingNotificationTypes
:: DescribeAutoScalingNotificationTypes
describeAutoScalingNotificationTypes = DescribeAutoScalingNotificationTypes'
instance AWSRequest
DescribeAutoScalingNotificationTypes where
type Rs DescribeAutoScalingNotificationTypes =
DescribeAutoScalingNotificationTypesResponse
request = postQuery autoScaling
response
= receiveXMLWrapper
"DescribeAutoScalingNotificationTypesResult"
(\ s h x ->
DescribeAutoScalingNotificationTypesResponse' <$>
(x .@? "AutoScalingNotificationTypes" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance ToHeaders
DescribeAutoScalingNotificationTypes where
toHeaders = const mempty
instance ToPath DescribeAutoScalingNotificationTypes
where
toPath = const "/"
instance ToQuery DescribeAutoScalingNotificationTypes
where
toQuery
= const
(mconcat
["Action" =:
("DescribeAutoScalingNotificationTypes" ::
ByteString),
"Version" =: ("2011-01-01" :: ByteString)])
data DescribeAutoScalingNotificationTypesResponse = DescribeAutoScalingNotificationTypesResponse'
{ _dasntrsAutoScalingNotificationTypes :: !(Maybe [Text])
, _dasntrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeAutoScalingNotificationTypesResponse
:: Int
-> DescribeAutoScalingNotificationTypesResponse
describeAutoScalingNotificationTypesResponse pStatus_ =
DescribeAutoScalingNotificationTypesResponse'
{ _dasntrsAutoScalingNotificationTypes = Nothing
, _dasntrsStatus = pStatus_
}
dasntrsAutoScalingNotificationTypes :: Lens' DescribeAutoScalingNotificationTypesResponse [Text]
dasntrsAutoScalingNotificationTypes = lens _dasntrsAutoScalingNotificationTypes (\ s a -> s{_dasntrsAutoScalingNotificationTypes = a}) . _Default . _Coerce;
dasntrsStatus :: Lens' DescribeAutoScalingNotificationTypesResponse Int
dasntrsStatus = lens _dasntrsStatus (\ s a -> s{_dasntrsStatus = a});