The puppet information service is what puppetserver uses to ask Puppet about things stored in modules - currently classes and tasks, but it will need to be extended to support plans. The example bits for tasks that this will be based on are
Note that because a plan will not have multiple files/implementations (as a task can) and has no standalone metadata file, it will be much easier to implement this for plans. Plans do not have "metadata" per se, but we should populate the plan_data endpoint anyway, the parameters for the plan. We don't have a use for parameter data yet (it will be used to move parameter validation of plan calls earlier in the process), so if it ends up being complicated we can simply return empty metadata and create a new ticket associated with the work to validate parameters early. |