{
  "id": "5e3c6f6aee88a80774894031",
  "created": "2020-02-06T19:56:26.946Z",
  "createdBy": "admin@pronghorn",
  "lastUpdated": "2020-11-06T16:47:27.397Z",
  "lastUpdatedBy": "admin@pronghorn",
  "name": "Cisco IOS Upgrade Form",
  "description": "A form to be used in conjunction with Itential's \"Cisco IOS Device Upgrade\" Artifacts ",
  "struct": {
    "nodeId": "6077aa8e-b9d3-4782-a830-5d2ee314303f",
    "type": "array",
    "items": [
      {
        "nodeId": "d4c81ed7-7ab7-4bec-a4f0-fc3336e58e7f",
        "type": "string",
        "title": "Mode",
        "description": "",
        "placeholder": "Chose a mode for workflow ",
        "required": true,
        "enum": [
          {
            "id": "a54b35da-8f66-4b55-895f-d9a5b8572d35",
            "value": "Zero Touch"
          },
          {
            "id": "e47f6ef9-6e02-4d28-a4ab-6fcaf888d01b",
            "value": "Normal"
          },
          {
            "id": "c96f43b8-d4b0-496b-89e8-23c4fd390103",
            "value": "Verbose"
          }
        ],
        "binding": false,
        "rel": "collection",
        "targetPointer": "/enum"
      },
      {
        "nodeId": "1e290c60-f66a-4193-bd01-b5e52be84714",
        "type": "string",
        "title": "IOS Device Hostname",
        "description": "",
        "placeholder": "",
        "required": true,
        "enum": [
          {
            "id": "b5dccda9-4a88-4061-838a-157c12f7cb0b",
            "value": null
          }
        ],
        "binding": true,
        "rel": "collection",
        "targetPointer": "/enum",
        "method": "POST",
        "base": "/",
        "href": "configuration_manager/devices",
        "body": {
          "options": {
            "filter": {
              "name": ""
            },
            "start": 0,
            "limit": 200,
            "sort": [
              {
                "name": 1
              }
            ],
            "order": "ascending"
          }
        },
        "sourcePointer": "/list",
        "sourceKeyPointer": "/name"
      },
      {
        "nodeId": "c96d2705-ad1e-4d1e-994b-e8329929c2a1",
        "type": "string",
        "title": "Release",
        "description": "",
        "placeholder": "Files must be already located on the device prior to the start of this workflow.",
        "required": false,
        "enum": [
          {
            "id": "1e47aaad-997d-4341-abed-c7b002e12dd0",
            "value": "csr1000v-universalk9.03.10.03.S.153-3.S3-ext.SPA.bin"
          },
          {
            "id": "816b2984-ce8d-4b50-9a25-c2274d6de07c",
            "value": "csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin"
          }
        ],
        "binding": false,
        "rel": "collection",
        "targetPointer": "/enum"
      },
      {
        "nodeId": "b1d796e8-e750-42ac-8e66-2c2e06f5e74a",
        "type": "string",
        "title": "Flash Memory",
        "description": "",
        "placeholder": "Select an item",
        "required": true,
        "enum": [
          {
            "id": "f1f35388-ad59-4078-9849-b5bd321b6086",
            "value": "bootflash:"
          },
          {
            "id": "04ddcf3d-33b3-46e2-b8be-6ba63f21b774",
            "value": "flash:"
          }
        ],
        "binding": false,
        "rel": "collection",
        "targetPointer": "/enum"
      },
      {
        "nodeId": "522777e5-2a43-4193-80eb-15d0e723eb70",
        "type": "object",
        "description": "",
        "items": [
          {
            "nodeId": "69ea6e82-0af9-492f-bd96-7d9cbc9cba4b",
            "type": "number",
            "widget": "updown",
            "title": "Number of retries",
            "description": "Number of times to retry the healthcheck before concluding a failure",
            "placeholder": "",
            "required": true
          },
          {
            "nodeId": "fed7967d-42d1-47c7-80d5-6ad6a5b8cfaf",
            "type": "number",
            "widget": "updown",
            "title": "Number of retries stability",
            "description": "Number of consecutive successful pings required to conclude that device is stable. This feature will detect unstable interfaces. ",
            "placeholder": "",
            "required": true
          },
          {
            "nodeId": "638a8a8f-259e-4c1e-90bf-aba143e3ed60",
            "type": "number",
            "widget": "updown",
            "title": "Seconds between retry",
            "description": "Number of seconds to wait in between each failed ping",
            "placeholder": "",
            "required": true
          }
        ],
        "title": "Healthcheck Variables"
      }
    ]
  },
  "schema": {
    "title": "Cisco IOS Upgrade Form",
    "description": "A form to be used in conjunction with Itential's \"Cisco IOS Device Upgrade\" Artifacts ",
    "type": "object",
    "required": [
      "mode",
      "iosDeviceHostname",
      "flashMemory"
    ],
    "properties": {
      "mode": {
        "type": "string",
        "title": "Mode",
        "description": "",
        "enum": [
          "Zero Touch",
          "Normal",
          "Verbose"
        ]
      },
      "iosDeviceHostname": {
        "type": "string",
        "title": "IOS Device Hostname",
        "description": "",
        "enum": []
      },
      "release": {
        "type": "string",
        "title": "Release",
        "description": "",
        "enum": [
          "csr1000v-universalk9.03.10.03.S.153-3.S3-ext.SPA.bin",
          "csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin"
        ]
      },
      "flashMemory": {
        "type": "string",
        "title": "Flash Memory",
        "description": "",
        "enum": [
          "bootflash:",
          "flash:"
        ]
      },
      "healthcheckVariables": {
        "type": "object",
        "title": "Healthcheck Variables",
        "description": "",
        "required": [
          "numberOfRetries",
          "numberOfRetriesStability",
          "secondsBetweenRetry"
        ],
        "properties": {
          "numberOfRetries": {
            "type": "number",
            "title": "Number of retries",
            "description": "Number of times to retry the healthcheck before concluding a failure"
          },
          "numberOfRetriesStability": {
            "type": "number",
            "title": "Number of retries stability",
            "description": "Number of consecutive successful pings required to conclude that device is stable. This feature will detect unstable interfaces. "
          },
          "secondsBetweenRetry": {
            "type": "number",
            "title": "Seconds between retry",
            "description": "Number of seconds to wait in between each failed ping"
          }
        }
      }
    }
  },
  "uiSchema": {
    "mode": {
      "ui:placeholder": "Chose a mode for workflow "
    },
    "release": {
      "ui:placeholder": "Files must be already located on the device prior to the start of this workflow."
    },
    "flashMemory": {
      "ui:placeholder": "Select an item"
    },
    "healthcheckVariables": {
      "numberOfRetries": {
        "ui:widget": "updown"
      },
      "numberOfRetriesStability": {
        "ui:widget": "updown"
      },
      "secondsBetweenRetry": {
        "ui:widget": "updown"
      }
    }
  },
  "bindingSchema": {
    "properties": {
      "iosDeviceHostname": {
        "binding:method": "POST",
        "binding:link": {
          "$ref": "/links",
          "rel": "collection"
        },
        "binding:body": {
          "options": {
            "filter": {
              "name": ""
            },
            "start": 0,
            "limit": 200,
            "sort": [
              {
                "name": 1
              }
            ],
            "order": "ascending"
          }
        },
        "binding:source": {
          "propertyPointer": "/list",
          "keyPointer": "/name"
        },
        "binding:target": {
          "propertyPointer": "/enum"
        },
        "binding:hyperSchema": {
          "type": "object",
          "base": "/",
          "links": [
            {
              "rel": "collection",
              "href": "configuration_manager/devices",
              "targetMediaType": "application/json",
              "targetSchema": {
                "$ref": "#"
              }
            }
          ]
        }
      },
      "healthcheckVariables": {
        "properties": {}
      }
    }
  },
  "validationSchema": {
    "healthcheckVariables": {}
  },
  "version": "2020.1"
}