{-# 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.ELB.DescribeLoadBalancerPolicyTypes
(
describeLoadBalancerPolicyTypes
, DescribeLoadBalancerPolicyTypes
, dlbptPolicyTypeNames
, describeLoadBalancerPolicyTypesResponse
, DescribeLoadBalancerPolicyTypesResponse
, dlbptrsPolicyTypeDescriptions
, dlbptrsResponseStatus
) where
import Network.AWS.ELB.Types
import Network.AWS.ELB.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeLoadBalancerPolicyTypes = DescribeLoadBalancerPolicyTypes'
{ _dlbptPolicyTypeNames :: Maybe [Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeLoadBalancerPolicyTypes
:: DescribeLoadBalancerPolicyTypes
describeLoadBalancerPolicyTypes =
DescribeLoadBalancerPolicyTypes' {_dlbptPolicyTypeNames = Nothing}
dlbptPolicyTypeNames :: Lens' DescribeLoadBalancerPolicyTypes [Text]
dlbptPolicyTypeNames = lens _dlbptPolicyTypeNames (\ s a -> s{_dlbptPolicyTypeNames = a}) . _Default . _Coerce
instance AWSRequest DescribeLoadBalancerPolicyTypes
where
type Rs DescribeLoadBalancerPolicyTypes =
DescribeLoadBalancerPolicyTypesResponse
request = postQuery elb
response
= receiveXMLWrapper
"DescribeLoadBalancerPolicyTypesResult"
(\ s h x ->
DescribeLoadBalancerPolicyTypesResponse' <$>
(x .@? "PolicyTypeDescriptions" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable DescribeLoadBalancerPolicyTypes
where
instance NFData DescribeLoadBalancerPolicyTypes where
instance ToHeaders DescribeLoadBalancerPolicyTypes
where
toHeaders = const mempty
instance ToPath DescribeLoadBalancerPolicyTypes where
toPath = const "/"
instance ToQuery DescribeLoadBalancerPolicyTypes
where
toQuery DescribeLoadBalancerPolicyTypes'{..}
= mconcat
["Action" =:
("DescribeLoadBalancerPolicyTypes" :: ByteString),
"Version" =: ("2012-06-01" :: ByteString),
"PolicyTypeNames" =:
toQuery
(toQueryList "member" <$> _dlbptPolicyTypeNames)]
data DescribeLoadBalancerPolicyTypesResponse = DescribeLoadBalancerPolicyTypesResponse'
{ _dlbptrsPolicyTypeDescriptions :: !(Maybe [PolicyTypeDescription])
, _dlbptrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeLoadBalancerPolicyTypesResponse
:: Int
-> DescribeLoadBalancerPolicyTypesResponse
describeLoadBalancerPolicyTypesResponse pResponseStatus_ =
DescribeLoadBalancerPolicyTypesResponse'
{ _dlbptrsPolicyTypeDescriptions = Nothing
, _dlbptrsResponseStatus = pResponseStatus_
}
dlbptrsPolicyTypeDescriptions :: Lens' DescribeLoadBalancerPolicyTypesResponse [PolicyTypeDescription]
dlbptrsPolicyTypeDescriptions = lens _dlbptrsPolicyTypeDescriptions (\ s a -> s{_dlbptrsPolicyTypeDescriptions = a}) . _Default . _Coerce
dlbptrsResponseStatus :: Lens' DescribeLoadBalancerPolicyTypesResponse Int
dlbptrsResponseStatus = lens _dlbptrsResponseStatus (\ s a -> s{_dlbptrsResponseStatus = a})
instance NFData
DescribeLoadBalancerPolicyTypesResponse
where