Improve AWS error reporting and document proxy support#43
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Unhandled AWS service errors, such as an access denial while polling the remote state stack, previously rendered as framework crashes with full stack traces. The exception tokenizer now classifies errors carrying an own
$metadataproperty as user errors and, when no code is present, synthesizes a stable one from the AWS error name, for exampleAWS_ACCESS_DENIED; explicit codes are preserved, and the gate is strict so genuine bugs keep their stack traces. This matches the behavior osls ships, and the stack trace remains available in the verbose log either way.The
getAwsErrorCodehelper was duplicated inline in three state modules; it now lives insrc/utils/aws/and is exported alongside the other AWS utilities, with the three consumers importing it from there. The behavior is unchanged.The README gains a note that compose honors the same proxy, custom certificate authority, and timeout environment variables as osls for its own AWS requests, linking to the new proxy section in the osls credentials guide. While touching those links it turned out the existing documentation links pointed at a
mainbranch that does not exist on the osls repository, so they returned not-found pages; they now point at4.x.