{
  "id": "@itentialopensource/adapter-onap_appc",
  "type": "Adapter",
  "export": "OnapAppc",
  "title": "Onap_appc",
  "src": "adapter.js",
  "roles": [
    "admin"
  ],
  "methods": [
    {
      "name": "iapUpdateAdapterConfiguration",
      "summary": "Updates the adapter configuration",
      "description": "Updates the adapter configuration file with the provided changes",
      "input": [
        {
          "name": "configFile",
          "type": "string",
          "info": "The name of the file to change",
          "required": true,
          "schema": {
            "title": "configFile",
            "type": "string"
          }
        },
        {
          "name": "changes",
          "type": "object",
          "info": "JSON object containing the configuration changes",
          "required": true,
          "schema": {
            "title": "changes",
            "type": "object"
          }
        },
        {
          "name": "entity",
          "type": "string",
          "info": "The entity in which the changes are being made",
          "required": false,
          "schema": {
            "title": "entity",
            "type": "string"
          }
        },
        {
          "name": "type",
          "type": "string",
          "info": "The type of file to change - action, schema, or mock",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "action",
          "type": "string",
          "info": "The action to be changed",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        },
        {
          "name": "replace",
          "type": "boolean",
          "info": "True to replace entire mock data, false to merge/append",
          "required": false,
          "schema": {
            "title": "replace",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUpdateAdapterConfiguration"
      },
      "task": true
    },
    {
      "name": "iapSuspendAdapter",
      "summary": "Suspends the adapter",
      "description": "Suspends the adapter",
      "input": [
        {
          "name": "mode",
          "type": "enum",
          "enumerals": [
            "pause",
            "error"
          ],
          "info": "How incoming requests are handled. Defaults to 'pause'",
          "description": "How incoming requests are handled. Defaults to 'pause'",
          "schema": {
            "title": "mode",
            "type": "string"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapSuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapUnsuspendAdapter",
      "summary": "Unsuspends the adapter",
      "description": "Unsuspends the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUnsuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterQueue",
      "summary": "Return the requests that are waiting in the queue if throttling is enabled",
      "description": "Return the requests that are waiting in the queue if throttling is enabled",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter queue",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetAdapterQueue"
      },
      "task": true
    },
    {
      "name": "iapFindAdapterPath",
      "summary": "Provides the ability to see if a particular API path is supported by the adapter",
      "description": "Provides the ability to see if a particular API path is supported by the adapter",
      "input": [
        {
          "name": "apiPath",
          "type": "string",
          "info": "The API Path you want to check - make sure to not include base path and version",
          "description": "The API Path you want to check - make sure to not include base path and version",
          "schema": {
            "title": "apiPath",
            "type": "string"
          },
          "required": true
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapFindAdapterPath"
      },
      "task": true
    },
    {
      "name": "iapTroubleshootAdapter",
      "summary": "Runs troubleshoot script for adapter",
      "description": "Runs troubleshoot script for adapter",
      "input": [
        {
          "name": "props",
          "type": "object",
          "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
          "required": true,
          "schema": {
            "title": "props",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapTroubleshootAdapter"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterHealthcheck",
      "summary": "Runs healthcheck script for adapter",
      "description": "Runs healthcheck script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "Whether healthcheck passed or failed",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterHealthcheck"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterConnectivity",
      "summary": "Runs connectivity check script for adapter",
      "description": "Runs connectivity check script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterConnectivity"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterBasicGet",
      "summary": "Runs basicGet script for adapter",
      "description": "Runs basicGet script for adapter",
      "input": [
        {
          "name": "maxCalls",
          "required": false,
          "type": "number",
          "info": "How many GET endpoints to test (defaults to 5)",
          "schema": {
            "title": "maxCalls",
            "type": "number",
            "default": 5
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterBasicGet"
      },
      "task": true
    },
    {
      "name": "iapMoveAdapterEntitiesToDB",
      "summary": "Moves entities from an adapter into the Itential Platform database",
      "description": "Moves entities from an adapter into the Itential Platform database",
      "input": [],
      "output": {
        "name": "res",
        "type": "object",
        "description": "A JSON Object containing status, code and the response from the mongo transaction",
        "schema": {
          "title": "res",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapMoveAdapterEntitiesToDB"
      },
      "task": true
    },
    {
      "name": "iapDeactivateTasks",
      "summary": "Deactivate the inputted tasks",
      "description": "Deactivate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to deactivate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapDeactivateTasks"
      },
      "task": true
    },
    {
      "name": "iapActivateTasks",
      "summary": "Activate the inputted tasks",
      "description": "activate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to activate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapActivateTasks"
      },
      "task": true
    },
    {
      "name": "iapPopulateEntityCache",
      "summary": "Populate the cache for the given entities",
      "description": "Populate the cache for the given entities",
      "input": [
        {
          "name": "entityTypes",
          "type": "array",
          "info": "the entity type(s) to populate",
          "required": true,
          "schema": {
            "title": "entityTypes",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapPopulateEntityCache"
      },
      "task": true
    },
    {
      "name": "iapRetrieveEntitiesCache",
      "summary": "Retrieves data from cache for specified entity type",
      "description": "Retrieves data from cache for specified entity type",
      "input": [
        {
          "name": "entityType",
          "type": "string",
          "info": "entity of which to retrieve",
          "required": true,
          "schema": {
            "title": "entityType",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "settings of which data to return and how to return it",
          "required": false,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRetrieveEntitiesCache"
      },
      "task": true
    },
    {
      "name": "getDevice",
      "summary": "Get the Appliance",
      "description": "Get the Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevice"
      },
      "task": false
    },
    {
      "name": "getDevicesFiltered",
      "summary": "Get Appliances that match the filter",
      "description": "Get Appliances that match the filter",
      "input": [
        {
          "name": "options",
          "type": "object",
          "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
          "required": true,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "array",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "array"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevicesFiltered"
      },
      "task": false
    },
    {
      "name": "isAlive",
      "summary": "Checks the status for the provided Appliance",
      "description": "Checks the status for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/isAlive"
      },
      "task": false
    },
    {
      "name": "getConfig",
      "summary": "Gets a config for the provided Appliance",
      "description": "Gets a config for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The format to be returned - this is ignored as we always return json",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getConfig"
      },
      "task": false
    },
    {
      "name": "iapGetDeviceCount",
      "summary": "Gets a device count from the system",
      "description": "Gets a device count from the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetDeviceCount"
      },
      "task": false
    },
    {
      "name": "iapExpandedGenericAdapterRequest",
      "summary": "Makes the requested generic call with additional options",
      "description": "Makes the requested generic call with additional options via metadata",
      "input": [
        {
          "name": "metadata",
          "type": "object",
          "info": "metadata for the call (optional)",
          "description": "metadata for the call - allows for many enhancements (optional)",
          "schema": {
            "title": "metadata",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "pathVars",
          "type": "object",
          "info": "the parameters to be put within the url path (optional)",
          "description": "the parameters to be put within the url path (optional)",
          "schema": {
            "title": "pathVars",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapExpandedGenericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequest",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequestNoBasePath",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequestNoBasePath"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterLint",
      "summary": "Run the adapter lint script to return the results",
      "description": "Run the adapter lint script to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "string",
        "description": "A string containing the run results",
        "schema": {
          "title": "result",
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterLint"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterTests",
      "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
      "description": "Run the adapter test scripts (baseunit and unit) to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterTests"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterInventory",
      "summary": "Provide inventory information abbout the adapter",
      "description": "Provide inventory information abbout the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapGetAdapterInventory"
      },
      "task": true
    },
    {
      "name": "healthCheckAppc",
      "summary": "",
      "description": "",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/healthCheckAppc"
      },
      "task": true
    },
    {
      "name": "configModify",
      "summary": "",
      "description": "",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/configModify"
      },
      "task": true
    },
    {
      "name": "configure",
      "summary": "",
      "description": "",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/configure"
      },
      "task": true
    },
    {
      "name": "configScaleOut",
      "summary": "",
      "description": "",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/configScaleOut"
      },
      "task": true
    },
    {
      "name": "actionStatus",
      "summary": "The ActionStatus command returns that state of any action request that has been previously submitted to an APPC instance for a specified VNF. This enables the client to know the status of a previous request and helps them decide if they should reissue a request.",
      "description": "The ActionStatus command returns that state of any action request that has been previously submitted to an APPC instance for a specified VNF. This enables the client to know the status of a previous request and helps them decide if they should reissue a request.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/actionStatus"
      },
      "task": true
    },
    {
      "name": "attachVolume",
      "summary": "The AttachVolume command attaches a cinder volume to a VM via an Openstack command. Cinder is a Block Storage service for OpenStack. It’s designed to present storage resources to end users that can be consumed by the OpenStack Compute Project (Nova). The short description of Cinder is that it virtualizes the management of block storage devices and provides end users with a self service API to request and consume those resources without requiring any knowledge of where their storage is actually d...(description truncated)",
      "description": "The AttachVolume command attaches a cinder volume to a VM via an Openstack command. Cinder is a Block Storage service for OpenStack. It’s designed to present storage resources to end users that can be consumed by the OpenStack Compute Project (Nova). The short description of Cinder is that it virtualizes the management of block storage devices and provides end users with a self service API to request and consume those resources without requiring any knowledge of where their storage is actually d...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/attachVolume"
      },
      "task": true
    },
    {
      "name": "audit",
      "summary": "The Audit command compares the configuration of the VNF associated with the current request against the most recent configuration that is stored in APPC’s configuration database. A successful Audit means that the current VNF configuration matches the latest APPC stored configuration. A failed Audit indicates that the configurations do not match. This command can be applied to any VNF type. The only restriction is that the VNF has been onboarded in self-service mode (which requires that the VNF s...(description truncated)",
      "description": "The Audit command compares the configuration of the VNF associated with the current request against the most recent configuration that is stored in APPC’s configuration database. A successful Audit means that the current VNF configuration matches the latest APPC stored configuration. A failed Audit indicates that the configurations do not match. This command can be applied to any VNF type. The only restriction is that the VNF has been onboarded in self-service mode (which requires that the VNF s...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/audit"
      },
      "task": true
    },
    {
      "name": "checkLock",
      "summary": "The CheckLock command returns true if the specified VNF is locked; otherwise, false is returned. A CheckLock command is deemed successful if the processing completes without error, whether the VNF is locked or not. The command returns only a single response with a final status. Note that APPC locks the target VNF during any VNF command processing, so a VNF can have a locked status even if no Lock command has been explicitly called. The CheckLock command returns a specific response structure that...(description truncated)",
      "description": "The CheckLock command returns true if the specified VNF is locked; otherwise, false is returned. A CheckLock command is deemed successful if the processing completes without error, whether the VNF is locked or not. The command returns only a single response with a final status. Note that APPC locks the target VNF during any VNF command processing, so a VNF can have a locked status even if no Lock command has been explicitly called. The CheckLock command returns a specific response structure that...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/checkLock"
      },
      "task": true
    },
    {
      "name": "configBackup",
      "summary": "Stores the current VNF configuration on a local file system (not in APPC). This is limited to Ansible and Chef. There can only be one stored configuration (if there is a previously saved configuration, it is replaced with the current VNF configuration). A successful ConfigBackup request returns a success response. A failed ConfigBackup action returns a failure response code and the specific failure message in the response block.",
      "description": "Stores the current VNF configuration on a local file system (not in APPC). This is limited to Ansible and Chef. There can only be one stored configuration (if there is a previously saved configuration, it is replaced with the current VNF configuration). A successful ConfigBackup request returns a success response. A failed ConfigBackup action returns a failure response code and the specific failure message in the response block.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/configBackup"
      },
      "task": true
    },
    {
      "name": "configRestore",
      "summary": "Applies a previously saved configuration to the active VNF configuration. This is limited to Ansible and Chef. There can only be one stored configuration. A successful ConfigRestore request returns a success response. A failed ConfigRestore action returns a failure response code and the specific failure message in the response block.",
      "description": "Applies a previously saved configuration to the active VNF configuration. This is limited to Ansible and Chef. There can only be one stored configuration. A successful ConfigRestore request returns a success response. A failed ConfigRestore action returns a failure response code and the specific failure message in the response block.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/configRestore"
      },
      "task": true
    },
    {
      "name": "detachVolume",
      "summary": "The DetachVolume command detaches a cinder volume from a VM via an Openstack command. Cinder is a Block Storage service for OpenStack. It’s designed to present storage resources to end users that can be consumed by the OpenStack Compute Project (Nova). The short description of Cinder is that it virtualizes the management of block storage devices and provides end users with a self-service API to request and consume those resources without requiring any knowledge of where their storage is actually...(description truncated)",
      "description": "The DetachVolume command detaches a cinder volume from a VM via an Openstack command. Cinder is a Block Storage service for OpenStack. It’s designed to present storage resources to end users that can be consumed by the OpenStack Compute Project (Nova). The short description of Cinder is that it virtualizes the management of block storage devices and provides end users with a self-service API to request and consume those resources without requiring any knowledge of where their storage is actually...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/detachVolume"
      },
      "task": true
    },
    {
      "name": "evacuate",
      "summary": "Evacuates a specified VM from its current host to another. After a successful evacuate, a rebuild VM is performed if a snapshot is available (and the VM boots from a snapshot). The host on which the VM resides needs to be down. If the target host is not specified in the request, it will be selected by relying on internal rules to evacuate. The Evacuate action will fail if the specified target host is not UP/ENABLED. After Evacuate, the rebuild VM can be disabled by setting the optional rebuild-v...(description truncated)",
      "description": "Evacuates a specified VM from its current host to another. After a successful evacuate, a rebuild VM is performed if a snapshot is available (and the VM boots from a snapshot). The host on which the VM resides needs to be down. If the target host is not specified in the request, it will be selected by relying on internal rules to evacuate. The Evacuate action will fail if the specified target host is not UP/ENABLED. After Evacuate, the rebuild VM can be disabled by setting the optional rebuild-v...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/evacuate"
      },
      "task": true
    },
    {
      "name": "lock",
      "summary": "Use the Lock command to ensure exclusive access during a series of critical LCM commands. The Lock action will return a successful result if the VNF is not already locked or if it was locked with the same request-id, otherwise the action returns a response with a reject status code. Lock is a command intended for APPC and does not execute an actual VNF command. Instead, lock will ensure that ONAP is granted exclusive access to the VNF. When a VNF is locked, any subsequent sequential commands wit...(description truncated)",
      "description": "Use the Lock command to ensure exclusive access during a series of critical LCM commands. The Lock action will return a successful result if the VNF is not already locked or if it was locked with the same request-id, otherwise the action returns a response with a reject status code. Lock is a command intended for APPC and does not execute an actual VNF command. Instead, lock will ensure that ONAP is granted exclusive access to the VNF. When a VNF is locked, any subsequent sequential commands wit...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/lock"
      },
      "task": true
    },
    {
      "name": "migrate",
      "summary": "Migrates a running target VM from its current host to another. A destination node will be selected by relying on internal rules to migrate. Migrate calls a command in order to perform the operation. Migrate suspends the guest virtual machine, and moves an image of the guest virtual machine’s disk to the destination host physical machine. The guest virtual machine is then resumed on the destination host physical machine and the disk storage that it used on the source host physical machine is free...(description truncated)",
      "description": "Migrates a running target VM from its current host to another. A destination node will be selected by relying on internal rules to migrate. Migrate calls a command in order to perform the operation. Migrate suspends the guest virtual machine, and moves an image of the guest virtual machine’s disk to the destination host physical machine. The guest virtual machine is then resumed on the destination host physical machine and the disk storage that it used on the source host physical machine is free...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/migrate"
      },
      "task": true
    },
    {
      "name": "quiesceTraffic",
      "summary": "The QuiesceTraffic LCM action gracefully stops the traffic on the VNF (i.e., no service interruption for traffic in progress). All application processes are assumed to be running but no traffic is being processed. This command is executed using an Ansible playbook or Chef cookbook.",
      "description": "The QuiesceTraffic LCM action gracefully stops the traffic on the VNF (i.e., no service interruption for traffic in progress). All application processes are assumed to be running but no traffic is being processed. This command is executed using an Ansible playbook or Chef cookbook.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/quiesceTraffic"
      },
      "task": true
    },
    {
      "name": "reboot",
      "summary": "The Reboot is used to reboot a VM. There are two types supported: HARD and SOFT. A SOFT reboot attempts a graceful shutdown and restart of the server. A HARD reboot attempts a forced shutdown and restart of the server. The HARD reboot corresponds to the power cycles of the server. NOTE: The command implementation is based on OpenStack functionality. For further details, see http://developer.openstack.org/api-ref/compute/.",
      "description": "The Reboot is used to reboot a VM. There are two types supported: HARD and SOFT. A SOFT reboot attempts a graceful shutdown and restart of the server. A HARD reboot attempts a forced shutdown and restart of the server. The HARD reboot corresponds to the power cycles of the server. NOTE: The command implementation is based on OpenStack functionality. For further details, see http://developer.openstack.org/api-ref/compute/.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/reboot"
      },
      "task": true
    },
    {
      "name": "rebuild",
      "summary": "Recreates a target VM instance to a known, stable state. Rebuild calls an OpenStack command immediately and therefore does not expect any prerequisite operations to be performed, such as shutting off a VM. Rebuild VM uses the snapshot provided by the snapshot-id (if provided). If not provided, the latest snapshot is used. If there are no snapshots, it uses the (original) Glance image. APPC rejects a rebuild request if it determines the VM boots from a Cinder Volume NOTE: The command implementati...(description truncated)",
      "description": "Recreates a target VM instance to a known, stable state. Rebuild calls an OpenStack command immediately and therefore does not expect any prerequisite operations to be performed, such as shutting off a VM. Rebuild VM uses the snapshot provided by the snapshot-id (if provided). If not provided, the latest snapshot is used. If there are no snapshots, it uses the (original) Glance image. APPC rejects a rebuild request if it determines the VM boots from a Cinder Volume NOTE: The command implementati...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/rebuild"
      },
      "task": true
    },
    {
      "name": "restart",
      "summary": "Use the Restart command to restart a VM.",
      "description": "Use the Restart command to restart a VM.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/restart"
      },
      "task": true
    },
    {
      "name": "resumeTraffic",
      "summary": "The ResumeTraffic LCM action resumes processing traffic on a VNF that has been previously quiesced. This command is executed using an Ansible playbook or Chef cookbook. Request Structure: The payload does not have any parameters.",
      "description": "The ResumeTraffic LCM action resumes processing traffic on a VNF that has been previously quiesced. This command is executed using an Ansible playbook or Chef cookbook. Request Structure: The payload does not have any parameters.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/resumeTraffic"
      },
      "task": true
    },
    {
      "name": "snapshot",
      "summary": "Creates a snapshot of a VM. The Snapshot command returns a customized response containing a reference to the newly created snapshot instance if the action is successful. This command can be applied to a VM in any VNF type. The only restriction is that the particular VNF should be built based on the generic heat stack. Note: Snapshot is not reliable unless the VM is in a stopped, paused, or quiesced (no traffic being processed) status. It is up to the caller to ensure that the VM is in one of the...(description truncated)",
      "description": "Creates a snapshot of a VM. The Snapshot command returns a customized response containing a reference to the newly created snapshot instance if the action is successful. This command can be applied to a VM in any VNF type. The only restriction is that the particular VNF should be built based on the generic heat stack. Note: Snapshot is not reliable unless the VM is in a stopped, paused, or quiesced (no traffic being processed) status. It is up to the caller to ensure that the VM is in one of the...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/snapshot"
      },
      "task": true
    },
    {
      "name": "start",
      "summary": "Use the Start command to start a VM that is stopped. NOTE: The command implementation is based on Openstack functionality. For further details, see http://developer.openstack.org/api-ref/compute/.",
      "description": "Use the Start command to start a VM that is stopped. NOTE: The command implementation is based on Openstack functionality. For further details, see http://developer.openstack.org/api-ref/compute/.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/start"
      },
      "task": true
    },
    {
      "name": "startApplication",
      "summary": "Starts the VNF application, if needed, after a VM is instantiated/configured or after VM start or restart. Supported using Chef cookbook or Ansible playbook only. A successful StartApplication request returns a success response. A failed StartApplication action returns a failure response code and the specific failure message in the response block.",
      "description": "Starts the VNF application, if needed, after a VM is instantiated/configured or after VM start or restart. Supported using Chef cookbook or Ansible playbook only. A successful StartApplication request returns a success response. A failed StartApplication action returns a failure response code and the specific failure message in the response block.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/startApplication"
      },
      "task": true
    },
    {
      "name": "stop",
      "summary": "Use the Stop command to stop a VM that was running.",
      "description": "Use the Stop command to stop a VM that was running.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/stop"
      },
      "task": true
    },
    {
      "name": "stopApplication",
      "summary": "Stops the VNF application gracefully (not lost traffic), if needed, prior to a Stop command. Supported using Chef cookbook or Ansible playbook only. A successful StopApplication request returns a success response. A failed StopApplication action returns a failure response code and the specific failure message in the response block.",
      "description": "Stops the VNF application gracefully (not lost traffic), if needed, prior to a Stop command. Supported using Chef cookbook or Ansible playbook only. A successful StopApplication request returns a success response. A failed StopApplication action returns a failure response code and the specific failure message in the response block.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/stopApplication"
      },
      "task": true
    },
    {
      "name": "sync",
      "summary": "The Sync action updates the current configuration in the APPC store with the running configuration from the device. A successful Sync returns a success status. A failed Sync returns a failure response status and failure messages in the response payload block. This command can be applied to any VNF type. The only restriction is that the VNF has been onboarded in self-service mode (which requires that the VNF supports a request to return the running configuration).",
      "description": "The Sync action updates the current configuration in the APPC store with the running configuration from the device. A successful Sync returns a success status. A failed Sync returns a failure response status and failure messages in the response payload block. This command can be applied to any VNF type. The only restriction is that the VNF has been onboarded in self-service mode (which requires that the VNF supports a request to return the running configuration).",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sync"
      },
      "task": true
    },
    {
      "name": "unlock",
      "summary": "Run the Unlock command to release the lock on a VNF and allow other clients to perform LCM commands on that VNF. Unlock is a command intended for APPC and does not execute an actual VNF command. Instead, unlock will release the VNF from the exclusive access held by the specific request-id allowing other requests for the VNF to be accepted. The Unlock command will result in success if the VNF successfully unlocked or if it was already unlocked, otherwise commands will be rejected. The Unlock comm...(description truncated)",
      "description": "Run the Unlock command to release the lock on a VNF and allow other clients to perform LCM commands on that VNF. Unlock is a command intended for APPC and does not execute an actual VNF command. Instead, unlock will release the VNF from the exclusive access held by the specific request-id allowing other requests for the VNF to be accepted. The Unlock command will result in success if the VNF successfully unlocked or if it was already unlocked, otherwise commands will be rejected. The Unlock comm...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/unlock"
      },
      "task": true
    },
    {
      "name": "upgradeBackout",
      "summary": "The Sync action updates the current configuration in the APPC store with the running configuration from the device. A successful Sync returns a success status. A failed Sync returns a failure response status and failure messages in the response payload block. This command can be applied to any VNF type. The only restriction is that the VNF has been onboarded in self-service mode (which requires that the VNF supports a request to return the running configuration).",
      "description": "The Sync action updates the current configuration in the APPC store with the running configuration from the device. A successful Sync returns a success status. A failed Sync returns a failure response status and failure messages in the response payload block. This command can be applied to any VNF type. The only restriction is that the VNF has been onboarded in self-service mode (which requires that the VNF supports a request to return the running configuration).",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/upgradeBackout"
      },
      "task": true
    },
    {
      "name": "upgradeBackup",
      "summary": "The UpgradeBackup LCM action does a full backup of the VNF data prior to an upgrade. The backup is done on the Ansible or Chef server in a location that is specified in the playbook or cookbook. If there is an existing backup, it is overwritten by the new backup. This command is executed using an Ansible playbook or Chef cookbook. Request Structure: The payload does not have any parameters required.",
      "description": "The UpgradeBackup LCM action does a full backup of the VNF data prior to an upgrade. The backup is done on the Ansible or Chef server in a location that is specified in the playbook or cookbook. If there is an existing backup, it is overwritten by the new backup. This command is executed using an Ansible playbook or Chef cookbook. Request Structure: The payload does not have any parameters required.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/upgradeBackup"
      },
      "task": true
    },
    {
      "name": "upgradePostCheck",
      "summary": "Success: If the UpgradePostCheck run successfully, it returns a success status code 400. The response payload contains the results of the check (Completed or Failed).",
      "description": "Success: If the UpgradePostCheck run successfully, it returns a success status code 400. The response payload contains the results of the check (Completed or Failed).",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/upgradePostCheck"
      },
      "task": true
    },
    {
      "name": "upgradePreCheck",
      "summary": "The UpgradePreCheck LCM action checks that the VNF has the correct software version needed for a software upgrade. This command can be executed on a running VNF (i.e. processing traffic). This command is executed using an Ansible playbook or Chef cookbook.",
      "description": "The UpgradePreCheck LCM action checks that the VNF has the correct software version needed for a software upgrade. This command can be executed on a running VNF (i.e. processing traffic). This command is executed using an Ansible playbook or Chef cookbook.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/upgradePreCheck"
      },
      "task": true
    },
    {
      "name": "upgradeSoftware",
      "summary": "The UpgradePreCheck LCM action checks that the VNF has the correct software version needed for a software upgrade. This command can be executed on a running VNF (i.e. processing traffic). This command is executed using an Ansible playbook or Chef cookbook.",
      "description": "The UpgradePreCheck LCM action checks that the VNF has the correct software version needed for a software upgrade. This command can be executed on a running VNF (i.e. processing traffic). This command is executed using an Ansible playbook or Chef cookbook.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "POST body parameter",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/upgradeSoftware"
      },
      "task": true
    }
  ]
}