java.lang.Object
software.amazon.awssdk.services.cloudformation.model.StackInstance
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<StackInstance.Builder,StackInstance>

@Generated("software.amazon.awssdk:codegen") public final class StackInstance extends Object implements SdkPojo, Serializable, ToCopyableBuilder<StackInstance.Builder,StackInstance>

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.

See Also:
  • Method Details

    • stackSetId

      public final String stackSetId()

      The name or unique ID of the stack set that the stack instance is associated with.

      Returns:
      The name or unique ID of the stack set that the stack instance is associated with.
    • region

      public final String region()

      The name of the Amazon Web Services Region that the stack instance is associated with.

      Returns:
      The name of the Amazon Web Services Region that the stack instance is associated with.
    • account

      public final String account()

      [Self-managed permissions] The name of the Amazon Web Services account that the stack instance is associated with.

      Returns:
      [Self-managed permissions] The name of the Amazon Web Services account that the stack instance is associated with.
    • stackId

      public final String stackId()

      The ID of the stack instance.

      Returns:
      The ID of the stack instance.
    • hasParameterOverrides

      public final boolean hasParameterOverrides()
      For responses, this returns true if the service returned a value for the ParameterOverrides property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • parameterOverrides

      public final List<Parameter> parameterOverrides()

      A list of parameters from the stack set template whose values have been overridden in this stack instance.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasParameterOverrides() method.

      Returns:
      A list of parameters from the stack set template whose values have been overridden in this stack instance.
    • status

      public final StackInstanceStatus 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. INOPERABLE can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the DetailedStatus member in the StackInstanceSummary member that is a peer to this Status member.

      • 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.

      If the service returns an enum value that is not available in the current SDK version, status will return StackInstanceStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      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. INOPERABLE can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the DetailedStatus member in the StackInstanceSummary member that is a peer to this Status member.

      • 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.

      See Also:
    • statusAsString

      public final String statusAsString()

      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. INOPERABLE can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the DetailedStatus member in the StackInstanceSummary member that is a peer to this Status member.

      • 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.

      If the service returns an enum value that is not available in the current SDK version, status will return StackInstanceStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      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. INOPERABLE can be returned here when the cause is a failed import. If it's due to a failed import, the operation can be retried once the failures are fixed. To see if this is due to a failed import, look at the DetailedStatus member in the StackInstanceSummary member that is a peer to this Status member.

      • 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.

      See Also:
    • stackInstanceStatus

      public final StackInstanceComprehensiveStatus stackInstanceStatus()

      The detailed status of the stack instance.

      Returns:
      The detailed status of the stack instance.
    • statusReason

      public final String statusReason()

      The explanation for the specific status code that's assigned to this stack instance.

      Returns:
      The explanation for the specific status code that's assigned to this stack instance.
    • organizationalUnitId

      public final String organizationalUnitId()

      [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.

      Returns:
      [Service-managed permissions] The organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets.
    • driftStatus

      public final StackDriftStatus 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.

      If the service returns an enum value that is not available in the current SDK version, driftStatus will return StackDriftStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from driftStatusAsString().

      Returns:
      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.

      See Also:
    • driftStatusAsString

      public final String driftStatusAsString()

      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.

      If the service returns an enum value that is not available in the current SDK version, driftStatus will return StackDriftStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from driftStatusAsString().

      Returns:
      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.

      See Also:
    • lastDriftCheckTimestamp

      public final Instant 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.

      Returns:
      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.
    • lastOperationId

      public final String lastOperationId()

      The last unique ID of a StackSet operation performed on a stack instance.

      Returns:
      The last unique ID of a StackSet operation performed on a stack instance.
    • toBuilder

      public StackInstance.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<StackInstance.Builder,StackInstance>
      Returns:
      a builder for type T
    • builder

      public static StackInstance.Builder builder()
    • serializableBuilderClass

      public static Class<? extends StackInstance.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.