{-# 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.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 where
instance NFData ListAvailableSolutionStacks where
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
where