module Network.AWS.CloudSearch.DescribeSuggesters
(
describeSuggesters
, DescribeSuggesters
, dssDeployed
, dssSuggesterNames
, dssDomainName
, describeSuggestersResponse
, DescribeSuggestersResponse
, dssrsResponseStatus
, dssrsSuggesters
) 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 DescribeSuggesters = DescribeSuggesters'
{ _dssDeployed :: !(Maybe Bool)
, _dssSuggesterNames :: !(Maybe [Text])
, _dssDomainName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeSuggesters
:: Text
-> DescribeSuggesters
describeSuggesters pDomainName_ =
DescribeSuggesters'
{ _dssDeployed = Nothing
, _dssSuggesterNames = Nothing
, _dssDomainName = pDomainName_
}
dssDeployed :: Lens' DescribeSuggesters (Maybe Bool)
dssDeployed = lens _dssDeployed (\ s a -> s{_dssDeployed = a});
dssSuggesterNames :: Lens' DescribeSuggesters [Text]
dssSuggesterNames = lens _dssSuggesterNames (\ s a -> s{_dssSuggesterNames = a}) . _Default . _Coerce;
dssDomainName :: Lens' DescribeSuggesters Text
dssDomainName = lens _dssDomainName (\ s a -> s{_dssDomainName = a});
instance AWSRequest DescribeSuggesters where
type Rs DescribeSuggesters =
DescribeSuggestersResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "DescribeSuggestersResult"
(\ s h x ->
DescribeSuggestersResponse' <$>
(pure (fromEnum s)) <*>
(x .@? "Suggesters" .!@ mempty >>=
parseXMLList "member"))
instance Hashable DescribeSuggesters
instance NFData DescribeSuggesters
instance ToHeaders DescribeSuggesters where
toHeaders = const mempty
instance ToPath DescribeSuggesters where
toPath = const "/"
instance ToQuery DescribeSuggesters where
toQuery DescribeSuggesters'{..}
= mconcat
["Action" =: ("DescribeSuggesters" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"Deployed" =: _dssDeployed,
"SuggesterNames" =:
toQuery
(toQueryList "member" <$> _dssSuggesterNames),
"DomainName" =: _dssDomainName]
data DescribeSuggestersResponse = DescribeSuggestersResponse'
{ _dssrsResponseStatus :: !Int
, _dssrsSuggesters :: ![SuggesterStatus]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeSuggestersResponse
:: Int
-> DescribeSuggestersResponse
describeSuggestersResponse pResponseStatus_ =
DescribeSuggestersResponse'
{ _dssrsResponseStatus = pResponseStatus_
, _dssrsSuggesters = mempty
}
dssrsResponseStatus :: Lens' DescribeSuggestersResponse Int
dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a});
dssrsSuggesters :: Lens' DescribeSuggestersResponse [SuggesterStatus]
dssrsSuggesters = lens _dssrsSuggesters (\ s a -> s{_dssrsSuggesters = a}) . _Coerce;
instance NFData DescribeSuggestersResponse