The Forge module trlinkin-noop has been used heavily by customers for years. However, it is extremely finicky to use due to a bit of a hack of an implementation. This makes it difficult to base higher-level use cases on. See reidmv-change_risk, which provides some customers with an ability to better control when Puppet is permitted to enforce certain kinds of changes on systems, while continuously enforcing other configuration. We should provide an in-product noop() function which can be called directly, affecting class scope, or with a block, affecting that block's scope. These implementations should be more predictable and less brittle than the trlinkin-noop module's implementation. They should work at least as reliably and predictably as tags.
class example1 { |
noop() |
|
notify { 'I am no-op': } |
} |
class example2 { |
notify { 'I am op': } |
|
noop() || { |
notify { 'I am no-op': } |
} |
} |
|