{-# 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.ModifyListener
(
modifyListener
, ModifyListener
, mlSSLPolicy
, mlProtocol
, mlDefaultActions
, mlCertificates
, mlPort
, mlListenerARN
, modifyListenerResponse
, ModifyListenerResponse
, mlrsListeners
, mlrsResponseStatus
) 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 ModifyListener = ModifyListener'
{ _mlSSLPolicy :: !(Maybe Text)
, _mlProtocol :: !(Maybe ProtocolEnum)
, _mlDefaultActions :: !(Maybe [Action])
, _mlCertificates :: !(Maybe [Certificate])
, _mlPort :: !(Maybe Nat)
, _mlListenerARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyListener
:: Text
-> ModifyListener
modifyListener pListenerARN_ =
ModifyListener'
{ _mlSSLPolicy = Nothing
, _mlProtocol = Nothing
, _mlDefaultActions = Nothing
, _mlCertificates = Nothing
, _mlPort = Nothing
, _mlListenerARN = pListenerARN_
}
mlSSLPolicy :: Lens' ModifyListener (Maybe Text)
mlSSLPolicy = lens _mlSSLPolicy (\ s a -> s{_mlSSLPolicy = a})
mlProtocol :: Lens' ModifyListener (Maybe ProtocolEnum)
mlProtocol = lens _mlProtocol (\ s a -> s{_mlProtocol = a})
mlDefaultActions :: Lens' ModifyListener [Action]
mlDefaultActions = lens _mlDefaultActions (\ s a -> s{_mlDefaultActions = a}) . _Default . _Coerce
mlCertificates :: Lens' ModifyListener [Certificate]
mlCertificates = lens _mlCertificates (\ s a -> s{_mlCertificates = a}) . _Default . _Coerce
mlPort :: Lens' ModifyListener (Maybe Natural)
mlPort = lens _mlPort (\ s a -> s{_mlPort = a}) . mapping _Nat
mlListenerARN :: Lens' ModifyListener Text
mlListenerARN = lens _mlListenerARN (\ s a -> s{_mlListenerARN = a})
instance AWSRequest ModifyListener where
type Rs ModifyListener = ModifyListenerResponse
request = postQuery eLBv2
response
= receiveXMLWrapper "ModifyListenerResult"
(\ s h x ->
ModifyListenerResponse' <$>
(x .@? "Listeners" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable ModifyListener where
instance NFData ModifyListener where
instance ToHeaders ModifyListener where
toHeaders = const mempty
instance ToPath ModifyListener where
toPath = const "/"
instance ToQuery ModifyListener where
toQuery ModifyListener'{..}
= mconcat
["Action" =: ("ModifyListener" :: ByteString),
"Version" =: ("2015-12-01" :: ByteString),
"SslPolicy" =: _mlSSLPolicy,
"Protocol" =: _mlProtocol,
"DefaultActions" =:
toQuery (toQueryList "member" <$> _mlDefaultActions),
"Certificates" =:
toQuery (toQueryList "member" <$> _mlCertificates),
"Port" =: _mlPort, "ListenerArn" =: _mlListenerARN]
data ModifyListenerResponse = ModifyListenerResponse'
{ _mlrsListeners :: !(Maybe [Listener])
, _mlrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyListenerResponse
:: Int
-> ModifyListenerResponse
modifyListenerResponse pResponseStatus_ =
ModifyListenerResponse'
{_mlrsListeners = Nothing, _mlrsResponseStatus = pResponseStatus_}
mlrsListeners :: Lens' ModifyListenerResponse [Listener]
mlrsListeners = lens _mlrsListeners (\ s a -> s{_mlrsListeners = a}) . _Default . _Coerce
mlrsResponseStatus :: Lens' ModifyListenerResponse Int
mlrsResponseStatus = lens _mlrsResponseStatus (\ s a -> s{_mlrsResponseStatus = a})
instance NFData ModifyListenerResponse where