// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Ros.Outputs
{

    [OutputType]
    public sealed class GetStackInstancesInstanceResult
    {
        /// <summary>
        /// The ID of the Stack Instance. The value formats as `&lt;stack_group_name&gt;:&lt;stack_instance_account_id&gt;:&lt;stack_instance_region_id&gt;`.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// ParameterOverrides.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetStackInstancesInstanceParameterOverrideResult> ParameterOverrides;
        /// <summary>
        /// The ID of the stack group.
        /// </summary>
        public readonly string StackGroupId;
        /// <summary>
        /// The name of the stack group.
        /// </summary>
        public readonly string StackGroupName;
        /// <summary>
        /// The ID of the stack corresponding to the stack instance.
        /// </summary>
        public readonly string StackId;
        /// <summary>
        /// The account to which the stack instance belongs.
        /// </summary>
        public readonly string StackInstanceAccountId;
        /// <summary>
        /// The region of the stack instance.
        /// </summary>
        public readonly string StackInstanceRegionId;
        /// <summary>
        /// The status of the stack instance. Valid values: `CURRENT` or `OUTDATED`. 
        /// * `CURRENT`: The stack corresponding to the stack instance is up to date with the stack group.
        /// * `OUTDATED`: The stack corresponding to the stack instance is not up to date with the stack group. The `OUTDATED` state has the following possible causes:
        /// * When the CreateStackInstances operation is called to create stack instances, the corresponding stacks fail to be created.
        /// * When the UpdateStackInstances or UpdateStackGroup operation is called to update stack instances, the corresponding stacks fail to be updated, or only some of the stack instances are updated.
        /// * The create or update operation is not complete.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The reason why the stack is in its current state.
        /// </summary>
        public readonly string StatusReason;

        [OutputConstructor]
        private GetStackInstancesInstanceResult(
            string id,

            ImmutableArray<Outputs.GetStackInstancesInstanceParameterOverrideResult> parameterOverrides,

            string stackGroupId,

            string stackGroupName,

            string stackId,

            string stackInstanceAccountId,

            string stackInstanceRegionId,

            string status,

            string statusReason)
        {
            Id = id;
            ParameterOverrides = parameterOverrides;
            StackGroupId = stackGroupId;
            StackGroupName = stackGroupName;
            StackId = stackId;
            StackInstanceAccountId = stackInstanceAccountId;
            StackInstanceRegionId = stackInstanceRegionId;
            Status = status;
            StatusReason = statusReason;
        }
    }
}
