/*
* 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 stack.
///
public partial class Stack
{
private string _agentVersion;
private string _arn;
private Dictionary _attributes = new Dictionary();
private ChefConfiguration _chefConfiguration;
private StackConfigurationManager _configurationManager;
private string _createdAt;
private Source _customCookbooksSource;
private string _customJson;
private string _defaultAvailabilityZone;
private string _defaultInstanceProfileArn;
private string _defaultOs;
private RootDeviceType _defaultRootDeviceType;
private string _defaultSshKeyName;
private string _defaultSubnetId;
private string _hostnameTheme;
private string _name;
private string _region;
private string _serviceRoleArn;
private string _stackId;
private bool? _useCustomCookbooks;
private bool? _useOpsworksSecurityGroups;
private string _vpcId;
///
/// Gets and sets the property AgentVersion.
///
/// The agent version. This parameter is set to LATEST
for auto-update. or
/// a version number for a fixed agent version.
///
///
public string AgentVersion
{
get { return this._agentVersion; }
set { this._agentVersion = value; }
}
// Check to see if AgentVersion property is set
internal bool IsSetAgentVersion()
{
return this._agentVersion != null;
}
///
/// Gets and sets the property Arn.
///
/// The stack's ARN.
///
///
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 stack's 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 ChefConfiguration.
///
/// A ChefConfiguration
object that specifies whether to enable Berkshelf
/// and the Berkshelf version. For more information, see Create
/// a New Stack.
///
///
public ChefConfiguration ChefConfiguration
{
get { return this._chefConfiguration; }
set { this._chefConfiguration = value; }
}
// Check to see if ChefConfiguration property is set
internal bool IsSetChefConfiguration()
{
return this._chefConfiguration != null;
}
///
/// Gets and sets the property ConfigurationManager.
///
/// The configuration manager.
///
///
public StackConfigurationManager ConfigurationManager
{
get { return this._configurationManager; }
set { this._configurationManager = value; }
}
// Check to see if ConfigurationManager property is set
internal bool IsSetConfigurationManager()
{
return this._configurationManager != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The date when the stack 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 CustomCookbooksSource.
///
/// Contains the information required to retrieve an app or cookbook from a repository.
/// For more information, see Adding
/// Apps or Cookbooks
/// and Recipes.
///
///
public Source CustomCookbooksSource
{
get { return this._customCookbooksSource; }
set { this._customCookbooksSource = value; }
}
// Check to see if CustomCookbooksSource property is set
internal bool IsSetCustomCookbooksSource()
{
return this._customCookbooksSource != null;
}
///
/// Gets and sets the property CustomJson.
///
/// A JSON object that contains user-defined attributes to be added to the stack configuration
/// and deployment attributes. You can use custom JSON to override the corresponding default
/// stack configuration attribute values or to pass data to recipes. The string should
/// be in the following format:
///
///
///
/// "{\"key1\": \"value1\", \"key2\": \"value2\",...}"
///
///
///
/// For more information on custom JSON, see Use
/// Custom JSON to Modify the Stack Configuration 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 DefaultAvailabilityZone.
///
/// The stack's default Availability Zone. For more information, see Regions
/// and Endpoints.
///
///
public string DefaultAvailabilityZone
{
get { return this._defaultAvailabilityZone; }
set { this._defaultAvailabilityZone = value; }
}
// Check to see if DefaultAvailabilityZone property is set
internal bool IsSetDefaultAvailabilityZone()
{
return this._defaultAvailabilityZone != null;
}
///
/// Gets and sets the property DefaultInstanceProfileArn.
///
/// The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances.
/// For more information about IAM ARNs, see Using
/// Identifiers.
///
///
public string DefaultInstanceProfileArn
{
get { return this._defaultInstanceProfileArn; }
set { this._defaultInstanceProfileArn = value; }
}
// Check to see if DefaultInstanceProfileArn property is set
internal bool IsSetDefaultInstanceProfileArn()
{
return this._defaultInstanceProfileArn != null;
}
///
/// Gets and sets the property DefaultOs.
///
/// The stack's default operating system.
///
///
public string DefaultOs
{
get { return this._defaultOs; }
set { this._defaultOs = value; }
}
// Check to see if DefaultOs property is set
internal bool IsSetDefaultOs()
{
return this._defaultOs != null;
}
///
/// Gets and sets the property DefaultRootDeviceType.
///
/// The default root device type. This value is used by default for all instances in the
/// stack, but you can override it when you create an instance. For more information,
/// see Storage
/// for the Root Device.
///
///
public RootDeviceType DefaultRootDeviceType
{
get { return this._defaultRootDeviceType; }
set { this._defaultRootDeviceType = value; }
}
// Check to see if DefaultRootDeviceType property is set
internal bool IsSetDefaultRootDeviceType()
{
return this._defaultRootDeviceType != null;
}
///
/// Gets and sets the property DefaultSshKeyName.
///
/// A default Amazon EC2 key pair for the stack's instances. You can override this value
/// when you create or update an instance.
///
///
public string DefaultSshKeyName
{
get { return this._defaultSshKeyName; }
set { this._defaultSshKeyName = value; }
}
// Check to see if DefaultSshKeyName property is set
internal bool IsSetDefaultSshKeyName()
{
return this._defaultSshKeyName != null;
}
///
/// Gets and sets the property DefaultSubnetId.
///
/// The default subnet ID; applicable only if the stack is running in a VPC.
///
///
public string DefaultSubnetId
{
get { return this._defaultSubnetId; }
set { this._defaultSubnetId = value; }
}
// Check to see if DefaultSubnetId property is set
internal bool IsSetDefaultSubnetId()
{
return this._defaultSubnetId != null;
}
///
/// Gets and sets the property HostnameTheme.
///
/// The stack host name theme, with spaces replaced by underscores.
///
///
public string HostnameTheme
{
get { return this._hostnameTheme; }
set { this._hostnameTheme = value; }
}
// Check to see if HostnameTheme property is set
internal bool IsSetHostnameTheme()
{
return this._hostnameTheme != null;
}
///
/// Gets and sets the property Name.
///
/// The stack 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 Region.
///
/// The stack AWS region, such as "ap-northeast-2". For more information about AWS regions,
/// see Regions and
/// Endpoints.
///
///
public string Region
{
get { return this._region; }
set { this._region = value; }
}
// Check to see if Region property is set
internal bool IsSetRegion()
{
return this._region != null;
}
///
/// Gets and sets the property ServiceRoleArn.
///
/// The stack AWS Identity and Access Management (IAM) role.
///
///
public string ServiceRoleArn
{
get { return this._serviceRoleArn; }
set { this._serviceRoleArn = value; }
}
// Check to see if ServiceRoleArn property is set
internal bool IsSetServiceRoleArn()
{
return this._serviceRoleArn != null;
}
///
/// Gets and sets the property StackId.
///
/// The 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 UseCustomCookbooks.
///
/// Whether the stack uses custom cookbooks.
///
///
public bool UseCustomCookbooks
{
get { return this._useCustomCookbooks.GetValueOrDefault(); }
set { this._useCustomCookbooks = value; }
}
// Check to see if UseCustomCookbooks property is set
internal bool IsSetUseCustomCookbooks()
{
return this._useCustomCookbooks.HasValue;
}
///
/// Gets and sets the property UseOpsworksSecurityGroups.
///
/// Whether the stack automatically associates the AWS OpsWorks Stacks built-in security
/// groups with the stack's layers.
///
///
public bool UseOpsworksSecurityGroups
{
get { return this._useOpsworksSecurityGroups.GetValueOrDefault(); }
set { this._useOpsworksSecurityGroups = value; }
}
// Check to see if UseOpsworksSecurityGroups property is set
internal bool IsSetUseOpsworksSecurityGroups()
{
return this._useOpsworksSecurityGroups.HasValue;
}
///
/// Gets and sets the property VpcId.
///
/// The VPC ID; applicable only if the stack is running in a VPC.
///
///
public string VpcId
{
get { return this._vpcId; }
set { this._vpcId = value; }
}
// Check to see if VpcId property is set
internal bool IsSetVpcId()
{
return this._vpcId != null;
}
}
}