[PR #2248/31112152 backport][stable-9] Refactor Some Command-Related Methods in aws_ssm.py
#2261
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.
This is a backport of PR #2248 as merged into main (3111215).
SUMMARY
This work is part of the currently ongoing AWS SSM Connection Refactoring & Plugin Promotion effort and related to ansible-collections/amazon.aws#2394.
Fixes ACA-2095
ISSUE TYPE
TASK LIST
_exec_transport_commands
method is refactored to accept a single structured object (a tuple containing lists of command dictionaries) that contains the necessary command data.Create a custom dataclass to hold command output.custom dataclassTypedDict
to hold command results._generate_commands
function returns a list of typed dictionaries with clear metadata (command strings, method, headers)._exec_transport_commands
accepts a list of typed dictionaries as an argument and returns the customCommandResults
object._generate_commands
method outputs the expected structured command object.