/*
* 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 cloudformation-2010-05-15.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.CloudFormation.Model
{
///
/// An CloudFormation stack, in a specific account and Region, that's part of a stack
/// set operation. A stack instance is a reference to an attempted or actual stack in
/// a given account within a given Region. A stack instance can exist without a stackāfor
/// example, if the stack couldn't be created for some reason. A stack instance is associated
/// with only one stack set. Each stack instance contains the ID of its associated stack
/// set, in addition to the ID of the actual stack and the stack status.
///
public partial class StackInstance
{
private string _account;
private StackDriftStatus _driftStatus;
private DateTime? _lastDriftCheckTimestamp;
private string _lastOperationId;
private string _organizationalUnitId;
private List _parameterOverrides = new List();
private string _region;
private string _stackId;
private StackInstanceComprehensiveStatus _stackInstanceStatus;
private string _stackSetId;
private StackInstanceStatus _status;
private string _statusReason;
///
/// Gets and sets the property Account.
///
/// [Self-managed permissions] The name of the Amazon Web Services account that the stack
/// instance is associated with.
///
///
public string Account
{
get { return this._account; }
set { this._account = value; }
}
// Check to see if Account property is set
internal bool IsSetAccount()
{
return this._account != null;
}
///
/// Gets and sets the property DriftStatus.
///
/// Status of the stack instance's actual configuration compared to the expected template
/// and parameter configuration of the stack set to which it belongs.
///
/// -
///
///
DRIFTED
: The stack differs from the expected template and parameter
/// configuration of the stack set to which it belongs. A stack instance is considered
/// to have drifted if one or more of the resources in the associated stack have drifted.
///
/// -
///
///
NOT_CHECKED
: CloudFormation hasn't checked if the stack instance differs
/// from its expected stack set configuration.
///
/// -
///
///
IN_SYNC
: The stack instance's actual configuration matches its expected
/// stack set configuration.
///
/// -
///
///
UNKNOWN
: This value is reserved for future use.
///
///
///
public StackDriftStatus DriftStatus
{
get { return this._driftStatus; }
set { this._driftStatus = value; }
}
// Check to see if DriftStatus property is set
internal bool IsSetDriftStatus()
{
return this._driftStatus != null;
}
///
/// Gets and sets the property LastDriftCheckTimestamp.
///
/// Most recent time when CloudFormation performed a drift detection operation on the
/// stack instance. This value will be NULL
for any stack instance on which
/// drift detection hasn't yet been performed.
///
///
public DateTime LastDriftCheckTimestamp
{
get { return this._lastDriftCheckTimestamp.GetValueOrDefault(); }
set { this._lastDriftCheckTimestamp = value; }
}
// Check to see if LastDriftCheckTimestamp property is set
internal bool IsSetLastDriftCheckTimestamp()
{
return this._lastDriftCheckTimestamp.HasValue;
}
///
/// Gets and sets the property LastOperationId.
///
/// The last unique ID of a StackSet operation performed on a stack instance.
///
///
[AWSProperty(Min=1, Max=128)]
public string LastOperationId
{
get { return this._lastOperationId; }
set { this._lastOperationId = value; }
}
// Check to see if LastOperationId property is set
internal bool IsSetLastOperationId()
{
return this._lastOperationId != null;
}
///
/// Gets and sets the property OrganizationalUnitId.
///
/// [Service-managed permissions] The organization root ID or organizational unit (OU)
/// IDs that you specified for DeploymentTargets.
///
///
public string OrganizationalUnitId
{
get { return this._organizationalUnitId; }
set { this._organizationalUnitId = value; }
}
// Check to see if OrganizationalUnitId property is set
internal bool IsSetOrganizationalUnitId()
{
return this._organizationalUnitId != null;
}
///
/// Gets and sets the property ParameterOverrides.
///
/// A list of parameters from the stack set template whose values have been overridden
/// in this stack instance.
///
///
public List ParameterOverrides
{
get { return this._parameterOverrides; }
set { this._parameterOverrides = value; }
}
// Check to see if ParameterOverrides property is set
internal bool IsSetParameterOverrides()
{
return this._parameterOverrides != null && this._parameterOverrides.Count > 0;
}
///
/// Gets and sets the property Region.
///
/// The name of the Amazon Web Services Region that the stack instance is associated with.
///
///
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 StackId.
///
/// The ID of the stack instance.
///
///
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 StackInstanceStatus.
///
/// The detailed status of the stack instance.
///
///
public StackInstanceComprehensiveStatus StackInstanceStatus
{
get { return this._stackInstanceStatus; }
set { this._stackInstanceStatus = value; }
}
// Check to see if StackInstanceStatus property is set
internal bool IsSetStackInstanceStatus()
{
return this._stackInstanceStatus != null;
}
///
/// Gets and sets the property StackSetId.
///
/// The name or unique ID of the stack set that the stack instance is associated with.
///
///
public string StackSetId
{
get { return this._stackSetId; }
set { this._stackSetId = value; }
}
// Check to see if StackSetId property is set
internal bool IsSetStackSetId()
{
return this._stackSetId != null;
}
///
/// Gets and sets the property Status.
///
/// The status of the stack instance, in terms of its synchronization with its associated
/// stack set.
///
/// -
///
///
INOPERABLE
: A DeleteStackInstances
operation has failed
/// and left the stack in an unstable state. Stacks in this state are excluded from further
/// UpdateStackSet
operations. You might need to perform a DeleteStackInstances
/// operation, with RetainStacks
set to true
, to delete the
/// stack instance, and then delete the stack manually.
///
/// -
///
///
OUTDATED
: The stack isn't currently up to date with the stack set because:
///
/// -
///
/// The associated stack failed during a
CreateStackSet
or UpdateStackSet
/// operation.
///
/// -
///
/// The stack was part of a
CreateStackSet
or UpdateStackSet
/// operation that failed or was stopped before the stack was created or updated.
///
///
-
///
///
CURRENT
: The stack is currently up to date with the stack set.
///
///
///
public StackInstanceStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property StatusReason.
///
/// The explanation for the specific status code that's assigned to this stack instance.
///
///
public string StatusReason
{
get { return this._statusReason; }
set { this._statusReason = value; }
}
// Check to see if StatusReason property is set
internal bool IsSetStatusReason()
{
return this._statusReason != null;
}
}
}