module Network.AWS.ElasticBeanstalk.DescribeConfigurationOptions
(
DescribeConfigurationOptions
, describeConfigurationOptions
, dcoApplicationName
, dcoEnvironmentName
, dcoOptions
, dcoSolutionStackName
, dcoTemplateName
, DescribeConfigurationOptionsResponse
, describeConfigurationOptionsResponse
, dcorOptions
, dcorSolutionStackName
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ElasticBeanstalk.Types
import qualified GHC.Exts
data DescribeConfigurationOptions = DescribeConfigurationOptions
{ _dcoApplicationName :: Maybe Text
, _dcoEnvironmentName :: Maybe Text
, _dcoOptions :: List "member" OptionSpecification
, _dcoSolutionStackName :: Maybe Text
, _dcoTemplateName :: Maybe Text
} deriving (Eq, Show)
describeConfigurationOptions :: DescribeConfigurationOptions
describeConfigurationOptions = DescribeConfigurationOptions
{ _dcoApplicationName = Nothing
, _dcoTemplateName = Nothing
, _dcoEnvironmentName = Nothing
, _dcoSolutionStackName = Nothing
, _dcoOptions = mempty
}
dcoApplicationName :: Lens' DescribeConfigurationOptions (Maybe Text)
dcoApplicationName =
lens _dcoApplicationName (\s a -> s { _dcoApplicationName = a })
dcoEnvironmentName :: Lens' DescribeConfigurationOptions (Maybe Text)
dcoEnvironmentName =
lens _dcoEnvironmentName (\s a -> s { _dcoEnvironmentName = a })
dcoOptions :: Lens' DescribeConfigurationOptions [OptionSpecification]
dcoOptions = lens _dcoOptions (\s a -> s { _dcoOptions = a }) . _List
dcoSolutionStackName :: Lens' DescribeConfigurationOptions (Maybe Text)
dcoSolutionStackName =
lens _dcoSolutionStackName (\s a -> s { _dcoSolutionStackName = a })
dcoTemplateName :: Lens' DescribeConfigurationOptions (Maybe Text)
dcoTemplateName = lens _dcoTemplateName (\s a -> s { _dcoTemplateName = a })
data DescribeConfigurationOptionsResponse = DescribeConfigurationOptionsResponse
{ _dcorOptions :: List "member" ConfigurationOptionDescription
, _dcorSolutionStackName :: Maybe Text
} deriving (Eq, Show)
describeConfigurationOptionsResponse :: DescribeConfigurationOptionsResponse
describeConfigurationOptionsResponse = DescribeConfigurationOptionsResponse
{ _dcorSolutionStackName = Nothing
, _dcorOptions = mempty
}
dcorOptions :: Lens' DescribeConfigurationOptionsResponse [ConfigurationOptionDescription]
dcorOptions = lens _dcorOptions (\s a -> s { _dcorOptions = a }) . _List
dcorSolutionStackName :: Lens' DescribeConfigurationOptionsResponse (Maybe Text)
dcorSolutionStackName =
lens _dcorSolutionStackName (\s a -> s { _dcorSolutionStackName = a })
instance ToPath DescribeConfigurationOptions where
toPath = const "/"
instance ToQuery DescribeConfigurationOptions where
toQuery DescribeConfigurationOptions{..} = mconcat
[ "ApplicationName" =? _dcoApplicationName
, "EnvironmentName" =? _dcoEnvironmentName
, "Options" =? _dcoOptions
, "SolutionStackName" =? _dcoSolutionStackName
, "TemplateName" =? _dcoTemplateName
]
instance ToHeaders DescribeConfigurationOptions
instance AWSRequest DescribeConfigurationOptions where
type Sv DescribeConfigurationOptions = ElasticBeanstalk
type Rs DescribeConfigurationOptions = DescribeConfigurationOptionsResponse
request = post "DescribeConfigurationOptions"
response = xmlResponse
instance FromXML DescribeConfigurationOptionsResponse where
parseXML = withElement "DescribeConfigurationOptionsResult" $ \x -> DescribeConfigurationOptionsResponse
<$> x .@? "Options" .!@ mempty
<*> x .@? "SolutionStackName"