The profile object defines a set of key/value pairs (or parameters). All of these may be manipulated by the API. The key space is a free form string and the value is an arbitrary data blob specified by JSON through the API. The common parameters defined in templates can be set on these objects. The system maintains a global profile (called
global) for setting system wide parameters. They are the lowest level of precedence.
||The unique name of the Profile.|
||A map of param name to param value pairs for this profile.|
The profiles are free form dictionaries and default empty. Any key/value pair can be added and referenced.
Other profiles may be created to group parameters together to apply to sets of machines. The machine's profile list allows the administrator to specify an ordered set of profiles that apply to that machine as well. Additionally, DRP maintains a special profile for each machine to store custom parameters specific to that machine. This profile is embedded in the machine object.
When the system needs to render a template parameter, the machine's specific profile is checked, then the order list of profiles stored in the machine object are checked, and finally the
global profile is checked. The key and its value are used if found in template rendering.
When updating the params section of a profile object, using the API PUT method will replace the Params map with the map from the input object. The API PATCH method will merge the params map in the input with the existing params map in the current profile object. The API POST method on the params subaction will replace the map with the input version.