/*
* 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 UpdateApp operation.
/// Updates a specified app.
///
///
///
/// Required Permissions: To use this action, an IAM user must have a Deploy or
/// 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 UpdateAppRequest : AmazonOpsWorksRequest
{
private string _appId;
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 SslConfiguration _sslConfiguration;
private AppType _type;
///
/// Gets and sets the property AppId.
///
/// The app ID.
///
///
[AWSProperty(Required=true)]
public string AppId
{
get { return this._appId; }
set { this._appId = value; }
}
// Check to see if AppId property is set
internal bool IsSetAppId()
{
return this._appId != null;
}
///
/// 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 sources.
///
///
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's 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 SSL is enabled 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 instances.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 20 KB)."
///
///
///
/// 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.
///
///
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 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 Type.
///
/// The app type.
///
///
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;
}
}
}