{-# 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.WAF.CreateByteMatchSet
(
createByteMatchSet
, CreateByteMatchSet
, cbmsName
, cbmsChangeToken
, createByteMatchSetResponse
, CreateByteMatchSetResponse
, cbmsrsByteMatchSet
, cbmsrsChangeToken
, cbmsrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.WAF.Types
import Network.AWS.WAF.Types.Product
data CreateByteMatchSet = CreateByteMatchSet'
{ _cbmsName :: !Text
, _cbmsChangeToken :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createByteMatchSet
:: Text
-> Text
-> CreateByteMatchSet
createByteMatchSet pName_ pChangeToken_ =
CreateByteMatchSet'
{ _cbmsName = pName_
, _cbmsChangeToken = pChangeToken_
}
cbmsName :: Lens' CreateByteMatchSet Text
cbmsName = lens _cbmsName (\ s a -> s{_cbmsName = a});
cbmsChangeToken :: Lens' CreateByteMatchSet Text
cbmsChangeToken = lens _cbmsChangeToken (\ s a -> s{_cbmsChangeToken = a});
instance AWSRequest CreateByteMatchSet where
type Rs CreateByteMatchSet =
CreateByteMatchSetResponse
request = postJSON waf
response
= receiveJSON
(\ s h x ->
CreateByteMatchSetResponse' <$>
(x .?> "ByteMatchSet") <*> (x .?> "ChangeToken") <*>
(pure (fromEnum s)))
instance Hashable CreateByteMatchSet
instance NFData CreateByteMatchSet
instance ToHeaders CreateByteMatchSet where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSWAF_20150824.CreateByteMatchSet" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateByteMatchSet where
toJSON CreateByteMatchSet'{..}
= object
(catMaybes
[Just ("Name" .= _cbmsName),
Just ("ChangeToken" .= _cbmsChangeToken)])
instance ToPath CreateByteMatchSet where
toPath = const "/"
instance ToQuery CreateByteMatchSet where
toQuery = const mempty
data CreateByteMatchSetResponse = CreateByteMatchSetResponse'
{ _cbmsrsByteMatchSet :: !(Maybe ByteMatchSet)
, _cbmsrsChangeToken :: !(Maybe Text)
, _cbmsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createByteMatchSetResponse
:: Int
-> CreateByteMatchSetResponse
createByteMatchSetResponse pResponseStatus_ =
CreateByteMatchSetResponse'
{ _cbmsrsByteMatchSet = Nothing
, _cbmsrsChangeToken = Nothing
, _cbmsrsResponseStatus = pResponseStatus_
}
cbmsrsByteMatchSet :: Lens' CreateByteMatchSetResponse (Maybe ByteMatchSet)
cbmsrsByteMatchSet = lens _cbmsrsByteMatchSet (\ s a -> s{_cbmsrsByteMatchSet = a});
cbmsrsChangeToken :: Lens' CreateByteMatchSetResponse (Maybe Text)
cbmsrsChangeToken = lens _cbmsrsChangeToken (\ s a -> s{_cbmsrsChangeToken = a});
cbmsrsResponseStatus :: Lens' CreateByteMatchSetResponse Int
cbmsrsResponseStatus = lens _cbmsrsResponseStatus (\ s a -> s{_cbmsrsResponseStatus = a});
instance NFData CreateByteMatchSetResponse