{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.CloudSearch.DefineExpression -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Configures an 'Expression' for the search domain. Used to create new -- expressions and modify existing ones. If the expression exists, the new -- configuration replaces the old one. For more information, see -- -- in the /Amazon CloudSearch Developer Guide/. -- -- /See:/ for DefineExpression. module Network.AWS.CloudSearch.DefineExpression ( -- * Creating a Request defineExpression , DefineExpression -- * Request Lenses , dDomainName , dExpression -- * Destructuring the Response , defineExpressionResponse , DefineExpressionResponse -- * Response Lenses , dersResponseStatus , dersExpression ) where import Network.AWS.CloudSearch.Types import Network.AWS.CloudSearch.Types.Product import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | Container for the parameters to the 'DefineExpression' operation. -- Specifies the name of the domain you want to update and the expression -- you want to configure. -- -- /See:/ 'defineExpression' smart constructor. data DefineExpression = DefineExpression' { _dDomainName :: !Text , _dExpression :: !Expression } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DefineExpression' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dDomainName' -- -- * 'dExpression' defineExpression :: Text -- ^ 'dDomainName' -> Expression -- ^ 'dExpression' -> DefineExpression defineExpression pDomainName_ pExpression_ = DefineExpression' { _dDomainName = pDomainName_ , _dExpression = pExpression_ } -- | Undocumented member. dDomainName :: Lens' DefineExpression Text dDomainName = lens _dDomainName (\ s a -> s{_dDomainName = a}); -- | Undocumented member. 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 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] -- | The result of a 'DefineExpression' request. Contains the status of the -- newly-configured expression. -- -- /See:/ 'defineExpressionResponse' smart constructor. data DefineExpressionResponse = DefineExpressionResponse' { _dersResponseStatus :: !Int , _dersExpression :: !ExpressionStatus } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DefineExpressionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dersResponseStatus' -- -- * 'dersExpression' defineExpressionResponse :: Int -- ^ 'dersResponseStatus' -> ExpressionStatus -- ^ 'dersExpression' -> DefineExpressionResponse defineExpressionResponse pResponseStatus_ pExpression_ = DefineExpressionResponse' { _dersResponseStatus = pResponseStatus_ , _dersExpression = pExpression_ } -- | The response status code. dersResponseStatus :: Lens' DefineExpressionResponse Int dersResponseStatus = lens _dersResponseStatus (\ s a -> s{_dersResponseStatus = a}); -- | Undocumented member. dersExpression :: Lens' DefineExpressionResponse ExpressionStatus dersExpression = lens _dersExpression (\ s a -> s{_dersExpression = a});