module Network.AWS.ElasticBeanstalk.DescribeApplications
(
describeApplications
, DescribeApplications
, daApplicationNames
, describeApplicationsResponse
, DescribeApplicationsResponse
, darsApplications
, darsResponseStatus
) where
import Network.AWS.ElasticBeanstalk.Types
import Network.AWS.ElasticBeanstalk.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeApplications = DescribeApplications'
{ _daApplicationNames :: Maybe [Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeApplications
:: DescribeApplications
describeApplications =
DescribeApplications'
{ _daApplicationNames = Nothing
}
daApplicationNames :: Lens' DescribeApplications [Text]
daApplicationNames = lens _daApplicationNames (\ s a -> s{_daApplicationNames = a}) . _Default . _Coerce;
instance AWSRequest DescribeApplications where
type Rs DescribeApplications =
DescribeApplicationsResponse
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper "DescribeApplicationsResult"
(\ s h x ->
DescribeApplicationsResponse' <$>
(x .@? "Applications" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribeApplications where
toHeaders = const mempty
instance ToPath DescribeApplications where
toPath = const "/"
instance ToQuery DescribeApplications where
toQuery DescribeApplications'{..}
= mconcat
["Action" =: ("DescribeApplications" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"ApplicationNames" =:
toQuery
(toQueryList "member" <$> _daApplicationNames)]
data DescribeApplicationsResponse = DescribeApplicationsResponse'
{ _darsApplications :: !(Maybe [ApplicationDescription])
, _darsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeApplicationsResponse
:: Int
-> DescribeApplicationsResponse
describeApplicationsResponse pResponseStatus_ =
DescribeApplicationsResponse'
{ _darsApplications = Nothing
, _darsResponseStatus = pResponseStatus_
}
darsApplications :: Lens' DescribeApplicationsResponse [ApplicationDescription]
darsApplications = lens _darsApplications (\ s a -> s{_darsApplications = a}) . _Default . _Coerce;
darsResponseStatus :: Lens' DescribeApplicationsResponse Int
darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});