{-# 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.CloudSearch.DefineSuggester
(
defineSuggester
, DefineSuggester
, defDomainName
, defSuggester
, defineSuggesterResponse
, DefineSuggesterResponse
, dsrsResponseStatus
, dsrsSuggester
) 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 DefineSuggester = DefineSuggester'
{ _defDomainName :: !Text
, _defSuggester :: !Suggester
} deriving (Eq, Read, Show, Data, Typeable, Generic)
defineSuggester
:: Text
-> Suggester
-> DefineSuggester
defineSuggester pDomainName_ pSuggester_ =
DefineSuggester' {_defDomainName = pDomainName_, _defSuggester = pSuggester_}
defDomainName :: Lens' DefineSuggester Text
defDomainName = lens _defDomainName (\ s a -> s{_defDomainName = a})
defSuggester :: Lens' DefineSuggester Suggester
defSuggester = lens _defSuggester (\ s a -> s{_defSuggester = a})
instance AWSRequest DefineSuggester where
type Rs DefineSuggester = DefineSuggesterResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "DefineSuggesterResult"
(\ s h x ->
DefineSuggesterResponse' <$>
(pure (fromEnum s)) <*> (x .@ "Suggester"))
instance Hashable DefineSuggester where
instance NFData DefineSuggester where
instance ToHeaders DefineSuggester where
toHeaders = const mempty
instance ToPath DefineSuggester where
toPath = const "/"
instance ToQuery DefineSuggester where
toQuery DefineSuggester'{..}
= mconcat
["Action" =: ("DefineSuggester" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"DomainName" =: _defDomainName,
"Suggester" =: _defSuggester]
data DefineSuggesterResponse = DefineSuggesterResponse'
{ _dsrsResponseStatus :: !Int
, _dsrsSuggester :: !SuggesterStatus
} deriving (Eq, Read, Show, Data, Typeable, Generic)
defineSuggesterResponse
:: Int
-> SuggesterStatus
-> DefineSuggesterResponse
defineSuggesterResponse pResponseStatus_ pSuggester_ =
DefineSuggesterResponse'
{_dsrsResponseStatus = pResponseStatus_, _dsrsSuggester = pSuggester_}
dsrsResponseStatus :: Lens' DefineSuggesterResponse Int
dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a})
dsrsSuggester :: Lens' DefineSuggesterResponse SuggesterStatus
dsrsSuggester = lens _dsrsSuggester (\ s a -> s{_dsrsSuggester = a})
instance NFData DefineSuggesterResponse where