AWS::Pinpoint::App-Tags-Resource cannot be updated
AWS::Pinpoint::App cannot be updated after creation.
Any attempt results in Status: UPDATE_FAILED| Reason: Resource cannot be updated
Tried with adding Tags and updating existing tags.
When updating OR adding the Tags Property to an existing Pinpoint App Resource I expect the stack update to complete and for the App to have the Tags set in the TagsModel.
This should be able to be confirmed using AWSCLI aws pinpoint list-tags-for-resource --resource-arn arn:aws:mobiletargeting:us-east-1:{ACCOUNT}:apps/{ARN}
with a return of
{
"TagsModel": {
"tags": {
"key": "value"
}
}
}
But Instead the CloudFormation Fails and the Pinpoint App is not updated
Create Stack:
ResourcePinpointAppTest1:
Type: "AWS::Pinpoint::App"
Properties:
Name: "test_1"
This Works and aws pinpoint list-tags-for-resource --resource-arn returns { "TagsModel": { "tags": {} } }
Update Stack:
ResourcePinpointAppTest1:
Type: "AWS::Pinpoint::App"
Properties:
Name: "test_1"
Tags: { "key" : "value" }
This SHOULD work, but CloudFormation Update fails and rolls back
Result: UPDATE_FAILED | Resource cannot be updated | UPDATE_ROLLBACK_IN_PROGRESS | The following resource(s) failed to update: [ResourcePinpointAppTest1]. | UPDATE_ROLLBACK_COMPLETE
aws pinpoint list-tags-for-resource --resource-arn returns { "TagsModel": { "tags": {} } }
instead of expected aws pinpoint list-tags-for-resource --resource-arn returns { "TagsModel": { "tags": { "key": "value"} } }
Create Stack:
ResourcePinpointAppTest2:
Type: "AWS::Pinpoint::App"
Properties:
Name: "test_2"
Tags: { "key1" : "value1" }
This Works and aws pinpoint list-tags-for-resource --resource-arn ... returns { "TagsModel": { "tags": { "key1" : "value1" } } }
Update Stack:
ResourcePinpointAppTest2:
Type: "AWS::Pinpoint::App"
Properties:
Name: "test_2"
Tags: { "key1" : "CHANGE", "key2" : "value2" }
This SHOULD work, but CloudFormation Update fails and rolls back
Result: UPDATE_FAILED | Resource cannot be updated | UPDATE_ROLLBACK_IN_PROGRESS | The following resource(s) failed to update: [ResourcePinpointAppTest2]. | UPDATE_ROLLBACK_COMPLETE
aws pinpoint list-tags-for-resource --resource-arn returns { "TagsModel": { "tags": { "key1" : "value1" } } }
instead of expected aws pinpoint list-tags-for-resource --resource-arn returns { "TagsModel": { "tags": { "key1": "CHANGE", "key2" : "value2"} } }
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html
Customer Engagement (Pinpoint), Other
Attached Screenshot of what the CloudFormation Console shows during failure and rollback

Any update on this issue? I bumped into this issue today. Exactly the same scenario: the only thing I updated is the value of an existing resource tag. I have to reprovision the stack to go over it.
Ran into this while using aws-cdk.
A simple Tag.add(this, ...) construct within the stack completely broke cdk deploy.
Workaround for aws-cdk to skip tagging Pinpoint:
Tag.add(this, "StackEnvName", envName, {
// https://github.com/aws-cloudformation/aws-cloudformation-coverage-roadmap/issues/480
excludeResourceTypes: ["AWS::Pinpoint::App"],
});
Most helpful comment
Any update on this issue? I bumped into this issue today. Exactly the same scenario: the only thing I updated is the value of an existing resource tag. I have to reprovision the stack to go over it.