/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the elasticbeanstalk-2010-12-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ElasticBeanstalk.Model
{
///
/// Container for the parameters to the CreateConfigurationTemplate operation.
/// 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
///
///
///
public partial class CreateConfigurationTemplateRequest : AmazonElasticBeanstalkRequest
{
private string _applicationName;
private string _description;
private string _environmentId;
private List _optionSettings = new List();
private string _platformArn;
private string _solutionStackName;
private SourceConfiguration _sourceConfiguration;
private List _tags = new List();
private string _templateName;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public CreateConfigurationTemplateRequest() { }
///
/// Instantiates CreateConfigurationTemplateRequest with the parameterized properties
///
/// The name of the Elastic Beanstalk application to associate with this configuration template.
/// The name of the configuration template. Constraint: This name must be unique per application.
public CreateConfigurationTemplateRequest(string applicationName, string templateName)
{
_applicationName = applicationName;
_templateName = templateName;
}
///
/// Gets and sets the property ApplicationName.
///
/// The name of the Elastic Beanstalk application to associate with this configuration
/// template.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string ApplicationName
{
get { return this._applicationName; }
set { this._applicationName = value; }
}
// Check to see if ApplicationName property is set
internal bool IsSetApplicationName()
{
return this._applicationName != null;
}
///
/// Gets and sets the property Description.
///
/// An optional description for this configuration.
///
///
[AWSProperty(Max=200)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property 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
.
///
///
public string EnvironmentId
{
get { return this._environmentId; }
set { this._environmentId = value; }
}
// Check to see if EnvironmentId property is set
internal bool IsSetEnvironmentId()
{
return this._environmentId != null;
}
///
/// Gets and sets the property 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 List OptionSettings
{
get { return this._optionSettings; }
set { this._optionSettings = value; }
}
// Check to see if OptionSettings property is set
internal bool IsSetOptionSettings()
{
return this._optionSettings != null && this._optionSettings.Count > 0;
}
///
/// Gets and sets the property PlatformArn.
///
/// 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
.
///
///
///
public string PlatformArn
{
get { return this._platformArn; }
set { this._platformArn = value; }
}
// Check to see if PlatformArn property is set
internal bool IsSetPlatformArn()
{
return this._platformArn != null;
}
///
/// Gets and sets the property 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.
///
///
public string SolutionStackName
{
get { return this._solutionStackName; }
set { this._solutionStackName = value; }
}
// Check to see if SolutionStackName property is set
internal bool IsSetSolutionStackName()
{
return this._solutionStackName != null;
}
///
/// Gets and sets the property 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 SourceConfiguration SourceConfiguration
{
get { return this._sourceConfiguration; }
set { this._sourceConfiguration = value; }
}
// Check to see if SourceConfiguration property is set
internal bool IsSetSourceConfiguration()
{
return this._sourceConfiguration != null;
}
///
/// Gets and sets the property Tags.
///
/// Specifies the tags applied to the configuration template.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TemplateName.
///
/// The name of the configuration template.
///
///
///
/// Constraint: This name must be unique per application.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string TemplateName
{
get { return this._templateName; }
set { this._templateName = value; }
}
// Check to see if TemplateName property is set
internal bool IsSetTemplateName()
{
return this._templateName != null;
}
}
}