module Network.AWS.CloudSearch.BuildSuggesters
(
buildSuggesters
, BuildSuggesters
, bsDomainName
, buildSuggestersResponse
, BuildSuggestersResponse
, bsrsFieldNames
, bsrsResponseStatus
) 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
newtype BuildSuggesters = BuildSuggesters'
{ _bsDomainName :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
buildSuggesters
:: Text
-> BuildSuggesters
buildSuggesters pDomainName_ =
BuildSuggesters'
{ _bsDomainName = pDomainName_
}
bsDomainName :: Lens' BuildSuggesters Text
bsDomainName = lens _bsDomainName (\ s a -> s{_bsDomainName = a});
instance AWSRequest BuildSuggesters where
type Rs BuildSuggesters = BuildSuggestersResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "BuildSuggestersResult"
(\ s h x ->
BuildSuggestersResponse' <$>
(x .@? "FieldNames" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable BuildSuggesters
instance NFData BuildSuggesters
instance ToHeaders BuildSuggesters where
toHeaders = const mempty
instance ToPath BuildSuggesters where
toPath = const "/"
instance ToQuery BuildSuggesters where
toQuery BuildSuggesters'{..}
= mconcat
["Action" =: ("BuildSuggesters" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"DomainName" =: _bsDomainName]
data BuildSuggestersResponse = BuildSuggestersResponse'
{ _bsrsFieldNames :: !(Maybe [Text])
, _bsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
buildSuggestersResponse
:: Int
-> BuildSuggestersResponse
buildSuggestersResponse pResponseStatus_ =
BuildSuggestersResponse'
{ _bsrsFieldNames = Nothing
, _bsrsResponseStatus = pResponseStatus_
}
bsrsFieldNames :: Lens' BuildSuggestersResponse [Text]
bsrsFieldNames = lens _bsrsFieldNames (\ s a -> s{_bsrsFieldNames = a}) . _Default . _Coerce;
bsrsResponseStatus :: Lens' BuildSuggestersResponse Int
bsrsResponseStatus = lens _bsrsResponseStatus (\ s a -> s{_bsrsResponseStatus = a});
instance NFData BuildSuggestersResponse