1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/lib/fog/aws/requests/beanstalk/create_configuration_template.rb
2015-01-02 09:42:20 -08:00

46 lines
2.5 KiB
Ruby

module Fog
module AWS
class ElasticBeanstalk
class Real
require 'fog/aws/parsers/beanstalk/create_configuration_template'
# Creates a configuration template. Templates are associated with a specific application and are used to
# deploy different versions of the application with the same configuration settings.
#
# ==== Options
# * ApplicationName<~String>: The name of the application to associate with this configuration template.
# If no application is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.
# * Description<~String>: Describes this configuration.
# * EnvironmentId<~String>: The ID of the environment used with this configuration template.
# * OptionSettings<~Hash>: If specified, AWS Elastic Beanstalk sets the specified configuration option
# to the requested value. The new value overrides the value obtained from the solution stack or the
# source configuration template.
# * SolutionStackName<~String>: The name of the solution stack used by this configuration. The solution
# stack specifies the operating system, architecture, and application server for a configuration template.
# It determines the set of configuration options as well as the possible and default values.
# * SourceConfiguration<~String>: If specified, AWS Elastic Beanstalk uses the configuration values from the
# specified configuration template to create a new configuration.
# * TemplateName<~String>: The name of the configuration template.
#
# ==== Returns
# * response<~Excon::Response>:
#
# ==== See Also
# http://docs.amazonwebservices.com/elasticbeanstalk/latest/api/API_CreateConfigurationTemplate.html
#
def create_configuration_template(options={})
if option_settings = options.delete('OptionSettings')
options.merge!(AWS.indexed_param('OptionSettings.member.%d', [*option_settings]))
end
if option_settings = options.delete('SourceConfiguration')
options.merge!(AWS.serialize_keys('SourceConfiguration', option_settings))
end
request({
'Operation' => 'CreateConfigurationTemplate',
:parser => Fog::Parsers::AWS::ElasticBeanstalk::CreateConfigurationTemplate.new
}.merge(options))
end
end
end
end
end