{-# 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.ELBv2.ModifyLoadBalancerAttributes
(
modifyLoadBalancerAttributes
, ModifyLoadBalancerAttributes
, mlbaLoadBalancerARN
, mlbaAttributes
, modifyLoadBalancerAttributesResponse
, ModifyLoadBalancerAttributesResponse
, mlbarsAttributes
, mlbarsResponseStatus
) where
import Network.AWS.ELBv2.Types
import Network.AWS.ELBv2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ModifyLoadBalancerAttributes = ModifyLoadBalancerAttributes'
{ _mlbaLoadBalancerARN :: !Text
, _mlbaAttributes :: ![LoadBalancerAttribute]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyLoadBalancerAttributes
:: Text
-> ModifyLoadBalancerAttributes
modifyLoadBalancerAttributes pLoadBalancerARN_ =
ModifyLoadBalancerAttributes'
{ _mlbaLoadBalancerARN = pLoadBalancerARN_
, _mlbaAttributes = mempty
}
mlbaLoadBalancerARN :: Lens' ModifyLoadBalancerAttributes Text
mlbaLoadBalancerARN = lens _mlbaLoadBalancerARN (\ s a -> s{_mlbaLoadBalancerARN = a});
mlbaAttributes :: Lens' ModifyLoadBalancerAttributes [LoadBalancerAttribute]
mlbaAttributes = lens _mlbaAttributes (\ s a -> s{_mlbaAttributes = a}) . _Coerce;
instance AWSRequest ModifyLoadBalancerAttributes
where
type Rs ModifyLoadBalancerAttributes =
ModifyLoadBalancerAttributesResponse
request = postQuery eLBv2
response
= receiveXMLWrapper
"ModifyLoadBalancerAttributesResult"
(\ s h x ->
ModifyLoadBalancerAttributesResponse' <$>
(x .@? "Attributes" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable ModifyLoadBalancerAttributes
instance NFData ModifyLoadBalancerAttributes
instance ToHeaders ModifyLoadBalancerAttributes where
toHeaders = const mempty
instance ToPath ModifyLoadBalancerAttributes where
toPath = const "/"
instance ToQuery ModifyLoadBalancerAttributes where
toQuery ModifyLoadBalancerAttributes'{..}
= mconcat
["Action" =:
("ModifyLoadBalancerAttributes" :: ByteString),
"Version" =: ("2015-12-01" :: ByteString),
"LoadBalancerArn" =: _mlbaLoadBalancerARN,
"Attributes" =: toQueryList "member" _mlbaAttributes]
data ModifyLoadBalancerAttributesResponse = ModifyLoadBalancerAttributesResponse'
{ _mlbarsAttributes :: !(Maybe [LoadBalancerAttribute])
, _mlbarsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyLoadBalancerAttributesResponse
:: Int
-> ModifyLoadBalancerAttributesResponse
modifyLoadBalancerAttributesResponse pResponseStatus_ =
ModifyLoadBalancerAttributesResponse'
{ _mlbarsAttributes = Nothing
, _mlbarsResponseStatus = pResponseStatus_
}
mlbarsAttributes :: Lens' ModifyLoadBalancerAttributesResponse [LoadBalancerAttribute]
mlbarsAttributes = lens _mlbarsAttributes (\ s a -> s{_mlbarsAttributes = a}) . _Default . _Coerce;
mlbarsResponseStatus :: Lens' ModifyLoadBalancerAttributesResponse Int
mlbarsResponseStatus = lens _mlbarsResponseStatus (\ s a -> s{_mlbarsResponseStatus = a});
instance NFData ModifyLoadBalancerAttributesResponse