(GH-125) Fix dsc provider canonicalization for absent resources #129
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.
Prior to this PR the
canonicalize
method in the DSC Base Provider did some unneccessary work:invoke_get_method
if a resource was not already in the canonicalized cachenil
frominvoke_get_method
because DSC returns the ensure value asabsent
andnil
for other propertiesThis commit adds logic shortcuts to obviate unneccessary canonicalization of the resource when the should value for
dsc_ensure
isabsent
(because a resource being deleted does not care about casing) as well as when the should value fordsc_ensure
ispresent
but the resource itself does not actually exist on the system (a resource which is being created should treat it's own definition as canonical).