{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.CloudSearch.DescribeExpressions
(
describeExpressions
, DescribeExpressions
, deDeployed
, deExpressionNames
, deDomainName
, describeExpressionsResponse
, DescribeExpressionsResponse
, drsResponseStatus
, drsExpressions
) 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 DescribeExpressions = DescribeExpressions'
{ _deDeployed :: !(Maybe Bool)
, _deExpressionNames :: !(Maybe [Text])
, _deDomainName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeExpressions
:: Text
-> DescribeExpressions
describeExpressions pDomainName_ =
DescribeExpressions'
{ _deDeployed = Nothing
, _deExpressionNames = Nothing
, _deDomainName = pDomainName_
}
deDeployed :: Lens' DescribeExpressions (Maybe Bool)
deDeployed = lens _deDeployed (\ s a -> s{_deDeployed = a})
deExpressionNames :: Lens' DescribeExpressions [Text]
deExpressionNames = lens _deExpressionNames (\ s a -> s{_deExpressionNames = a}) . _Default . _Coerce
deDomainName :: Lens' DescribeExpressions Text
deDomainName = lens _deDomainName (\ s a -> s{_deDomainName = a})
instance AWSRequest DescribeExpressions where
type Rs DescribeExpressions =
DescribeExpressionsResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "DescribeExpressionsResult"
(\ s h x ->
DescribeExpressionsResponse' <$>
(pure (fromEnum s)) <*>
(x .@? "Expressions" .!@ mempty >>=
parseXMLList "member"))
instance Hashable DescribeExpressions where
instance NFData DescribeExpressions where
instance ToHeaders DescribeExpressions where
toHeaders = const mempty
instance ToPath DescribeExpressions where
toPath = const "/"
instance ToQuery DescribeExpressions where
toQuery DescribeExpressions'{..}
= mconcat
["Action" =: ("DescribeExpressions" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"Deployed" =: _deDeployed,
"ExpressionNames" =:
toQuery
(toQueryList "member" <$> _deExpressionNames),
"DomainName" =: _deDomainName]
data DescribeExpressionsResponse = DescribeExpressionsResponse'
{ _drsResponseStatus :: !Int
, _drsExpressions :: ![ExpressionStatus]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeExpressionsResponse
:: Int
-> DescribeExpressionsResponse
describeExpressionsResponse pResponseStatus_ =
DescribeExpressionsResponse'
{_drsResponseStatus = pResponseStatus_, _drsExpressions = mempty}
drsResponseStatus :: Lens' DescribeExpressionsResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})
drsExpressions :: Lens' DescribeExpressionsResponse [ExpressionStatus]
drsExpressions = lens _drsExpressions (\ s a -> s{_drsExpressions = a}) . _Coerce
instance NFData DescribeExpressionsResponse where