{-# 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.UpdateConfigurationTemplate
(
updateConfigurationTemplate
, UpdateConfigurationTemplate
, uctOptionsToRemove
, uctOptionSettings
, uctDescription
, uctApplicationName
, uctTemplateName
, 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 UpdateConfigurationTemplate = UpdateConfigurationTemplate'
{ _uctOptionsToRemove :: !(Maybe [OptionSpecification])
, _uctOptionSettings :: !(Maybe [ConfigurationOptionSetting])
, _uctDescription :: !(Maybe Text)
, _uctApplicationName :: !Text
, _uctTemplateName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateConfigurationTemplate
:: Text
-> Text
-> UpdateConfigurationTemplate
updateConfigurationTemplate pApplicationName_ pTemplateName_ =
UpdateConfigurationTemplate'
{ _uctOptionsToRemove = Nothing
, _uctOptionSettings = Nothing
, _uctDescription = Nothing
, _uctApplicationName = pApplicationName_
, _uctTemplateName = pTemplateName_
}
uctOptionsToRemove :: Lens' UpdateConfigurationTemplate [OptionSpecification]
uctOptionsToRemove = lens _uctOptionsToRemove (\ s a -> s{_uctOptionsToRemove = a}) . _Default . _Coerce;
uctOptionSettings :: Lens' UpdateConfigurationTemplate [ConfigurationOptionSetting]
uctOptionSettings = lens _uctOptionSettings (\ s a -> s{_uctOptionSettings = a}) . _Default . _Coerce;
uctDescription :: Lens' UpdateConfigurationTemplate (Maybe Text)
uctDescription = lens _uctDescription (\ s a -> s{_uctDescription = a});
uctApplicationName :: Lens' UpdateConfigurationTemplate Text
uctApplicationName = lens _uctApplicationName (\ s a -> s{_uctApplicationName = a});
uctTemplateName :: Lens' UpdateConfigurationTemplate Text
uctTemplateName = lens _uctTemplateName (\ s a -> s{_uctTemplateName = a});
instance AWSRequest UpdateConfigurationTemplate where
type Rs UpdateConfigurationTemplate =
ConfigurationSettingsDescription
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper
"UpdateConfigurationTemplateResult"
(\ s h x -> parseXML x)
instance Hashable UpdateConfigurationTemplate
instance NFData UpdateConfigurationTemplate
instance ToHeaders UpdateConfigurationTemplate where
toHeaders = const mempty
instance ToPath UpdateConfigurationTemplate where
toPath = const "/"
instance ToQuery UpdateConfigurationTemplate where
toQuery UpdateConfigurationTemplate'{..}
= mconcat
["Action" =:
("UpdateConfigurationTemplate" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"OptionsToRemove" =:
toQuery
(toQueryList "member" <$> _uctOptionsToRemove),
"OptionSettings" =:
toQuery
(toQueryList "member" <$> _uctOptionSettings),
"Description" =: _uctDescription,
"ApplicationName" =: _uctApplicationName,
"TemplateName" =: _uctTemplateName]