Type: New Feature
Affects Version/s: PUP 4.6.1
Fix Version/s: None
Component/s: Types and Providers
I would like the ability to manage configurations via REST calls. Often times, web sites and appliances can be configured via REST APIs. Examples include:
F5 BIG-IP Load Balancers
Managing configurations of these via cURL calls using BASH's curl is tedious. Furthermore, This is not idempotent. I can set something, but if it is changed, there is no way to set it back without some serious gymnastics. This feature request is to have an agent periodically poll RESTful URLs and compare their settings to those defined in a puppet module or manifest directly (rather than having to BASH hack using exec calls to /bin/curl).
To do this, puppet would need to know about the REST structure of a given resource. Fortunately, there are emerging standards for documenting REST APIs such as swagger and Hydra:
Similar to an SNMP MIB, documents describing the API could be fed to puppet and then puppet could idempotently manage the configuration of a wide variety of RESTful devices. Instead of having to develop a module for every single RESTful device or software, one module could rule them all and the requirement for providing the instructions for interfacing with that device or software would be on the design team of the software or appliance.