Add Puppet server environment_classes API support
For Puppet Server 2.3.0 or higher (Puppet version 4.4+), a new environment_classes API is available that replaces resource_types.
In Puppet 4.5 (probably Puppet Server 2.4.0?) the older resource_types API is deprecated:
There are some features that we can expose in the smart proxy, e.g.
- typing via
default_literal- Foreman already follows the type of the default value in the JSON response (int, hash etc) to set the type of the smart class parameter. resource_types returns everything as a string.
- reporting of errors - this could be logged on the smart proxy and/or added to the API response
- clearer caching semantics with etag/matching support