{-# 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.CreateLoadBalancerListeners
(
createLoadBalancerListeners
, CreateLoadBalancerListeners
, clblLoadBalancerName
, clblListeners
, createLoadBalancerListenersResponse
, CreateLoadBalancerListenersResponse
, clblrsResponseStatus
) 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
data CreateLoadBalancerListeners = CreateLoadBalancerListeners'
{ _clblLoadBalancerName :: !Text
, _clblListeners :: ![Listener]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createLoadBalancerListeners
:: Text
-> CreateLoadBalancerListeners
createLoadBalancerListeners pLoadBalancerName_ =
CreateLoadBalancerListeners'
{ _clblLoadBalancerName = pLoadBalancerName_
, _clblListeners = mempty
}
clblLoadBalancerName :: Lens' CreateLoadBalancerListeners Text
clblLoadBalancerName = lens _clblLoadBalancerName (\ s a -> s{_clblLoadBalancerName = a});
clblListeners :: Lens' CreateLoadBalancerListeners [Listener]
clblListeners = lens _clblListeners (\ s a -> s{_clblListeners = a}) . _Coerce;
instance AWSRequest CreateLoadBalancerListeners where
type Rs CreateLoadBalancerListeners =
CreateLoadBalancerListenersResponse
request = postQuery elb
response
= receiveXMLWrapper
"CreateLoadBalancerListenersResult"
(\ s h x ->
CreateLoadBalancerListenersResponse' <$>
(pure (fromEnum s)))
instance Hashable CreateLoadBalancerListeners
instance NFData CreateLoadBalancerListeners
instance ToHeaders CreateLoadBalancerListeners where
toHeaders = const mempty
instance ToPath CreateLoadBalancerListeners where
toPath = const "/"
instance ToQuery CreateLoadBalancerListeners where
toQuery CreateLoadBalancerListeners'{..}
= mconcat
["Action" =:
("CreateLoadBalancerListeners" :: ByteString),
"Version" =: ("2012-06-01" :: ByteString),
"LoadBalancerName" =: _clblLoadBalancerName,
"Listeners" =: toQueryList "member" _clblListeners]
newtype CreateLoadBalancerListenersResponse = CreateLoadBalancerListenersResponse'
{ _clblrsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createLoadBalancerListenersResponse
:: Int
-> CreateLoadBalancerListenersResponse
createLoadBalancerListenersResponse pResponseStatus_ =
CreateLoadBalancerListenersResponse'
{ _clblrsResponseStatus = pResponseStatus_
}
clblrsResponseStatus :: Lens' CreateLoadBalancerListenersResponse Int
clblrsResponseStatus = lens _clblrsResponseStatus (\ s a -> s{_clblrsResponseStatus = a});
instance NFData CreateLoadBalancerListenersResponse