This PR fixes an issue related to #28 so that it's possible to pull parameters that have values anywhere along the path. Currently, an error is raised if a parameter has a value and then that parameter participates in a longer path.
Since the @ character is not allowed in parameter names, @value is used as the mapping key for intermediate path values (must be quoted). There should be no conflict with remote parameters and any attempt to update a remote parameter would result in an error.
To apply changes, simply treat @value as any other key and then run ssm-diff plan and ssm-diff apply. For example, changing the YAML to this:
This PR fixes an issue related to #28 so that it's possible to pull parameters that have values anywhere along the path. Currently, an error is raised if a parameter has a value and then that parameter participates in a longer path.
Given these remote parameters:
The YAML representation would look like this:
Since the
@
character is not allowed in parameter names,@value
is used as the mapping key for intermediate path values (must be quoted). There should be no conflict with remote parameters and any attempt to update a remote parameter would result in an error.To apply changes, simply treat
@value
as any other key and then runssm-diff plan
andssm-diff apply
. For example, changing the YAML to this:Would result in the following plan to remove
/qa/ci
and update/qa/ci/api
:@runtheops