Why this happens
A deleted S3 bucket, a vanished stack export, or any other missing resource
that is not an IAM role classifies as
cfn.resource_create_failed, not
cfn.dependency.How to fix it
- Read the provider reason in the failure block. CloudFormation quotes it verbatim and names the role it could not find.
- Look the role up in the target account and region. Use
fjall aws exec --target production-use1 -- aws iam get-role --role-name <name>so the lookup runs with the same credentials as the deploy. - Fix the reference or restore the role. Correct the name or ARN in your
infrastructure.tsif it is wrong, or re-create the role if it was deleted outside Fjall. - Check for drift when the role was deleted in the console. Run
fjall drift detectto confirm the deletion, thenfjall drift repairto remediate it. A stack wedged on a deleted resource fails on every retry until drift is repaired. - Deploy again.
What Fjall shows you
The failure appears on the deployment’s detail page on fjall.io, in the CLI’s failure block, and as the row title in the deployments list. All three carry the same fields: the failure title, the code and root-cause resource, a per-occurrence detail sentence, the fault attribution, CloudFormation’s verbatim reason, the remediation steps, and a link back to this page. Under--non-interactive the block is labelled Error Detail. The default interactive run prints the same fields under a red Deployment failed heading.
AWS::IAM::Role above.
When Fjall also spots resources that CloudFormation tracks but that no longer exist in AWS, two drift steps are added to the top of the remediation list, pointing at fjall drift detect and fjall drift repair.
Next Steps
fjall drift
Detect and repair resources deleted outside CloudFormation.
Deployment safety
How Fjall protects your stacks during a deploy.
fjall deploy
Command reference for deploying an application.
cfn.resource_create_failed
The code for other missing or failed resource operations.