{-# 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.CreateConfigurationTemplate
(
createConfigurationTemplate
, CreateConfigurationTemplate
, cctOptionSettings
, cctSourceConfiguration
, cctSolutionStackName
, cctEnvironmentId
, cctDescription
, cctApplicationName
, cctTemplateName
, configurationSettingsDescription
, ConfigurationSettingsDescription
, csdTemplateName
, csdOptionSettings
, csdDateUpdated
, csdDateCreated
, csdEnvironmentName
, csdApplicationName
, csdDeploymentStatus
, csdSolutionStackName
, csdDescription
) 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 CreateConfigurationTemplate = CreateConfigurationTemplate'
{ _cctOptionSettings :: !(Maybe [ConfigurationOptionSetting])
, _cctSourceConfiguration :: !(Maybe SourceConfiguration)
, _cctSolutionStackName :: !(Maybe Text)
, _cctEnvironmentId :: !(Maybe Text)
, _cctDescription :: !(Maybe Text)
, _cctApplicationName :: !Text
, _cctTemplateName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createConfigurationTemplate
:: Text
-> Text
-> CreateConfigurationTemplate
createConfigurationTemplate pApplicationName_ pTemplateName_ =
CreateConfigurationTemplate'
{ _cctOptionSettings = Nothing
, _cctSourceConfiguration = Nothing
, _cctSolutionStackName = Nothing
, _cctEnvironmentId = Nothing
, _cctDescription = Nothing
, _cctApplicationName = pApplicationName_
, _cctTemplateName = pTemplateName_
}
cctOptionSettings :: Lens' CreateConfigurationTemplate [ConfigurationOptionSetting]
cctOptionSettings = lens _cctOptionSettings (\ s a -> s{_cctOptionSettings = a}) . _Default . _Coerce;
cctSourceConfiguration :: Lens' CreateConfigurationTemplate (Maybe SourceConfiguration)
cctSourceConfiguration = lens _cctSourceConfiguration (\ s a -> s{_cctSourceConfiguration = a});
cctSolutionStackName :: Lens' CreateConfigurationTemplate (Maybe Text)
cctSolutionStackName = lens _cctSolutionStackName (\ s a -> s{_cctSolutionStackName = a});
cctEnvironmentId :: Lens' CreateConfigurationTemplate (Maybe Text)
cctEnvironmentId = lens _cctEnvironmentId (\ s a -> s{_cctEnvironmentId = a});
cctDescription :: Lens' CreateConfigurationTemplate (Maybe Text)
cctDescription = lens _cctDescription (\ s a -> s{_cctDescription = a});
cctApplicationName :: Lens' CreateConfigurationTemplate Text
cctApplicationName = lens _cctApplicationName (\ s a -> s{_cctApplicationName = a});
cctTemplateName :: Lens' CreateConfigurationTemplate Text
cctTemplateName = lens _cctTemplateName (\ s a -> s{_cctTemplateName = a});
instance AWSRequest CreateConfigurationTemplate where
type Rs CreateConfigurationTemplate =
ConfigurationSettingsDescription
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper
"CreateConfigurationTemplateResult"
(\ s h x -> parseXML x)
instance Hashable CreateConfigurationTemplate
instance NFData CreateConfigurationTemplate
instance ToHeaders CreateConfigurationTemplate where
toHeaders = const mempty
instance ToPath CreateConfigurationTemplate where
toPath = const "/"
instance ToQuery CreateConfigurationTemplate where
toQuery CreateConfigurationTemplate'{..}
= mconcat
["Action" =:
("CreateConfigurationTemplate" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"OptionSettings" =:
toQuery
(toQueryList "member" <$> _cctOptionSettings),
"SourceConfiguration" =: _cctSourceConfiguration,
"SolutionStackName" =: _cctSolutionStackName,
"EnvironmentId" =: _cctEnvironmentId,
"Description" =: _cctDescription,
"ApplicationName" =: _cctApplicationName,
"TemplateName" =: _cctTemplateName]