Type: New Feature
Affects Version/s: None
Fix Version/s: BOLT 1.7.0
Release Notes:New Feature
Release Notes Summary:A new `query_resources` function allows you to query the state of resources on targets during plan execution.
QA Risk Assessment:Needs Assessment
Users should be able to query resource states from a plan as they can with puppet-resource.
- Should use plugins from bolt's modulepath
- Should search for a singe resource instance or all resources of a given type
- Should accept a TargetSpec, get remote info and return a ResultSet.
Is it a function? Yes because we don't have a way for tasks to require pluginsync.
Does it run remotely? Yes to support private cloud use cases and local resources on other targets.
What is it called? `get_resources(` and get_resource/list_resources/ fetch_resources,
How do you specify the type? get_resources($target, File)
How do you specify the instance? get_resources($target_spec, "File[/etc/puppetlabs]")
Multiple instances but not all of a type? with get_resources
Can you query multiple types are once? get_resources($target, [Package, Service, File[/etc/puppetlabs]]) -> flat list of uniq resources
Can you specify a provider? no reason to limit now.
What is the value of each result? A list of resource representation(including ref) under the "resources" key of the Result.
Out of scope:
efficient queries for a sub-set of resource instances
better UI when the user has a type and list of names