- Newest
- Most votes
- Most comments
Hello,
From the description, I understand that you had noticed that updating the “Name” property of "EventDestination" for resource “AWS::SES::ConfigurationSetEventDestination“ type via CloudFormation did not update as expected, even though the stack update was successful.
I would like to inform you that I observed that the in place update of “Name” property of "EventDestination" for resource “AWS::SES::ConfigurationSetEventDestination“ type is supported via CloudFormation. However, on the SES console the “Name” property of "EventDestination" cannot be updated. Therefore, a new "Event Destination" must be created if “Name” property of "EventDestination" requires modification/update.
From the above, it is expected that CloudFormation must create a new “AWS::SES::ConfigurationSetEventDestination“ resource when the "Name" property of "EventDestination" is modified/updated.
Upon further investigation, I noticed that this is a known issue. You can track the same on Github issue which is suspected to be a bug in CloudFormation “AWS::SES::ConfigurationSetEventDestination” resource. Kindly note that, there is no ETA provided for a fix at this time.
However, as a workaround I would like to suggest to modify the Logical ID of the “AWS::SES::ConfigurationSetEventDestination” resource along with the value of “Name” property of "EventDestination" within the same stack update.
On a side note, I would also like to thank you for bringing this up as we greatly appreciate your feedback while we strive to improve the quality of our products and services. Once again, I would like to apologize for the inconvenience caused by this issue and thank you for your understanding!
Thank you for bringing this issue to our attention. You are correct in your observation, and I can provide some clarification on this behavior.
The AWS::SES::ConfigurationSetEventDestination resource in CloudFormation does not directly support updating the Name property of an existing event destination. This is because the Name property is used to uniquely identify the event destination within a configuration set, and changing it would essentially create a new event destination rather than updating an existing one.
When you attempt to update the Name property, CloudFormation may show that the update is being processed and completed successfully, but it doesn't actually modify the existing event destination in Amazon SES. This is why you don't see the change reflected in the SES UI, and the physical ID in the stack's resources tab remains unchanged.
This behavior is related to how CloudFormation handles updates for certain resources. In this case, changing the Name property would require replacing the entire resource, but CloudFormation doesn't trigger a replacement for this specific property change.
To effectively change the name of an event destination, you would need to:
- Create a new AWS::SES::ConfigurationSetEventDestination resource with the desired name and other properties.
- Update any references to the old event destination to point to the new one.
- Delete the old AWS::SES::ConfigurationSetEventDestination resource.
This approach ensures that you create a new event destination with the desired name while maintaining the rest of your configuration.
It's important to note that when working with CloudFormation resources, some property changes may not behave as expected, especially when they involve core identifying attributes of a resource. Always review the AWS documentation and test updates in a non-production environment to understand how changes will be applied to your resources.
Sources
AWS::SES::ConfigurationSetEventDestination - AWS CloudFormation
How CloudFormation works - AWS CloudFormation
Understand update behaviors of stack resources - AWS CloudFormation
Relevant content
- asked 8 years ago