Common Object Metadata¶
Metadata values are used throughout DRP for both UX and operational controls. You can find them in the object hierarchy as <Object>.Meta.
Models can contain other common fields that may be present for user edification and API tracking purposes, but that do not affect how dr-provision will use or interpret changes to the objects.
| Field | Description |
|---|---|
ReadOnly |
A boolean value that indicates whether the object can be modified via the API. This field is set to True if the object was loaded from a read-only content layer. |
Description |
A brief description for the object that is only one line long. |
Documentation |
A longer description of what the object is for and how it should be used that is generally a few lines to a few paragraphs long. |
UX Related Metadata¶
| Field | Description |
|---|---|
icon: [icon name] |
Sets the icon for the object. The icons are available from fontawesome. |
color: [color name] |
Sets the icon color for the object. |
Validation Metadata¶
Models also contain common fields that track the validity and availability of individual objects.
| Field | Description |
|---|---|
Validated |
A boolean value that indicates whether a given object is semantically valid or not. Semantically invalid objects will never be saved, and if one is returned via the API, it will be populated with a list of messages indicating what is invalid. |
Available |
a boolean value that indicates whether the object is available to be used, not whether it is semantically valid. An object that is invalid can never be available, while an object that is not available can be semantically valid. |
Errors |
a list of strings that contain any error messages that occurred in the process of checking whether a given object is valid and available. Error messages are designed to be human readable. |
Note
Objects are checked for validity and availability on initial startup of DRP (when they are all loaded into memory), and thereafter every time they are updated. You must check each object returned from an API interaction to ensure that it is valid and available before using it.
Param.Meta¶
There are several meta fields that can be used to adjust on screen display for params. The following items are commonly used on all object types to provide UX rendering guides.
| Field | Description |
|---|---|
password: [anyvalue] |
Renders as password that is not encrypted, but obfuscated. |
clipboard: [anyvalue] |
Provides a copy button so user can copy the param contents to clipboard. |
readonly: [anyvalue] |
Prevents editing from the UX. |
render: link |
Adds an https://%5Bvalue%5D link field that opens in a new tab. |
render: multiline |
Presents a textarea for string inputs. |
render: raw |
Presents textarea to user instead of regular edit and does not reformat. |
downloadable: [file name] |
Provides a download link so user can download the param contents as a file. |
route: [object name] |
When included, the UX will provide a link to the underlying object as per the param value. |
Model-Specific Metadata¶
Individual models define additional metadata fields for operational and pipeline tracking. See each model's Metadata section for details.
| Model | Reference |
|---|---|
| Machine | Metadata |
| Cluster | Metadata |
| ResourceBroker | Metadata |
| Workflow | Metadata |
| Profile | Metadata |
| Stage | Metadata |
| Task | Metadata |
| Blueprint | Metadata |
| WorkOrder | Metadata |
Legacy & Non-Operational Meta¶
The following Meta fields are often included in objects but has no UX or operational impact on the system:
| Field | Description |
|---|---|
feature-flags |
Legacy setting needed by earlier DRP for backwards compatibility. |
Always set to sane-exit-codes |
|
title |
Provides optional authorship information. Often set automatically to "User added" by the UX when creating new objects. |
copyright |
Provides optional authorship information |
type |
Unimplemented attempt to standardize icon and color information (It should be remove when found). |