{
  "id": "@itentialopensource/adapter-paragon_dpm",
  "type": "Adapter",
  "export": "ParagonDpm",
  "title": "Paragon_dpm",
  "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": "dpmServiceExtRefUpdate",
      "summary": "External reference update",
      "description": "This API can be used to create/delete reference for ExtRef table.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ref-from-type\": \"string\", \"ref-from-uuid\": \"string\", \"operation\": \"string\", \"ref-to-uuid\": \"string\", \"ref-to-type\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ref-from-type": {
                "type": "string"
              },
              "ref-from-uuid": {
                "type": "string"
              },
              "operation": {
                "type": "string"
              },
              "ref-to-uuid": {
                "type": "string"
              },
              "ref-to-type": {
                "type": "string"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceExtRefUpdate"
      },
      "task": true
    },
    {
      "name": "dpmServiceBulkListDeletedResource",
      "summary": "Bulk list deleted-resources",
      "description": "This API can be used to list deleted-resource based on specification given in request body.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"spec\": {\"ref_fields\": \"array\", \"parent_type\": \"string\", \"filters\": \"array\", \"operation\": \"Must be one of [AND, OR]\", \"json_filters\": [{\"values\": \"array\", \"key\": \"string\"}], \"size\": \"string\", \"from\": \"string\", \"page_marker\": \"string\", \"obj_uuids\": \"array\", \"ref_uuids_map\": \"object\", \"detail\": \"boolean\", \"parent_id\": \"array\", \"ext_ref_uuids\": \"array\", \"back_ref_id\": \"array\", \"exclude_shared\": \"boolean\", \"exclude_hrefs\": \"boolean\", \"tag_detail\": \"boolean\", \"count\": \"boolean\", \"fields\": \"array\", \"parent_fq_name_str\": \"array\", \"ref_uuids\": \"array\", \"sortby\": \"string\", \"tag_filters\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "spec": {
                "type": "object",
                "properties": {
                  "ref_fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed reference fields"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Filter by parent type"
                  },
                  "filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input"
                  },
                  "operation": {
                    "default": "AND",
                    "enum": [
                      "AND",
                      "OR"
                    ],
                    "type": "string"
                  },
                  "json_filters": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "values": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "Filter values"
                        },
                        "key": {
                          "type": "string",
                          "title": "Filter key"
                        }
                      }
                    },
                    "type": "array",
                    "title": "QueryFilter in JSON Format"
                  },
                  "size": {
                    "title": "Number of items expected to be returned",
                    "type": "string"
                  },
                  "from": {
                    "title": "Start from items expected to be returned",
                    "type": "string"
                  },
                  "page_marker": {
                    "type": "string",
                    "description": "Include only objects with UUID lexically greater than this."
                  },
                  "obj_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by UUIDs"
                  },
                  "ref_uuids_map": {
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "uuids": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "UUIDs for refs and backrefs"
                        }
                      }
                    },
                    "type": "object",
                    "title": "Filter by ref UUIDss"
                  },
                  "detail": {
                    "title": "Include detail informatoin or not",
                    "type": "boolean"
                  },
                  "parent_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent UUIDs"
                  },
                  "ext_ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by External Ref UUIDss"
                  },
                  "back_ref_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by backref UUIDss"
                  },
                  "exclude_shared": {
                    "title": "Include shared resources or not",
                    "type": "boolean"
                  },
                  "exclude_hrefs": {
                    "title": "Exclude href parameters",
                    "type": "boolean"
                  },
                  "tag_detail": {
                    "title": "Include Tag Details or not",
                    "type": "boolean"
                  },
                  "count": {
                    "type": "boolean"
                  },
                  "fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed fields"
                  },
                  "parent_fq_name_str": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent FQ Name"
                  },
                  "ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by ref UUIDss"
                  },
                  "sortby": {
                    "type": "string",
                    "title": "Sort by column with ascending or descending by default ascending"
                  },
                  "tag_filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by Tag Fields"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceBulkListDeletedResource"
      },
      "task": true
    },
    {
      "name": "dpmServiceCreateCaCertificateBlob",
      "summary": "Create ca-certificate-blob",
      "description": "Create ca-certificate-blob",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ca-certificate-blob\": {\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"device_uuid\": \"string\", \"href\": \"string\", \"certificate_contents\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"parent_uuid\": \"string\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ca-certificate-blob": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "device_uuid": {
                    "type": "string",
                    "title": "uuid of the associated device"
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "certificate_contents": {
                    "title": "ca certificate contents",
                    "type": "string"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceCreateCaCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceListCaCertificateBlob",
      "summary": "List ca-certificate-blobs",
      "description": "This API can be used to list ca-certificate-blob based on specification given in query parameters.",
      "input": [
        {
          "name": "specSize",
          "type": "string",
          "info": "Number of items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specSize",
            "type": "string"
          }
        },
        {
          "name": "specPageMarker",
          "type": "string",
          "info": "Include only objects with UUID lexically greater than this.: string",
          "required": false,
          "schema": {
            "title": "specPageMarker",
            "type": "string"
          }
        },
        {
          "name": "specDetail",
          "type": "boolean",
          "info": "Include detail informatoin or not.: boolean",
          "required": false,
          "schema": {
            "title": "specDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specCount",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "specCount",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeShared",
          "type": "boolean",
          "info": "Include shared resources or not.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeShared",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeHrefs",
          "type": "boolean",
          "info": "Exclude href parameters.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeHrefs",
            "type": "boolean"
          }
        },
        {
          "name": "specParentFqNameStr",
          "type": "array",
          "info": "Filter by parent FQ Name.: array",
          "required": false,
          "schema": {
            "title": "specParentFqNameStr",
            "type": "array"
          }
        },
        {
          "name": "specParentType",
          "type": "string",
          "info": "Filter by parent type.: string",
          "required": false,
          "schema": {
            "title": "specParentType",
            "type": "string"
          }
        },
        {
          "name": "specParentId",
          "type": "array",
          "info": "Filter by parent UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specParentId",
            "type": "array"
          }
        },
        {
          "name": "specBackRefId",
          "type": "array",
          "info": "Filter by backref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specBackRefId",
            "type": "array"
          }
        },
        {
          "name": "specObjUuids",
          "type": "array",
          "info": "Filter by UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specObjUuids",
            "type": "array"
          }
        },
        {
          "name": "specFields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "specFields",
            "type": "array"
          }
        },
        {
          "name": "specFilters",
          "type": "array",
          "info": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input.: array",
          "required": false,
          "schema": {
            "title": "specFilters",
            "type": "array"
          }
        },
        {
          "name": "specRefUuids",
          "type": "array",
          "info": "Filter by ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specRefUuids",
            "type": "array"
          }
        },
        {
          "name": "specFrom",
          "type": "string",
          "info": "Start from items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specFrom",
            "type": "string"
          }
        },
        {
          "name": "specSortby",
          "type": "string",
          "info": "Sort by column with ascending or descending by default ascending.: string",
          "required": false,
          "schema": {
            "title": "specSortby",
            "type": "string"
          }
        },
        {
          "name": "specOperation",
          "type": "string",
          "info": "Operation determines whether union or interjection.: Must be one of [AND, OR]",
          "required": false,
          "schema": {
            "title": "specOperation",
            "type": "string"
          }
        },
        {
          "name": "specTagFilters",
          "type": "array",
          "info": "Filter by Tag Fields.: array",
          "required": false,
          "schema": {
            "title": "specTagFilters",
            "type": "array"
          }
        },
        {
          "name": "specTagDetail",
          "type": "boolean",
          "info": "Include Tag Details or not.: boolean",
          "required": false,
          "schema": {
            "title": "specTagDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specRefFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "specRefFields",
            "type": "array"
          }
        },
        {
          "name": "specExtRefUuids",
          "type": "array",
          "info": "Filter by External Ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specExtRefUuids",
            "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": "/dpmServiceListCaCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceCreateLastPublishedNotification",
      "summary": "Create last-published-notification",
      "description": "Create last-published-notification",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"last-published-notification\": {\"updated_timestamp\": \"string\", \"last_published_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"href\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"resource_type\": \"string\", \"parent_uuid\": \"string\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "last-published-notification": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "last_published_timestamp": {
                    "title": "The last published timestamp for the notification",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "resource_type": {
                    "type": "string",
                    "description": "Type of the resource."
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceCreateLastPublishedNotification"
      },
      "task": true
    },
    {
      "name": "dpmServiceListLastPublishedNotification",
      "summary": "List last-published-notifications",
      "description": "This API can be used to list last-published-notification based on specification given in query parameters.",
      "input": [
        {
          "name": "specSize",
          "type": "string",
          "info": "Number of items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specSize",
            "type": "string"
          }
        },
        {
          "name": "specPageMarker",
          "type": "string",
          "info": "Include only objects with UUID lexically greater than this.: string",
          "required": false,
          "schema": {
            "title": "specPageMarker",
            "type": "string"
          }
        },
        {
          "name": "specDetail",
          "type": "boolean",
          "info": "Include detail informatoin or not.: boolean",
          "required": false,
          "schema": {
            "title": "specDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specCount",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "specCount",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeShared",
          "type": "boolean",
          "info": "Include shared resources or not.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeShared",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeHrefs",
          "type": "boolean",
          "info": "Exclude href parameters.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeHrefs",
            "type": "boolean"
          }
        },
        {
          "name": "specParentFqNameStr",
          "type": "array",
          "info": "Filter by parent FQ Name.: array",
          "required": false,
          "schema": {
            "title": "specParentFqNameStr",
            "type": "array"
          }
        },
        {
          "name": "specParentType",
          "type": "string",
          "info": "Filter by parent type.: string",
          "required": false,
          "schema": {
            "title": "specParentType",
            "type": "string"
          }
        },
        {
          "name": "specParentId",
          "type": "array",
          "info": "Filter by parent UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specParentId",
            "type": "array"
          }
        },
        {
          "name": "specBackRefId",
          "type": "array",
          "info": "Filter by backref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specBackRefId",
            "type": "array"
          }
        },
        {
          "name": "specObjUuids",
          "type": "array",
          "info": "Filter by UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specObjUuids",
            "type": "array"
          }
        },
        {
          "name": "specFields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "specFields",
            "type": "array"
          }
        },
        {
          "name": "specFilters",
          "type": "array",
          "info": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input.: array",
          "required": false,
          "schema": {
            "title": "specFilters",
            "type": "array"
          }
        },
        {
          "name": "specRefUuids",
          "type": "array",
          "info": "Filter by ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specRefUuids",
            "type": "array"
          }
        },
        {
          "name": "specFrom",
          "type": "string",
          "info": "Start from items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specFrom",
            "type": "string"
          }
        },
        {
          "name": "specSortby",
          "type": "string",
          "info": "Sort by column with ascending or descending by default ascending.: string",
          "required": false,
          "schema": {
            "title": "specSortby",
            "type": "string"
          }
        },
        {
          "name": "specOperation",
          "type": "string",
          "info": "Operation determines whether union or interjection.: Must be one of [AND, OR]",
          "required": false,
          "schema": {
            "title": "specOperation",
            "type": "string"
          }
        },
        {
          "name": "specTagFilters",
          "type": "array",
          "info": "Filter by Tag Fields.: array",
          "required": false,
          "schema": {
            "title": "specTagFilters",
            "type": "array"
          }
        },
        {
          "name": "specTagDetail",
          "type": "boolean",
          "info": "Include Tag Details or not.: boolean",
          "required": false,
          "schema": {
            "title": "specTagDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specRefFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "specRefFields",
            "type": "array"
          }
        },
        {
          "name": "specExtRefUuids",
          "type": "array",
          "info": "Filter by External Ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specExtRefUuids",
            "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": "/dpmServiceListLastPublishedNotification"
      },
      "task": true
    },
    {
      "name": "dpmServiceUpdateCertificateBlob",
      "summary": "Update certificate-blob by ID",
      "description": "Update certificate-blob by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ignore_optimistic_lock\": \"boolean\", \"ID\": \"string\", \"fieldMask\": {\"paths\": \"array\"}, \"certificate-blob\": {\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"device_uuid\": \"string\", \"href\": \"string\", \"certificate_contents\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"certificate_key_contents\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"parent_uuid\": \"string\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ignore_optimistic_lock": {
                "type": "boolean"
              },
              "ID": {
                "type": "string"
              },
              "fieldMask": {
                "title": "`FieldMask` represents a set of symbolic field paths, for example:",
                "type": "object",
                "properties": {
                  "paths": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "The set of field mask paths."
                  }
                },
                "description": "paths: \"f.a\"\n    paths: \"f.b.d\"\n\nHere `f` represents a field in some root message, `a` and `b`\nfields in the message found in `f`, and `d` a field found in the\nmessage in `f.b`.\n\nField masks are used to specify a subset of fields that should be\nreturned by a get operation or modified by an update operation.\nField masks also have a custom JSON encoding (see below).\n\n# Field Masks in Projections\n\nWhen used in the context of a projection, a response message or\nsub-message is filtered by the API to only contain those fields as\nspecified in the mask. For example, if the mask in the previous\nexample is applied to a response message as follows:\n\n    f {\n      a : 22\n      b {\n        d : 1\n        x : 2\n      }\n      y : 13\n    }\n    z: 8\n\nThe result will not contain specific values for fields x,y and z\n(their value will be set to the default, and omitted in proto text\noutput):\n\n\n    f {\n      a : 22\n      b {\n        d : 1\n      }\n    }\n\nA repeated field is not allowed except at the last position of a\npaths string.\n\nIf a FieldMask object is not present in a get operation, the\noperation applies to all fields (as if a FieldMask of all fields\nhad been specified).\n\nNote that a field mask does not necessarily apply to the\ntop-level response message. In case of a REST get operation, the\nfield mask applies directly to the response, but in case of a REST\nlist operation, the mask instead applies to each individual message\nin the returned resource list. In case of a REST custom method,\nother definitions may be used. Where the mask applies will be\nclearly documented together with its declaration in the API.  In\nany case, the effect on the returned resource/resources is required\nbehavior for APIs.\n\n# Field Masks in Update Operations\n\nA field mask in update operations specifies which fields of the\ntargeted resource are going to be updated. The API is required\nto only change the values of the fields as specified in the mask\nand leave the others untouched. If a resource is passed in to\ndescribe the updated values, the API ignores the values of all\nfields not covered by the mask.\n\nIf a repeated field is specified for an update operation, new values will\nbe appended to the existing repeated field in the target resource. Note that\na repeated field is only allowed in the last position of a `paths` string.\n\nIf a sub-message is specified in the last position of the field mask for an\nupdate operation, then new value will be merged into the existing sub-message\nin the target resource.\n\nFor example, given the target message:\n\n    f {\n      b {\n        d: 1\n        x: 2\n      }\n      c: [1]\n    }\n\nAnd an update message:\n\n    f {\n      b {\n        d: 10\n      }\n      c: [2]\n    }\n\nthen if the field mask is:\n\n paths: [\"f.b\", \"f.c\"]\n\nthen the result will be:\n\n    f {\n      b {\n        d: 10\n        x: 2\n      }\n      c: [1, 2]\n    }\n\nAn implementation may provide options to override this default behavior for\nrepeated and message fields.\n\nIn order to reset a field's value to the default, the field must\nbe in the mask and set to the default value in the provided resource.\nHence, in order to reset all fields of a resource, provide a default\ninstance of the resource and set all fields in the mask, or do\nnot provide a mask as described below.\n\nIf a field mask is not present on update, the operation applies to\nall fields (as if a field mask of all fields has been specified).\nNote that in the presence of schema evolution, this may mean that\nfields the client does not know and has therefore not filled into\nthe request will be reset to their default. If this is unwanted\nbehavior, a specific service may require a client to always specify\na field mask, producing an error if not.\n\nAs with get operations, the location of the resource which\ndescribes the updated values in the request message depends on the\noperation kind. In any case, the effect of the field mask is\nrequired to be honored by the API.\n\n## Considerations for HTTP REST\n\nThe HTTP kind of an update operation which uses a field mask must\nbe set to PATCH instead of PUT in order to satisfy HTTP semantics\n(PUT must only be used for full updates).\n\n# JSON Encoding of Field Masks\n\nIn JSON, a field mask is encoded as a single string where paths are\nseparated by a comma. Fields name in each path are converted\nto/from lower-camel naming conventions.\n\nAs an example, consider the following message declarations:\n\n    message Profile {\n      User user = 1;\n      Photo photo = 2;\n    }\n    message User {\n      string display_name = 1;\n      string address = 2;\n    }\n\nIn proto a field mask for `Profile` may look as such:\n\n    mask {\n      paths: \"user.display_name\"\n      paths: \"photo\"\n    }\n\nIn JSON, the same mask is represented as below:\n\n    {\n      mask: \"user.displayName,photo\"\n    }\n\n# Field Masks and Oneof Fields\n\nField masks treat fields in oneofs just as regular fields. Consider the\nfollowing message:\n\n    message SampleMessage {\n      oneof test_oneof {\n        string name = 4;\n        SubMessage sub_message = 9;\n      }\n    }\n\nThe field mask can be:\n\n    mask {\n      paths: \"name\"\n    }\n\nOr:\n\n    mask {\n      paths: \"sub_message\"\n    }\n\nNote that oneof type names (\"test_oneof\" in this case) cannot be used in\npaths.\n\n## Field Mask Verification\n\nThe implementation of any API method which has a FieldMask type field in the\nrequest should verify the included field paths, and return an\n`INVALID_ARGUMENT` error if any path is unmappable."
              },
              "certificate-blob": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "device_uuid": {
                    "type": "string",
                    "title": "uuid of the associated device"
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "certificate_contents": {
                    "title": "certificate contents",
                    "type": "string"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "certificate_key_contents": {
                    "title": "certificate key contents",
                    "type": "string"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceUpdateCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceDeleteCertificateBlob",
      "summary": "Delete certificate-blob by ID",
      "description": "Delete certificate-blob by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "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": "/dpmServiceDeleteCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceGetCertificateBlob",
      "summary": "Get certificate-blob by ID",
      "description": "Get certificate-blob by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "detail",
          "type": "boolean",
          "info": "if detail is set then reference uuids & child uuids will be returned in the response.: boolean",
          "required": false,
          "schema": {
            "title": "detail",
            "type": "boolean"
          }
        },
        {
          "name": "fields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "array"
          }
        },
        {
          "name": "refFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "refFields",
            "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": "/dpmServiceGetCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceBulkExtRefUpdate",
      "summary": "Bulk external reference updates",
      "description": "This API can be used to create/delete multiple references for ExtRef table.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"items\": [{\"ref-from-type\": \"string\", \"ref-from-uuid\": \"string\", \"operation\": \"string\", \"ref-to-uuid\": \"string\", \"ref-to-type\": \"string\"}]}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "items": {
                "items": {
                  "type": "object",
                  "properties": {
                    "ref-from-type": {
                      "type": "string"
                    },
                    "ref-from-uuid": {
                      "type": "string"
                    },
                    "operation": {
                      "type": "string"
                    },
                    "ref-to-uuid": {
                      "type": "string"
                    },
                    "ref-to-type": {
                      "type": "string"
                    }
                  }
                },
                "type": "array"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceBulkExtRefUpdate"
      },
      "task": true
    },
    {
      "name": "dpmServiceCreateDeletedResource",
      "summary": "Create deleted-resource",
      "description": "Create deleted-resource",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"deleted-resource\": {\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"href\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"data\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"resource_type\": \"string\", \"parent_uuid\": \"string\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "deleted-resource": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "data": {
                    "type": "string",
                    "description": "data of the resource."
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "resource_type": {
                    "type": "string",
                    "description": "Type of the resource."
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceCreateDeletedResource"
      },
      "task": true
    },
    {
      "name": "dpmServiceListDeletedResource",
      "summary": "List deleted-resources",
      "description": "This API can be used to list deleted-resource based on specification given in query parameters.",
      "input": [
        {
          "name": "specSize",
          "type": "string",
          "info": "Number of items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specSize",
            "type": "string"
          }
        },
        {
          "name": "specPageMarker",
          "type": "string",
          "info": "Include only objects with UUID lexically greater than this.: string",
          "required": false,
          "schema": {
            "title": "specPageMarker",
            "type": "string"
          }
        },
        {
          "name": "specDetail",
          "type": "boolean",
          "info": "Include detail informatoin or not.: boolean",
          "required": false,
          "schema": {
            "title": "specDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specCount",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "specCount",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeShared",
          "type": "boolean",
          "info": "Include shared resources or not.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeShared",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeHrefs",
          "type": "boolean",
          "info": "Exclude href parameters.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeHrefs",
            "type": "boolean"
          }
        },
        {
          "name": "specParentFqNameStr",
          "type": "array",
          "info": "Filter by parent FQ Name.: array",
          "required": false,
          "schema": {
            "title": "specParentFqNameStr",
            "type": "array"
          }
        },
        {
          "name": "specParentType",
          "type": "string",
          "info": "Filter by parent type.: string",
          "required": false,
          "schema": {
            "title": "specParentType",
            "type": "string"
          }
        },
        {
          "name": "specParentId",
          "type": "array",
          "info": "Filter by parent UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specParentId",
            "type": "array"
          }
        },
        {
          "name": "specBackRefId",
          "type": "array",
          "info": "Filter by backref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specBackRefId",
            "type": "array"
          }
        },
        {
          "name": "specObjUuids",
          "type": "array",
          "info": "Filter by UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specObjUuids",
            "type": "array"
          }
        },
        {
          "name": "specFields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "specFields",
            "type": "array"
          }
        },
        {
          "name": "specFilters",
          "type": "array",
          "info": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input.: array",
          "required": false,
          "schema": {
            "title": "specFilters",
            "type": "array"
          }
        },
        {
          "name": "specRefUuids",
          "type": "array",
          "info": "Filter by ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specRefUuids",
            "type": "array"
          }
        },
        {
          "name": "specFrom",
          "type": "string",
          "info": "Start from items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specFrom",
            "type": "string"
          }
        },
        {
          "name": "specSortby",
          "type": "string",
          "info": "Sort by column with ascending or descending by default ascending.: string",
          "required": false,
          "schema": {
            "title": "specSortby",
            "type": "string"
          }
        },
        {
          "name": "specOperation",
          "type": "string",
          "info": "Operation determines whether union or interjection.: Must be one of [AND, OR]",
          "required": false,
          "schema": {
            "title": "specOperation",
            "type": "string"
          }
        },
        {
          "name": "specTagFilters",
          "type": "array",
          "info": "Filter by Tag Fields.: array",
          "required": false,
          "schema": {
            "title": "specTagFilters",
            "type": "array"
          }
        },
        {
          "name": "specTagDetail",
          "type": "boolean",
          "info": "Include Tag Details or not.: boolean",
          "required": false,
          "schema": {
            "title": "specTagDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specRefFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "specRefFields",
            "type": "array"
          }
        },
        {
          "name": "specExtRefUuids",
          "type": "array",
          "info": "Filter by External Ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specExtRefUuids",
            "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": "/dpmServiceListDeletedResource"
      },
      "task": true
    },
    {
      "name": "dpmServiceCreateCertificateBlob",
      "summary": "Create certificate-blob",
      "description": "Create certificate-blob",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"certificate-blob\": {\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"device_uuid\": \"string\", \"href\": \"string\", \"certificate_contents\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"certificate_key_contents\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"parent_uuid\": \"string\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "certificate-blob": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "device_uuid": {
                    "type": "string",
                    "title": "uuid of the associated device"
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "certificate_contents": {
                    "title": "certificate contents",
                    "type": "string"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "certificate_key_contents": {
                    "title": "certificate key contents",
                    "type": "string"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceCreateCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceListCertificateBlob",
      "summary": "List certificate-blobs",
      "description": "This API can be used to list certificate-blob based on specification given in query parameters.",
      "input": [
        {
          "name": "specSize",
          "type": "string",
          "info": "Number of items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specSize",
            "type": "string"
          }
        },
        {
          "name": "specPageMarker",
          "type": "string",
          "info": "Include only objects with UUID lexically greater than this.: string",
          "required": false,
          "schema": {
            "title": "specPageMarker",
            "type": "string"
          }
        },
        {
          "name": "specDetail",
          "type": "boolean",
          "info": "Include detail informatoin or not.: boolean",
          "required": false,
          "schema": {
            "title": "specDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specCount",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "specCount",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeShared",
          "type": "boolean",
          "info": "Include shared resources or not.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeShared",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeHrefs",
          "type": "boolean",
          "info": "Exclude href parameters.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeHrefs",
            "type": "boolean"
          }
        },
        {
          "name": "specParentFqNameStr",
          "type": "array",
          "info": "Filter by parent FQ Name.: array",
          "required": false,
          "schema": {
            "title": "specParentFqNameStr",
            "type": "array"
          }
        },
        {
          "name": "specParentType",
          "type": "string",
          "info": "Filter by parent type.: string",
          "required": false,
          "schema": {
            "title": "specParentType",
            "type": "string"
          }
        },
        {
          "name": "specParentId",
          "type": "array",
          "info": "Filter by parent UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specParentId",
            "type": "array"
          }
        },
        {
          "name": "specBackRefId",
          "type": "array",
          "info": "Filter by backref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specBackRefId",
            "type": "array"
          }
        },
        {
          "name": "specObjUuids",
          "type": "array",
          "info": "Filter by UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specObjUuids",
            "type": "array"
          }
        },
        {
          "name": "specFields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "specFields",
            "type": "array"
          }
        },
        {
          "name": "specFilters",
          "type": "array",
          "info": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input.: array",
          "required": false,
          "schema": {
            "title": "specFilters",
            "type": "array"
          }
        },
        {
          "name": "specRefUuids",
          "type": "array",
          "info": "Filter by ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specRefUuids",
            "type": "array"
          }
        },
        {
          "name": "specFrom",
          "type": "string",
          "info": "Start from items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specFrom",
            "type": "string"
          }
        },
        {
          "name": "specSortby",
          "type": "string",
          "info": "Sort by column with ascending or descending by default ascending.: string",
          "required": false,
          "schema": {
            "title": "specSortby",
            "type": "string"
          }
        },
        {
          "name": "specOperation",
          "type": "string",
          "info": "Operation determines whether union or interjection.: Must be one of [AND, OR]",
          "required": false,
          "schema": {
            "title": "specOperation",
            "type": "string"
          }
        },
        {
          "name": "specTagFilters",
          "type": "array",
          "info": "Filter by Tag Fields.: array",
          "required": false,
          "schema": {
            "title": "specTagFilters",
            "type": "array"
          }
        },
        {
          "name": "specTagDetail",
          "type": "boolean",
          "info": "Include Tag Details or not.: boolean",
          "required": false,
          "schema": {
            "title": "specTagDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specRefFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "specRefFields",
            "type": "array"
          }
        },
        {
          "name": "specExtRefUuids",
          "type": "array",
          "info": "Filter by External Ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specExtRefUuids",
            "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": "/dpmServiceListCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceSync",
      "summary": "Sync",
      "description": "This API can be used to CREATE/UPDATE/DELETE multiple resources from database",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"last-published-notification\": {\"resources\": [{\"updated_timestamp\": \"string\", \"last_published_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"href\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"resource_type\": \"string\", \"parent_uuid\": \"string\"}]}, \"certificate-blob\": {\"resources\": [{\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"device_uuid\": \"string\", \"href\": \"string\", \"certificate_contents\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"certificate_key_contents\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"parent_uuid\": \"string\"}]}, \"ca-certificate-blob\": {\"resources\": [{\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"device_uuid\": \"string\", \"href\": \"string\", \"certificate_contents\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"parent_uuid\": \"string\"}]}, \"image\": {\"resources\": [{\"parent_uuid\": \"string\", \"parent_type\": \"string\", \"href\": \"string\", \"created_timestamp\": \"string\", \"updated_by\": \"string\", \"updated_timestamp\": \"string\", \"uuid\": \"string\", \"configuration_version\": \"string\", \"image_type\": \"string\", \"created_by\": \"string\", \"version\": \"string\", \"supported_platforms\": \"array\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"vendor\": \"string\", \"description\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"file_id\": \"string\", \"image_size\": \"string\", \"device\": [{\"component\": \"string\", \"device_uuid\": \"string\"}], \"name\": \"string\", \"upload_timestamp\": \"string\", \"file_uri\": \"string\", \"sha1_hash\": \"string\", \"device_family\": \"array\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}}]}, \"ignore_optimistic_lock\": \"boolean\", \"operation\": \"string\", \"deleted-resource\": {\"resources\": [{\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"href\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"data\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"resource_type\": \"string\", \"parent_uuid\": \"string\"}]}, \"field_mask\": {\"paths\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "last-published-notification": {
                "type": "object",
                "properties": {
                  "resources": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "updated_timestamp": {
                          "title": "Updated Timestamp for the object",
                          "type": "string"
                        },
                        "last_published_timestamp": {
                          "title": "The last published timestamp for the notification",
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "title": "Description of the object"
                        },
                        "configuration_version": {
                          "type": "string",
                          "description": "Configuration Version for the object."
                        },
                        "href": {
                          "type": "string",
                          "title": "Instance reference URL"
                        },
                        "parent_type": {
                          "type": "string",
                          "title": "Parent resource type"
                        },
                        "uuid": {
                          "type": "string",
                          "title": "UUID of the object, system automatically allocates one if not provided"
                        },
                        "perms2": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "string",
                              "title": "Owner project of the object"
                            },
                            "global_access": {
                              "title": "Share the object globally",
                              "type": "string"
                            },
                            "share": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "access": {
                                    "title": "Allowed permissions in sharing",
                                    "type": "string"
                                  },
                                  "scope": {
                                    "type": "string",
                                    "title": "ID of the scope to which the object is shared"
                                  },
                                  "levels": {
                                    "title": "Number of level to which share should be applied",
                                    "type": "string"
                                  },
                                  "scope_types": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "title": "Only apply share for specific types"
                                  }
                                }
                              },
                              "type": "array",
                              "title": "Selectively shared object, List of (project, permissions)"
                            }
                          }
                        },
                        "name": {
                          "type": "string",
                          "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                        },
                        "meta": {
                          "type": "object",
                          "properties": {
                            "enable": {
                              "title": "Administratively Enable/Disable this object",
                              "type": "boolean"
                            },
                            "user_visible": {
                              "title": "System created internal objects will have this flag set and will not be visible",
                              "type": "boolean"
                            }
                          }
                        },
                        "created_by": {
                          "type": "string",
                          "title": "user who created this object"
                        },
                        "updated_by": {
                          "type": "string",
                          "title": "user who updated this object"
                        },
                        "created_timestamp": {
                          "title": "Created Timestamp for the object",
                          "type": "string"
                        },
                        "annotations": {
                          "type": "object",
                          "properties": {
                            "key_value_pair": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "key": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              },
                              "type": "array"
                            }
                          }
                        },
                        "resource_type": {
                          "type": "string",
                          "description": "Type of the resource."
                        },
                        "parent_uuid": {
                          "type": "string",
                          "title": "UUID of the parent object"
                        }
                      }
                    },
                    "type": "array"
                  }
                }
              },
              "certificate-blob": {
                "type": "object",
                "properties": {
                  "resources": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "updated_timestamp": {
                          "title": "Updated Timestamp for the object",
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "title": "Description of the object"
                        },
                        "configuration_version": {
                          "type": "string",
                          "description": "Configuration Version for the object."
                        },
                        "device_uuid": {
                          "type": "string",
                          "title": "uuid of the associated device"
                        },
                        "href": {
                          "type": "string",
                          "title": "Instance reference URL"
                        },
                        "certificate_contents": {
                          "title": "certificate contents",
                          "type": "string"
                        },
                        "parent_type": {
                          "type": "string",
                          "title": "Parent resource type"
                        },
                        "uuid": {
                          "type": "string",
                          "title": "UUID of the object, system automatically allocates one if not provided"
                        },
                        "perms2": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "string",
                              "title": "Owner project of the object"
                            },
                            "global_access": {
                              "title": "Share the object globally",
                              "type": "string"
                            },
                            "share": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "access": {
                                    "title": "Allowed permissions in sharing",
                                    "type": "string"
                                  },
                                  "scope": {
                                    "type": "string",
                                    "title": "ID of the scope to which the object is shared"
                                  },
                                  "levels": {
                                    "title": "Number of level to which share should be applied",
                                    "type": "string"
                                  },
                                  "scope_types": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "title": "Only apply share for specific types"
                                  }
                                }
                              },
                              "type": "array",
                              "title": "Selectively shared object, List of (project, permissions)"
                            }
                          }
                        },
                        "name": {
                          "type": "string",
                          "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                        },
                        "meta": {
                          "type": "object",
                          "properties": {
                            "enable": {
                              "title": "Administratively Enable/Disable this object",
                              "type": "boolean"
                            },
                            "user_visible": {
                              "title": "System created internal objects will have this flag set and will not be visible",
                              "type": "boolean"
                            }
                          }
                        },
                        "created_by": {
                          "type": "string",
                          "title": "user who created this object"
                        },
                        "certificate_key_contents": {
                          "title": "certificate key contents",
                          "type": "string"
                        },
                        "updated_by": {
                          "type": "string",
                          "title": "user who updated this object"
                        },
                        "created_timestamp": {
                          "title": "Created Timestamp for the object",
                          "type": "string"
                        },
                        "annotations": {
                          "type": "object",
                          "properties": {
                            "key_value_pair": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "key": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              },
                              "type": "array"
                            }
                          }
                        },
                        "parent_uuid": {
                          "type": "string",
                          "title": "UUID of the parent object"
                        }
                      }
                    },
                    "type": "array"
                  }
                }
              },
              "ca-certificate-blob": {
                "type": "object",
                "properties": {
                  "resources": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "updated_timestamp": {
                          "title": "Updated Timestamp for the object",
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "title": "Description of the object"
                        },
                        "configuration_version": {
                          "type": "string",
                          "description": "Configuration Version for the object."
                        },
                        "device_uuid": {
                          "type": "string",
                          "title": "uuid of the associated device"
                        },
                        "href": {
                          "type": "string",
                          "title": "Instance reference URL"
                        },
                        "certificate_contents": {
                          "title": "ca certificate contents",
                          "type": "string"
                        },
                        "parent_type": {
                          "type": "string",
                          "title": "Parent resource type"
                        },
                        "uuid": {
                          "type": "string",
                          "title": "UUID of the object, system automatically allocates one if not provided"
                        },
                        "perms2": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "string",
                              "title": "Owner project of the object"
                            },
                            "global_access": {
                              "title": "Share the object globally",
                              "type": "string"
                            },
                            "share": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "access": {
                                    "title": "Allowed permissions in sharing",
                                    "type": "string"
                                  },
                                  "scope": {
                                    "type": "string",
                                    "title": "ID of the scope to which the object is shared"
                                  },
                                  "levels": {
                                    "title": "Number of level to which share should be applied",
                                    "type": "string"
                                  },
                                  "scope_types": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "title": "Only apply share for specific types"
                                  }
                                }
                              },
                              "type": "array",
                              "title": "Selectively shared object, List of (project, permissions)"
                            }
                          }
                        },
                        "name": {
                          "type": "string",
                          "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                        },
                        "meta": {
                          "type": "object",
                          "properties": {
                            "enable": {
                              "title": "Administratively Enable/Disable this object",
                              "type": "boolean"
                            },
                            "user_visible": {
                              "title": "System created internal objects will have this flag set and will not be visible",
                              "type": "boolean"
                            }
                          }
                        },
                        "created_by": {
                          "type": "string",
                          "title": "user who created this object"
                        },
                        "updated_by": {
                          "type": "string",
                          "title": "user who updated this object"
                        },
                        "created_timestamp": {
                          "title": "Created Timestamp for the object",
                          "type": "string"
                        },
                        "annotations": {
                          "type": "object",
                          "properties": {
                            "key_value_pair": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "key": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              },
                              "type": "array"
                            }
                          }
                        },
                        "parent_uuid": {
                          "type": "string",
                          "title": "UUID of the parent object"
                        }
                      }
                    },
                    "type": "array"
                  }
                }
              },
              "image": {
                "type": "object",
                "properties": {
                  "resources": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "parent_uuid": {
                          "type": "string",
                          "title": "UUID of the parent object"
                        },
                        "parent_type": {
                          "type": "string",
                          "title": "Parent resource type"
                        },
                        "href": {
                          "type": "string",
                          "title": "Instance reference URL"
                        },
                        "created_timestamp": {
                          "title": "Created Timestamp for the object",
                          "type": "string"
                        },
                        "updated_by": {
                          "type": "string",
                          "title": "user who updated this object"
                        },
                        "updated_timestamp": {
                          "title": "Updated Timestamp for the object",
                          "type": "string"
                        },
                        "uuid": {
                          "type": "string",
                          "title": "UUID of the object, system automatically allocates one if not provided"
                        },
                        "configuration_version": {
                          "type": "string",
                          "description": "Configuration Version for the object."
                        },
                        "image_type": {
                          "type": "string",
                          "title": "Type of image such as device_image, vnf_image, jms_image"
                        },
                        "created_by": {
                          "type": "string",
                          "title": "user who created this object"
                        },
                        "version": {
                          "type": "string",
                          "title": "version"
                        },
                        "supported_platforms": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "List of supported models for this image"
                        },
                        "annotations": {
                          "type": "object",
                          "properties": {
                            "key_value_pair": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "key": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              },
                              "type": "array"
                            }
                          }
                        },
                        "vendor": {
                          "type": "string",
                          "title": "Vendor name"
                        },
                        "description": {
                          "type": "string",
                          "title": "Description of the object"
                        },
                        "perms2": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "string",
                              "title": "Owner project of the object"
                            },
                            "global_access": {
                              "title": "Share the object globally",
                              "type": "string"
                            },
                            "share": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "access": {
                                    "title": "Allowed permissions in sharing",
                                    "type": "string"
                                  },
                                  "scope": {
                                    "type": "string",
                                    "title": "ID of the scope to which the object is shared"
                                  },
                                  "levels": {
                                    "title": "Number of level to which share should be applied",
                                    "type": "string"
                                  },
                                  "scope_types": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "title": "Only apply share for specific types"
                                  }
                                }
                              },
                              "type": "array",
                              "title": "Selectively shared object, List of (project, permissions)"
                            }
                          }
                        },
                        "file_id": {
                          "type": "string",
                          "title": "ID of the file in db/cloud storage"
                        },
                        "image_size": {
                          "title": "Image file size in bytes",
                          "type": "string"
                        },
                        "device": {
                          "items": {
                            "type": "object",
                            "properties": {
                              "component": {
                                "type": "string",
                                "description": "Name of the component that this image is intended."
                              },
                              "device_uuid": {
                                "type": "string",
                                "title": "The uuid of the device"
                              }
                            }
                          },
                          "type": "array",
                          "description": "List of devices the image is staged to."
                        },
                        "name": {
                          "type": "string",
                          "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                        },
                        "upload_timestamp": {
                          "title": "Upload timestamp",
                          "type": "string"
                        },
                        "file_uri": {
                          "type": "string",
                          "title": "Image file URI on the file server"
                        },
                        "sha1_hash": {
                          "type": "string",
                          "title": "Image file sha1"
                        },
                        "device_family": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "Applicable device family"
                        },
                        "meta": {
                          "type": "object",
                          "properties": {
                            "enable": {
                              "title": "Administratively Enable/Disable this object",
                              "type": "boolean"
                            },
                            "user_visible": {
                              "title": "System created internal objects will have this flag set and will not be visible",
                              "type": "boolean"
                            }
                          }
                        }
                      }
                    },
                    "type": "array"
                  }
                }
              },
              "ignore_optimistic_lock": {
                "type": "boolean",
                "description": "if IgnoreOptimisticLock is set then optimistic lock wont be enforced in update case."
              },
              "operation": {
                "type": "string"
              },
              "deleted-resource": {
                "type": "object",
                "properties": {
                  "resources": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "updated_timestamp": {
                          "title": "Updated Timestamp for the object",
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "title": "Description of the object"
                        },
                        "configuration_version": {
                          "type": "string",
                          "description": "Configuration Version for the object."
                        },
                        "href": {
                          "type": "string",
                          "title": "Instance reference URL"
                        },
                        "parent_type": {
                          "type": "string",
                          "title": "Parent resource type"
                        },
                        "uuid": {
                          "type": "string",
                          "title": "UUID of the object, system automatically allocates one if not provided"
                        },
                        "perms2": {
                          "type": "object",
                          "properties": {
                            "owner": {
                              "type": "string",
                              "title": "Owner project of the object"
                            },
                            "global_access": {
                              "title": "Share the object globally",
                              "type": "string"
                            },
                            "share": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "access": {
                                    "title": "Allowed permissions in sharing",
                                    "type": "string"
                                  },
                                  "scope": {
                                    "type": "string",
                                    "title": "ID of the scope to which the object is shared"
                                  },
                                  "levels": {
                                    "title": "Number of level to which share should be applied",
                                    "type": "string"
                                  },
                                  "scope_types": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "title": "Only apply share for specific types"
                                  }
                                }
                              },
                              "type": "array",
                              "title": "Selectively shared object, List of (project, permissions)"
                            }
                          }
                        },
                        "name": {
                          "type": "string",
                          "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                        },
                        "meta": {
                          "type": "object",
                          "properties": {
                            "enable": {
                              "title": "Administratively Enable/Disable this object",
                              "type": "boolean"
                            },
                            "user_visible": {
                              "title": "System created internal objects will have this flag set and will not be visible",
                              "type": "boolean"
                            }
                          }
                        },
                        "created_by": {
                          "type": "string",
                          "title": "user who created this object"
                        },
                        "updated_by": {
                          "type": "string",
                          "title": "user who updated this object"
                        },
                        "created_timestamp": {
                          "title": "Created Timestamp for the object",
                          "type": "string"
                        },
                        "data": {
                          "type": "string",
                          "description": "data of the resource."
                        },
                        "annotations": {
                          "type": "object",
                          "properties": {
                            "key_value_pair": {
                              "items": {
                                "type": "object",
                                "properties": {
                                  "key": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              },
                              "type": "array"
                            }
                          }
                        },
                        "resource_type": {
                          "type": "string",
                          "description": "Type of the resource."
                        },
                        "parent_uuid": {
                          "type": "string",
                          "title": "UUID of the parent object"
                        }
                      }
                    },
                    "type": "array"
                  }
                }
              },
              "field_mask": {
                "title": "`FieldMask` represents a set of symbolic field paths, for example:",
                "type": "object",
                "properties": {
                  "paths": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "The set of field mask paths."
                  }
                },
                "description": "paths: \"f.a\"\n    paths: \"f.b.d\"\n\nHere `f` represents a field in some root message, `a` and `b`\nfields in the message found in `f`, and `d` a field found in the\nmessage in `f.b`.\n\nField masks are used to specify a subset of fields that should be\nreturned by a get operation or modified by an update operation.\nField masks also have a custom JSON encoding (see below).\n\n# Field Masks in Projections\n\nWhen used in the context of a projection, a response message or\nsub-message is filtered by the API to only contain those fields as\nspecified in the mask. For example, if the mask in the previous\nexample is applied to a response message as follows:\n\n    f {\n      a : 22\n      b {\n        d : 1\n        x : 2\n      }\n      y : 13\n    }\n    z: 8\n\nThe result will not contain specific values for fields x,y and z\n(their value will be set to the default, and omitted in proto text\noutput):\n\n\n    f {\n      a : 22\n      b {\n        d : 1\n      }\n    }\n\nA repeated field is not allowed except at the last position of a\npaths string.\n\nIf a FieldMask object is not present in a get operation, the\noperation applies to all fields (as if a FieldMask of all fields\nhad been specified).\n\nNote that a field mask does not necessarily apply to the\ntop-level response message. In case of a REST get operation, the\nfield mask applies directly to the response, but in case of a REST\nlist operation, the mask instead applies to each individual message\nin the returned resource list. In case of a REST custom method,\nother definitions may be used. Where the mask applies will be\nclearly documented together with its declaration in the API.  In\nany case, the effect on the returned resource/resources is required\nbehavior for APIs.\n\n# Field Masks in Update Operations\n\nA field mask in update operations specifies which fields of the\ntargeted resource are going to be updated. The API is required\nto only change the values of the fields as specified in the mask\nand leave the others untouched. If a resource is passed in to\ndescribe the updated values, the API ignores the values of all\nfields not covered by the mask.\n\nIf a repeated field is specified for an update operation, new values will\nbe appended to the existing repeated field in the target resource. Note that\na repeated field is only allowed in the last position of a `paths` string.\n\nIf a sub-message is specified in the last position of the field mask for an\nupdate operation, then new value will be merged into the existing sub-message\nin the target resource.\n\nFor example, given the target message:\n\n    f {\n      b {\n        d: 1\n        x: 2\n      }\n      c: [1]\n    }\n\nAnd an update message:\n\n    f {\n      b {\n        d: 10\n      }\n      c: [2]\n    }\n\nthen if the field mask is:\n\n paths: [\"f.b\", \"f.c\"]\n\nthen the result will be:\n\n    f {\n      b {\n        d: 10\n        x: 2\n      }\n      c: [1, 2]\n    }\n\nAn implementation may provide options to override this default behavior for\nrepeated and message fields.\n\nIn order to reset a field's value to the default, the field must\nbe in the mask and set to the default value in the provided resource.\nHence, in order to reset all fields of a resource, provide a default\ninstance of the resource and set all fields in the mask, or do\nnot provide a mask as described below.\n\nIf a field mask is not present on update, the operation applies to\nall fields (as if a field mask of all fields has been specified).\nNote that in the presence of schema evolution, this may mean that\nfields the client does not know and has therefore not filled into\nthe request will be reset to their default. If this is unwanted\nbehavior, a specific service may require a client to always specify\na field mask, producing an error if not.\n\nAs with get operations, the location of the resource which\ndescribes the updated values in the request message depends on the\noperation kind. In any case, the effect of the field mask is\nrequired to be honored by the API.\n\n## Considerations for HTTP REST\n\nThe HTTP kind of an update operation which uses a field mask must\nbe set to PATCH instead of PUT in order to satisfy HTTP semantics\n(PUT must only be used for full updates).\n\n# JSON Encoding of Field Masks\n\nIn JSON, a field mask is encoded as a single string where paths are\nseparated by a comma. Fields name in each path are converted\nto/from lower-camel naming conventions.\n\nAs an example, consider the following message declarations:\n\n    message Profile {\n      User user = 1;\n      Photo photo = 2;\n    }\n    message User {\n      string display_name = 1;\n      string address = 2;\n    }\n\nIn proto a field mask for `Profile` may look as such:\n\n    mask {\n      paths: \"user.display_name\"\n      paths: \"photo\"\n    }\n\nIn JSON, the same mask is represented as below:\n\n    {\n      mask: \"user.displayName,photo\"\n    }\n\n# Field Masks and Oneof Fields\n\nField masks treat fields in oneofs just as regular fields. Consider the\nfollowing message:\n\n    message SampleMessage {\n      oneof test_oneof {\n        string name = 4;\n        SubMessage sub_message = 9;\n      }\n    }\n\nThe field mask can be:\n\n    mask {\n      paths: \"name\"\n    }\n\nOr:\n\n    mask {\n      paths: \"sub_message\"\n    }\n\nNote that oneof type names (\"test_oneof\" in this case) cannot be used in\npaths.\n\n## Field Mask Verification\n\nThe implementation of any API method which has a FieldMask type field in the\nrequest should verify the included field paths, and return an\n`INVALID_ARGUMENT` error if any path is unmappable."
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceSync"
      },
      "task": true
    },
    {
      "name": "dpmServiceBulkListCertificateBlob",
      "summary": "Bulk list certificate-blobs",
      "description": "This API can be used to list certificate-blob based on specification given in request body.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"spec\": {\"ref_fields\": \"array\", \"parent_type\": \"string\", \"filters\": \"array\", \"operation\": \"Must be one of [AND, OR]\", \"json_filters\": [{\"values\": \"array\", \"key\": \"string\"}], \"size\": \"string\", \"from\": \"string\", \"page_marker\": \"string\", \"obj_uuids\": \"array\", \"ref_uuids_map\": \"object\", \"detail\": \"boolean\", \"parent_id\": \"array\", \"ext_ref_uuids\": \"array\", \"back_ref_id\": \"array\", \"exclude_shared\": \"boolean\", \"exclude_hrefs\": \"boolean\", \"tag_detail\": \"boolean\", \"count\": \"boolean\", \"fields\": \"array\", \"parent_fq_name_str\": \"array\", \"ref_uuids\": \"array\", \"sortby\": \"string\", \"tag_filters\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "spec": {
                "type": "object",
                "properties": {
                  "ref_fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed reference fields"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Filter by parent type"
                  },
                  "filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input"
                  },
                  "operation": {
                    "default": "AND",
                    "enum": [
                      "AND",
                      "OR"
                    ],
                    "type": "string"
                  },
                  "json_filters": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "values": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "Filter values"
                        },
                        "key": {
                          "type": "string",
                          "title": "Filter key"
                        }
                      }
                    },
                    "type": "array",
                    "title": "QueryFilter in JSON Format"
                  },
                  "size": {
                    "title": "Number of items expected to be returned",
                    "type": "string"
                  },
                  "from": {
                    "title": "Start from items expected to be returned",
                    "type": "string"
                  },
                  "page_marker": {
                    "type": "string",
                    "description": "Include only objects with UUID lexically greater than this."
                  },
                  "obj_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by UUIDs"
                  },
                  "ref_uuids_map": {
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "uuids": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "UUIDs for refs and backrefs"
                        }
                      }
                    },
                    "type": "object",
                    "title": "Filter by ref UUIDss"
                  },
                  "detail": {
                    "title": "Include detail informatoin or not",
                    "type": "boolean"
                  },
                  "parent_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent UUIDs"
                  },
                  "ext_ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by External Ref UUIDss"
                  },
                  "back_ref_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by backref UUIDss"
                  },
                  "exclude_shared": {
                    "title": "Include shared resources or not",
                    "type": "boolean"
                  },
                  "exclude_hrefs": {
                    "title": "Exclude href parameters",
                    "type": "boolean"
                  },
                  "tag_detail": {
                    "title": "Include Tag Details or not",
                    "type": "boolean"
                  },
                  "count": {
                    "type": "boolean"
                  },
                  "fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed fields"
                  },
                  "parent_fq_name_str": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent FQ Name"
                  },
                  "ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by ref UUIDss"
                  },
                  "sortby": {
                    "type": "string",
                    "title": "Sort by column with ascending or descending by default ascending"
                  },
                  "tag_filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by Tag Fields"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceBulkListCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceBulkListCaCertificateBlob",
      "summary": "Bulk list ca-certificate-blobs",
      "description": "This API can be used to list ca-certificate-blob based on specification given in request body.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"spec\": {\"ref_fields\": \"array\", \"parent_type\": \"string\", \"filters\": \"array\", \"operation\": \"Must be one of [AND, OR]\", \"json_filters\": [{\"values\": \"array\", \"key\": \"string\"}], \"size\": \"string\", \"from\": \"string\", \"page_marker\": \"string\", \"obj_uuids\": \"array\", \"ref_uuids_map\": \"object\", \"detail\": \"boolean\", \"parent_id\": \"array\", \"ext_ref_uuids\": \"array\", \"back_ref_id\": \"array\", \"exclude_shared\": \"boolean\", \"exclude_hrefs\": \"boolean\", \"tag_detail\": \"boolean\", \"count\": \"boolean\", \"fields\": \"array\", \"parent_fq_name_str\": \"array\", \"ref_uuids\": \"array\", \"sortby\": \"string\", \"tag_filters\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "spec": {
                "type": "object",
                "properties": {
                  "ref_fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed reference fields"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Filter by parent type"
                  },
                  "filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input"
                  },
                  "operation": {
                    "default": "AND",
                    "enum": [
                      "AND",
                      "OR"
                    ],
                    "type": "string"
                  },
                  "json_filters": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "values": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "Filter values"
                        },
                        "key": {
                          "type": "string",
                          "title": "Filter key"
                        }
                      }
                    },
                    "type": "array",
                    "title": "QueryFilter in JSON Format"
                  },
                  "size": {
                    "title": "Number of items expected to be returned",
                    "type": "string"
                  },
                  "from": {
                    "title": "Start from items expected to be returned",
                    "type": "string"
                  },
                  "page_marker": {
                    "type": "string",
                    "description": "Include only objects with UUID lexically greater than this."
                  },
                  "obj_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by UUIDs"
                  },
                  "ref_uuids_map": {
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "uuids": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "UUIDs for refs and backrefs"
                        }
                      }
                    },
                    "type": "object",
                    "title": "Filter by ref UUIDss"
                  },
                  "detail": {
                    "title": "Include detail informatoin or not",
                    "type": "boolean"
                  },
                  "parent_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent UUIDs"
                  },
                  "ext_ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by External Ref UUIDss"
                  },
                  "back_ref_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by backref UUIDss"
                  },
                  "exclude_shared": {
                    "title": "Include shared resources or not",
                    "type": "boolean"
                  },
                  "exclude_hrefs": {
                    "title": "Exclude href parameters",
                    "type": "boolean"
                  },
                  "tag_detail": {
                    "title": "Include Tag Details or not",
                    "type": "boolean"
                  },
                  "count": {
                    "type": "boolean"
                  },
                  "fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed fields"
                  },
                  "parent_fq_name_str": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent FQ Name"
                  },
                  "ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by ref UUIDss"
                  },
                  "sortby": {
                    "type": "string",
                    "title": "Sort by column with ascending or descending by default ascending"
                  },
                  "tag_filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by Tag Fields"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceBulkListCaCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceUpdateDeletedResource",
      "summary": "Update deleted-resource by ID",
      "description": "Update deleted-resource by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ignore_optimistic_lock\": \"boolean\", \"deleted-resource\": {\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"href\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"data\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"resource_type\": \"string\", \"parent_uuid\": \"string\"}, \"ID\": \"string\", \"fieldMask\": {\"paths\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ignore_optimistic_lock": {
                "type": "boolean"
              },
              "deleted-resource": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "data": {
                    "type": "string",
                    "description": "data of the resource."
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "resource_type": {
                    "type": "string",
                    "description": "Type of the resource."
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              },
              "ID": {
                "type": "string"
              },
              "fieldMask": {
                "title": "`FieldMask` represents a set of symbolic field paths, for example:",
                "type": "object",
                "properties": {
                  "paths": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "The set of field mask paths."
                  }
                },
                "description": "paths: \"f.a\"\n    paths: \"f.b.d\"\n\nHere `f` represents a field in some root message, `a` and `b`\nfields in the message found in `f`, and `d` a field found in the\nmessage in `f.b`.\n\nField masks are used to specify a subset of fields that should be\nreturned by a get operation or modified by an update operation.\nField masks also have a custom JSON encoding (see below).\n\n# Field Masks in Projections\n\nWhen used in the context of a projection, a response message or\nsub-message is filtered by the API to only contain those fields as\nspecified in the mask. For example, if the mask in the previous\nexample is applied to a response message as follows:\n\n    f {\n      a : 22\n      b {\n        d : 1\n        x : 2\n      }\n      y : 13\n    }\n    z: 8\n\nThe result will not contain specific values for fields x,y and z\n(their value will be set to the default, and omitted in proto text\noutput):\n\n\n    f {\n      a : 22\n      b {\n        d : 1\n      }\n    }\n\nA repeated field is not allowed except at the last position of a\npaths string.\n\nIf a FieldMask object is not present in a get operation, the\noperation applies to all fields (as if a FieldMask of all fields\nhad been specified).\n\nNote that a field mask does not necessarily apply to the\ntop-level response message. In case of a REST get operation, the\nfield mask applies directly to the response, but in case of a REST\nlist operation, the mask instead applies to each individual message\nin the returned resource list. In case of a REST custom method,\nother definitions may be used. Where the mask applies will be\nclearly documented together with its declaration in the API.  In\nany case, the effect on the returned resource/resources is required\nbehavior for APIs.\n\n# Field Masks in Update Operations\n\nA field mask in update operations specifies which fields of the\ntargeted resource are going to be updated. The API is required\nto only change the values of the fields as specified in the mask\nand leave the others untouched. If a resource is passed in to\ndescribe the updated values, the API ignores the values of all\nfields not covered by the mask.\n\nIf a repeated field is specified for an update operation, new values will\nbe appended to the existing repeated field in the target resource. Note that\na repeated field is only allowed in the last position of a `paths` string.\n\nIf a sub-message is specified in the last position of the field mask for an\nupdate operation, then new value will be merged into the existing sub-message\nin the target resource.\n\nFor example, given the target message:\n\n    f {\n      b {\n        d: 1\n        x: 2\n      }\n      c: [1]\n    }\n\nAnd an update message:\n\n    f {\n      b {\n        d: 10\n      }\n      c: [2]\n    }\n\nthen if the field mask is:\n\n paths: [\"f.b\", \"f.c\"]\n\nthen the result will be:\n\n    f {\n      b {\n        d: 10\n        x: 2\n      }\n      c: [1, 2]\n    }\n\nAn implementation may provide options to override this default behavior for\nrepeated and message fields.\n\nIn order to reset a field's value to the default, the field must\nbe in the mask and set to the default value in the provided resource.\nHence, in order to reset all fields of a resource, provide a default\ninstance of the resource and set all fields in the mask, or do\nnot provide a mask as described below.\n\nIf a field mask is not present on update, the operation applies to\nall fields (as if a field mask of all fields has been specified).\nNote that in the presence of schema evolution, this may mean that\nfields the client does not know and has therefore not filled into\nthe request will be reset to their default. If this is unwanted\nbehavior, a specific service may require a client to always specify\na field mask, producing an error if not.\n\nAs with get operations, the location of the resource which\ndescribes the updated values in the request message depends on the\noperation kind. In any case, the effect of the field mask is\nrequired to be honored by the API.\n\n## Considerations for HTTP REST\n\nThe HTTP kind of an update operation which uses a field mask must\nbe set to PATCH instead of PUT in order to satisfy HTTP semantics\n(PUT must only be used for full updates).\n\n# JSON Encoding of Field Masks\n\nIn JSON, a field mask is encoded as a single string where paths are\nseparated by a comma. Fields name in each path are converted\nto/from lower-camel naming conventions.\n\nAs an example, consider the following message declarations:\n\n    message Profile {\n      User user = 1;\n      Photo photo = 2;\n    }\n    message User {\n      string display_name = 1;\n      string address = 2;\n    }\n\nIn proto a field mask for `Profile` may look as such:\n\n    mask {\n      paths: \"user.display_name\"\n      paths: \"photo\"\n    }\n\nIn JSON, the same mask is represented as below:\n\n    {\n      mask: \"user.displayName,photo\"\n    }\n\n# Field Masks and Oneof Fields\n\nField masks treat fields in oneofs just as regular fields. Consider the\nfollowing message:\n\n    message SampleMessage {\n      oneof test_oneof {\n        string name = 4;\n        SubMessage sub_message = 9;\n      }\n    }\n\nThe field mask can be:\n\n    mask {\n      paths: \"name\"\n    }\n\nOr:\n\n    mask {\n      paths: \"sub_message\"\n    }\n\nNote that oneof type names (\"test_oneof\" in this case) cannot be used in\npaths.\n\n## Field Mask Verification\n\nThe implementation of any API method which has a FieldMask type field in the\nrequest should verify the included field paths, and return an\n`INVALID_ARGUMENT` error if any path is unmappable."
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceUpdateDeletedResource"
      },
      "task": true
    },
    {
      "name": "dpmServiceDeleteDeletedResource",
      "summary": "Delete deleted-resource by ID",
      "description": "Delete deleted-resource by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "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": "/dpmServiceDeleteDeletedResource"
      },
      "task": true
    },
    {
      "name": "dpmServiceGetDeletedResource",
      "summary": "Get deleted-resource by ID",
      "description": "Get deleted-resource by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "detail",
          "type": "boolean",
          "info": "if detail is set then reference uuids & child uuids will be returned in the response.: boolean",
          "required": false,
          "schema": {
            "title": "detail",
            "type": "boolean"
          }
        },
        {
          "name": "fields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "array"
          }
        },
        {
          "name": "refFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "refFields",
            "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": "/dpmServiceGetDeletedResource"
      },
      "task": true
    },
    {
      "name": "dpmServiceUpdateCaCertificateBlob",
      "summary": "Update ca-certificate-blob by ID",
      "description": "Update ca-certificate-blob by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ca-certificate-blob\": {\"updated_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"device_uuid\": \"string\", \"href\": \"string\", \"certificate_contents\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"parent_uuid\": \"string\"}, \"ignore_optimistic_lock\": \"boolean\", \"ID\": \"string\", \"fieldMask\": {\"paths\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ca-certificate-blob": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "device_uuid": {
                    "type": "string",
                    "title": "uuid of the associated device"
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "certificate_contents": {
                    "title": "ca certificate contents",
                    "type": "string"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              },
              "ignore_optimistic_lock": {
                "type": "boolean"
              },
              "ID": {
                "type": "string"
              },
              "fieldMask": {
                "title": "`FieldMask` represents a set of symbolic field paths, for example:",
                "type": "object",
                "properties": {
                  "paths": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "The set of field mask paths."
                  }
                },
                "description": "paths: \"f.a\"\n    paths: \"f.b.d\"\n\nHere `f` represents a field in some root message, `a` and `b`\nfields in the message found in `f`, and `d` a field found in the\nmessage in `f.b`.\n\nField masks are used to specify a subset of fields that should be\nreturned by a get operation or modified by an update operation.\nField masks also have a custom JSON encoding (see below).\n\n# Field Masks in Projections\n\nWhen used in the context of a projection, a response message or\nsub-message is filtered by the API to only contain those fields as\nspecified in the mask. For example, if the mask in the previous\nexample is applied to a response message as follows:\n\n    f {\n      a : 22\n      b {\n        d : 1\n        x : 2\n      }\n      y : 13\n    }\n    z: 8\n\nThe result will not contain specific values for fields x,y and z\n(their value will be set to the default, and omitted in proto text\noutput):\n\n\n    f {\n      a : 22\n      b {\n        d : 1\n      }\n    }\n\nA repeated field is not allowed except at the last position of a\npaths string.\n\nIf a FieldMask object is not present in a get operation, the\noperation applies to all fields (as if a FieldMask of all fields\nhad been specified).\n\nNote that a field mask does not necessarily apply to the\ntop-level response message. In case of a REST get operation, the\nfield mask applies directly to the response, but in case of a REST\nlist operation, the mask instead applies to each individual message\nin the returned resource list. In case of a REST custom method,\nother definitions may be used. Where the mask applies will be\nclearly documented together with its declaration in the API.  In\nany case, the effect on the returned resource/resources is required\nbehavior for APIs.\n\n# Field Masks in Update Operations\n\nA field mask in update operations specifies which fields of the\ntargeted resource are going to be updated. The API is required\nto only change the values of the fields as specified in the mask\nand leave the others untouched. If a resource is passed in to\ndescribe the updated values, the API ignores the values of all\nfields not covered by the mask.\n\nIf a repeated field is specified for an update operation, new values will\nbe appended to the existing repeated field in the target resource. Note that\na repeated field is only allowed in the last position of a `paths` string.\n\nIf a sub-message is specified in the last position of the field mask for an\nupdate operation, then new value will be merged into the existing sub-message\nin the target resource.\n\nFor example, given the target message:\n\n    f {\n      b {\n        d: 1\n        x: 2\n      }\n      c: [1]\n    }\n\nAnd an update message:\n\n    f {\n      b {\n        d: 10\n      }\n      c: [2]\n    }\n\nthen if the field mask is:\n\n paths: [\"f.b\", \"f.c\"]\n\nthen the result will be:\n\n    f {\n      b {\n        d: 10\n        x: 2\n      }\n      c: [1, 2]\n    }\n\nAn implementation may provide options to override this default behavior for\nrepeated and message fields.\n\nIn order to reset a field's value to the default, the field must\nbe in the mask and set to the default value in the provided resource.\nHence, in order to reset all fields of a resource, provide a default\ninstance of the resource and set all fields in the mask, or do\nnot provide a mask as described below.\n\nIf a field mask is not present on update, the operation applies to\nall fields (as if a field mask of all fields has been specified).\nNote that in the presence of schema evolution, this may mean that\nfields the client does not know and has therefore not filled into\nthe request will be reset to their default. If this is unwanted\nbehavior, a specific service may require a client to always specify\na field mask, producing an error if not.\n\nAs with get operations, the location of the resource which\ndescribes the updated values in the request message depends on the\noperation kind. In any case, the effect of the field mask is\nrequired to be honored by the API.\n\n## Considerations for HTTP REST\n\nThe HTTP kind of an update operation which uses a field mask must\nbe set to PATCH instead of PUT in order to satisfy HTTP semantics\n(PUT must only be used for full updates).\n\n# JSON Encoding of Field Masks\n\nIn JSON, a field mask is encoded as a single string where paths are\nseparated by a comma. Fields name in each path are converted\nto/from lower-camel naming conventions.\n\nAs an example, consider the following message declarations:\n\n    message Profile {\n      User user = 1;\n      Photo photo = 2;\n    }\n    message User {\n      string display_name = 1;\n      string address = 2;\n    }\n\nIn proto a field mask for `Profile` may look as such:\n\n    mask {\n      paths: \"user.display_name\"\n      paths: \"photo\"\n    }\n\nIn JSON, the same mask is represented as below:\n\n    {\n      mask: \"user.displayName,photo\"\n    }\n\n# Field Masks and Oneof Fields\n\nField masks treat fields in oneofs just as regular fields. Consider the\nfollowing message:\n\n    message SampleMessage {\n      oneof test_oneof {\n        string name = 4;\n        SubMessage sub_message = 9;\n      }\n    }\n\nThe field mask can be:\n\n    mask {\n      paths: \"name\"\n    }\n\nOr:\n\n    mask {\n      paths: \"sub_message\"\n    }\n\nNote that oneof type names (\"test_oneof\" in this case) cannot be used in\npaths.\n\n## Field Mask Verification\n\nThe implementation of any API method which has a FieldMask type field in the\nrequest should verify the included field paths, and return an\n`INVALID_ARGUMENT` error if any path is unmappable."
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceUpdateCaCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceDeleteCaCertificateBlob",
      "summary": "Delete ca-certificate-blob by ID",
      "description": "Delete ca-certificate-blob by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "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": "/dpmServiceDeleteCaCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceGetCaCertificateBlob",
      "summary": "Get ca-certificate-blob by ID",
      "description": "Get ca-certificate-blob by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "detail",
          "type": "boolean",
          "info": "if detail is set then reference uuids & child uuids will be returned in the response.: boolean",
          "required": false,
          "schema": {
            "title": "detail",
            "type": "boolean"
          }
        },
        {
          "name": "fields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "array"
          }
        },
        {
          "name": "refFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "refFields",
            "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": "/dpmServiceGetCaCertificateBlob"
      },
      "task": true
    },
    {
      "name": "dpmServiceBulkListLastPublishedNotification",
      "summary": "Bulk list last-published-notifications",
      "description": "This API can be used to list last-published-notification based on specification given in request body.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"spec\": {\"ref_fields\": \"array\", \"parent_type\": \"string\", \"filters\": \"array\", \"operation\": \"Must be one of [AND, OR]\", \"json_filters\": [{\"values\": \"array\", \"key\": \"string\"}], \"size\": \"string\", \"from\": \"string\", \"page_marker\": \"string\", \"obj_uuids\": \"array\", \"ref_uuids_map\": \"object\", \"detail\": \"boolean\", \"parent_id\": \"array\", \"ext_ref_uuids\": \"array\", \"back_ref_id\": \"array\", \"exclude_shared\": \"boolean\", \"exclude_hrefs\": \"boolean\", \"tag_detail\": \"boolean\", \"count\": \"boolean\", \"fields\": \"array\", \"parent_fq_name_str\": \"array\", \"ref_uuids\": \"array\", \"sortby\": \"string\", \"tag_filters\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "spec": {
                "type": "object",
                "properties": {
                  "ref_fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed reference fields"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Filter by parent type"
                  },
                  "filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input"
                  },
                  "operation": {
                    "default": "AND",
                    "enum": [
                      "AND",
                      "OR"
                    ],
                    "type": "string"
                  },
                  "json_filters": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "values": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "Filter values"
                        },
                        "key": {
                          "type": "string",
                          "title": "Filter key"
                        }
                      }
                    },
                    "type": "array",
                    "title": "QueryFilter in JSON Format"
                  },
                  "size": {
                    "title": "Number of items expected to be returned",
                    "type": "string"
                  },
                  "from": {
                    "title": "Start from items expected to be returned",
                    "type": "string"
                  },
                  "page_marker": {
                    "type": "string",
                    "description": "Include only objects with UUID lexically greater than this."
                  },
                  "obj_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by UUIDs"
                  },
                  "ref_uuids_map": {
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "uuids": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "UUIDs for refs and backrefs"
                        }
                      }
                    },
                    "type": "object",
                    "title": "Filter by ref UUIDss"
                  },
                  "detail": {
                    "title": "Include detail informatoin or not",
                    "type": "boolean"
                  },
                  "parent_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent UUIDs"
                  },
                  "ext_ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by External Ref UUIDss"
                  },
                  "back_ref_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by backref UUIDss"
                  },
                  "exclude_shared": {
                    "title": "Include shared resources or not",
                    "type": "boolean"
                  },
                  "exclude_hrefs": {
                    "title": "Exclude href parameters",
                    "type": "boolean"
                  },
                  "tag_detail": {
                    "title": "Include Tag Details or not",
                    "type": "boolean"
                  },
                  "count": {
                    "type": "boolean"
                  },
                  "fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed fields"
                  },
                  "parent_fq_name_str": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent FQ Name"
                  },
                  "ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by ref UUIDss"
                  },
                  "sortby": {
                    "type": "string",
                    "title": "Sort by column with ascending or descending by default ascending"
                  },
                  "tag_filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by Tag Fields"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceBulkListLastPublishedNotification"
      },
      "task": true
    },
    {
      "name": "dpmServiceBulkRefUpdate",
      "summary": "Bulk reference updates",
      "description": "This API can be used to ADD/DELETE multiple references between two resources.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"refs\": [{\"ref-type\": \"string\", \"ref-uuid\": \"string\", \"operation\": \"string\", \"type\": \"string\", \"uuid\": \"string\"}], \"type\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "refs": {
                "items": {
                  "type": "object",
                  "properties": {
                    "ref-type": {
                      "type": "string"
                    },
                    "ref-uuid": {
                      "type": "string"
                    },
                    "operation": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "uuid": {
                      "type": "string"
                    }
                  }
                },
                "type": "array"
              },
              "type": {
                "type": "string"
              },
              "uuid": {
                "type": "string"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceBulkRefUpdate"
      },
      "task": true
    },
    {
      "name": "dpmServiceBulkListImage",
      "summary": "Bulk list images",
      "description": "This API can be used to list image based on specification given in request body.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"spec\": {\"ref_fields\": \"array\", \"parent_type\": \"string\", \"filters\": \"array\", \"operation\": \"Must be one of [AND, OR]\", \"json_filters\": [{\"values\": \"array\", \"key\": \"string\"}], \"size\": \"string\", \"from\": \"string\", \"page_marker\": \"string\", \"obj_uuids\": \"array\", \"ref_uuids_map\": \"object\", \"detail\": \"boolean\", \"parent_id\": \"array\", \"ext_ref_uuids\": \"array\", \"back_ref_id\": \"array\", \"exclude_shared\": \"boolean\", \"exclude_hrefs\": \"boolean\", \"tag_detail\": \"boolean\", \"count\": \"boolean\", \"fields\": \"array\", \"parent_fq_name_str\": \"array\", \"ref_uuids\": \"array\", \"sortby\": \"string\", \"tag_filters\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "spec": {
                "type": "object",
                "properties": {
                  "ref_fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed reference fields"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Filter by parent type"
                  },
                  "filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input"
                  },
                  "operation": {
                    "default": "AND",
                    "enum": [
                      "AND",
                      "OR"
                    ],
                    "type": "string"
                  },
                  "json_filters": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "values": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "Filter values"
                        },
                        "key": {
                          "type": "string",
                          "title": "Filter key"
                        }
                      }
                    },
                    "type": "array",
                    "title": "QueryFilter in JSON Format"
                  },
                  "size": {
                    "title": "Number of items expected to be returned",
                    "type": "string"
                  },
                  "from": {
                    "title": "Start from items expected to be returned",
                    "type": "string"
                  },
                  "page_marker": {
                    "type": "string",
                    "description": "Include only objects with UUID lexically greater than this."
                  },
                  "obj_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by UUIDs"
                  },
                  "ref_uuids_map": {
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "uuids": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "title": "UUIDs for refs and backrefs"
                        }
                      }
                    },
                    "type": "object",
                    "title": "Filter by ref UUIDss"
                  },
                  "detail": {
                    "title": "Include detail informatoin or not",
                    "type": "boolean"
                  },
                  "parent_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent UUIDs"
                  },
                  "ext_ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by External Ref UUIDss"
                  },
                  "back_ref_id": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by backref UUIDss"
                  },
                  "exclude_shared": {
                    "title": "Include shared resources or not",
                    "type": "boolean"
                  },
                  "exclude_hrefs": {
                    "title": "Exclude href parameters",
                    "type": "boolean"
                  },
                  "tag_detail": {
                    "title": "Include Tag Details or not",
                    "type": "boolean"
                  },
                  "count": {
                    "type": "boolean"
                  },
                  "fields": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "limit displayed fields"
                  },
                  "parent_fq_name_str": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by parent FQ Name"
                  },
                  "ref_uuids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by ref UUIDss"
                  },
                  "sortby": {
                    "type": "string",
                    "title": "Sort by column with ascending or descending by default ascending"
                  },
                  "tag_filters": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Filter by Tag Fields"
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceBulkListImage"
      },
      "task": true
    },
    {
      "name": "dpmServiceCreateImage",
      "summary": "Create image",
      "description": "Create image",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"image\": {\"parent_uuid\": \"string\", \"parent_type\": \"string\", \"href\": \"string\", \"created_timestamp\": \"string\", \"updated_by\": \"string\", \"updated_timestamp\": \"string\", \"uuid\": \"string\", \"configuration_version\": \"string\", \"image_type\": \"string\", \"created_by\": \"string\", \"version\": \"string\", \"supported_platforms\": \"array\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"vendor\": \"string\", \"description\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"file_id\": \"string\", \"image_size\": \"string\", \"device\": [{\"component\": \"string\", \"device_uuid\": \"string\"}], \"name\": \"string\", \"upload_timestamp\": \"string\", \"file_uri\": \"string\", \"sha1_hash\": \"string\", \"device_family\": \"array\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "image": {
                "type": "object",
                "properties": {
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "image_type": {
                    "type": "string",
                    "title": "Type of image such as device_image, vnf_image, jms_image"
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "version": {
                    "type": "string",
                    "title": "version"
                  },
                  "supported_platforms": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "List of supported models for this image"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "vendor": {
                    "type": "string",
                    "title": "Vendor name"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "file_id": {
                    "type": "string",
                    "title": "ID of the file in db/cloud storage"
                  },
                  "image_size": {
                    "title": "Image file size in bytes",
                    "type": "string"
                  },
                  "device": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "component": {
                          "type": "string",
                          "description": "Name of the component that this image is intended."
                        },
                        "device_uuid": {
                          "type": "string",
                          "title": "The uuid of the device"
                        }
                      }
                    },
                    "type": "array",
                    "description": "List of devices the image is staged to."
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "upload_timestamp": {
                    "title": "Upload timestamp",
                    "type": "string"
                  },
                  "file_uri": {
                    "type": "string",
                    "title": "Image file URI on the file server"
                  },
                  "sha1_hash": {
                    "type": "string",
                    "title": "Image file sha1"
                  },
                  "device_family": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Applicable device family"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceCreateImage"
      },
      "task": true
    },
    {
      "name": "dpmServiceListImage",
      "summary": "List images",
      "description": "This API can be used to list image based on specification given in query parameters.",
      "input": [
        {
          "name": "specSize",
          "type": "string",
          "info": "Number of items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specSize",
            "type": "string"
          }
        },
        {
          "name": "specPageMarker",
          "type": "string",
          "info": "Include only objects with UUID lexically greater than this.: string",
          "required": false,
          "schema": {
            "title": "specPageMarker",
            "type": "string"
          }
        },
        {
          "name": "specDetail",
          "type": "boolean",
          "info": "Include detail informatoin or not.: boolean",
          "required": false,
          "schema": {
            "title": "specDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specCount",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "specCount",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeShared",
          "type": "boolean",
          "info": "Include shared resources or not.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeShared",
            "type": "boolean"
          }
        },
        {
          "name": "specExcludeHrefs",
          "type": "boolean",
          "info": "Exclude href parameters.: boolean",
          "required": false,
          "schema": {
            "title": "specExcludeHrefs",
            "type": "boolean"
          }
        },
        {
          "name": "specParentFqNameStr",
          "type": "array",
          "info": "Filter by parent FQ Name.: array",
          "required": false,
          "schema": {
            "title": "specParentFqNameStr",
            "type": "array"
          }
        },
        {
          "name": "specParentType",
          "type": "string",
          "info": "Filter by parent type.: string",
          "required": false,
          "schema": {
            "title": "specParentType",
            "type": "string"
          }
        },
        {
          "name": "specParentId",
          "type": "array",
          "info": "Filter by parent UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specParentId",
            "type": "array"
          }
        },
        {
          "name": "specBackRefId",
          "type": "array",
          "info": "Filter by backref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specBackRefId",
            "type": "array"
          }
        },
        {
          "name": "specObjUuids",
          "type": "array",
          "info": "Filter by UUIDs.: array",
          "required": false,
          "schema": {
            "title": "specObjUuids",
            "type": "array"
          }
        },
        {
          "name": "specFields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "specFields",
            "type": "array"
          }
        },
        {
          "name": "specFilters",
          "type": "array",
          "info": "QueryFilter in string format.\nGrpc-gateway doesn't have support for nested structs and maps so\nintroducing new fields which will take string as input.: array",
          "required": false,
          "schema": {
            "title": "specFilters",
            "type": "array"
          }
        },
        {
          "name": "specRefUuids",
          "type": "array",
          "info": "Filter by ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specRefUuids",
            "type": "array"
          }
        },
        {
          "name": "specFrom",
          "type": "string",
          "info": "Start from items expected to be returned.: string",
          "required": false,
          "schema": {
            "title": "specFrom",
            "type": "string"
          }
        },
        {
          "name": "specSortby",
          "type": "string",
          "info": "Sort by column with ascending or descending by default ascending.: string",
          "required": false,
          "schema": {
            "title": "specSortby",
            "type": "string"
          }
        },
        {
          "name": "specOperation",
          "type": "string",
          "info": "Operation determines whether union or interjection.: Must be one of [AND, OR]",
          "required": false,
          "schema": {
            "title": "specOperation",
            "type": "string"
          }
        },
        {
          "name": "specTagFilters",
          "type": "array",
          "info": "Filter by Tag Fields.: array",
          "required": false,
          "schema": {
            "title": "specTagFilters",
            "type": "array"
          }
        },
        {
          "name": "specTagDetail",
          "type": "boolean",
          "info": "Include Tag Details or not.: boolean",
          "required": false,
          "schema": {
            "title": "specTagDetail",
            "type": "boolean"
          }
        },
        {
          "name": "specRefFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "specRefFields",
            "type": "array"
          }
        },
        {
          "name": "specExtRefUuids",
          "type": "array",
          "info": "Filter by External Ref UUIDss.: array",
          "required": false,
          "schema": {
            "title": "specExtRefUuids",
            "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": "/dpmServiceListImage"
      },
      "task": true
    },
    {
      "name": "dpmServiceUpdateImage",
      "summary": "Update image by ID",
      "description": "Update image by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"image\": {\"parent_uuid\": \"string\", \"parent_type\": \"string\", \"href\": \"string\", \"created_timestamp\": \"string\", \"updated_by\": \"string\", \"updated_timestamp\": \"string\", \"uuid\": \"string\", \"configuration_version\": \"string\", \"image_type\": \"string\", \"created_by\": \"string\", \"version\": \"string\", \"supported_platforms\": \"array\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"vendor\": \"string\", \"description\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"file_id\": \"string\", \"image_size\": \"string\", \"device\": [{\"component\": \"string\", \"device_uuid\": \"string\"}], \"name\": \"string\", \"upload_timestamp\": \"string\", \"file_uri\": \"string\", \"sha1_hash\": \"string\", \"device_family\": \"array\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}}, \"ID\": \"string\", \"ignore_optimistic_lock\": \"boolean\", \"fieldMask\": {\"paths\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "image": {
                "type": "object",
                "properties": {
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "image_type": {
                    "type": "string",
                    "title": "Type of image such as device_image, vnf_image, jms_image"
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "version": {
                    "type": "string",
                    "title": "version"
                  },
                  "supported_platforms": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "List of supported models for this image"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "vendor": {
                    "type": "string",
                    "title": "Vendor name"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "file_id": {
                    "type": "string",
                    "title": "ID of the file in db/cloud storage"
                  },
                  "image_size": {
                    "title": "Image file size in bytes",
                    "type": "string"
                  },
                  "device": {
                    "items": {
                      "type": "object",
                      "properties": {
                        "component": {
                          "type": "string",
                          "description": "Name of the component that this image is intended."
                        },
                        "device_uuid": {
                          "type": "string",
                          "title": "The uuid of the device"
                        }
                      }
                    },
                    "type": "array",
                    "description": "List of devices the image is staged to."
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "upload_timestamp": {
                    "title": "Upload timestamp",
                    "type": "string"
                  },
                  "file_uri": {
                    "type": "string",
                    "title": "Image file URI on the file server"
                  },
                  "sha1_hash": {
                    "type": "string",
                    "title": "Image file sha1"
                  },
                  "device_family": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "title": "Applicable device family"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  }
                }
              },
              "ID": {
                "type": "string"
              },
              "ignore_optimistic_lock": {
                "type": "boolean"
              },
              "fieldMask": {
                "title": "`FieldMask` represents a set of symbolic field paths, for example:",
                "type": "object",
                "properties": {
                  "paths": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "The set of field mask paths."
                  }
                },
                "description": "paths: \"f.a\"\n    paths: \"f.b.d\"\n\nHere `f` represents a field in some root message, `a` and `b`\nfields in the message found in `f`, and `d` a field found in the\nmessage in `f.b`.\n\nField masks are used to specify a subset of fields that should be\nreturned by a get operation or modified by an update operation.\nField masks also have a custom JSON encoding (see below).\n\n# Field Masks in Projections\n\nWhen used in the context of a projection, a response message or\nsub-message is filtered by the API to only contain those fields as\nspecified in the mask. For example, if the mask in the previous\nexample is applied to a response message as follows:\n\n    f {\n      a : 22\n      b {\n        d : 1\n        x : 2\n      }\n      y : 13\n    }\n    z: 8\n\nThe result will not contain specific values for fields x,y and z\n(their value will be set to the default, and omitted in proto text\noutput):\n\n\n    f {\n      a : 22\n      b {\n        d : 1\n      }\n    }\n\nA repeated field is not allowed except at the last position of a\npaths string.\n\nIf a FieldMask object is not present in a get operation, the\noperation applies to all fields (as if a FieldMask of all fields\nhad been specified).\n\nNote that a field mask does not necessarily apply to the\ntop-level response message. In case of a REST get operation, the\nfield mask applies directly to the response, but in case of a REST\nlist operation, the mask instead applies to each individual message\nin the returned resource list. In case of a REST custom method,\nother definitions may be used. Where the mask applies will be\nclearly documented together with its declaration in the API.  In\nany case, the effect on the returned resource/resources is required\nbehavior for APIs.\n\n# Field Masks in Update Operations\n\nA field mask in update operations specifies which fields of the\ntargeted resource are going to be updated. The API is required\nto only change the values of the fields as specified in the mask\nand leave the others untouched. If a resource is passed in to\ndescribe the updated values, the API ignores the values of all\nfields not covered by the mask.\n\nIf a repeated field is specified for an update operation, new values will\nbe appended to the existing repeated field in the target resource. Note that\na repeated field is only allowed in the last position of a `paths` string.\n\nIf a sub-message is specified in the last position of the field mask for an\nupdate operation, then new value will be merged into the existing sub-message\nin the target resource.\n\nFor example, given the target message:\n\n    f {\n      b {\n        d: 1\n        x: 2\n      }\n      c: [1]\n    }\n\nAnd an update message:\n\n    f {\n      b {\n        d: 10\n      }\n      c: [2]\n    }\n\nthen if the field mask is:\n\n paths: [\"f.b\", \"f.c\"]\n\nthen the result will be:\n\n    f {\n      b {\n        d: 10\n        x: 2\n      }\n      c: [1, 2]\n    }\n\nAn implementation may provide options to override this default behavior for\nrepeated and message fields.\n\nIn order to reset a field's value to the default, the field must\nbe in the mask and set to the default value in the provided resource.\nHence, in order to reset all fields of a resource, provide a default\ninstance of the resource and set all fields in the mask, or do\nnot provide a mask as described below.\n\nIf a field mask is not present on update, the operation applies to\nall fields (as if a field mask of all fields has been specified).\nNote that in the presence of schema evolution, this may mean that\nfields the client does not know and has therefore not filled into\nthe request will be reset to their default. If this is unwanted\nbehavior, a specific service may require a client to always specify\na field mask, producing an error if not.\n\nAs with get operations, the location of the resource which\ndescribes the updated values in the request message depends on the\noperation kind. In any case, the effect of the field mask is\nrequired to be honored by the API.\n\n## Considerations for HTTP REST\n\nThe HTTP kind of an update operation which uses a field mask must\nbe set to PATCH instead of PUT in order to satisfy HTTP semantics\n(PUT must only be used for full updates).\n\n# JSON Encoding of Field Masks\n\nIn JSON, a field mask is encoded as a single string where paths are\nseparated by a comma. Fields name in each path are converted\nto/from lower-camel naming conventions.\n\nAs an example, consider the following message declarations:\n\n    message Profile {\n      User user = 1;\n      Photo photo = 2;\n    }\n    message User {\n      string display_name = 1;\n      string address = 2;\n    }\n\nIn proto a field mask for `Profile` may look as such:\n\n    mask {\n      paths: \"user.display_name\"\n      paths: \"photo\"\n    }\n\nIn JSON, the same mask is represented as below:\n\n    {\n      mask: \"user.displayName,photo\"\n    }\n\n# Field Masks and Oneof Fields\n\nField masks treat fields in oneofs just as regular fields. Consider the\nfollowing message:\n\n    message SampleMessage {\n      oneof test_oneof {\n        string name = 4;\n        SubMessage sub_message = 9;\n      }\n    }\n\nThe field mask can be:\n\n    mask {\n      paths: \"name\"\n    }\n\nOr:\n\n    mask {\n      paths: \"sub_message\"\n    }\n\nNote that oneof type names (\"test_oneof\" in this case) cannot be used in\npaths.\n\n## Field Mask Verification\n\nThe implementation of any API method which has a FieldMask type field in the\nrequest should verify the included field paths, and return an\n`INVALID_ARGUMENT` error if any path is unmappable."
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceUpdateImage"
      },
      "task": true
    },
    {
      "name": "dpmServiceDeleteImage",
      "summary": "Delete image by ID",
      "description": "Delete image by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "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": "/dpmServiceDeleteImage"
      },
      "task": true
    },
    {
      "name": "dpmServiceGetImage",
      "summary": "Get image by ID",
      "description": "Get image by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "detail",
          "type": "boolean",
          "info": "if detail is set then reference uuids & child uuids will be returned in the response.: boolean",
          "required": false,
          "schema": {
            "title": "detail",
            "type": "boolean"
          }
        },
        {
          "name": "fields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "array"
          }
        },
        {
          "name": "refFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "refFields",
            "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": "/dpmServiceGetImage"
      },
      "task": true
    },
    {
      "name": "dpmServiceUpdateLastPublishedNotification",
      "summary": "Update last-published-notification by ID",
      "description": "Update last-published-notification by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ignore_optimistic_lock\": \"boolean\", \"last-published-notification\": {\"updated_timestamp\": \"string\", \"last_published_timestamp\": \"string\", \"description\": \"string\", \"configuration_version\": \"string\", \"href\": \"string\", \"parent_type\": \"string\", \"uuid\": \"string\", \"perms2\": {\"owner\": \"string\", \"global_access\": \"string\", \"share\": [{\"access\": \"string\", \"scope\": \"string\", \"levels\": \"string\", \"scope_types\": \"array\"}]}, \"name\": \"string\", \"meta\": {\"enable\": \"boolean\", \"user_visible\": \"boolean\"}, \"created_by\": \"string\", \"updated_by\": \"string\", \"created_timestamp\": \"string\", \"annotations\": {\"key_value_pair\": [{\"key\": \"string\", \"value\": \"string\"}]}, \"resource_type\": \"string\", \"parent_uuid\": \"string\"}, \"ID\": \"string\", \"fieldMask\": {\"paths\": \"array\"}}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ignore_optimistic_lock": {
                "type": "boolean"
              },
              "last-published-notification": {
                "type": "object",
                "properties": {
                  "updated_timestamp": {
                    "title": "Updated Timestamp for the object",
                    "type": "string"
                  },
                  "last_published_timestamp": {
                    "title": "The last published timestamp for the notification",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "title": "Description of the object"
                  },
                  "configuration_version": {
                    "type": "string",
                    "description": "Configuration Version for the object."
                  },
                  "href": {
                    "type": "string",
                    "title": "Instance reference URL"
                  },
                  "parent_type": {
                    "type": "string",
                    "title": "Parent resource type"
                  },
                  "uuid": {
                    "type": "string",
                    "title": "UUID of the object, system automatically allocates one if not provided"
                  },
                  "perms2": {
                    "type": "object",
                    "properties": {
                      "owner": {
                        "type": "string",
                        "title": "Owner project of the object"
                      },
                      "global_access": {
                        "title": "Share the object globally",
                        "type": "string"
                      },
                      "share": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "access": {
                              "title": "Allowed permissions in sharing",
                              "type": "string"
                            },
                            "scope": {
                              "type": "string",
                              "title": "ID of the scope to which the object is shared"
                            },
                            "levels": {
                              "title": "Number of level to which share should be applied",
                              "type": "string"
                            },
                            "scope_types": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "title": "Only apply share for specific types"
                            }
                          }
                        },
                        "type": "array",
                        "title": "Selectively shared object, List of (project, permissions)"
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "title": "Name of the object, defaults to &#39;default-&lt;resource-type&gt;&#39;"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "enable": {
                        "title": "Administratively Enable/Disable this object",
                        "type": "boolean"
                      },
                      "user_visible": {
                        "title": "System created internal objects will have this flag set and will not be visible",
                        "type": "boolean"
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "title": "user who created this object"
                  },
                  "updated_by": {
                    "type": "string",
                    "title": "user who updated this object"
                  },
                  "created_timestamp": {
                    "title": "Created Timestamp for the object",
                    "type": "string"
                  },
                  "annotations": {
                    "type": "object",
                    "properties": {
                      "key_value_pair": {
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        },
                        "type": "array"
                      }
                    }
                  },
                  "resource_type": {
                    "type": "string",
                    "description": "Type of the resource."
                  },
                  "parent_uuid": {
                    "type": "string",
                    "title": "UUID of the parent object"
                  }
                }
              },
              "ID": {
                "type": "string"
              },
              "fieldMask": {
                "title": "`FieldMask` represents a set of symbolic field paths, for example:",
                "type": "object",
                "properties": {
                  "paths": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "The set of field mask paths."
                  }
                },
                "description": "paths: \"f.a\"\n    paths: \"f.b.d\"\n\nHere `f` represents a field in some root message, `a` and `b`\nfields in the message found in `f`, and `d` a field found in the\nmessage in `f.b`.\n\nField masks are used to specify a subset of fields that should be\nreturned by a get operation or modified by an update operation.\nField masks also have a custom JSON encoding (see below).\n\n# Field Masks in Projections\n\nWhen used in the context of a projection, a response message or\nsub-message is filtered by the API to only contain those fields as\nspecified in the mask. For example, if the mask in the previous\nexample is applied to a response message as follows:\n\n    f {\n      a : 22\n      b {\n        d : 1\n        x : 2\n      }\n      y : 13\n    }\n    z: 8\n\nThe result will not contain specific values for fields x,y and z\n(their value will be set to the default, and omitted in proto text\noutput):\n\n\n    f {\n      a : 22\n      b {\n        d : 1\n      }\n    }\n\nA repeated field is not allowed except at the last position of a\npaths string.\n\nIf a FieldMask object is not present in a get operation, the\noperation applies to all fields (as if a FieldMask of all fields\nhad been specified).\n\nNote that a field mask does not necessarily apply to the\ntop-level response message. In case of a REST get operation, the\nfield mask applies directly to the response, but in case of a REST\nlist operation, the mask instead applies to each individual message\nin the returned resource list. In case of a REST custom method,\nother definitions may be used. Where the mask applies will be\nclearly documented together with its declaration in the API.  In\nany case, the effect on the returned resource/resources is required\nbehavior for APIs.\n\n# Field Masks in Update Operations\n\nA field mask in update operations specifies which fields of the\ntargeted resource are going to be updated. The API is required\nto only change the values of the fields as specified in the mask\nand leave the others untouched. If a resource is passed in to\ndescribe the updated values, the API ignores the values of all\nfields not covered by the mask.\n\nIf a repeated field is specified for an update operation, new values will\nbe appended to the existing repeated field in the target resource. Note that\na repeated field is only allowed in the last position of a `paths` string.\n\nIf a sub-message is specified in the last position of the field mask for an\nupdate operation, then new value will be merged into the existing sub-message\nin the target resource.\n\nFor example, given the target message:\n\n    f {\n      b {\n        d: 1\n        x: 2\n      }\n      c: [1]\n    }\n\nAnd an update message:\n\n    f {\n      b {\n        d: 10\n      }\n      c: [2]\n    }\n\nthen if the field mask is:\n\n paths: [\"f.b\", \"f.c\"]\n\nthen the result will be:\n\n    f {\n      b {\n        d: 10\n        x: 2\n      }\n      c: [1, 2]\n    }\n\nAn implementation may provide options to override this default behavior for\nrepeated and message fields.\n\nIn order to reset a field's value to the default, the field must\nbe in the mask and set to the default value in the provided resource.\nHence, in order to reset all fields of a resource, provide a default\ninstance of the resource and set all fields in the mask, or do\nnot provide a mask as described below.\n\nIf a field mask is not present on update, the operation applies to\nall fields (as if a field mask of all fields has been specified).\nNote that in the presence of schema evolution, this may mean that\nfields the client does not know and has therefore not filled into\nthe request will be reset to their default. If this is unwanted\nbehavior, a specific service may require a client to always specify\na field mask, producing an error if not.\n\nAs with get operations, the location of the resource which\ndescribes the updated values in the request message depends on the\noperation kind. In any case, the effect of the field mask is\nrequired to be honored by the API.\n\n## Considerations for HTTP REST\n\nThe HTTP kind of an update operation which uses a field mask must\nbe set to PATCH instead of PUT in order to satisfy HTTP semantics\n(PUT must only be used for full updates).\n\n# JSON Encoding of Field Masks\n\nIn JSON, a field mask is encoded as a single string where paths are\nseparated by a comma. Fields name in each path are converted\nto/from lower-camel naming conventions.\n\nAs an example, consider the following message declarations:\n\n    message Profile {\n      User user = 1;\n      Photo photo = 2;\n    }\n    message User {\n      string display_name = 1;\n      string address = 2;\n    }\n\nIn proto a field mask for `Profile` may look as such:\n\n    mask {\n      paths: \"user.display_name\"\n      paths: \"photo\"\n    }\n\nIn JSON, the same mask is represented as below:\n\n    {\n      mask: \"user.displayName,photo\"\n    }\n\n# Field Masks and Oneof Fields\n\nField masks treat fields in oneofs just as regular fields. Consider the\nfollowing message:\n\n    message SampleMessage {\n      oneof test_oneof {\n        string name = 4;\n        SubMessage sub_message = 9;\n      }\n    }\n\nThe field mask can be:\n\n    mask {\n      paths: \"name\"\n    }\n\nOr:\n\n    mask {\n      paths: \"sub_message\"\n    }\n\nNote that oneof type names (\"test_oneof\" in this case) cannot be used in\npaths.\n\n## Field Mask Verification\n\nThe implementation of any API method which has a FieldMask type field in the\nrequest should verify the included field paths, and return an\n`INVALID_ARGUMENT` error if any path is unmappable."
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceUpdateLastPublishedNotification"
      },
      "task": true
    },
    {
      "name": "dpmServiceDeleteLastPublishedNotification",
      "summary": "Delete last-published-notification by ID",
      "description": "Delete last-published-notification by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "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": "/dpmServiceDeleteLastPublishedNotification"
      },
      "task": true
    },
    {
      "name": "dpmServiceGetLastPublishedNotification",
      "summary": "Get last-published-notification by ID",
      "description": "Get last-published-notification by ID",
      "input": [
        {
          "name": "iD",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "iD",
            "type": "string"
          }
        },
        {
          "name": "detail",
          "type": "boolean",
          "info": "if detail is set then reference uuids & child uuids will be returned in the response.: boolean",
          "required": false,
          "schema": {
            "title": "detail",
            "type": "boolean"
          }
        },
        {
          "name": "fields",
          "type": "array",
          "info": "limit displayed fields.: array",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "array"
          }
        },
        {
          "name": "refFields",
          "type": "array",
          "info": "limit displayed reference fields.: array",
          "required": false,
          "schema": {
            "title": "refFields",
            "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": "/dpmServiceGetLastPublishedNotification"
      },
      "task": true
    },
    {
      "name": "dpmServiceRefUpdate",
      "summary": "Reference update",
      "description": "This API can be used to ADD/DELETE reference between two resources.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ref-type\": \"string\", \"ref-uuid\": \"string\", \"operation\": \"string\", \"type\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ref-type": {
                "type": "string"
              },
              "ref-uuid": {
                "type": "string"
              },
              "operation": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "uuid": {
                "type": "string"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/dpmServiceRefUpdate"
      },
      "task": true
    },
    {
      "name": "imageManagerDeleteCertificate",
      "summary": "DeleteCertificate",
      "description": "RPC to delete certificate",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"certificate_type\": \"string\", \"certificate_id\": \"string\", \"next_run_time\": \"string\", \"device_uuid\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "certificate_type": {
                "type": "string",
                "title": "Certificate Type"
              },
              "certificate_id": {
                "type": "string",
                "title": "Certificate ID"
              },
              "next_run_time": {
                "type": "string",
                "title": "Next run time in milliseconds"
              },
              "device_uuid": {
                "type": "string",
                "title": "Device UUID"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerDeleteCertificate"
      },
      "task": true
    },
    {
      "name": "imageManagerDeleteImages",
      "summary": "DeleteImages",
      "description": "RPC to delete one or more images.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"image_uuids\": \"array\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "image_uuids": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "List of image uuids to be deleted"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerDeleteImages"
      },
      "task": true
    },
    {
      "name": "imageManagerEnableDefaultCAProfile",
      "summary": "EnableDefaultCAProfile",
      "description": "EnableDefaultCAProfile",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ca_group_name\": \"string\", \"device_uuids\": \"array\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "ca_group_name": {
                "type": "string",
                "title": "CA profile group name"
              },
              "device_uuids": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "Device UUID"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerEnableDefaultCAProfile"
      },
      "task": true
    },
    {
      "name": "imageManagerDeployCACertificate",
      "summary": "DeployCACertificate",
      "description": "RPC to deploy CA certificate",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"certificate_contents\": \"string\", \"device_uuid\": \"string\", \"next_run_time\": \"string\", \"ca_profile_id\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "certificate_contents": {
                "type": "string",
                "title": "Certifficate contents"
              },
              "device_uuid": {
                "type": "string",
                "title": "Device UUID"
              },
              "next_run_time": {
                "type": "string",
                "title": "Next run time in milliseconds at which license file will be installed"
              },
              "ca_profile_id": {
                "type": "string",
                "title": "CA profile ID"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerDeployCACertificate"
      },
      "task": true
    },
    {
      "name": "imageManagerDeployLicense",
      "summary": "DeployLicense",
      "description": "RPC to deploy license",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"next_run_time\": \"string\", \"primary_license_contents\": \"string\", \"device_uuid\": \"string\", \"license_contents\": \"string\", \"secondary_license_contents\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "next_run_time": {
                "type": "string",
                "title": "Next run time in milliseconds at which license file will be installed"
              },
              "primary_license_contents": {
                "type": "string",
                "title": "Primary license contents for cluster device type"
              },
              "device_uuid": {
                "type": "string",
                "title": "Device UUID"
              },
              "license_contents": {
                "type": "string",
                "title": "For standalone device type"
              },
              "secondary_license_contents": {
                "type": "string",
                "title": "Secondary license contents for cluster device type"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerDeployLicense"
      },
      "task": true
    },
    {
      "name": "imageManagerAddImage",
      "summary": "AddImage",
      "description": "RPC to Add image.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"vendor\": \"string\", \"name\": \"string\", \"image_type\": \"string\", \"image_file_uri\": \"string\", \"supported_platform\": \"array\", \"sha1_hash\": \"string\", \"device_family\": \"array\", \"version\": \"string\", \"description\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "vendor": {
                "type": "string",
                "title": "Vendor name"
              },
              "name": {
                "type": "string",
                "title": "This is a name given by the user and is unique"
              },
              "image_type": {
                "type": "string",
                "title": "Image types supported"
              },
              "image_file_uri": {
                "type": "string",
                "title": "Image file url from where device can download the image"
              },
              "supported_platform": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "Supported platforms of the image being uploaded"
              },
              "sha1_hash": {
                "type": "string",
                "title": "Image file sha1 checksum"
              },
              "device_family": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "Device family of devices on which this image can be installed"
              },
              "version": {
                "type": "string",
                "title": "Build number"
              },
              "description": {
                "type": "string",
                "title": "Description about the image, like this is a composite image"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerAddImage"
      },
      "task": true
    },
    {
      "name": "imageManagerDeployImage",
      "summary": "DeployImage",
      "description": "RPC to deploy image onto one or more devices.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"device\": [{\"image_uuid\": \"string\", \"device_uuid\": \"string\", \"device_component_name\": \"string\"}], \"next_run_time\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "device": {
                "items": {
                  "type": "object",
                  "properties": {
                    "image_uuid": {
                      "type": "string",
                      "title": "UUID of Image which is to be staged or deployed"
                    },
                    "device_uuid": {
                      "type": "string",
                      "title": "UUID of device on which image has to be staged or deployed"
                    },
                    "device_component_name": {
                      "type": "string",
                      "title": "Component name of the device such as JDM or GWR or JUNOS to distinguish netconf channel"
                    }
                  }
                },
                "type": "array",
                "title": "List of devices to which image should be deployed"
              },
              "next_run_time": {
                "type": "string",
                "description": "Next run time in milliseconds at which deploy image will be started."
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerDeployImage"
      },
      "task": true
    },
    {
      "name": "imageManagerUploadImageURL",
      "summary": "UploadImageURL",
      "description": "RPC to upload an image using URL.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"url\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "title": "http or https URL from which image should be downloaded"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerUploadImageURL"
      },
      "task": true
    },
    {
      "name": "imageManagerDeployLocalCertificate",
      "summary": "DeployLocalCertificate",
      "description": "RPC to deploy local certificate",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"next_run_time\": \"string\", \"certificate_key_contents\": \"string\", \"device_uuid\": \"string\", \"certificate_id\": \"string\", \"cert_file\": \"string\", \"pass_phrase\": \"string\", \"key-file\": \"string\", \"certificate_contents\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "next_run_time": {
                "type": "string",
                "title": "Next run time in milliseconds at which license file will be installed"
              },
              "certificate_key_contents": {
                "type": "string",
                "title": "Certificate key contents"
              },
              "device_uuid": {
                "type": "string",
                "title": "Device UUID"
              },
              "certificate_id": {
                "type": "string",
                "title": "Certificate UUID"
              },
              "cert_file": {
                "type": "string",
                "title": "Cert file"
              },
              "pass_phrase": {
                "type": "string",
                "title": "Pass phrase"
              },
              "key-file": {
                "type": "string",
                "title": "Key file"
              },
              "certificate_contents": {
                "type": "string",
                "title": "Certificate contents"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerDeployLocalCertificate"
      },
      "task": true
    },
    {
      "name": "imageManagerStageImage",
      "summary": "StateImage",
      "description": "RPC to stage image onto one or more devices.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"device\": [{\"image_uuid\": \"string\", \"device_uuid\": \"string\", \"device_component_name\": \"string\"}], \"next_run_time\": \"string\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "device": {
                "items": {
                  "type": "object",
                  "properties": {
                    "image_uuid": {
                      "type": "string",
                      "title": "UUID of Image which is to be staged or deployed"
                    },
                    "device_uuid": {
                      "type": "string",
                      "title": "UUID of device on which image has to be staged or deployed"
                    },
                    "device_component_name": {
                      "type": "string",
                      "title": "Component name of the device such as JDM or GWR or JUNOS to distinguish netconf channel"
                    }
                  }
                },
                "type": "array",
                "title": "List of devices to which image should be deployed"
              },
              "next_run_time": {
                "type": "string",
                "description": "Next run time in milliseconds at which deploy image will be started."
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/imageManagerStageImage"
      },
      "task": true
    }
  ],
  "views": []
}