/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.elasticbeanstalk.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *
* Request to create a configuration template. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateConfigurationTemplateRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** ** The name of the Elastic Beanstalk application to associate with this configuration template. *
*/ private String applicationName; /** ** The name of the configuration template. *
** Constraint: This name must be unique per application. *
*/ private String templateName; /** *
* 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.
*
* The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom Platforms in the * AWS Elastic Beanstalk Developer Guide. *
*
* If you specify PlatformArn
, then don't specify SolutionStackName
.
*
* 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. *
*/ private SourceConfiguration sourceConfiguration; /** *
* 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
.
*
* An optional description for this configuration. *
*/ private String description; /** ** 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. *
*/ private com.amazonaws.internal.SdkInternalList* Specifies the tags applied to the configuration template. *
*/ private com.amazonaws.internal.SdkInternalList* Constraint: This name must be unique per application. */ public CreateConfigurationTemplateRequest(String applicationName, String templateName) { setApplicationName(applicationName); setTemplateName(templateName); } /** *
* The name of the Elastic Beanstalk application to associate with this configuration template. *
* * @param applicationName * The name of the Elastic Beanstalk application to associate with this configuration template. */ public void setApplicationName(String applicationName) { this.applicationName = applicationName; } /** ** The name of the Elastic Beanstalk application to associate with this configuration template. *
* * @return The name of the Elastic Beanstalk application to associate with this configuration template. */ public String getApplicationName() { return this.applicationName; } /** ** The name of the Elastic Beanstalk application to associate with this configuration template. *
* * @param applicationName * The name of the Elastic Beanstalk application to associate with this configuration template. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withApplicationName(String applicationName) { setApplicationName(applicationName); return this; } /** ** The name of the configuration template. *
** Constraint: This name must be unique per application. *
* * @param templateName * The name of the configuration template. ** Constraint: This name must be unique per application. */ public void setTemplateName(String templateName) { this.templateName = templateName; } /** *
* The name of the configuration template. *
** Constraint: This name must be unique per application. *
* * @return The name of the configuration template. ** Constraint: This name must be unique per application. */ public String getTemplateName() { return this.templateName; } /** *
* The name of the configuration template. *
** Constraint: This name must be unique per application. *
* * @param templateName * The name of the configuration template. ** Constraint: This name must be unique per application. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withTemplateName(String templateName) { setTemplateName(templateName); return this; } /** *
* 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.
*
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.
*/
public void setSolutionStackName(String solutionStackName) {
this.solutionStackName = 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.
*
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.
*/
public String getSolutionStackName() {
return this.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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateConfigurationTemplateRequest withSolutionStackName(String solutionStackName) {
setSolutionStackName(solutionStackName);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom Platforms in the * AWS Elastic Beanstalk Developer Guide. *
*
* If you specify PlatformArn
, then don't specify SolutionStackName
.
*
* If you specify PlatformArn
, then don't specify SolutionStackName
.
*
* The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom Platforms in the * AWS Elastic Beanstalk Developer Guide. *
*
* If you specify PlatformArn
, then don't specify SolutionStackName
.
*
* If you specify PlatformArn
, then don't specify SolutionStackName
.
*
* The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom Platforms in the * AWS Elastic Beanstalk Developer Guide. *
*
* If you specify PlatformArn
, then don't specify SolutionStackName
.
*
* If you specify PlatformArn
, then don't specify SolutionStackName
.
*
* 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. *
* * @param 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. */ public void setSourceConfiguration(SourceConfiguration sourceConfiguration) { this.sourceConfiguration = 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. *
* * @return 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. */ public SourceConfiguration getSourceConfiguration() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withSourceConfiguration(SourceConfiguration sourceConfiguration) { setSourceConfiguration(sourceConfiguration); return this; } /** *
* 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
.
*
EnvironmentId
if you don't specify PlatformArn
,
* SolutionStackName
, or SourceConfiguration
.
*/
public void setEnvironmentId(String environmentId) {
this.environmentId = 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
.
*
EnvironmentId
if you don't specify PlatformArn
,
* SolutionStackName
, or SourceConfiguration
.
*/
public String getEnvironmentId() {
return this.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
.
*
EnvironmentId
if you don't specify PlatformArn
,
* SolutionStackName
, or SourceConfiguration
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateConfigurationTemplateRequest withEnvironmentId(String environmentId) {
setEnvironmentId(environmentId);
return this;
}
/**
* * An optional description for this configuration. *
* * @param description * An optional description for this configuration. */ public void setDescription(String description) { this.description = description; } /** ** An optional description for this configuration. *
* * @return An optional description for this configuration. */ public String getDescription() { return this.description; } /** ** An optional description for this configuration. *
* * @param description * An optional description for this configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withDescription(String description) { setDescription(description); return this; } /** ** 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. *
* * @return 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. */ public java.util.List* 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. *
* * @param 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. */ public void setOptionSettings(java.util.Collection* 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setOptionSettings(java.util.Collection)} or {@link #withOptionSettings(java.util.Collection)} if you want * to override the existing values. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withOptionSettings(ConfigurationOptionSetting... optionSettings) { if (this.optionSettings == null) { setOptionSettings(new com.amazonaws.internal.SdkInternalList* 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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withOptionSettings(java.util.Collection* Specifies the tags applied to the configuration template. *
* * @return Specifies the tags applied to the configuration template. */ public java.util.List* Specifies the tags applied to the configuration template. *
* * @param tags * Specifies the tags applied to the configuration template. */ public void setTags(java.util.Collection* Specifies the tags applied to the configuration template. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * Specifies the tags applied to the configuration template. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList* Specifies the tags applied to the configuration template. *
* * @param tags * Specifies the tags applied to the configuration template. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateConfigurationTemplateRequest withTags(java.util.Collection