AWS::ElasticBeanstalk::ConfigurationTemplate
Creates a configuration template for an Elastic Beanstalk application. You can use configuration templates to deploy different versions of an application by using the configuration settings that you define in the configuration template.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::ElasticBeanstalk::ConfigurationTemplate", "Properties" : { "ApplicationName" :String, "Description" :String, "EnvironmentId" :String, "OptionSettings" : [ ConfigurationOptionSetting, ... ], "PlatformArn" :String, "SolutionStackName" :String, "SourceConfiguration" : SourceConfiguration } }
YAML
Type: AWS::ElasticBeanstalk::ConfigurationTemplate Properties: ApplicationName:StringDescription:StringEnvironmentId:StringOptionSettings: - ConfigurationOptionSetting PlatformArn:StringSolutionStackName:StringSourceConfiguration: SourceConfiguration
Properties
For more information, see CreateConfigurationTemplate in the AWS Elastic Beanstalk API Reference.
ApplicationName-
Name of the Elastic Beanstalk application that is associated with this configuration template.
Required: Yes
Type: String
Update requires: Replacement
Description-
An optional description for this configuration.
Type: String
Required: No
Update requires: Some interruptions
EnvironmentId-
An environment whose settings you want to use to create the configuration template. You must specify this property if you don't specify the
SolutionStackNameorSourceConfigurationproperties.Type: String
Required: Conditional
Update requires: Replacement
OptionSettings-
The options for the Elastic Beanstalk configuration, such as the instance type. For a complete list of Elastic Beanstalk configuration options, see Option Values, in the AWS Elastic Beanstalk Developer Guide.
Type: List of ConfigurationOptionSetting
Required: No
Update requires: Some interruptions
PlatformArn-
The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom Platforms in the AWS Elastic Beanstalk Developer Guide.
Note
If you specify
PlatformArn, then don't specifySolutionStackName.Required: No
Type: String
Update requires: Replacement
SolutionStackName-
The name of an Elastic Beanstalk solution stack that this configuration will use. A solution stack specifies the operating system, architecture, and application server for a configuration template, such as
64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. For more information, see Supported Platforms in the AWS Elastic Beanstalk Developer Guide.You must specify this property if you don't specify the
PlatformArn,EnvironmentId, orSourceConfigurationproperties.Type: String
Required: Conditional
Update requires: Replacement
SourceConfiguration-
A configuration template that is associated with another Elastic Beanstalk application. If you specify the
SolutionStackNameproperty and theSourceConfigurationproperty, the solution stack in the source configuration template must match the value that you specified for theSolutionStackNameproperty.You must specify this property if you don't specify the
EnvironmentIdorSolutionStackNameproperties.Type: SourceConfiguration
Required: Conditional
Update requires: Replacement
Return Values
Ref
When the logical ID of this resource is provided to the Ref intrinsic
function, Ref returns the resource name.
For more information about using the Ref function, see Ref.
Example
This example of an ElasticBeanstalk ConfigurationTemplate is found in the
AWS CloudFormation sample template ElasticBeanstalkSample.template, which also provides an example of its use
within an AWS::ElasticBeanstalk::Application.
JSON
"myConfigTemplate" : { "Type" : "AWS::ElasticBeanstalk::ConfigurationTemplate", "Properties" : { "ApplicationName" :{"Ref" : "myApp"}, "Description" : "my sample configuration template", "EnvironmentId" : "", "SourceConfiguration" : { "ApplicationName" : {"Ref" : "mySecondApp"}, "TemplateName" : {"Ref" : "mySourceTemplate"} }, "SolutionStackName" : "64bit Amazon Linux running PHP 5.3", "OptionSettings" : [ { "Namespace" : "aws:autoscaling:launchconfiguration", "OptionName" : "EC2KeyName", "Value" : { "Ref" : "KeyName" } } ] } }
YAML
myConfigTemplate: Type: AWS::ElasticBeanstalk::ConfigurationTemplate Properties: ApplicationName: Ref: "myApp" Description: "my sample configuration template" EnvironmentId: "" SourceConfiguration: ApplicationName: Ref: "mySecondApp" TemplateName: Ref: "mySourceTemplate" SolutionStackName: "64bit Amazon Linux running PHP 5.3" OptionSettings: - Namespace: "aws:autoscaling:launchconfiguration" OptionName: "EC2KeyName" Value: Ref: "KeyName"
See Also
-
Option Values in the AWS Elastic Beanstalk Developer Guide
-
For a complete Elastic Beanstalk sample template, see Elastic Beanstalk Template Snippets.
