createConfigurationTemplate method
Creates an AWS Elastic Beanstalk configuration template, associated with a specific Elastic Beanstalk application. You define application configuration settings in a configuration template. You can then use the configuration template to deploy different versions of the application with the same configuration settings.
Templates aren't associated with any environment. The
EnvironmentName
response element is always null
.
Related Topics
May throw InsufficientPrivilegesException. May throw TooManyBucketsException. May throw TooManyConfigurationTemplatesException.
Parameter applicationName
:
The name of the Elastic Beanstalk application to associate with this
configuration template.
Parameter templateName
:
The name of the configuration template.
Constraint: This name must be unique per application.
Parameter description
:
An optional description for this configuration.
Parameter environmentId
:
The ID of an environment whose settings you want to use to create the
configuration template. You must specify EnvironmentId
if you
don't specify PlatformArn
, SolutionStackName
, or
SourceConfiguration
.
Parameter optionSettings
:
Option values for the Elastic Beanstalk configuration, such as the
instance type. If specified, these values override the values obtained
from the solution stack or the source configuration template. For a
complete list of Elastic Beanstalk configuration options, see Option
Values in the AWS Elastic Beanstalk Developer Guide.
Parameter platformArn
:
The Amazon Resource Name (ARN) of the custom platform. For more
information, see
Custom Platforms in the AWS Elastic Beanstalk Developer Guide.
Parameter solutionStackName
:
The name of an Elastic Beanstalk solution stack (platform version) that
this configuration uses. For example, 64bit Amazon Linux 2013.09
running Tomcat 7 Java 7
. A solution stack specifies the operating
system, runtime, and application server for a configuration template. It
also determines the set of configuration options as well as the possible
and default values. For more information, see Supported
Platforms in the AWS Elastic Beanstalk Developer Guide.
You must specify SolutionStackName
if you don't specify
PlatformArn
, EnvironmentId
, or
SourceConfiguration
.
Use the
ListAvailableSolutionStacks
API to obtain a list of
available solution stacks.
Parameter sourceConfiguration
:
An Elastic Beanstalk configuration template to base this one on. If
specified, Elastic Beanstalk uses the configuration values from the
specified configuration template to create a new configuration.
Values specified in OptionSettings
override any values
obtained from the SourceConfiguration
.
You must specify SourceConfiguration
if you don't specify
PlatformArn
, EnvironmentId
, or
SolutionStackName
.
Constraint: If both solution stack name and source configuration are specified, the solution stack of the source configuration template must match the specified solution stack name.
Parameter tags
:
Specifies the tags applied to the configuration template.
Implementation
Future<ConfigurationSettingsDescription> createConfigurationTemplate({
required String applicationName,
required String templateName,
String? description,
String? environmentId,
List<ConfigurationOptionSetting>? optionSettings,
String? platformArn,
String? solutionStackName,
SourceConfiguration? sourceConfiguration,
List<Tag>? tags,
}) async {
ArgumentError.checkNotNull(applicationName, 'applicationName');
_s.validateStringLength(
'applicationName',
applicationName,
1,
100,
isRequired: true,
);
ArgumentError.checkNotNull(templateName, 'templateName');
_s.validateStringLength(
'templateName',
templateName,
1,
100,
isRequired: true,
);
_s.validateStringLength(
'description',
description,
0,
200,
);
final $request = <String, dynamic>{};
$request['ApplicationName'] = applicationName;
$request['TemplateName'] = templateName;
description?.also((arg) => $request['Description'] = arg);
environmentId?.also((arg) => $request['EnvironmentId'] = arg);
optionSettings?.also((arg) => $request['OptionSettings'] = arg);
platformArn?.also((arg) => $request['PlatformArn'] = arg);
solutionStackName?.also((arg) => $request['SolutionStackName'] = arg);
sourceConfiguration?.also((arg) => $request['SourceConfiguration'] = arg);
tags?.also((arg) => $request['Tags'] = arg);
final $result = await _protocol.send(
$request,
action: 'CreateConfigurationTemplate',
version: '2010-12-01',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['CreateConfigurationTemplateMessage'],
shapes: shapes,
resultWrapper: 'CreateConfigurationTemplateResult',
);
return ConfigurationSettingsDescription.fromXml($result);
}