# Watch CloudFormation replacement-risk changes

**Use case:** 

Run a focused CloudFormation spec example for resource types where replacement-risk or required-property drift matters.

## Input

```json
{
  "regions": [
    "us-east-1"
  ],
  "watchedResourceTypes": [
    "AWS::S3::Bucket",
    "AWS::Lambda::Function",
    "AWS::IAM::Role"
  ],
  "resourceTypePatterns": [],
  "criticalResourceTypes": [
    "AWS::IAM::Role",
    "AWS::KMS::Key"
  ],
  "baselineRows": [],
  "maxBaselineRows": 100,
  "includeUnchangedRows": false,
  "alertOnSpecHashDrift": true,
  "alertOnRequiredPropertyChanges": true,
  "alertOnReplacementRiskChanges": true,
  "maxResourceRows": 15,
  "maxBytesPerSpec": 1500000,
  "requestTimeoutSecs": 30
}
```

## Output

```json
{
  "region": {
    "label": "Region",
    "format": "string"
  },
  "resourceType": {
    "label": "Resource type",
    "format": "string"
  },
  "ok": {
    "label": "OK",
    "format": "boolean"
  },
  "alert": {
    "label": "Alert",
    "format": "boolean"
  },
  "priority": {
    "label": "Priority",
    "format": "string"
  },
  "changedSincePrevious": {
    "label": "Changed",
    "format": "boolean"
  },
  "resourceFound": {
    "label": "Resource found",
    "format": "boolean"
  },
  "specVersion": {
    "label": "Spec version",
    "format": "string"
  },
  "propertyCount": {
    "label": "Properties",
    "format": "integer"
  },
  "requiredPropertyCount": {
    "label": "Required properties",
    "format": "integer"
  },
  "immutablePropertyCount": {
    "label": "Immutable properties",
    "format": "integer"
  },
  "conditionalPropertyCount": {
    "label": "Conditional properties",
    "format": "integer"
  },
  "attributeCount": {
    "label": "Attributes",
    "format": "integer"
  },
  "addedProperties": {
    "label": "Added properties",
    "format": "array"
  },
  "removedProperties": {
    "label": "Removed properties",
    "format": "array"
  },
  "newlyRequiredProperties": {
    "label": "New required",
    "format": "array"
  },
  "newlyImmutableProperties": {
    "label": "New immutable",
    "format": "array"
  },
  "updateTypeChanges": {
    "label": "Update type changes",
    "format": "array"
  },
  "alertReasons": {
    "label": "Alert reasons",
    "format": "array"
  },
  "resourceSpecHash": {
    "label": "Resource spec hash",
    "format": "string"
  },
  "documentation": {
    "label": "Documentation",
    "format": "string"
  },
  "sourceUrl": {
    "label": "Source URL",
    "format": "string"
  },
  "fetchError": {
    "label": "Fetch error",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [CloudFormation Resource Spec Drift Monitor](https://apify.com/defenestrator/cloudformation-resource-spec-drift-monitor) with a specific input configuration. Visit the [Actor detail page](https://apify.com/defenestrator/cloudformation-resource-spec-drift-monitor) to learn more, explore other use cases, and run it yourself.