aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap
[AWS::ServiceCatalogAppRegistry::Application] - [BUG] - Updating tags with CloudControl fails always
- Dominant language
- No language data
- Stars
- 1.1k
- Forks
- 62
- PR merge metrics
- No merged PRs in 30d
Description
### Name of the resource
AWS::ServiceCatalogAppRegistry::Application
### Resource Name
_No response_
### Issue Description
Updates to the tags of the `AWS::ServiceCatalogAppRegistry::Application` resource always fail with CloudControl because it includes AWS reserved tags in the request to the underlying service.
When creating a `AWS::ServiceCatalogAppRegistry::Application` the ServiceCatalogAppRegistry service automatically adds a tag with the name `aws:servicecatalog:applicationName` to the resource.
The update requests are failing with this error message:
`An error occurred (ValidationException) when calling the UpdateResource operation: aws: prefixed tag key names are not allowed for external use`.
### Expected Behavior
```sh
~ aws cloudcontrol create-resource --type-name AWS::ServiceCatalogAppRegistry::Application \
--desired-state '{"Name": "Repro", "Tags": { "my-key": "my-val" }}'
~ aws cloudcontrol get-resource --type-name AWS::ServiceCatalogAppRegistry::Application \
--identifier Repro | jq '(.ResourceDescription.Properties | fromjson).Tags'
{
"my-key": "my-val",
"aws:servicecatalog:applicationName": "Repro"
}
~ aws cloudcontrol update-resource --type-name AWS::ServiceCatalogAppRegistry::Application --identifier Repro \
--patch-document '[{"op": "replace", "path": "Tags", "value": { "my-key": "other-val" }}]'
~ aws cloudcontrol get-resource --type-name AWS::ServiceCatalogAppRegistry::Application \
--identifier Repro | jq '(.ResourceDescription.Properties | fromjson).Tags'
{
"my-key": "other-val", # <-- only the specified key changes
"aws:servicecatalog:applicationName": "Repro"
}
```
### Observed Behavior
```sh
~ aws cloudcontrol create-resource --type-name AWS::ServiceCatalogAppRegistry::Application \
--desired-state '{"Name": "Repro", "Tags": { "my-key": "my-val" }}'
~ aws cloudcontrol get-resource --type-name AWS::ServiceCatalogAppRegistry::Application \
--identifier Repro | jq '(.ResourceDescription.Properties | fromjson).Tags'
{
"my-key": "my-val",
"aws:servicecatalog:applicationName": "Repro"
}
~ aws cloudcontrol update-resource --type-name AWS::ServiceCatalogAppRegistry::Application --identifier Repro \
--patch-document '[{"op": "replace", "path": "Tags", "value": { "my-key": "other-val" }}]'
An error occurred (ValidationException) when calling the UpdateResource operation: aws: prefixed tag key names are not allowed for external use.
```
### Test Cases
See expected behavior above.
### Other Details
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.