module Network.AWS.ElasticBeanstalk.ListAvailableSolutionStacks
(
listAvailableSolutionStacks
, ListAvailableSolutionStacks
, listAvailableSolutionStacksResponse
, ListAvailableSolutionStacksResponse
, lassrsSolutionStacks
, lassrsSolutionStackDetails
, lassrsResponseStatus
) 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
data ListAvailableSolutionStacks =
ListAvailableSolutionStacks'
deriving (Eq,Read,Show,Data,Typeable,Generic)
listAvailableSolutionStacks
:: ListAvailableSolutionStacks
listAvailableSolutionStacks = ListAvailableSolutionStacks'
instance AWSRequest ListAvailableSolutionStacks where
type Rs ListAvailableSolutionStacks =
ListAvailableSolutionStacksResponse
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper
"ListAvailableSolutionStacksResult"
(\ s h x ->
ListAvailableSolutionStacksResponse' <$>
(x .@? "SolutionStacks" .!@ mempty >>=
may (parseXMLList "member"))
<*>
(x .@? "SolutionStackDetails" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable ListAvailableSolutionStacks
instance NFData ListAvailableSolutionStacks
instance ToHeaders ListAvailableSolutionStacks where
toHeaders = const mempty
instance ToPath ListAvailableSolutionStacks where
toPath = const "/"
instance ToQuery ListAvailableSolutionStacks where
toQuery
= const
(mconcat
["Action" =:
("ListAvailableSolutionStacks" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString)])
data ListAvailableSolutionStacksResponse = ListAvailableSolutionStacksResponse'
{ _lassrsSolutionStacks :: !(Maybe [Text])
, _lassrsSolutionStackDetails :: !(Maybe [SolutionStackDescription])
, _lassrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAvailableSolutionStacksResponse
:: Int
-> ListAvailableSolutionStacksResponse
listAvailableSolutionStacksResponse pResponseStatus_ =
ListAvailableSolutionStacksResponse'
{ _lassrsSolutionStacks = Nothing
, _lassrsSolutionStackDetails = Nothing
, _lassrsResponseStatus = pResponseStatus_
}
lassrsSolutionStacks :: Lens' ListAvailableSolutionStacksResponse [Text]
lassrsSolutionStacks = lens _lassrsSolutionStacks (\ s a -> s{_lassrsSolutionStacks = a}) . _Default . _Coerce;
lassrsSolutionStackDetails :: Lens' ListAvailableSolutionStacksResponse [SolutionStackDescription]
lassrsSolutionStackDetails = lens _lassrsSolutionStackDetails (\ s a -> s{_lassrsSolutionStackDetails = a}) . _Default . _Coerce;
lassrsResponseStatus :: Lens' ListAvailableSolutionStacksResponse Int
lassrsResponseStatus = lens _lassrsResponseStatus (\ s a -> s{_lassrsResponseStatus = a});
instance NFData ListAvailableSolutionStacksResponse