Repository navigation
fix(parameters): make GetSecretError inherit from GetParameterError - #8611
Conversation
get_secrets_by_name and SecretsProvider.get_multiple document that they raise GetParameterError, but GetSecretError subclassed Exception directly, so `except GetParameterError` silently missed batch failures. Also export GetSecretError from aws_lambda_powertools.utilities.parameters.
|
Thanks a lot for your first contribution! Please check out our contributing guidelines and don't hesitate to ask whatever you need. |
leandrodamascena
left a comment
There was a problem hiding this comment.
Thanks @MrForward, this is the right fix. The docstrings on get_secrets_by_name and SecretsProvider.get_multiple already said GetParameterError, the code just never kept that promise. I ran it against a real Secrets Manager with missing names and an empty list and except GetParameterError now catches all of them, and the export from the package is a nice touch.
I'm approving now. This goes out in 3.39.0, so it will sit here for a while before I merge it. No rebase needed in the meantime, and you'll be credited in the release notes.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #8611 +/- ##
========================================
Coverage 96.95% 96.95%
========================================
Files 321 321
Lines 16253 16253
Branches 1453 1453
========================================
Hits 15758 15758
Misses 353 353
Partials 142 142 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Awesome work, congrats on your first merged pull request and thank you for helping improve everyone's experience! |
|
Awesome work, congrats on your first merged pull request and thank you for helping improve everyone's experience! |



Issue number: closes #8595
Summary
Changes
GetSecretErrornow subclassesGetParameterErrorinstead ofException, so it matches theRaises GetParameterErrordocstrings onget_secrets_by_nameandSecretsProvider.get_multiple, and matches whatget_secretalready raises.GetSecretErroris now exported fromaws_lambda_powertools.utilities.parametersalongsideGetParameterError.except GetParameterErrorcatches aget_multiplefailure and that the class is exported.No behaviour change for code that already catches
GetSecretError.User experience
Before:
except GetParameterError:aroundget_secrets_by_name(...)did not catch batch failures; callers had to importGetSecretErrorfrom the privatesecretsorexceptionsmodule.After:
Verified locally:
tests/functional/parameters(139 passed),ruff format --check,ruff check,mypyon the parameters package.AI disclosure: implemented with Claude Code assistance; reviewed and tested by me.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.