Skip to content

CloudFormation  >  Operations  >  detect_stack_drift

detect_stack_drift

Operation

detect_stack_drift async

detect_stack_drift(input: DetectStackDriftInput, plugins: list[Plugin] | None = None) -> DetectStackDriftOutput

Detects whether a stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detect unmanaged configuration changes to stacks and resources with drift detection.

Use DetectStackDrift to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources.

For a list of stack resources that currently support drift detection, see Resource type support for imports and drift detection.

DetectStackDrift can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

When detecting drift on a stack, CloudFormation doesn't detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift directly on the nested stack itself.

Parameters:

Name Type Description Default
input DetectStackDriftInput

An instance of DetectStackDriftInput.

required
plugins list[Plugin] | None

A list of callables that modify the configuration dynamically. Changes made by these plugins only apply for the duration of the operation execution and will not affect any other operation invocations.

None

Returns:

Type Description
DetectStackDriftOutput

An instance of DetectStackDriftOutput.

Input

DetectStackDriftInput dataclass

Bases: _SerdeShape

Dataclass for DetectStackDriftInput structure.

Attributes

logical_resource_ids class-attribute instance-attribute
logical_resource_ids: list[str] | None = ...

The logical names of any resources you want to use as filters.

stack_name class-attribute instance-attribute
stack_name: str | None = ...

The name of the stack for which you want to detect drift.

Output

DetectStackDriftOutput dataclass

Bases: _SerdeShape

Dataclass for DetectStackDriftOutput structure.

Attributes

response_metadata class-attribute instance-attribute
response_metadata: ResponseMetadata = ...

Metadata about the response that produced this output. Use this to recover the request identifiers a service's support team needs in order to investigate a call. Members of the metadata are individually optional.

stack_drift_detection_id class-attribute instance-attribute
stack_drift_detection_id: str | None = ...

The ID of the drift detection results of this operation.

CloudFormation generates new results, with a new drift detection ID, each time this operation is run. However, the number of drift results CloudFormation retains for any given stack, and for how long, may vary.