module Network.AWS.CloudSearch.DescribeIndexFields
(
DescribeIndexFields
, describeIndexFields
, difDeployed
, difDomainName
, difFieldNames
, DescribeIndexFieldsResponse
, describeIndexFieldsResponse
, difrIndexFields
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.CloudSearch.Types
import qualified GHC.Exts
data DescribeIndexFields = DescribeIndexFields
{ _difDeployed :: Maybe Bool
, _difDomainName :: Text
, _difFieldNames :: List "SuggesterNames" Text
} deriving (Eq, Ord, Show)
describeIndexFields :: Text
-> DescribeIndexFields
describeIndexFields p1 = DescribeIndexFields
{ _difDomainName = p1
, _difFieldNames = mempty
, _difDeployed = Nothing
}
difDeployed :: Lens' DescribeIndexFields (Maybe Bool)
difDeployed = lens _difDeployed (\s a -> s { _difDeployed = a })
difDomainName :: Lens' DescribeIndexFields Text
difDomainName = lens _difDomainName (\s a -> s { _difDomainName = a })
difFieldNames :: Lens' DescribeIndexFields [Text]
difFieldNames = lens _difFieldNames (\s a -> s { _difFieldNames = a }) . _List
newtype DescribeIndexFieldsResponse = DescribeIndexFieldsResponse
{ _difrIndexFields :: List "IndexFields" IndexFieldStatus
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeIndexFieldsResponse where
type Item DescribeIndexFieldsResponse = IndexFieldStatus
fromList = DescribeIndexFieldsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _difrIndexFields
describeIndexFieldsResponse :: DescribeIndexFieldsResponse
describeIndexFieldsResponse = DescribeIndexFieldsResponse
{ _difrIndexFields = mempty
}
difrIndexFields :: Lens' DescribeIndexFieldsResponse [IndexFieldStatus]
difrIndexFields = lens _difrIndexFields (\s a -> s { _difrIndexFields = a }) . _List
instance ToPath DescribeIndexFields where
toPath = const "/"
instance ToQuery DescribeIndexFields where
toQuery DescribeIndexFields{..} = mconcat
[ "Deployed" =? _difDeployed
, "DomainName" =? _difDomainName
, "FieldNames" =? _difFieldNames
]
instance ToHeaders DescribeIndexFields
instance AWSRequest DescribeIndexFields where
type Sv DescribeIndexFields = CloudSearch
type Rs DescribeIndexFields = DescribeIndexFieldsResponse
request = post "DescribeIndexFields"
response = xmlResponse
instance FromXML DescribeIndexFieldsResponse where
parseXML = withElement "DescribeIndexFieldsResult" $ \x -> DescribeIndexFieldsResponse
<$> x .@ "IndexFields"