{-# 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.CreateLBCookieStickinessPolicy
(
createLBCookieStickinessPolicy
, CreateLBCookieStickinessPolicy
, clbcspCookieExpirationPeriod
, clbcspLoadBalancerName
, clbcspPolicyName
, createLBCookieStickinessPolicyResponse
, CreateLBCookieStickinessPolicyResponse
, clbcsprsResponseStatus
) 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 CreateLBCookieStickinessPolicy = CreateLBCookieStickinessPolicy'
{ _clbcspCookieExpirationPeriod :: !(Maybe Integer)
, _clbcspLoadBalancerName :: !Text
, _clbcspPolicyName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createLBCookieStickinessPolicy
:: Text
-> Text
-> CreateLBCookieStickinessPolicy
createLBCookieStickinessPolicy pLoadBalancerName_ pPolicyName_ =
CreateLBCookieStickinessPolicy'
{ _clbcspCookieExpirationPeriod = Nothing
, _clbcspLoadBalancerName = pLoadBalancerName_
, _clbcspPolicyName = pPolicyName_
}
clbcspCookieExpirationPeriod :: Lens' CreateLBCookieStickinessPolicy (Maybe Integer)
clbcspCookieExpirationPeriod = lens _clbcspCookieExpirationPeriod (\ s a -> s{_clbcspCookieExpirationPeriod = a});
clbcspLoadBalancerName :: Lens' CreateLBCookieStickinessPolicy Text
clbcspLoadBalancerName = lens _clbcspLoadBalancerName (\ s a -> s{_clbcspLoadBalancerName = a});
clbcspPolicyName :: Lens' CreateLBCookieStickinessPolicy Text
clbcspPolicyName = lens _clbcspPolicyName (\ s a -> s{_clbcspPolicyName = a});
instance AWSRequest CreateLBCookieStickinessPolicy
where
type Rs CreateLBCookieStickinessPolicy =
CreateLBCookieStickinessPolicyResponse
request = postQuery elb
response
= receiveXMLWrapper
"CreateLBCookieStickinessPolicyResult"
(\ s h x ->
CreateLBCookieStickinessPolicyResponse' <$>
(pure (fromEnum s)))
instance Hashable CreateLBCookieStickinessPolicy
instance NFData CreateLBCookieStickinessPolicy
instance ToHeaders CreateLBCookieStickinessPolicy
where
toHeaders = const mempty
instance ToPath CreateLBCookieStickinessPolicy where
toPath = const "/"
instance ToQuery CreateLBCookieStickinessPolicy where
toQuery CreateLBCookieStickinessPolicy'{..}
= mconcat
["Action" =:
("CreateLBCookieStickinessPolicy" :: ByteString),
"Version" =: ("2012-06-01" :: ByteString),
"CookieExpirationPeriod" =:
_clbcspCookieExpirationPeriod,
"LoadBalancerName" =: _clbcspLoadBalancerName,
"PolicyName" =: _clbcspPolicyName]
newtype CreateLBCookieStickinessPolicyResponse = CreateLBCookieStickinessPolicyResponse'
{ _clbcsprsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createLBCookieStickinessPolicyResponse
:: Int
-> CreateLBCookieStickinessPolicyResponse
createLBCookieStickinessPolicyResponse pResponseStatus_ =
CreateLBCookieStickinessPolicyResponse'
{ _clbcsprsResponseStatus = pResponseStatus_
}
clbcsprsResponseStatus :: Lens' CreateLBCookieStickinessPolicyResponse Int
clbcsprsResponseStatus = lens _clbcsprsResponseStatus (\ s a -> s{_clbcsprsResponseStatus = a});
instance NFData
CreateLBCookieStickinessPolicyResponse