JSON format keys for model definitions
Key | Required/optional | Description | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | required | Name of the model | ||||||||||||||||||||||||||||||||||||||||||
key | required but generated if necessary | Unique key identifying the model | ||||||||||||||||||||||||||||||||||||||||||
temp_key | optional | Temporary key that can be used for relationship references when creating multiple models. The key is only valid for the duration of the API request. | ||||||||||||||||||||||||||||||||||||||||||
kind | required except for rules_template | Node kind constructed by the model. One of:
| ||||||||||||||||||||||||||||||||||||||||||
type | required | The type of model. One of the following. These types can be directly manipulated by the user in a UI:
These cannot be directly manipulated by the user at a model definition level:
| ||||||||||||||||||||||||||||||||||||||||||
version | optional | Version of the model (not version of the created service), as a single integer | ||||||||||||||||||||||||||||||||||||||||||
description | optional | Description of the model | ||||||||||||||||||||||||||||||||||||||||||
notes | optional | User-entered notes | ||||||||||||||||||||||||||||||||||||||||||
compatibility | optional | String indicating the client that created the model definition, allowing that client to get back models that are compatible with the subset of features it supports. If the model is edited in DSM (or elsewhere than the specified client), compatibility is cleared, meaning that it is no longer necessarily restricted to features supported by the client. Expected values: "aiops", "bhom" | ||||||||||||||||||||||||||||||||||||||||||
attributes | optional | Object containing key/value pairs of static attributes to store on the constructed BusinessService node (dynamic attributes can be set with named values in the conditions) | ||||||||||||||||||||||||||||||||||||||||||
metadata | optional | Object containing arbitrary key/value pairs that are stored on the model definition | ||||||||||||||||||||||||||||||||||||||||||
conditions | required if type=rules_template if type=rules , one of conditions or templates is required | Conditions specified in JSON format for conditions, rules and queries | ||||||||||||||||||||||||||||||||||||||||||
parameters | read only | If type=rules_template, parameters is set to a flat array of all the parameters defined in conditions (to avoid the UI having to recurse into the conditions to extract them) | ||||||||||||||||||||||||||||||||||||||||||
templates | if type=rules, one of conditions or templates is required | Object where the key is the key of the template model definition and the value is an object containing the parameters required by the template. For example: { If the user has overridden the operator from the template, the value contains a partial expression including the operator, but only including the right side of the expression, e.g. { "type": "operator", "right": literal } Normally, each template is only instantiated once. If the same template is instantiated multiple times with different parameters, the value in the templates object can be an array of objects rather than a single object: {
|