TaggingService: Allow key value field names to be overridden #12306
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
We use the
TaggingService
abstraction as a service-neutral way to maintain resource tags. Its helper functions can use the common tag shape used by Botocore specs, which is:This is used by variety of services including s3, kinesisanalytics, elasticache, and others.
However some services use the same shape but different capitalisation for the field names, most notably codepipeline, which looks like:
Changes
This PR introduces the ability to override these field values during the initialisation of the
TaggingService
object. This change is backward compatible.Tests
This change is accompanied by unit tests. Plus, existing tests are refactored to use pytest.