module Network.AWS.CloudSearch.DefineExpression
(
defineExpression
, DefineExpression
, dDomainName
, dExpression
, defineExpressionResponse
, DefineExpressionResponse
, dersResponseStatus
, dersExpression
) where
import Network.AWS.CloudSearch.Types
import Network.AWS.CloudSearch.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DefineExpression = DefineExpression'
{ _dDomainName :: !Text
, _dExpression :: !Expression
} deriving (Eq,Read,Show,Data,Typeable,Generic)
defineExpression
:: Text
-> Expression
-> DefineExpression
defineExpression pDomainName_ pExpression_ =
DefineExpression'
{ _dDomainName = pDomainName_
, _dExpression = pExpression_
}
dDomainName :: Lens' DefineExpression Text
dDomainName = lens _dDomainName (\ s a -> s{_dDomainName = a});
dExpression :: Lens' DefineExpression Expression
dExpression = lens _dExpression (\ s a -> s{_dExpression = a});
instance AWSRequest DefineExpression where
type Rs DefineExpression = DefineExpressionResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "DefineExpressionResult"
(\ s h x ->
DefineExpressionResponse' <$>
(pure (fromEnum s)) <*> (x .@ "Expression"))
instance Hashable DefineExpression
instance NFData DefineExpression
instance ToHeaders DefineExpression where
toHeaders = const mempty
instance ToPath DefineExpression where
toPath = const "/"
instance ToQuery DefineExpression where
toQuery DefineExpression'{..}
= mconcat
["Action" =: ("DefineExpression" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"DomainName" =: _dDomainName,
"Expression" =: _dExpression]
data DefineExpressionResponse = DefineExpressionResponse'
{ _dersResponseStatus :: !Int
, _dersExpression :: !ExpressionStatus
} deriving (Eq,Read,Show,Data,Typeable,Generic)
defineExpressionResponse
:: Int
-> ExpressionStatus
-> DefineExpressionResponse
defineExpressionResponse pResponseStatus_ pExpression_ =
DefineExpressionResponse'
{ _dersResponseStatus = pResponseStatus_
, _dersExpression = pExpression_
}
dersResponseStatus :: Lens' DefineExpressionResponse Int
dersResponseStatus = lens _dersResponseStatus (\ s a -> s{_dersResponseStatus = a});
dersExpression :: Lens' DefineExpressionResponse ExpressionStatus
dersExpression = lens _dersExpression (\ s a -> s{_dersExpression = a});
instance NFData DefineExpressionResponse