module Network.AWS.CloudSearch.DescribeSuggesters
(
DescribeSuggesters
, describeSuggesters
, ds1Deployed
, ds1DomainName
, ds1SuggesterNames
, DescribeSuggestersResponse
, describeSuggestersResponse
, dsrSuggesters
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.CloudSearch.Types
import qualified GHC.Exts
data DescribeSuggesters = DescribeSuggesters
{ _ds1Deployed :: Maybe Bool
, _ds1DomainName :: Text
, _ds1SuggesterNames :: List "member" Text
} deriving (Eq, Ord, Show)
describeSuggesters :: Text
-> DescribeSuggesters
describeSuggesters p1 = DescribeSuggesters
{ _ds1DomainName = p1
, _ds1SuggesterNames = mempty
, _ds1Deployed = Nothing
}
ds1Deployed :: Lens' DescribeSuggesters (Maybe Bool)
ds1Deployed = lens _ds1Deployed (\s a -> s { _ds1Deployed = a })
ds1DomainName :: Lens' DescribeSuggesters Text
ds1DomainName = lens _ds1DomainName (\s a -> s { _ds1DomainName = a })
ds1SuggesterNames :: Lens' DescribeSuggesters [Text]
ds1SuggesterNames =
lens _ds1SuggesterNames (\s a -> s { _ds1SuggesterNames = a })
. _List
newtype DescribeSuggestersResponse = DescribeSuggestersResponse
{ _dsrSuggesters :: List "member" SuggesterStatus
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeSuggestersResponse where
type Item DescribeSuggestersResponse = SuggesterStatus
fromList = DescribeSuggestersResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dsrSuggesters
describeSuggestersResponse :: DescribeSuggestersResponse
describeSuggestersResponse = DescribeSuggestersResponse
{ _dsrSuggesters = mempty
}
dsrSuggesters :: Lens' DescribeSuggestersResponse [SuggesterStatus]
dsrSuggesters = lens _dsrSuggesters (\s a -> s { _dsrSuggesters = a }) . _List
instance ToPath DescribeSuggesters where
toPath = const "/"
instance ToQuery DescribeSuggesters where
toQuery DescribeSuggesters{..} = mconcat
[ "Deployed" =? _ds1Deployed
, "DomainName" =? _ds1DomainName
, "SuggesterNames" =? _ds1SuggesterNames
]
instance ToHeaders DescribeSuggesters
instance AWSRequest DescribeSuggesters where
type Sv DescribeSuggesters = CloudSearch
type Rs DescribeSuggesters = DescribeSuggestersResponse
request = post "DescribeSuggesters"
response = xmlResponse
instance FromXML DescribeSuggestersResponse where
parseXML = withElement "DescribeSuggestersResult" $ \x -> DescribeSuggestersResponse
<$> x .@ "Suggesters"