/* * 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; } } }