{-# 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.DescribeTerminationPolicyTypes
(
describeTerminationPolicyTypes
, DescribeTerminationPolicyTypes
, describeTerminationPolicyTypesResponse
, DescribeTerminationPolicyTypesResponse
, dtptrsTerminationPolicyTypes
, dtptrsResponseStatus
) 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 DescribeTerminationPolicyTypes =
DescribeTerminationPolicyTypes'
deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTerminationPolicyTypes
:: DescribeTerminationPolicyTypes
describeTerminationPolicyTypes = DescribeTerminationPolicyTypes'
instance AWSRequest DescribeTerminationPolicyTypes
where
type Rs DescribeTerminationPolicyTypes =
DescribeTerminationPolicyTypesResponse
request = postQuery autoScaling
response
= receiveXMLWrapper
"DescribeTerminationPolicyTypesResult"
(\ s h x ->
DescribeTerminationPolicyTypesResponse' <$>
(x .@? "TerminationPolicyTypes" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable DescribeTerminationPolicyTypes
instance NFData DescribeTerminationPolicyTypes
instance ToHeaders DescribeTerminationPolicyTypes
where
toHeaders = const mempty
instance ToPath DescribeTerminationPolicyTypes where
toPath = const "/"
instance ToQuery DescribeTerminationPolicyTypes where
toQuery
= const
(mconcat
["Action" =:
("DescribeTerminationPolicyTypes" :: ByteString),
"Version" =: ("2011-01-01" :: ByteString)])
data DescribeTerminationPolicyTypesResponse = DescribeTerminationPolicyTypesResponse'
{ _dtptrsTerminationPolicyTypes :: !(Maybe [Text])
, _dtptrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTerminationPolicyTypesResponse
:: Int
-> DescribeTerminationPolicyTypesResponse
describeTerminationPolicyTypesResponse pResponseStatus_ =
DescribeTerminationPolicyTypesResponse'
{ _dtptrsTerminationPolicyTypes = Nothing
, _dtptrsResponseStatus = pResponseStatus_
}
dtptrsTerminationPolicyTypes :: Lens' DescribeTerminationPolicyTypesResponse [Text]
dtptrsTerminationPolicyTypes = lens _dtptrsTerminationPolicyTypes (\ s a -> s{_dtptrsTerminationPolicyTypes = a}) . _Default . _Coerce;
dtptrsResponseStatus :: Lens' DescribeTerminationPolicyTypesResponse Int
dtptrsResponseStatus = lens _dtptrsResponseStatus (\ s a -> s{_dtptrsResponseStatus = a});
instance NFData
DescribeTerminationPolicyTypesResponse