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_environment.rb
2015-01-02 09:42:20 -08:00

49 lines
2.7 KiB
Ruby

module Fog
module AWS
class ElasticBeanstalk
class Real
require 'fog/aws/parsers/beanstalk/create_environment'
# Launches an environment for the specified application using the specified configuration.
#
# ==== Options
# * ApplicationName<~String>: If specified, AWS Elastic Beanstalk restricts the returned descriptions
# to include only those that are associated with this application.
# * CNAMEPrefix<~String>: If specified, the environment attempts to use this value as the prefix for the CNAME.
# If not specified, the environment uses the environment name.
# * Description<~String>: Describes this environment.
# * EnvironmentName<~String>: A unique name for the deployment environment. Used in the application URL.
# * OptionSettings<~Array>: If specified, AWS Elastic Beanstalk sets the specified configuration options to
# the requested value in the configuration set for the new environment. These override the values obtained
# from the solution stack or the configuration template.
# * OptionsToRemove<~Array>: A list of custom user-defined configuration options to remove from the
# configuration set for this new environment.
# * SolutionStackName<~String>: This is an alternative to specifying a configuration name. If specified,
# AWS Elastic Beanstalk sets the configuration values to the default values associated with the
# specified solution stack.
# * TemplateName<~String>: The name of the configuration template to use in deployment. If no configuration
# template is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.
# * VersionLabel<~String>: The name of the application version to deploy.
#
# ==== Returns
# * response<~Excon::Response>:
#
# ==== See Also
# http://docs.amazonwebservices.com/elasticbeanstalk/latest/api/API_CreateEnvironment.html
#
def create_environment(options={})
if option_settings = options.delete('OptionSettings')
options.merge!(AWS.indexed_param('OptionSettings.member.%d', [*option_settings]))
end
if options_to_remove = options.delete('OptionsToRemove')
options.merge!(AWS.indexed_param('OptionsToRemove.member.%d', [*options_to_remove]))
end
request({
'Operation' => 'CreateEnvironment',
:parser => Fog::Parsers::AWS::ElasticBeanstalk::CreateEnvironment.new
}.merge(options))
end
end
end
end
end