module Network.AWS.AutoScaling.DescribeTerminationPolicyTypes
(
describeTerminationPolicyTypes
, DescribeTerminationPolicyTypes
, describeTerminationPolicyTypesResponse
, DescribeTerminationPolicyTypesResponse
, dtptrsTerminationPolicyTypes
, dtptrsStatus
) 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 DescribeTerminationPolicyTypes =
DescribeTerminationPolicyTypes'
deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTerminationPolicyTypes
:: DescribeTerminationPolicyTypes
describeTerminationPolicyTypes = DescribeTerminationPolicyTypes'
instance AWSRequest DescribeTerminationPolicyTypes
where
type Sv DescribeTerminationPolicyTypes = AutoScaling
type Rs DescribeTerminationPolicyTypes =
DescribeTerminationPolicyTypesResponse
request = postQuery
response
= receiveXMLWrapper
"DescribeTerminationPolicyTypesResult"
(\ s h x ->
DescribeTerminationPolicyTypesResponse' <$>
(x .@? "TerminationPolicyTypes" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
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])
, _dtptrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTerminationPolicyTypesResponse
:: Int
-> DescribeTerminationPolicyTypesResponse
describeTerminationPolicyTypesResponse pStatus_ =
DescribeTerminationPolicyTypesResponse'
{ _dtptrsTerminationPolicyTypes = Nothing
, _dtptrsStatus = pStatus_
}
dtptrsTerminationPolicyTypes :: Lens' DescribeTerminationPolicyTypesResponse [Text]
dtptrsTerminationPolicyTypes = lens _dtptrsTerminationPolicyTypes (\ s a -> s{_dtptrsTerminationPolicyTypes = a}) . _Default . _Coerce;
dtptrsStatus :: Lens' DescribeTerminationPolicyTypesResponse Int
dtptrsStatus = lens _dtptrsStatus (\ s a -> s{_dtptrsStatus = a});