module Network.AWS.ELB.DescribeLoadBalancerPolicies
(
DescribeLoadBalancerPolicies
, describeLoadBalancerPolicies
, dlbpLoadBalancerName
, dlbpPolicyNames
, DescribeLoadBalancerPoliciesResponse
, describeLoadBalancerPoliciesResponse
, dlbprPolicyDescriptions
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ELB.Types
import qualified GHC.Exts
data DescribeLoadBalancerPolicies = DescribeLoadBalancerPolicies
{ _dlbpLoadBalancerName :: Maybe Text
, _dlbpPolicyNames :: List "PolicyNames" Text
} deriving (Eq, Ord, Show)
describeLoadBalancerPolicies :: DescribeLoadBalancerPolicies
describeLoadBalancerPolicies = DescribeLoadBalancerPolicies
{ _dlbpLoadBalancerName = Nothing
, _dlbpPolicyNames = mempty
}
dlbpLoadBalancerName :: Lens' DescribeLoadBalancerPolicies (Maybe Text)
dlbpLoadBalancerName =
lens _dlbpLoadBalancerName (\s a -> s { _dlbpLoadBalancerName = a })
dlbpPolicyNames :: Lens' DescribeLoadBalancerPolicies [Text]
dlbpPolicyNames = lens _dlbpPolicyNames (\s a -> s { _dlbpPolicyNames = a }) . _List
newtype DescribeLoadBalancerPoliciesResponse = DescribeLoadBalancerPoliciesResponse
{ _dlbprPolicyDescriptions :: List "PolicyDescriptions" PolicyDescription
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeLoadBalancerPoliciesResponse where
type Item DescribeLoadBalancerPoliciesResponse = PolicyDescription
fromList = DescribeLoadBalancerPoliciesResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dlbprPolicyDescriptions
describeLoadBalancerPoliciesResponse :: DescribeLoadBalancerPoliciesResponse
describeLoadBalancerPoliciesResponse = DescribeLoadBalancerPoliciesResponse
{ _dlbprPolicyDescriptions = mempty
}
dlbprPolicyDescriptions :: Lens' DescribeLoadBalancerPoliciesResponse [PolicyDescription]
dlbprPolicyDescriptions =
lens _dlbprPolicyDescriptions (\s a -> s { _dlbprPolicyDescriptions = a })
. _List
instance ToPath DescribeLoadBalancerPolicies where
toPath = const "/"
instance ToQuery DescribeLoadBalancerPolicies where
toQuery DescribeLoadBalancerPolicies{..} = mconcat
[ "LoadBalancerName" =? _dlbpLoadBalancerName
, "PolicyNames" =? _dlbpPolicyNames
]
instance ToHeaders DescribeLoadBalancerPolicies
instance AWSRequest DescribeLoadBalancerPolicies where
type Sv DescribeLoadBalancerPolicies = ELB
type Rs DescribeLoadBalancerPolicies = DescribeLoadBalancerPoliciesResponse
request = post "DescribeLoadBalancerPolicies"
response = xmlResponse
instance FromXML DescribeLoadBalancerPoliciesResponse where
parseXML = withElement "DescribeLoadBalancerPoliciesResult" $ \x -> DescribeLoadBalancerPoliciesResponse
<$> x .@ "PolicyDescriptions"