Create/Edit Domain Type Definition dialog box

Ops Center Automator Service Builder User Guide

Version
10.9.x
File Size
3.3 MB
Audience
anonymous
Part Number
MK-99AUT002-16

You can edit the schema for a selected domain type by selecting the Domain Type option available from the Create/Edit Input/Output Property for Service dialog box and then clicking the plus sign or wrench icon next to the domain type.

The following table describes the Edit Domain Type Definition dialog box fields, subfields, and field groups. A field group is a collection of fields that are related to a specific action or configuration.

When you enter information in a dialog box, if the information is not valid, errors that include a description of the problem appear at the right side of the box.

Field Subfield Description
Domain Type Name: * - Specifies the name for the domain type.
Domain Type ID: - Specifies an ID (address) for the domain type.
Domain Type Schema: - Specifies the schema for the domain type.

The format conforms to the JSON schema (http://json-schema.org/).

Generate Template (Button): - Generates a GUI Definition based on the domain type schema. You do not need to enter the GUI Definition from scratch because the basic structure is the same as for the Domain Type ID.
GUI Definition ID: - Specifies UI definition ID.
GUI Definition: - Specifies the UI definition.
Fields with an asterisk (*) are required.

The following table shows the property definition attributes in the GUI Definition.

Key Description
displayName Display name of property.
description Description of property.
presentation Presentation type of property. "input", "textarea", "url", "select", "radio", "check box", "spinbox", "capacity", "capacityInKB", "capacityInMB", "capacityInGB", "capacityInTB", "capacityiB", "capacityInKiB", "capacityInMiB", "capacityInGiB", "capacityInTiB", "datePicker", "hex", or "file".
permission Permission of property; "locked", "unlocked", or "hidden"
visibility Visibility of property; "exec" or "config"
required Specifies whether the property is required; true or false.
pattern Accepted regular expression pattern of the property value.
validationScript Validation script of the property value.
showIf Show condition of property.
enableIf Activate condition of property.
enum Specifies an array. You can define JSON objects in it.
enumDataSource Specifies an external resource provider as in the following example:
"enumDataSource": {
"url":"/Automation/v1/objects/ExternalResources/1eb39858-48b5-4d3a-b82a-9af5c91af8c4",
"contentType": "application/json",
"nameField": "hostGroupName",
"valueField": "id"
}
contentType Content type of composite type; "application/json", "application/javascript", "application/xml", "text/html", "text/plain", "text/csv", or "application/octet-stream"
hidden Show or hide a column in a table.

true: Hide a column by default.

false: Show a column by default.

Following are examples of the domain type schema and UI definition representing a volume setting in the built-in Allocate Volume service:

Domain type schema

{
  "type": "object",
  "properties": {
    "values": {
      "type": "array",
      "title": "Volume Settings",
      "minItems": 1,
      "maxItems": 10,
      "items": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9 ~!@#\\$%\\^&()_\\+\\-=\\{\\}\\[\\]'\\.`]*$",
            "default": ""
          },
          "numberOfVolumes": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "default": 2
          },
          "capacity": {
            "type": "integer",
            "minimum": 10,
            "maximum": 200,
            "default": 50
          },
          "storageProfile": {
            "type": "string",
            "enum": [
              "Gold Write",
              "Silver Write"
            ],
            "default": "Gold Write"
          },
          "ldevLabel": {
            "type": "string",
            "minLength": 0,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9 ~!@#\\$%\\^&\\*()_\\+\\-=\\{\\}\\[\\]\\|:;'<>\\.\\?\\/`]*$",
            "default": ""
          },
          "ldevSetting": {
            "type": "object",
            "properties": {
              "fullAllocation": {
                "type": "string",
                "enum": [
                  "Enable",
                  "Disable"
                ],
                "default": "Disable"
              }
            }
          },
          "lunSetting": {
            "type": "object",
            "properties": {
              "lunStartsFrom": {
                "type": "integer",
                "description": "Enter a value in hex format.",
                "default": 0,
                "minimum": 0,
                "maximum": 2047
              }
            }
          }
        }
      }
    }
  }
}

GUI definition

{
  "displayName": "Volume Settings",
  "properties": {
    "values": {
      "displayName": "Volume Settings",
      "showLabel": false,
      "permission": "locked",
      "visibility": "exec",
      "items": {
        "displayName": "Volume Setting",
        "properties": {
          "usage": {
            "displayName": "Volume Usage",
            "permission": "unlocked",
            "visibility": "exec",
            "required": true
          },
          "numberOfVolumes": {
            "displayName": "Number of Volumes",
            "permission": "unlocked",
            "visibility": "exec",
            "required": true
          },
          "capacity": {
            "displayName": "Volume Capacity",
            "permission": "unlocked",
            "visibility": "exec",
            "required": true,
            "presentation": "capacityInGB"
          },
          "storageProfile": {
            "displayName": "Storage Profile",
            "permission": "unlocked",
            "visibility": "exec",
            "required": true,
            "presentation": "select"
          },
          "ldevLabel": {
            "displayName": "Volume Label",
            "permission": "unlocked",
            "visibility": "exec",
            "required": false
          },
          "ldevSetting": {
            "displayName": "LDEV Setting",
            "permission": "unlocked",
            "visibility": "exec",
            "properties": {
              "fullAllocation": {
                "displayName": "Full Allocation",
                "visibility": "exec",
                "permission": "unlocked",
                "required": true,
                "presentation": "select"
              }
            }
          },
          "lunSetting": {
            "displayName": "LUN Setting",
            "permission": "unlocked",
            "visibility": "exec",
            "properties": {
              "lunStartsFrom": {
                "displayName": "LUN Starts From",
                "visibility": "exec",
                "permission": "unlocked",
                "required": true
              }
            }
          }
        }
      }
    }
  }
}