module Network.AWS.CloudSearch.IndexDocuments
(
indexDocuments
, IndexDocuments
, idDomainName
, indexDocumentsResponse
, IndexDocumentsResponse
, idrsFieldNames
, idrsResponseStatus
) 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 IndexDocuments = IndexDocuments'
{ _idDomainName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
indexDocuments
:: Text
-> IndexDocuments
indexDocuments pDomainName_ = IndexDocuments' {_idDomainName = pDomainName_}
idDomainName :: Lens' IndexDocuments Text
idDomainName = lens _idDomainName (\ s a -> s{_idDomainName = a});
instance AWSRequest IndexDocuments where
type Rs IndexDocuments = IndexDocumentsResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "IndexDocumentsResult"
(\ s h x ->
IndexDocumentsResponse' <$>
(x .@? "FieldNames" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable IndexDocuments where
instance NFData IndexDocuments where
instance ToHeaders IndexDocuments where
toHeaders = const mempty
instance ToPath IndexDocuments where
toPath = const "/"
instance ToQuery IndexDocuments where
toQuery IndexDocuments'{..}
= mconcat
["Action" =: ("IndexDocuments" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"DomainName" =: _idDomainName]
data IndexDocumentsResponse = IndexDocumentsResponse'
{ _idrsFieldNames :: !(Maybe [Text])
, _idrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
indexDocumentsResponse
:: Int
-> IndexDocumentsResponse
indexDocumentsResponse pResponseStatus_ =
IndexDocumentsResponse'
{_idrsFieldNames = Nothing, _idrsResponseStatus = pResponseStatus_}
idrsFieldNames :: Lens' IndexDocumentsResponse [Text]
idrsFieldNames = lens _idrsFieldNames (\ s a -> s{_idrsFieldNames = a}) . _Default . _Coerce;
idrsResponseStatus :: Lens' IndexDocumentsResponse Int
idrsResponseStatus = lens _idrsResponseStatus (\ s a -> s{_idrsResponseStatus = a});
instance NFData IndexDocumentsResponse where