/* * 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 opsworks-2013-02-18.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.OpsWorks.Model { /// /// Container for the parameters to the CreateApp operation. /// Creates an app for a specified stack. For more information, see Creating /// Apps. /// /// /// /// Required Permissions: To use this action, an IAM user must have a Manage permissions /// level for the stack, or an attached policy that explicitly grants permissions. For /// more information on user permissions, see Managing /// User Permissions. /// /// public partial class CreateAppRequest : AmazonOpsWorksRequest { private Source _appSource; private Dictionary _attributes = new Dictionary(); private List _dataSources = new List(); private string _description; private List _domains = new List(); private bool? _enableSsl; private List _environment = new List(); private string _name; private string _shortname; private SslConfiguration _sslConfiguration; private string _stackId; private AppType _type; /// /// Gets and sets the property AppSource. /// /// A Source object that specifies the app repository. /// /// public Source AppSource { get { return this._appSource; } set { this._appSource = value; } } // Check to see if AppSource property is set internal bool IsSetAppSource() { return this._appSource != null; } /// /// Gets and sets the property Attributes. /// /// One or more user-defined key/value pairs to be added to the stack attributes. /// /// public Dictionary Attributes { get { return this._attributes; } set { this._attributes = value; } } // Check to see if Attributes property is set internal bool IsSetAttributes() { return this._attributes != null && this._attributes.Count > 0; } /// /// Gets and sets the property DataSources. /// /// The app's data source. /// /// public List DataSources { get { return this._dataSources; } set { this._dataSources = value; } } // Check to see if DataSources property is set internal bool IsSetDataSources() { return this._dataSources != null && this._dataSources.Count > 0; } /// /// Gets and sets the property Description. /// /// A description of the app. /// /// 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 Domains. /// /// The app virtual host settings, with multiple domains separated by commas. For example: /// 'www.example.com, example.com' /// /// public List Domains { get { return this._domains; } set { this._domains = value; } } // Check to see if Domains property is set internal bool IsSetDomains() { return this._domains != null && this._domains.Count > 0; } /// /// Gets and sets the property EnableSsl. /// /// Whether to enable SSL for the app. /// /// public bool EnableSsl { get { return this._enableSsl.GetValueOrDefault(); } set { this._enableSsl = value; } } // Check to see if EnableSsl property is set internal bool IsSetEnableSsl() { return this._enableSsl.HasValue; } /// /// Gets and sets the property Environment. /// /// An array of EnvironmentVariable objects that specify environment variables /// to be associated with the app. After you deploy the app, these variables are defined /// on the associated app server instance. For more information, see /// Environment Variables. /// /// /// /// There is no specific limit on the number of environment variables. However, the size /// of the associated data structure - which includes the variables' names, values, and /// protected flag values - cannot exceed 20 KB. This limit should accommodate most if /// not all use cases. Exceeding it will cause an exception with the message, "Environment: /// is too large (maximum is 20KB)." /// /// /// /// If you have specified one or more environment variables, you cannot modify the stack's /// Chef version. /// /// /// public List Environment { get { return this._environment; } set { this._environment = value; } } // Check to see if Environment property is set internal bool IsSetEnvironment() { return this._environment != null && this._environment.Count > 0; } /// /// Gets and sets the property Name. /// /// The app name. /// /// [AWSProperty(Required=true)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property Shortname. /// /// The app's short name. /// /// public string Shortname { get { return this._shortname; } set { this._shortname = value; } } // Check to see if Shortname property is set internal bool IsSetShortname() { return this._shortname != null; } /// /// Gets and sets the property SslConfiguration. /// /// An SslConfiguration object with the SSL configuration. /// /// public SslConfiguration SslConfiguration { get { return this._sslConfiguration; } set { this._sslConfiguration = value; } } // Check to see if SslConfiguration property is set internal bool IsSetSslConfiguration() { return this._sslConfiguration != null; } /// /// Gets and sets the property StackId. /// /// The stack ID. /// /// [AWSProperty(Required=true)] public string StackId { get { return this._stackId; } set { this._stackId = value; } } // Check to see if StackId property is set internal bool IsSetStackId() { return this._stackId != null; } /// /// Gets and sets the property Type. /// /// The app type. Each supported type is associated with a particular layer. For example, /// PHP applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application /// to those instances that are members of the corresponding layer. If your app isn't /// one of the standard types, or you prefer to implement your own Deploy recipes, specify /// other. /// /// [AWSProperty(Required=true)] public AppType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }