aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

Macro transformation stuck in IN_PROGRESS if resulting template is not valid

Open
#1,251 0 comments 0 reactions 0 assignees View on GitHub
Platform
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

### Name of the resource

Other

### Resource Name

_No response_

### Issue Description

A stack that includes any sort of macro transform (both custom ones and things like AWS::Serverless) and where the template contains invalid CFN (e.g. an incorrect type specification on a resource that is not modified by the macro) will end up stuck in a IN_PROGRESS state forcing the user to either wait for the operation to time out or cancel it manually.
Moreover, there's no error response that would tell the user what's wrong with the template and the initial template validation (i.e. the one performed when submitting the create/update request) seems to ignore these types of errors (which is kind of expected due to the fact that the pre-transform template is likely not valid CFN).

### Expected Behavior

Stack create/update is stuck in an IN_PROGRESS state with no clear indication of any issues with the template.

### Observed Behavior

Stack create/update is stuck in an IN_PROGRESS state with no clear indication of any issues with the template.

### Test Cases

Create a stack using the following template (notice the single `:` in the queue type definition):
```yaml
Transform: AWS::Serverless-2016-10-31
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: python3.9
InlineCode: |
def handler(event, context):
print("Hello, world!")
MyQueue:
Type: AWS::SQS:Queue
```

### Other Details

_No response_

Contributor guide

Open the contributing guide

Research direction

No repository files or tests are identified in the issue. Start by reproducing the create or update operation with the supplied YAML and AWS::Serverless transform, then inspect how invalid post-transform templates are handled. Done means the operation reports a clear validation error instead of remaining in IN_PROGRESS.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.