Gracefully handle broken base64 policies in non-diff mode #64
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.
Previously, broken base64 policies in the ARM template or YAML caused the tool to exit unconditionally, even when generating a new policy without diff mode.
Now:
Explored a few approaches, but after talking with Seth, landed on this one:
base64_to_str) and handle them at a higher level (e.g.,load_policy_from_arm_template_strandload_policy_from_virtual_node_yaml_str)diff_mode. high-level functions decide how to handle the error (e.g., ignore in non-diff mode, exit in diff mode).Other explored ideas:
diff_modedown to utility functionsdiff_modeflag down to functions likedecompose_confidential_propertiesandbase64_to_strto handle errors differently based on the mode.decompose_confidential_propertiesandextract_confidential_propertiesTested manually and with


azdev test confcomandazdev style confcom