(GH-145) Add validation mode flag to puppetized DSC Resources #147
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 PR adds a
validation_mode
flag to the puppetized resources which changes their behavior from Puppet's perspective; by default resources will use theproperty
validation mode, which relies on Puppet's own property insync validation to tell whether or not a resource is in the desired state. If the manifest writer instead specifies the validation mode to beresource
, it will callInvoke-DscResource
with theTest
method and trust that result, reporting in/out of state for all properties of the resource. This results in less granular change reporting but reduces the incidence of flapping, failing to recognize changes correctly, etc.This PR adds documentation for using the validation mode flag and tests to validate the changes in behavior.
This change is blocked on the resolving of puppetlabs/puppet-resource_api#225 and its subsequent release into Puppet, as well as a PDK version which bundles those versions into itself.
It is also blocked on the merging of puppetlabs/ruby-pwsh#124 which implements the custom insync logic in the base provider.
TODO: