module Network.AWS.CloudSearch.BuildSuggesters
(
BuildSuggesters
, buildSuggesters
, bsDomainName
, BuildSuggestersResponse
, buildSuggestersResponse
, bsrFieldNames
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.CloudSearch.Types
import qualified GHC.Exts
newtype BuildSuggesters = BuildSuggesters
{ _bsDomainName :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
buildSuggesters :: Text
-> BuildSuggesters
buildSuggesters p1 = BuildSuggesters
{ _bsDomainName = p1
}
bsDomainName :: Lens' BuildSuggesters Text
bsDomainName = lens _bsDomainName (\s a -> s { _bsDomainName = a })
newtype BuildSuggestersResponse = BuildSuggestersResponse
{ _bsrFieldNames :: List "member" Text
} deriving (Eq, Ord, Show, Monoid, Semigroup)
instance GHC.Exts.IsList BuildSuggestersResponse where
type Item BuildSuggestersResponse = Text
fromList = BuildSuggestersResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _bsrFieldNames
buildSuggestersResponse :: BuildSuggestersResponse
buildSuggestersResponse = BuildSuggestersResponse
{ _bsrFieldNames = mempty
}
bsrFieldNames :: Lens' BuildSuggestersResponse [Text]
bsrFieldNames = lens _bsrFieldNames (\s a -> s { _bsrFieldNames = a }) . _List
instance ToPath BuildSuggesters where
toPath = const "/"
instance ToQuery BuildSuggesters where
toQuery BuildSuggesters{..} = mconcat
[ "DomainName" =? _bsDomainName
]
instance ToHeaders BuildSuggesters
instance AWSRequest BuildSuggesters where
type Sv BuildSuggesters = CloudSearch
type Rs BuildSuggesters = BuildSuggestersResponse
request = post "BuildSuggesters"
response = xmlResponse
instance FromXML BuildSuggestersResponse where
parseXML = withElement "BuildSuggestersResult" $ \x -> BuildSuggestersResponse
<$> x .@? "FieldNames" .!@ mempty