Skip to content

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.
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).