By using AWS re:Post, you agree to the AWS re:Post Terms of Use

CloudFormation Update Failed when change paramters

0

When changing BudgetAmount value in AWS Console, it showed "Error: "The submitted information didn't contain changes. Submit different information to create a change set". However, the BudgetAmount parameter is referenced in the Budget resource. What is the reason and how to fix?

......
Parameters:
  BudgetAmount:
    Type: Number
    Default: 4000
    Description: The amount of the budget, in USD.
  Threshold:
    Type: Number
    Default: 75
    Description: The percentage of the budget to alert at.

Resources:
  ### Create a whole budget for each customer
  'Fn::ForEach::Budget':
    - Customer
    - - 'TEST'
    - '${Customer}Budget':
        Type: "AWS::Budgets::Budget"
        Properties:
          Budget:
            BudgetName: !Sub "${Customer}Budget"
            BudgetLimit:
              Amount: !Ref BudgetAmount
              Unit: USD
 .........
3 Answers
2
Accepted Answer

Use AWS CLI aws cloudformation update-stack to do update

answered 17 days ago
profile picture
EXPERT
reviewed 17 days ago
1

CloudFormation does not pick up the change if you simply update the Default value in the template and redeploy.

You must explicitly change the parameter with aws cloudformation update-stack --parameters or in the CloudFormation web console.

profile picture
answered 17 days ago
0

The error message "The submitted information didn't contain changes" typically occurs when CloudFormation doesn't recognize the changes you're trying to make as an actual update. This can happen in certain situations, even when you've changed a parameter value like BudgetAmount.

There are a few possible reasons for this:

  1. CloudFormation might not detect the change if the new value is the same as the old value. Double-check that you're actually changing the BudgetAmount to a different value.

  2. Some changes, like modifications to certain policies or declarations, are not recognized by CloudFormation as updates.

  3. There might be a caching issue in the AWS Console, causing it not to register the change.

To resolve this issue, you can try the following:

  1. Ensure you're actually changing the BudgetAmount to a different value.

  2. If you're certain you've made a change, you can force CloudFormation to recognize the update by making a small, inconsequential change to your template. For example, you could add or modify a metadata attribute for any of your resources. CloudFormation will recognize this as a change and process the update, including your parameter change.

  3. Try using the AWS CLI or AWS SDK to update the stack instead of the console. This can sometimes bypass caching issues.

  4. If the issue persists, you might need to create a change set manually and execute it, rather than doing a direct update.

Remember, when making changes to your CloudFormation stack, it's always a good practice to review the proposed changes carefully before applying them, especially in production environments.
Sources
Troubleshooting CloudFormation - AWS CloudFormation
Update - AWS CloudFormation

profile picture
answered 17 days ago
AWS
EXPERT
reviewed 16 days ago
profile picture
EXPERT
reviewed 17 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions