{-# 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 where
instance NFData ModifyLoadBalancerAttributes where
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
where