/*
* 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
{
///
/// Describes a layer.
///
public partial class Layer
{
private string _arn;
private Dictionary _attributes = new Dictionary();
private bool? _autoAssignElasticIps;
private bool? _autoAssignPublicIps;
private CloudWatchLogsConfiguration _cloudWatchLogsConfiguration;
private string _createdAt;
private string _customInstanceProfileArn;
private string _customJson;
private Recipes _customRecipes;
private List _customSecurityGroupIds = new List();
private Recipes _defaultRecipes;
private List _defaultSecurityGroupNames = new List();
private bool? _enableAutoHealing;
private bool? _installUpdatesOnBoot;
private string _layerId;
private LifecycleEventConfiguration _lifecycleEventConfiguration;
private string _name;
private List _packages = new List();
private string _shortname;
private string _stackId;
private LayerType _type;
private bool? _useEbsOptimizedInstances;
private List _volumeConfigurations = new List();
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Number (ARN) of a layer.
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property Attributes.
///
/// The layer attributes.
///
///
///
/// For the HaproxyStatsPassword
, MysqlRootPassword
, and GangliaPassword
/// attributes, AWS OpsWorks Stacks returns *****FILTERED*****
instead of
/// the actual value
///
///
///
/// For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn
attribute
/// is set to the cluster's ARN.
///
///
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 AutoAssignElasticIps.
///
/// Whether to automatically assign an Elastic
/// IP address to the layer's instances. For more information, see How
/// to Edit a Layer.
///
///
public bool AutoAssignElasticIps
{
get { return this._autoAssignElasticIps.GetValueOrDefault(); }
set { this._autoAssignElasticIps = value; }
}
// Check to see if AutoAssignElasticIps property is set
internal bool IsSetAutoAssignElasticIps()
{
return this._autoAssignElasticIps.HasValue;
}
///
/// Gets and sets the property AutoAssignPublicIps.
///
/// For stacks that are running in a VPC, whether to automatically assign a public IP
/// address to the layer's instances. For more information, see How
/// to Edit a Layer.
///
///
public bool AutoAssignPublicIps
{
get { return this._autoAssignPublicIps.GetValueOrDefault(); }
set { this._autoAssignPublicIps = value; }
}
// Check to see if AutoAssignPublicIps property is set
internal bool IsSetAutoAssignPublicIps()
{
return this._autoAssignPublicIps.HasValue;
}
///
/// Gets and sets the property CloudWatchLogsConfiguration.
///
/// The Amazon CloudWatch Logs configuration settings for the layer.
///
///
public CloudWatchLogsConfiguration CloudWatchLogsConfiguration
{
get { return this._cloudWatchLogsConfiguration; }
set { this._cloudWatchLogsConfiguration = value; }
}
// Check to see if CloudWatchLogsConfiguration property is set
internal bool IsSetCloudWatchLogsConfiguration()
{
return this._cloudWatchLogsConfiguration != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// Date when the layer was created.
///
///
public string CreatedAt
{
get { return this._createdAt; }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt != null;
}
///
/// Gets and sets the property CustomInstanceProfileArn.
///
/// The ARN of the default IAM profile to be used for the layer's EC2 instances. For more
/// information about IAM ARNs, see Using
/// Identifiers.
///
///
public string CustomInstanceProfileArn
{
get { return this._customInstanceProfileArn; }
set { this._customInstanceProfileArn = value; }
}
// Check to see if CustomInstanceProfileArn property is set
internal bool IsSetCustomInstanceProfileArn()
{
return this._customInstanceProfileArn != null;
}
///
/// Gets and sets the property CustomJson.
///
/// A JSON formatted string containing the layer's custom stack configuration and deployment
/// attributes.
///
///
public string CustomJson
{
get { return this._customJson; }
set { this._customJson = value; }
}
// Check to see if CustomJson property is set
internal bool IsSetCustomJson()
{
return this._customJson != null;
}
///
/// Gets and sets the property CustomRecipes.
///
/// A LayerCustomRecipes
object that specifies the layer's custom recipes.
///
///
public Recipes CustomRecipes
{
get { return this._customRecipes; }
set { this._customRecipes = value; }
}
// Check to see if CustomRecipes property is set
internal bool IsSetCustomRecipes()
{
return this._customRecipes != null;
}
///
/// Gets and sets the property CustomSecurityGroupIds.
///
/// An array containing the layer's custom security group IDs.
///
///
public List CustomSecurityGroupIds
{
get { return this._customSecurityGroupIds; }
set { this._customSecurityGroupIds = value; }
}
// Check to see if CustomSecurityGroupIds property is set
internal bool IsSetCustomSecurityGroupIds()
{
return this._customSecurityGroupIds != null && this._customSecurityGroupIds.Count > 0;
}
///
/// Gets and sets the property DefaultRecipes.
///
/// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
/// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks
/// Stacks runs a set of standard recipes for each event. You can also provide custom
/// recipes for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes
/// after the standard recipes. LayerCustomRecipes
specifies the custom recipes
/// for a particular layer to be run in response to each of the five events.
///
///
///
/// To specify a recipe, use the cookbook's directory name in the repository followed
/// by two colons and the recipe name, which is the recipe's file name without the .rb
/// extension. For example: phpapp2::dbsetup
specifies the dbsetup.rb
/// recipe in the repository's phpapp2
folder.
///
///
public Recipes DefaultRecipes
{
get { return this._defaultRecipes; }
set { this._defaultRecipes = value; }
}
// Check to see if DefaultRecipes property is set
internal bool IsSetDefaultRecipes()
{
return this._defaultRecipes != null;
}
///
/// Gets and sets the property DefaultSecurityGroupNames.
///
/// An array containing the layer's security group names.
///
///
public List DefaultSecurityGroupNames
{
get { return this._defaultSecurityGroupNames; }
set { this._defaultSecurityGroupNames = value; }
}
// Check to see if DefaultSecurityGroupNames property is set
internal bool IsSetDefaultSecurityGroupNames()
{
return this._defaultSecurityGroupNames != null && this._defaultSecurityGroupNames.Count > 0;
}
///
/// Gets and sets the property EnableAutoHealing.
///
/// Whether auto healing is disabled for the layer.
///
///
public bool EnableAutoHealing
{
get { return this._enableAutoHealing.GetValueOrDefault(); }
set { this._enableAutoHealing = value; }
}
// Check to see if EnableAutoHealing property is set
internal bool IsSetEnableAutoHealing()
{
return this._enableAutoHealing.HasValue;
}
///
/// Gets and sets the property InstallUpdatesOnBoot.
///
/// Whether to install operating system and package updates when the instance boots. The
/// default value is true
. If this value is set to false
, you
/// must then update your instances manually by using CreateDeployment to run the
/// update_dependencies
stack command or manually running yum
/// (Amazon Linux) or apt-get
(Ubuntu) on the instances.
///
///
///
/// We strongly recommend using the default value of true
, to ensure that
/// your instances have the latest security updates.
///
///
///
public bool InstallUpdatesOnBoot
{
get { return this._installUpdatesOnBoot.GetValueOrDefault(); }
set { this._installUpdatesOnBoot = value; }
}
// Check to see if InstallUpdatesOnBoot property is set
internal bool IsSetInstallUpdatesOnBoot()
{
return this._installUpdatesOnBoot.HasValue;
}
///
/// Gets and sets the property LayerId.
///
/// The layer ID.
///
///
public string LayerId
{
get { return this._layerId; }
set { this._layerId = value; }
}
// Check to see if LayerId property is set
internal bool IsSetLayerId()
{
return this._layerId != null;
}
///
/// Gets and sets the property LifecycleEventConfiguration.
///
/// A LifeCycleEventConfiguration
object that specifies the Shutdown event
/// configuration.
///
///
public LifecycleEventConfiguration LifecycleEventConfiguration
{
get { return this._lifecycleEventConfiguration; }
set { this._lifecycleEventConfiguration = value; }
}
// Check to see if LifecycleEventConfiguration property is set
internal bool IsSetLifecycleEventConfiguration()
{
return this._lifecycleEventConfiguration != null;
}
///
/// Gets and sets the property Name.
///
/// The layer 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 Packages.
///
/// An array of Package
objects that describe the layer's packages.
///
///
public List Packages
{
get { return this._packages; }
set { this._packages = value; }
}
// Check to see if Packages property is set
internal bool IsSetPackages()
{
return this._packages != null && this._packages.Count > 0;
}
///
/// Gets and sets the property Shortname.
///
/// The layer 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 StackId.
///
/// The layer stack ID.
///
///
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 layer type.
///
///
public LayerType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property UseEbsOptimizedInstances.
///
/// Whether the layer uses Amazon EBS-optimized instances.
///
///
public bool UseEbsOptimizedInstances
{
get { return this._useEbsOptimizedInstances.GetValueOrDefault(); }
set { this._useEbsOptimizedInstances = value; }
}
// Check to see if UseEbsOptimizedInstances property is set
internal bool IsSetUseEbsOptimizedInstances()
{
return this._useEbsOptimizedInstances.HasValue;
}
///
/// Gets and sets the property VolumeConfigurations.
///
/// A VolumeConfigurations
object that describes the layer's Amazon EBS volumes.
///
///
public List VolumeConfigurations
{
get { return this._volumeConfigurations; }
set { this._volumeConfigurations = value; }
}
// Check to see if VolumeConfigurations property is set
internal bool IsSetVolumeConfigurations()
{
return this._volumeConfigurations != null && this._volumeConfigurations.Count > 0;
}
}
}