{
  "id": "@itentialopensource/adapter-nexus_repository",
  "type": "Adapter",
  "export": "NexusRepository",
  "title": "NexusRepository",
  "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"
          }
        },
        {
          "name": "persistFlag",
          "type": "boolean",
          "info": "Whether the input properties should be saved",
          "required": true,
          "schema": {
            "title": "persistFlag",
            "type": "boolean"
          }
        }
      ],
      "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": [],
      "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 IAP database",
      "description": "Moves entities from an adapter into the IAP 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": "getUserSources",
      "summary": "Retrieve a list of the available user sources.",
      "description": "Retrieve a list of the available user sources.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getUserSources"
      },
      "task": true
    },
    {
      "name": "updateUser",
      "summary": "Update an existing user.",
      "description": "Update an existing user.",
      "input": [
        {
          "name": "userId",
          "type": "string",
          "info": "The userid the request should apply to.: string",
          "required": true,
          "schema": {
            "title": "userId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "A representation of the user to update.: {\"userId\": \"string\", \"firstName\": \"string\", \"lastName\": \"string\", \"emailAddress\": \"string\", \"source\": \"string\", \"status\": \"Must be one of [active, locked, disabled, changepassword]\", \"readOnly\": \"boolean\", \"roles\": \"array\", \"externalRoles\": \"array\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "status"
            ],
            "properties": {
              "userId": {
                "type": "string",
                "description": "The userid which is required for login. This value cannot be changed."
              },
              "firstName": {
                "type": "string",
                "description": "The first name of the user."
              },
              "lastName": {
                "type": "string",
                "description": "The last name of the user."
              },
              "emailAddress": {
                "type": "string",
                "description": "The email address associated with the user."
              },
              "source": {
                "type": "string",
                "description": "The user source which is the origin of this user. This value cannot be changed."
              },
              "status": {
                "type": "string",
                "description": "The user's status, e.g. active or disabled.",
                "enum": [
                  "active",
                  "locked",
                  "disabled",
                  "changepassword"
                ]
              },
              "readOnly": {
                "type": "boolean",
                "description": "Indicates whether the user's properties could be modified by Nexus. When false only roles are considered during update."
              },
              "roles": {
                "type": "array",
                "description": "The roles which the user has been assigned within Nexus.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              },
              "externalRoles": {
                "type": "array",
                "description": "The roles which the user has been assigned in an external source, e.g. LDAP group. These cannot be changed within Nexus.",
                "uniqueItems": true,
                "items": {
                  "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": "/updateUser"
      },
      "task": true
    },
    {
      "name": "deleteUser",
      "summary": "Delete a user.",
      "description": "Delete a user.",
      "input": [
        {
          "name": "userId",
          "type": "string",
          "info": "The userid the request should apply to.: string",
          "required": true,
          "schema": {
            "title": "userId",
            "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": "/deleteUser"
      },
      "task": true
    },
    {
      "name": "getUsers",
      "summary": "Retrieve a list of users. Note if the source is not 'default' the response is limited to 100 users.",
      "description": "Retrieve a list of users. Note if the source is not 'default' the response is limited to 100 users.",
      "input": [
        {
          "name": "userId",
          "type": "string",
          "info": "An optional term to search userids for.: string",
          "required": false,
          "schema": {
            "title": "userId",
            "type": "string"
          }
        },
        {
          "name": "source",
          "type": "string",
          "info": "An optional user source to restrict the search to.: string",
          "required": false,
          "schema": {
            "title": "source",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "status"
            ],
            "properties": {
              "userId": {
                "type": "string",
                "description": "The userid which is required for login. This value cannot be changed."
              },
              "firstName": {
                "type": "string",
                "description": "The first name of the user."
              },
              "lastName": {
                "type": "string",
                "description": "The last name of the user."
              },
              "emailAddress": {
                "type": "string",
                "description": "The email address associated with the user."
              },
              "source": {
                "type": "string",
                "description": "The user source which is the origin of this user. This value cannot be changed."
              },
              "status": {
                "type": "string",
                "description": "The user's status, e.g. active or disabled.",
                "enum": [
                  "active",
                  "locked",
                  "disabled",
                  "changepassword"
                ]
              },
              "readOnly": {
                "type": "boolean",
                "description": "Indicates whether the user's properties could be modified by Nexus. When false only roles are considered during update."
              },
              "roles": {
                "type": "array",
                "description": "The roles which the user has been assigned within Nexus.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              },
              "externalRoles": {
                "type": "array",
                "description": "The roles which the user has been assigned in an external source, e.g. LDAP group. These cannot be changed within Nexus.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUsers"
      },
      "task": true
    },
    {
      "name": "createUser",
      "summary": "Create a new user in the default source.",
      "description": "Create a new user in the default source.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "A representation of the user to create.: {\"userId\": \"string\", \"firstName\": \"string\", \"lastName\": \"string\", \"emailAddress\": \"string\", \"password\": \"string\", \"status\": \"Must be one of [active, locked, disabled, changepassword]\", \"roles\": \"array\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "status"
            ],
            "properties": {
              "userId": {
                "type": "string",
                "description": "The userid which is required for login. This value cannot be changed."
              },
              "firstName": {
                "type": "string",
                "description": "The first name of the user."
              },
              "lastName": {
                "type": "string",
                "description": "The last name of the user."
              },
              "emailAddress": {
                "type": "string",
                "description": "The email address associated with the user."
              },
              "password": {
                "type": "string",
                "description": "The password for the new user."
              },
              "status": {
                "type": "string",
                "description": "The user's status, e.g. active or disabled.",
                "enum": [
                  "active",
                  "locked",
                  "disabled",
                  "changepassword"
                ]
              },
              "roles": {
                "type": "array",
                "description": "The roles which the user has been assigned within Nexus.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "required": [
            "status"
          ],
          "properties": {
            "userId": {
              "type": "string",
              "description": "The userid which is required for login. This value cannot be changed."
            },
            "firstName": {
              "type": "string",
              "description": "The first name of the user."
            },
            "lastName": {
              "type": "string",
              "description": "The last name of the user."
            },
            "emailAddress": {
              "type": "string",
              "description": "The email address associated with the user."
            },
            "source": {
              "type": "string",
              "description": "The user source which is the origin of this user. This value cannot be changed."
            },
            "status": {
              "type": "string",
              "description": "The user's status, e.g. active or disabled.",
              "enum": [
                "active",
                "locked",
                "disabled",
                "changepassword"
              ]
            },
            "readOnly": {
              "type": "boolean",
              "description": "Indicates whether the user's properties could be modified by Nexus. When false only roles are considered during update."
            },
            "roles": {
              "type": "array",
              "description": "The roles which the user has been assigned within Nexus.",
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            },
            "externalRoles": {
              "type": "array",
              "description": "The roles which the user has been assigned in an external source, e.g. LDAP group. These cannot be changed within Nexus.",
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createUser"
      },
      "task": true
    },
    {
      "name": "changePassword",
      "summary": "Change a user's password.",
      "description": "Change a user's password.",
      "input": [
        {
          "name": "userId",
          "type": "string",
          "info": "The userid the request should apply to.: string",
          "required": true,
          "schema": {
            "title": "userId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "string",
          "info": "The new password to use.: string",
          "required": false,
          "schema": {
            "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": "/changePassword"
      },
      "task": true
    },
    {
      "name": "getPrivileges",
      "summary": "Retrieve a list of privileges.",
      "description": "Retrieve a list of privileges.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "The type of privilege, each type covers different portions of the system. External values supplied to this will be ignored by the system."
              },
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "readOnly": {
                "type": "boolean",
                "description": "Indicates whether the privilege can be changed. External values supplied to this will be ignored by the system."
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getPrivileges"
      },
      "task": true
    },
    {
      "name": "getPrivilege",
      "summary": "Retrieve a privilege by id.",
      "description": "Retrieve a privilege by id.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to retrieve.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "The type of privilege, each type covers different portions of the system. External values supplied to this will be ignored by the system."
            },
            "name": {
              "type": "string",
              "description": "The name of the privilege.  This value cannot be changed.",
              "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
            },
            "description": {
              "type": "string"
            },
            "readOnly": {
              "type": "boolean",
              "description": "Indicates whether the privilege can be changed. External values supplied to this will be ignored by the system."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPrivilege"
      },
      "task": true
    },
    {
      "name": "deletePrivilege",
      "summary": "Delete a privilege by id.",
      "description": "Delete a privilege by id.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to delete.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "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": "/deletePrivilege"
      },
      "task": true
    },
    {
      "name": "createPrivilege",
      "summary": "Create a wildcard type privilege.",
      "description": "Create a wildcard type privilege.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to create.: {\"name\": \"string\", \"description\": \"string\", \"pattern\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "pattern": {
                "type": "string",
                "description": "A colon separated list of parts that create a permission 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": "/createPrivilege"
      },
      "task": true
    },
    {
      "name": "createPrivilege1",
      "summary": "Create an application type privilege.",
      "description": "Create an application type privilege.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to create.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"domain\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "domain": {
                "type": "string",
                "description": "The domain (i.e. 'blobstores', 'capabilities' or even '*' for all) that this privilege is granting access to.  Note that creating new privileges with a domain is only necessary when using plugins that define their own domain(s)."
              }
            }
          }
        }
      ],
      "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": "/createPrivilege1"
      },
      "task": true
    },
    {
      "name": "updatePrivilege",
      "summary": "Update a wildcard type privilege.",
      "description": "Update a wildcard type privilege.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to update.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to update.: {\"name\": \"string\", \"description\": \"string\", \"pattern\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "pattern": {
                "type": "string",
                "description": "A colon separated list of parts that create a permission 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": "/updatePrivilege"
      },
      "task": true
    },
    {
      "name": "updatePrivilege1",
      "summary": "Update an application type privilege.",
      "description": "Update an application type privilege.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to update.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to update.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"domain\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "domain": {
                "type": "string",
                "description": "The domain (i.e. 'blobstores', 'capabilities' or even '*' for all) that this privilege is granting access to.  Note that creating new privileges with a domain is only necessary when using plugins that define their own domain(s)."
              }
            }
          }
        }
      ],
      "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": "/updatePrivilege1"
      },
      "task": true
    },
    {
      "name": "createPrivilege2",
      "summary": "Create a repository content selector type privilege.",
      "description": "Create a repository content selector type privilege.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to create.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"format\": \"string\", \"repository\": \"string\", \"contentSelector\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "format": {
                "type": "string",
                "description": "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
              },
              "repository": {
                "type": "string",
                "description": "The name of the repository this privilege will grant access to (or * for all)."
              },
              "contentSelector": {
                "type": "string",
                "description": "The name of a content selector that will be used to grant access to content via this privilege."
              }
            }
          }
        }
      ],
      "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": "/createPrivilege2"
      },
      "task": true
    },
    {
      "name": "createPrivilege3",
      "summary": "Create a repository admin type privilege.",
      "description": "Create a repository admin type privilege.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to create.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"format\": \"string\", \"repository\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "format": {
                "type": "string",
                "description": "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
              },
              "repository": {
                "type": "string",
                "description": "The name of the repository this privilege will grant access to (or * for all)."
              }
            }
          }
        }
      ],
      "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": "/createPrivilege3"
      },
      "task": true
    },
    {
      "name": "createPrivilege4",
      "summary": "Create a repository view type privilege.",
      "description": "Create a repository view type privilege.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to create.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"format\": \"string\", \"repository\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "format": {
                "type": "string",
                "description": "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
              },
              "repository": {
                "type": "string",
                "description": "The name of the repository this privilege will grant access to (or * for all)."
              }
            }
          }
        }
      ],
      "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": "/createPrivilege4"
      },
      "task": true
    },
    {
      "name": "updatePrivilege2",
      "summary": "Update a repository view type privilege.",
      "description": "Update a repository view type privilege.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to update.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to update.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"format\": \"string\", \"repository\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "format": {
                "type": "string",
                "description": "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
              },
              "repository": {
                "type": "string",
                "description": "The name of the repository this privilege will grant access to (or * for all)."
              }
            }
          }
        }
      ],
      "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": "/updatePrivilege2"
      },
      "task": true
    },
    {
      "name": "updatePrivilege3",
      "summary": "Update a repository content selector type privilege.",
      "description": "Update a repository content selector type privilege.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to update.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to update.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"format\": \"string\", \"repository\": \"string\", \"contentSelector\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "format": {
                "type": "string",
                "description": "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
              },
              "repository": {
                "type": "string",
                "description": "The name of the repository this privilege will grant access to (or * for all)."
              },
              "contentSelector": {
                "type": "string",
                "description": "The name of a content selector that will be used to grant access to content via this privilege."
              }
            }
          }
        }
      ],
      "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": "/updatePrivilege3"
      },
      "task": true
    },
    {
      "name": "updatePrivilege4",
      "summary": "Update a repository admin type privilege.",
      "description": "Update a repository admin type privilege.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to update.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to update.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"format\": \"string\", \"repository\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "format": {
                "type": "string",
                "description": "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
              },
              "repository": {
                "type": "string",
                "description": "The name of the repository this privilege will grant access to (or * for all)."
              }
            }
          }
        }
      ],
      "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": "/updatePrivilege4"
      },
      "task": true
    },
    {
      "name": "createPrivilege5",
      "summary": "Create a script type privilege.",
      "description": "Create a script type privilege.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to create.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"scriptName\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "scriptName": {
                "type": "string",
                "description": "The name of a script to give access to."
              }
            }
          }
        }
      ],
      "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": "/createPrivilege5"
      },
      "task": true
    },
    {
      "name": "updatePrivilege5",
      "summary": "Update a script type privilege.",
      "description": "Update a script type privilege.",
      "input": [
        {
          "name": "privilegeId",
          "type": "string",
          "info": "The id of the privilege to update.: string",
          "required": true,
          "schema": {
            "title": "privilegeId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The privilege to update.: {\"name\": \"string\", \"description\": \"string\", \"actions\": \"array\", \"scriptName\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the privilege.  This value cannot be changed.",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "description": "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "BROWSE",
                    "EDIT",
                    "ADD",
                    "DELETE",
                    "RUN",
                    "ASSOCIATE",
                    "DISASSOCIATE",
                    "ALL"
                  ]
                }
              },
              "scriptName": {
                "type": "string",
                "description": "The name of a script to give access to."
              }
            }
          }
        }
      ],
      "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": "/updatePrivilege5"
      },
      "task": true
    },
    {
      "name": "getRealms",
      "summary": "List the available realms",
      "description": "List the available realms",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getRealms"
      },
      "task": true
    },
    {
      "name": "getActiveRealms",
      "summary": "List the active realm IDs in order",
      "description": "List the active realm IDs in order",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getActiveRealms"
      },
      "task": true
    },
    {
      "name": "setActiveRealms",
      "summary": "Set the active security realms in the order they should be used",
      "description": "Set the active security realms in the order they should be used",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": "The realm IDs: array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "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": "/setActiveRealms"
      },
      "task": true
    },
    {
      "name": "getRoles",
      "summary": "List roles",
      "description": "List roles",
      "input": [
        {
          "name": "source",
          "type": "string",
          "info": "The id of the user source to filter the roles by, if supplied. Otherwise roles from all user sources will be returned.: string",
          "required": false,
          "schema": {
            "title": "source",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The id of the role."
              },
              "source": {
                "type": "string",
                "description": "The user source which is the origin of this role."
              },
              "name": {
                "type": "string",
                "description": "The name of the role."
              },
              "description": {
                "type": "string",
                "description": "The description of this role."
              },
              "privileges": {
                "type": "array",
                "description": "The list of privileges assigned to this role.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              },
              "roles": {
                "type": "array",
                "description": "The list of roles assigned to this role.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRoles"
      },
      "task": true
    },
    {
      "name": "create",
      "summary": "Create role",
      "description": "Create role",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "A role configuration: {\"id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"privileges\": \"array\", \"roles\": \"array\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The id of the role."
              },
              "name": {
                "type": "string",
                "description": "The name of the role."
              },
              "description": {
                "type": "string",
                "description": "The description of this role."
              },
              "privileges": {
                "type": "array",
                "description": "The list of privileges assigned to this role.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              },
              "roles": {
                "type": "array",
                "description": "The list of roles assigned to this role.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id of the role."
            },
            "source": {
              "type": "string",
              "description": "The user source which is the origin of this role."
            },
            "name": {
              "type": "string",
              "description": "The name of the role."
            },
            "description": {
              "type": "string",
              "description": "The description of this role."
            },
            "privileges": {
              "type": "array",
              "description": "The list of privileges assigned to this role.",
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            },
            "roles": {
              "type": "array",
              "description": "The list of roles assigned to this role.",
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/create"
      },
      "task": true
    },
    {
      "name": "getRole",
      "summary": "Get role",
      "description": "Get role",
      "input": [
        {
          "name": "source",
          "type": "string",
          "info": "The id of the user source to filter the roles by. Available sources can be fetched using the 'User Sources' endpoint.: string",
          "required": false,
          "schema": {
            "title": "source",
            "type": "string"
          }
        },
        {
          "name": "id",
          "type": "string",
          "info": "The id of the role to get: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id of the role."
            },
            "source": {
              "type": "string",
              "description": "The user source which is the origin of this role."
            },
            "name": {
              "type": "string",
              "description": "The name of the role."
            },
            "description": {
              "type": "string",
              "description": "The description of this role."
            },
            "privileges": {
              "type": "array",
              "description": "The list of privileges assigned to this role.",
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            },
            "roles": {
              "type": "array",
              "description": "The list of roles assigned to this role.",
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRole"
      },
      "task": true
    },
    {
      "name": "update",
      "summary": "Update role",
      "description": "Update role",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "The id of the role to update: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "A role configuration: {\"id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"privileges\": \"array\", \"roles\": \"array\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The id of the role."
              },
              "name": {
                "type": "string",
                "description": "The name of the role."
              },
              "description": {
                "type": "string",
                "description": "The description of this role."
              },
              "privileges": {
                "type": "array",
                "description": "The list of privileges assigned to this role.",
                "uniqueItems": true,
                "items": {
                  "type": "string"
                }
              },
              "roles": {
                "type": "array",
                "description": "The list of roles assigned to this role.",
                "uniqueItems": true,
                "items": {
                  "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": "/update"
      },
      "task": true
    },
    {
      "name": "delete",
      "summary": "Delete role",
      "description": "Delete role",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "The id of the role to delete: 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": "/delete"
      },
      "task": true
    },
    {
      "name": "getTaskById",
      "summary": "Get a single task by id",
      "description": "Get a single task by id",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "Id of the task to get: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "currentState": {
              "type": "string"
            },
            "lastRunResult": {
              "type": "string"
            },
            "nextRun": {
              "type": "string",
              "format": "date-time"
            },
            "lastRun": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTaskById"
      },
      "task": true
    },
    {
      "name": "getTasks",
      "summary": "List tasks",
      "description": "List tasks",
      "input": [
        {
          "name": "type",
          "type": "string",
          "info": "Type of the tasks to get: string",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "currentState": {
                    "type": "string"
                  },
                  "lastRunResult": {
                    "type": "string"
                  },
                  "nextRun": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "lastRun": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            },
            "continuationToken": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTasks"
      },
      "task": true
    },
    {
      "name": "run",
      "summary": "Run task",
      "description": "Run task",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "Id of the task to run: 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": "/run"
      },
      "task": true
    },
    {
      "name": "stop",
      "summary": "Stop task",
      "description": "Stop task",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "Id of the task to stop: 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": "/stop"
      },
      "task": true
    },
    {
      "name": "deleteBlobStore",
      "summary": "Delete a blob store by name",
      "description": "Delete a blob store by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the blob store to delete: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/deleteBlobStore"
      },
      "task": true
    },
    {
      "name": "listBlobStores",
      "summary": "List the blob stores",
      "description": "List the blob stores",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "softQuota": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type to use such as spaceRemainingQuota, or spaceUsedQuota"
                  },
                  "limit": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The limit in MB."
                  }
                }
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "blobCount": {
                "type": "integer",
                "format": "int64"
              },
              "totalSizeInBytes": {
                "type": "integer",
                "format": "int64"
              },
              "availableSpaceInBytes": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listBlobStores"
      },
      "task": true
    },
    {
      "name": "quotaStatus",
      "summary": "Get quota status for a given blob store",
      "description": "Get quota status for a given blob store",
      "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": {
          "type": "object",
          "properties": {
            "isViolation": {
              "type": "boolean"
            },
            "message": {
              "type": "string"
            },
            "blobStoreName": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/quotaStatus"
      },
      "task": true
    },
    {
      "name": "createFileBlobStore",
      "summary": "Create a file blob store",
      "description": "Create a file blob store",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"softQuota\": {\"type\": \"string\", \"limit\": 123}, \"path\": \"string\", \"name\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "softQuota": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type to use such as spaceRemainingQuota, or spaceUsedQuota"
                  },
                  "limit": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The limit in MB."
                  }
                }
              },
              "path": {
                "type": "string",
                "description": "The path to the blobstore contents. This can be an absolute path to anywhere on the system nxrm has access to or it can be a path relative to the sonatype-work directory."
              },
              "name": {
                "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": "/createFileBlobStore"
      },
      "task": true
    },
    {
      "name": "getFileBlobStoreConfiguration",
      "summary": "Get a file blob store configuration by name",
      "description": "Get a file blob store configuration by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the file blob store to read: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "softQuota": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The type to use such as spaceRemainingQuota, or spaceUsedQuota"
                },
                "limit": {
                  "type": "integer",
                  "format": "int64",
                  "description": "The limit in MB."
                }
              }
            },
            "path": {
              "type": "string",
              "description": "The path to the blobstore contents. This can be an absolute path to anywhere on the system nxrm has access to or it can be a path relative to the sonatype-work directory."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getFileBlobStoreConfiguration"
      },
      "task": true
    },
    {
      "name": "updateFileBlobStore",
      "summary": "Update a file blob store configuration by name",
      "description": "Update a file blob store configuration by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the file blob store to update: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"softQuota\": {\"type\": \"string\", \"limit\": 123}, \"path\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "softQuota": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type to use such as spaceRemainingQuota, or spaceUsedQuota"
                  },
                  "limit": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The limit in MB."
                  }
                }
              },
              "path": {
                "type": "string",
                "description": "The path to the blobstore contents. This can be an absolute path to anywhere on the system nxrm has access to or it can be a path relative to the sonatype-work directory."
              }
            }
          }
        }
      ],
      "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": "/updateFileBlobStore"
      },
      "task": true
    },
    {
      "name": "getBlobStore",
      "summary": "Fetch a S3 blob store configuration",
      "description": "Fetch a S3 blob store configuration",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "Name of the blob store configuration to fetch: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/getBlobStore"
      },
      "task": true
    },
    {
      "name": "updateBlobStore",
      "summary": "Update an S3 blob store configuration",
      "description": "Update an S3 blob store configuration",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"softQuota\": {\"type\": \"string\", \"limit\": 123}, \"bucketConfiguration\": {\"bucket\": {\"region\": \"string\", \"name\": \"string\", \"prefix\": \"string\", \"expiration\": 123}, \"encryption\": {\"encryptionType\": \"Must be one of [s3ManagedEncryption, kmsManagedEncryption]\", \"encryptionKey\": \"string\"}, \"bucketSecurity\": {\"accessKeyId\": \"string\", \"secretAccessKey\": \"string\", \"role\": \"string\", \"sessionToken\": \"string\"}, \"advancedBucketConnection\": {\"endpoint\": \"string\", \"signerType\": \"string\", \"forcePathStyle\": \"boolean\"}}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "bucketConfiguration",
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the S3 blob store."
              },
              "softQuota": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type to use such as spaceRemainingQuota, or spaceUsedQuota"
                  },
                  "limit": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The limit in MB."
                  }
                }
              },
              "bucketConfiguration": {
                "type": "object",
                "properties": {
                  "bucket": {
                    "type": "object",
                    "required": [
                      "expiration",
                      "name",
                      "region"
                    ],
                    "properties": {
                      "region": {
                        "type": "string",
                        "description": "The AWS region to create a new S3 bucket in or an existing S3 bucket's region"
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the S3 bucket"
                      },
                      "prefix": {
                        "type": "string",
                        "description": "The S3 blob store (i.e S3 object) key prefix"
                      },
                      "expiration": {
                        "type": "integer",
                        "format": "int32",
                        "description": "How many days until deleted blobs are finally removed from the S3 bucket (-1 to disable)"
                      }
                    }
                  },
                  "encryption": {
                    "type": "object",
                    "properties": {
                      "encryptionType": {
                        "type": "string",
                        "description": "The type of S3 server side encryption to use.",
                        "enum": [
                          "s3ManagedEncryption",
                          "kmsManagedEncryption"
                        ]
                      },
                      "encryptionKey": {
                        "type": "string",
                        "description": "The encryption key."
                      }
                    }
                  },
                  "bucketSecurity": {
                    "type": "object",
                    "properties": {
                      "accessKeyId": {
                        "type": "string",
                        "description": "An IAM access key ID for granting access to the S3 bucket"
                      },
                      "secretAccessKey": {
                        "type": "string",
                        "description": "The secret access key associated with the specified IAM access key ID"
                      },
                      "role": {
                        "type": "string",
                        "description": "An IAM role to assume in order to access the S3 bucket"
                      },
                      "sessionToken": {
                        "type": "string",
                        "description": "An AWS STS session token associated with temporary security credentials which grant access to the S3 bucket"
                      }
                    }
                  },
                  "advancedBucketConnection": {
                    "type": "object",
                    "properties": {
                      "endpoint": {
                        "type": "string",
                        "description": "A custom endpoint URL for third party object stores using the S3 API."
                      },
                      "signerType": {
                        "type": "string",
                        "description": "An API signature version which may be required for third party object stores using the S3 API."
                      },
                      "forcePathStyle": {
                        "type": "boolean",
                        "description": "Setting this flag will result in path-style access being used for all requests."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "Name of the blob store to update: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/updateBlobStore"
      },
      "task": true
    },
    {
      "name": "createBlobStore",
      "summary": "Create an S3 blob store",
      "description": "Create an S3 blob store",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"softQuota\": {\"type\": \"string\", \"limit\": 123}, \"bucketConfiguration\": {\"bucket\": {\"region\": \"string\", \"name\": \"string\", \"prefix\": \"string\", \"expiration\": 123}, \"encryption\": {\"encryptionType\": \"Must be one of [s3ManagedEncryption, kmsManagedEncryption]\", \"encryptionKey\": \"string\"}, \"bucketSecurity\": {\"accessKeyId\": \"string\", \"secretAccessKey\": \"string\", \"role\": \"string\", \"sessionToken\": \"string\"}, \"advancedBucketConnection\": {\"endpoint\": \"string\", \"signerType\": \"string\", \"forcePathStyle\": \"boolean\"}}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "bucketConfiguration",
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the S3 blob store."
              },
              "softQuota": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type to use such as spaceRemainingQuota, or spaceUsedQuota"
                  },
                  "limit": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The limit in MB."
                  }
                }
              },
              "bucketConfiguration": {
                "type": "object",
                "properties": {
                  "bucket": {
                    "type": "object",
                    "required": [
                      "expiration",
                      "name",
                      "region"
                    ],
                    "properties": {
                      "region": {
                        "type": "string",
                        "description": "The AWS region to create a new S3 bucket in or an existing S3 bucket's region"
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the S3 bucket"
                      },
                      "prefix": {
                        "type": "string",
                        "description": "The S3 blob store (i.e S3 object) key prefix"
                      },
                      "expiration": {
                        "type": "integer",
                        "format": "int32",
                        "description": "How many days until deleted blobs are finally removed from the S3 bucket (-1 to disable)"
                      }
                    }
                  },
                  "encryption": {
                    "type": "object",
                    "properties": {
                      "encryptionType": {
                        "type": "string",
                        "description": "The type of S3 server side encryption to use.",
                        "enum": [
                          "s3ManagedEncryption",
                          "kmsManagedEncryption"
                        ]
                      },
                      "encryptionKey": {
                        "type": "string",
                        "description": "The encryption key."
                      }
                    }
                  },
                  "bucketSecurity": {
                    "type": "object",
                    "properties": {
                      "accessKeyId": {
                        "type": "string",
                        "description": "An IAM access key ID for granting access to the S3 bucket"
                      },
                      "secretAccessKey": {
                        "type": "string",
                        "description": "The secret access key associated with the specified IAM access key ID"
                      },
                      "role": {
                        "type": "string",
                        "description": "An IAM role to assume in order to access the S3 bucket"
                      },
                      "sessionToken": {
                        "type": "string",
                        "description": "An AWS STS session token associated with temporary security credentials which grant access to the S3 bucket"
                      }
                    }
                  },
                  "advancedBucketConnection": {
                    "type": "object",
                    "properties": {
                      "endpoint": {
                        "type": "string",
                        "description": "A custom endpoint URL for third party object stores using the S3 API."
                      },
                      "signerType": {
                        "type": "string",
                        "description": "An API signature version which may be required for third party object stores using the S3 API."
                      },
                      "forcePathStyle": {
                        "type": "boolean",
                        "description": "Setting this flag will result in path-style access being used for all requests."
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createBlobStore"
      },
      "task": true
    },
    {
      "name": "getPhase",
      "summary": "Get current lifecycle phase",
      "description": "Get current lifecycle phase",
      "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": "/getPhase"
      },
      "task": true
    },
    {
      "name": "setPhase",
      "summary": "Move to new lifecycle phase",
      "description": "Move to new lifecycle phase",
      "input": [
        {
          "name": "body",
          "type": "string",
          "info": "The phase to move to: string",
          "required": false,
          "schema": {
            "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": "/setPhase"
      },
      "task": true
    },
    {
      "name": "bounce",
      "summary": "Bounce lifecycle phase",
      "description": "Re-runs all phases from the given phase to the current phase",
      "input": [
        {
          "name": "body",
          "type": "string",
          "info": "The phase to bounce: string",
          "required": false,
          "schema": {
            "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": "/bounce"
      },
      "task": true
    },
    {
      "name": "freeze",
      "summary": "Enable read-only",
      "description": "Enable read-only",
      "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": "/freeze"
      },
      "task": true
    },
    {
      "name": "forceRelease",
      "summary": "Forcibly release read-only",
      "description": "Forcibly release read-only status, including System initiated tasks. Warning: may result in data loss.",
      "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": "/forceRelease"
      },
      "task": true
    },
    {
      "name": "release",
      "summary": "Release read-only",
      "description": "Release administrator initiated read-only status. Will not release read-only caused by system tasks.",
      "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": "/release"
      },
      "task": true
    },
    {
      "name": "get",
      "summary": "Get read-only state",
      "description": "Get read-only state",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "summaryReason": {
              "type": "string"
            },
            "systemInitiated": {
              "type": "boolean"
            },
            "frozen": {
              "type": "boolean"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/get"
      },
      "task": true
    },
    {
      "name": "removeCertificate",
      "summary": "Remove a certificate in the trust store.",
      "description": "Remove a certificate in the trust store.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "The id of the certificate that should be removed.: 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": "/removeCertificate"
      },
      "task": true
    },
    {
      "name": "getTrustStoreCertificates",
      "summary": "Retrieve a list of certificates added to the trust store.",
      "description": "Retrieve a list of certificates added to the trust store.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "expiresOn": {
                "type": "integer",
                "format": "int64"
              },
              "fingerprint": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "issuedOn": {
                "type": "integer",
                "format": "int64"
              },
              "issuerCommonName": {
                "type": "string"
              },
              "issuerOrganization": {
                "type": "string"
              },
              "issuerOrganizationalUnit": {
                "type": "string"
              },
              "pem": {
                "type": "string"
              },
              "serialNumber": {
                "type": "string"
              },
              "subjectCommonName": {
                "type": "string"
              },
              "subjectOrganization": {
                "type": "string"
              },
              "subjectOrganizationalUnit": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTrustStoreCertificates"
      },
      "task": true
    },
    {
      "name": "addCertificate",
      "summary": "Add a certificate to the trust store.",
      "description": "Add a certificate to the trust store.",
      "input": [
        {
          "name": "body",
          "type": "string",
          "info": "The certificate to add encoded in PEM format: string",
          "required": false,
          "schema": {
            "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": "/addCertificate"
      },
      "task": true
    },
    {
      "name": "retrieveCertificate",
      "summary": "Helper method to retrieve certificate details from a remote system.",
      "description": "Helper method to retrieve certificate details from a remote system.",
      "input": [
        {
          "name": "host",
          "type": "string",
          "info": "The remote system's host name: string",
          "required": true,
          "schema": {
            "title": "host",
            "type": "string"
          }
        },
        {
          "name": "port",
          "type": "number",
          "info": "The port on the remote system to connect to: 123",
          "required": false,
          "schema": {
            "title": "port",
            "type": "number"
          }
        },
        {
          "name": "protocolHint",
          "type": "string",
          "info": "An optional hint of the protocol to try for the connection: string",
          "required": false,
          "schema": {
            "title": "protocolHint",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "expiresOn": {
              "type": "integer",
              "format": "int64"
            },
            "fingerprint": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "issuedOn": {
              "type": "integer",
              "format": "int64"
            },
            "issuerCommonName": {
              "type": "string"
            },
            "issuerOrganization": {
              "type": "string"
            },
            "issuerOrganizationalUnit": {
              "type": "string"
            },
            "pem": {
              "type": "string"
            },
            "serialNumber": {
              "type": "string"
            },
            "subjectCommonName": {
              "type": "string"
            },
            "subjectOrganization": {
              "type": "string"
            },
            "subjectOrganizationalUnit": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/retrieveCertificate"
      },
      "task": true
    },
    {
      "name": "getRepositories",
      "summary": "List repositories",
      "description": "List repositories",
      "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": "/getRepositories"
      },
      "task": true
    },
    {
      "name": "invalidateCache",
      "summary": "Invalidate repository cache. Proxy or group repositories only.",
      "description": "Invalidate repository cache. Proxy or group repositories only.",
      "input": [
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to invalidate cache: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/invalidateCache"
      },
      "task": true
    },
    {
      "name": "deleteRepository",
      "summary": "Delete repository of any format",
      "description": "Delete repository of any format",
      "input": [
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to delete: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/deleteRepository"
      },
      "task": true
    },
    {
      "name": "rebuildIndex",
      "summary": "Schedule a 'Repair - Rebuild repository search' Task. Hosted or proxy repositories only.",
      "description": "Schedule a 'Repair - Rebuild repository search' Task. Hosted or proxy repositories only.",
      "input": [
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to rebuild index: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/rebuildIndex"
      },
      "task": true
    },
    {
      "name": "createRepository",
      "summary": "Create Maven hosted repository",
      "description": "Create Maven hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"maven\": {\"versionPolicy\": \"Must be one of [release, snapshot, mixed]\", \"layoutPolicy\": \"Must be one of [strict, permissive]\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "maven",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "maven": {
                "type": "object",
                "properties": {
                  "versionPolicy": {
                    "type": "string",
                    "example": "mixed",
                    "description": "What type of artifacts does this repository store?",
                    "enum": [
                      "release",
                      "snapshot",
                      "mixed"
                    ]
                  },
                  "layoutPolicy": {
                    "type": "string",
                    "example": "strict",
                    "description": "Validate that all paths are maven artifact or metadata paths",
                    "enum": [
                      "strict",
                      "permissive"
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository"
      },
      "task": true
    },
    {
      "name": "updateRepository",
      "summary": "Update Maven hosted repository",
      "description": "Update Maven hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"maven\": {\"versionPolicy\": \"Must be one of [release, snapshot, mixed]\", \"layoutPolicy\": \"Must be one of [strict, permissive]\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "maven",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "maven": {
                "type": "object",
                "properties": {
                  "versionPolicy": {
                    "type": "string",
                    "example": "mixed",
                    "description": "What type of artifacts does this repository store?",
                    "enum": [
                      "release",
                      "snapshot",
                      "mixed"
                    ]
                  },
                  "layoutPolicy": {
                    "type": "string",
                    "example": "strict",
                    "description": "Validate that all paths are maven artifact or metadata paths",
                    "enum": [
                      "strict",
                      "permissive"
                    ]
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository"
      },
      "task": true
    },
    {
      "name": "createRepository1",
      "summary": "Create Maven proxy repository",
      "description": "Create Maven proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"maven\": {\"versionPolicy\": \"Must be one of [release, snapshot, mixed]\", \"layoutPolicy\": \"Must be one of [strict, permissive]\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "maven",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "maven": {
                "type": "object",
                "properties": {
                  "versionPolicy": {
                    "type": "string",
                    "example": "mixed",
                    "description": "What type of artifacts does this repository store?",
                    "enum": [
                      "release",
                      "snapshot",
                      "mixed"
                    ]
                  },
                  "layoutPolicy": {
                    "type": "string",
                    "example": "strict",
                    "description": "Validate that all paths are maven artifact or metadata paths",
                    "enum": [
                      "strict",
                      "permissive"
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository1"
      },
      "task": true
    },
    {
      "name": "updateRepository1",
      "summary": "Update Maven proxy repository",
      "description": "Update Maven proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"maven\": {\"versionPolicy\": \"Must be one of [release, snapshot, mixed]\", \"layoutPolicy\": \"Must be one of [strict, permissive]\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "maven",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "maven": {
                "type": "object",
                "properties": {
                  "versionPolicy": {
                    "type": "string",
                    "example": "mixed",
                    "description": "What type of artifacts does this repository store?",
                    "enum": [
                      "release",
                      "snapshot",
                      "mixed"
                    ]
                  },
                  "layoutPolicy": {
                    "type": "string",
                    "example": "strict",
                    "description": "Validate that all paths are maven artifact or metadata paths",
                    "enum": [
                      "strict",
                      "permissive"
                    ]
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository1"
      },
      "task": true
    },
    {
      "name": "enableRepositoryHealthCheck",
      "summary": "Enable Repository Health Check. Proxy repositories only.",
      "description": "Enable Repository Health Check. Proxy repositories only.",
      "input": [
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to enable Repository Health Check for: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/enableRepositoryHealthCheck"
      },
      "task": true
    },
    {
      "name": "disableRepositoryHealthCheck",
      "summary": "Disable Repository Health Check. Proxy repositories only.",
      "description": "Disable Repository Health Check. Proxy repositories only.",
      "input": [
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to disable Repository Health Check for: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/disableRepositoryHealthCheck"
      },
      "task": true
    },
    {
      "name": "createRepository2",
      "summary": "Create APT hosted repository",
      "description": "Create APT hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"apt\": {\"distribution\": \"string\"}, \"aptSigning\": {\"keypair\": \"string\", \"passphrase\": \"string\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "apt",
              "aptSigning",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "apt": {
                "type": "object",
                "properties": {
                  "distribution": {
                    "type": "string",
                    "example": "bionic",
                    "description": "Distribution to fetch"
                  }
                }
              },
              "aptSigning": {
                "type": "object",
                "properties": {
                  "keypair": {
                    "type": "string",
                    "description": "PGP signing key pair (armored private key e.g. gpg --export-secret-key --armor)"
                  },
                  "passphrase": {
                    "type": "string",
                    "description": "Passphrase to access PGP signing key"
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository2"
      },
      "task": true
    },
    {
      "name": "updateRepository2",
      "summary": "Update APT hosted repository",
      "description": "Update APT hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"apt\": {\"distribution\": \"string\"}, \"aptSigning\": {\"keypair\": \"string\", \"passphrase\": \"string\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "apt",
              "aptSigning",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "apt": {
                "type": "object",
                "properties": {
                  "distribution": {
                    "type": "string",
                    "example": "bionic",
                    "description": "Distribution to fetch"
                  }
                }
              },
              "aptSigning": {
                "type": "object",
                "properties": {
                  "keypair": {
                    "type": "string",
                    "description": "PGP signing key pair (armored private key e.g. gpg --export-secret-key --armor)"
                  },
                  "passphrase": {
                    "type": "string",
                    "description": "Passphrase to access PGP signing key"
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository2"
      },
      "task": true
    },
    {
      "name": "createRepository3",
      "summary": "Create APT proxy repository",
      "description": "Create APT proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"apt\": {\"distribution\": \"string\", \"flat\": \"boolean\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "apt",
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "apt": {
                "type": "object",
                "required": [
                  "flat"
                ],
                "properties": {
                  "distribution": {
                    "type": "string",
                    "example": "bionic",
                    "description": "Distribution to fetch"
                  },
                  "flat": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether this repository is flat"
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository3"
      },
      "task": true
    },
    {
      "name": "updateRepository3",
      "summary": "Update APT proxy repository",
      "description": "Update APT proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"apt\": {\"distribution\": \"string\", \"flat\": \"boolean\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "apt",
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "apt": {
                "type": "object",
                "required": [
                  "flat"
                ],
                "properties": {
                  "distribution": {
                    "type": "string",
                    "example": "bionic",
                    "description": "Distribution to fetch"
                  },
                  "flat": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether this repository is flat"
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository3"
      },
      "task": true
    },
    {
      "name": "createRepository4",
      "summary": "Create a Go group repository",
      "description": "Create a Go group repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"group\": {\"memberNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "group",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "group": {
                "type": "object",
                "properties": {
                  "memberNames": {
                    "type": "array",
                    "example": "maven-public",
                    "description": "Member repositories' names",
                    "items": {
                      "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": "/createRepository4"
      },
      "task": true
    },
    {
      "name": "updateRepository4",
      "summary": "Update a Go group repository",
      "description": "Update a Go group repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"group\": {\"memberNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "group",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "group": {
                "type": "object",
                "properties": {
                  "memberNames": {
                    "type": "array",
                    "example": "maven-public",
                    "description": "Member repositories' names",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository4"
      },
      "task": true
    },
    {
      "name": "createRepository5",
      "summary": "Create a Go proxy repository",
      "description": "Create a Go proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "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": "/createRepository5"
      },
      "task": true
    },
    {
      "name": "updateRepository5",
      "summary": "Update a Go proxy repository",
      "description": "Update a Go proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository5"
      },
      "task": true
    },
    {
      "name": "createRepository6",
      "summary": "Create Helm hosted repository",
      "description": "Create Helm hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "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": "/createRepository6"
      },
      "task": true
    },
    {
      "name": "updateRepository6",
      "summary": "Update Helm hosted repository",
      "description": "Update Helm hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository6"
      },
      "task": true
    },
    {
      "name": "createRepository7",
      "summary": "Create Helm proxy repository",
      "description": "Create Helm proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "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": "/createRepository7"
      },
      "task": true
    },
    {
      "name": "updateRepository7",
      "summary": "Update Helm proxy repository",
      "description": "Update Helm proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository7"
      },
      "task": true
    },
    {
      "name": "createRepository8",
      "summary": "Create P2 proxy repository",
      "description": "Create P2 proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "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": "/createRepository8"
      },
      "task": true
    },
    {
      "name": "updateRepository8",
      "summary": "Update P2 proxy repository",
      "description": "Update P2 proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository8"
      },
      "task": true
    },
    {
      "name": "createRepository9",
      "summary": "Create Bower group repository",
      "description": "Create Bower group repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"group\": {\"memberNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "group",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "group": {
                "type": "object",
                "properties": {
                  "memberNames": {
                    "type": "array",
                    "example": "maven-public",
                    "description": "Member repositories' names",
                    "items": {
                      "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": "/createRepository9"
      },
      "task": true
    },
    {
      "name": "updateRepository9",
      "summary": "Update Bower group repository",
      "description": "Update Bower group repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"group\": {\"memberNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "group",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "group": {
                "type": "object",
                "properties": {
                  "memberNames": {
                    "type": "array",
                    "example": "maven-public",
                    "description": "Member repositories' names",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository9"
      },
      "task": true
    },
    {
      "name": "createRepository10",
      "summary": "Create Bower hosted repository",
      "description": "Create Bower hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "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": "/createRepository10"
      },
      "task": true
    },
    {
      "name": "updateRepository10",
      "summary": "Update Bower hosted repository",
      "description": "Update Bower hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository10"
      },
      "task": true
    },
    {
      "name": "createRepository11",
      "summary": "Create Bower proxy repository",
      "description": "Create Bower proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"bower\": {\"rewritePackageUrls\": \"boolean\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "bower": {
                "type": "object",
                "required": [
                  "rewritePackageUrls"
                ],
                "properties": {
                  "rewritePackageUrls": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force Bower to retrieve packages through this proxy repository"
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository11"
      },
      "task": true
    },
    {
      "name": "updateRepository11",
      "summary": "Update Bower proxy repository",
      "description": "Update Bower proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"bower\": {\"rewritePackageUrls\": \"boolean\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "bower": {
                "type": "object",
                "required": [
                  "rewritePackageUrls"
                ],
                "properties": {
                  "rewritePackageUrls": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force Bower to retrieve packages through this proxy repository"
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository11"
      },
      "task": true
    },
    {
      "name": "createRepository12",
      "summary": "Create Docker group repository",
      "description": "Create Docker group repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"group\": {\"memberNames\": \"array\"}, \"docker\": {\"v1Enabled\": \"boolean\", \"forceBasicAuth\": \"boolean\", \"httpPort\": 123, \"httpsPort\": 123}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "docker",
              "group",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "group": {
                "type": "object",
                "properties": {
                  "memberNames": {
                    "type": "array",
                    "example": "maven-public",
                    "description": "Member repositories' names",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "docker": {
                "type": "object",
                "required": [
                  "forceBasicAuth",
                  "v1Enabled"
                ],
                "properties": {
                  "v1Enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to allow clients to use the V1 API to interact with this repository"
                  },
                  "forceBasicAuth": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force authentication (Docker Bearer Token Realm required if false)"
                  },
                  "httpPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8082,
                    "description": "Create an HTTP connector at specified port"
                  },
                  "httpsPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8083,
                    "description": "Create an HTTPS connector at specified port"
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository12"
      },
      "task": true
    },
    {
      "name": "updateRepository12",
      "summary": "Update Docker group repository",
      "description": "Update Docker group repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"group\": {\"memberNames\": \"array\"}, \"docker\": {\"v1Enabled\": \"boolean\", \"forceBasicAuth\": \"boolean\", \"httpPort\": 123, \"httpsPort\": 123}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "docker",
              "group",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "group": {
                "type": "object",
                "properties": {
                  "memberNames": {
                    "type": "array",
                    "example": "maven-public",
                    "description": "Member repositories' names",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "docker": {
                "type": "object",
                "required": [
                  "forceBasicAuth",
                  "v1Enabled"
                ],
                "properties": {
                  "v1Enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to allow clients to use the V1 API to interact with this repository"
                  },
                  "forceBasicAuth": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force authentication (Docker Bearer Token Realm required if false)"
                  },
                  "httpPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8082,
                    "description": "Create an HTTP connector at specified port"
                  },
                  "httpsPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8083,
                    "description": "Create an HTTPS connector at specified port"
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository12"
      },
      "task": true
    },
    {
      "name": "createRepository13",
      "summary": "Create Docker hosted repository",
      "description": "Create Docker hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"docker\": {\"v1Enabled\": \"boolean\", \"forceBasicAuth\": \"boolean\", \"httpPort\": 123, \"httpsPort\": 123}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "docker",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "docker": {
                "type": "object",
                "required": [
                  "forceBasicAuth",
                  "v1Enabled"
                ],
                "properties": {
                  "v1Enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to allow clients to use the V1 API to interact with this repository"
                  },
                  "forceBasicAuth": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force authentication (Docker Bearer Token Realm required if false)"
                  },
                  "httpPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8082,
                    "description": "Create an HTTP connector at specified port"
                  },
                  "httpsPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8083,
                    "description": "Create an HTTPS connector at specified port"
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository13"
      },
      "task": true
    },
    {
      "name": "updateRepository13",
      "summary": "Update Docker hosted repository",
      "description": "Update Docker hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"docker\": {\"v1Enabled\": \"boolean\", \"forceBasicAuth\": \"boolean\", \"httpPort\": 123, \"httpsPort\": 123}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "docker",
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "docker": {
                "type": "object",
                "required": [
                  "forceBasicAuth",
                  "v1Enabled"
                ],
                "properties": {
                  "v1Enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to allow clients to use the V1 API to interact with this repository"
                  },
                  "forceBasicAuth": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force authentication (Docker Bearer Token Realm required if false)"
                  },
                  "httpPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8082,
                    "description": "Create an HTTP connector at specified port"
                  },
                  "httpsPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8083,
                    "description": "Create an HTTPS connector at specified port"
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository13"
      },
      "task": true
    },
    {
      "name": "createRepository14",
      "summary": "Create docker proxy repository",
      "description": "Create docker proxy repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"docker\": {\"v1Enabled\": \"boolean\", \"forceBasicAuth\": \"boolean\", \"httpPort\": 123, \"httpsPort\": 123}, \"dockerProxy\": {\"indexType\": \"Must be one of [HUB, REGISTRY, CUSTOM]\", \"indexUrl\": \"string\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "docker",
              "dockerProxy",
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "docker": {
                "type": "object",
                "required": [
                  "forceBasicAuth",
                  "v1Enabled"
                ],
                "properties": {
                  "v1Enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to allow clients to use the V1 API to interact with this repository"
                  },
                  "forceBasicAuth": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force authentication (Docker Bearer Token Realm required if false)"
                  },
                  "httpPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8082,
                    "description": "Create an HTTP connector at specified port"
                  },
                  "httpsPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8083,
                    "description": "Create an HTTPS connector at specified port"
                  }
                }
              },
              "dockerProxy": {
                "type": "object",
                "properties": {
                  "indexType": {
                    "type": "string",
                    "example": "HUB",
                    "description": "Type of Docker Index",
                    "enum": [
                      "HUB",
                      "REGISTRY",
                      "CUSTOM"
                    ]
                  },
                  "indexUrl": {
                    "type": "string",
                    "description": "Url of Docker Index to use"
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository14"
      },
      "task": true
    },
    {
      "name": "updateRepository14",
      "summary": "Update Docker group repository",
      "description": "Update Docker group repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"proxy\": {\"remoteUrl\": \"string\", \"contentMaxAge\": 123, \"metadataMaxAge\": 123}, \"negativeCache\": {\"enabled\": \"boolean\", \"timeToLive\": 123}, \"httpClient\": {\"blocked\": \"boolean\", \"autoBlock\": \"boolean\", \"connection\": {\"retries\": 123, \"userAgentSuffix\": \"string\", \"timeout\": 123, \"enableCircularRedirects\": \"boolean\", \"enableCookies\": \"boolean\"}, \"authentication\": {\"type\": \"Must be one of [username, ntlm]\", \"username\": \"string\", \"ntlmHost\": \"string\", \"ntlmDomain\": \"string\"}}, \"routingRule\": \"string\", \"docker\": {\"v1Enabled\": \"boolean\", \"forceBasicAuth\": \"boolean\", \"httpPort\": 123, \"httpsPort\": 123}, \"dockerProxy\": {\"indexType\": \"Must be one of [HUB, REGISTRY, CUSTOM]\", \"indexUrl\": \"string\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "docker",
              "dockerProxy",
              "httpClient",
              "name",
              "negativeCache",
              "online",
              "proxy",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "proxy": {
                "type": "object",
                "required": [
                  "contentMaxAge",
                  "metadataMaxAge"
                ],
                "properties": {
                  "remoteUrl": {
                    "type": "string",
                    "example": "https://registry.npmjs.org",
                    "description": "Location of the remote repository being proxied"
                  },
                  "contentMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache artifacts before rechecking the remote repository (in minutes)"
                  },
                  "metadataMaxAge": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache metadata before rechecking the remote repository (in minutes)"
                  }
                }
              },
              "negativeCache": {
                "type": "object",
                "required": [
                  "enabled",
                  "timeToLive"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to cache responses for content not present in the proxied repository"
                  },
                  "timeToLive": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1440,
                    "description": "How long to cache the fact that a file was not found in the repository (in minutes)"
                  }
                }
              },
              "httpClient": {
                "type": "object",
                "required": [
                  "autoBlock",
                  "blocked"
                ],
                "properties": {
                  "blocked": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to block outbound connections on the repository"
                  },
                  "autoBlock": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
                  },
                  "connection": {
                    "type": "object",
                    "properties": {
                      "retries": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Total retries if the initial connection attempt suffers a timeout",
                        "minimum": 0,
                        "maximum": 10
                      },
                      "userAgentSuffix": {
                        "type": "string",
                        "description": "Custom fragment to append to User-Agent header in HTTP requests"
                      },
                      "timeout": {
                        "type": "integer",
                        "format": "int32",
                        "example": 60,
                        "description": "Seconds to wait for activity before stopping and retrying the connection",
                        "minimum": 1,
                        "maximum": 3600
                      },
                      "enableCircularRedirects": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to enable redirects to the same location (may be required by some servers)"
                      },
                      "enableCookies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Whether to allow cookies to be stored and used"
                      }
                    }
                  },
                  "authentication": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "Authentication type",
                        "enum": [
                          "username",
                          "ntlm"
                        ]
                      },
                      "username": {
                        "type": "string"
                      },
                      "ntlmHost": {
                        "type": "string"
                      },
                      "ntlmDomain": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "routingRule": {
                "type": "string"
              },
              "docker": {
                "type": "object",
                "required": [
                  "forceBasicAuth",
                  "v1Enabled"
                ],
                "properties": {
                  "v1Enabled": {
                    "type": "boolean",
                    "example": false,
                    "description": "Whether to allow clients to use the V1 API to interact with this repository"
                  },
                  "forceBasicAuth": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to force authentication (Docker Bearer Token Realm required if false)"
                  },
                  "httpPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8082,
                    "description": "Create an HTTP connector at specified port"
                  },
                  "httpsPort": {
                    "type": "integer",
                    "format": "int32",
                    "example": 8083,
                    "description": "Create an HTTPS connector at specified port"
                  }
                }
              },
              "dockerProxy": {
                "type": "object",
                "properties": {
                  "indexType": {
                    "type": "string",
                    "example": "HUB",
                    "description": "Type of Docker Index",
                    "enum": [
                      "HUB",
                      "REGISTRY",
                      "CUSTOM"
                    ]
                  },
                  "indexUrl": {
                    "type": "string",
                    "description": "Url of Docker Index to use"
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository14"
      },
      "task": true
    },
    {
      "name": "createRepository15",
      "summary": "Create Git LFS hosted repository",
      "description": "Create Git LFS hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "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": "/createRepository15"
      },
      "task": true
    },
    {
      "name": "updateRepository15",
      "summary": "Update Git LFS hosted repository",
      "description": "Update Git LFS hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository15"
      },
      "task": true
    },
    {
      "name": "createRepository16",
      "summary": "Create Yum hosted repository",
      "description": "Create Yum hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"yum\": {\"repodataDepth\": 123, \"deployPolicy\": \"Must be one of [PERMISSIVE, STRICT]\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage",
              "yum"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "yum": {
                "type": "object",
                "required": [
                  "repodataDepth"
                ],
                "properties": {
                  "repodataDepth": {
                    "type": "integer",
                    "format": "int32",
                    "example": 5,
                    "description": "Specifies the repository depth where repodata folder(s) are created"
                  },
                  "deployPolicy": {
                    "type": "string",
                    "example": "STRICT",
                    "description": "Validate that all paths are RPMs or yum metadata",
                    "enum": [
                      "PERMISSIVE",
                      "STRICT"
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "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": "/createRepository16"
      },
      "task": true
    },
    {
      "name": "updateRepository16",
      "summary": "Update Yum hosted repository",
      "description": "Update Yum hosted repository",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"online\": \"boolean\", \"storage\": {\"blobStoreName\": \"string\", \"strictContentTypeValidation\": \"boolean\", \"writePolicy\": \"Must be one of [allow, allow_once, deny]\"}, \"cleanup\": {\"policyNames\": \"array\"}, \"yum\": {\"repodataDepth\": 123, \"deployPolicy\": \"Must be one of [PERMISSIVE, STRICT]\"}}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "name",
              "online",
              "storage",
              "yum"
            ],
            "properties": {
              "name": {
                "type": "string",
                "example": "internal",
                "description": "A unique identifier for this repository",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "online": {
                "type": "boolean",
                "example": true,
                "description": "Whether this repository accepts incoming requests"
              },
              "storage": {
                "type": "object",
                "required": [
                  "strictContentTypeValidation",
                  "writePolicy"
                ],
                "properties": {
                  "blobStoreName": {
                    "type": "string",
                    "example": "default",
                    "description": "Blob store used to store repository contents"
                  },
                  "strictContentTypeValidation": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether to validate uploaded content's MIME type appropriate for the repository format"
                  },
                  "writePolicy": {
                    "type": "string",
                    "example": "allow_once",
                    "description": "Controls if deployments of and updates to assets are allowed",
                    "enum": [
                      "allow",
                      "allow_once",
                      "deny"
                    ]
                  }
                }
              },
              "cleanup": {
                "type": "object",
                "properties": {
                  "policyNames": {
                    "type": "array",
                    "example": "weekly-cleanup",
                    "description": "Components that match any of the applied policies will be deleted",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              },
              "yum": {
                "type": "object",
                "required": [
                  "repodataDepth"
                ],
                "properties": {
                  "repodataDepth": {
                    "type": "integer",
                    "format": "int32",
                    "example": 5,
                    "description": "Specifies the repository depth where repodata folder(s) are created"
                  },
                  "deployPolicy": {
                    "type": "string",
                    "example": "STRICT",
                    "description": "Validate that all paths are RPMs or yum metadata",
                    "enum": [
                      "PERMISSIVE",
                      "STRICT"
                    ]
                  }
                }
              }
            }
          }
        },
        {
          "name": "repositoryName",
          "type": "string",
          "info": "Name of the repository to update: string",
          "required": true,
          "schema": {
            "title": "repositoryName",
            "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": "/updateRepository16"
      },
      "task": true
    },
    {
      "name": "getAssets",
      "summary": "List assets",
      "description": "List assets",
      "input": [
        {
          "name": "continuationToken",
          "type": "string",
          "info": "A token returned by a prior request. If present, the next page of results are returned: string",
          "required": false,
          "schema": {
            "title": "continuationToken",
            "type": "string"
          }
        },
        {
          "name": "repository",
          "type": "string",
          "info": "Repository from which you would like to retrieve assets.: string",
          "required": true,
          "schema": {
            "title": "repository",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "downloadUrl": {
                    "type": "string"
                  },
                  "path": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "repository": {
                    "type": "string"
                  },
                  "format": {
                    "type": "string"
                  },
                  "checksum": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              }
            },
            "continuationToken": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAssets"
      },
      "task": true
    },
    {
      "name": "getAssetById",
      "summary": "Get a single asset",
      "description": "Get a single asset",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "Id of the asset to get: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "downloadUrl": {
              "type": "string"
            },
            "path": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "repository": {
              "type": "string"
            },
            "format": {
              "type": "string"
            },
            "checksum": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAssetById"
      },
      "task": true
    },
    {
      "name": "deleteAsset",
      "summary": "Delete a single asset",
      "description": "Delete a single asset",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "Id of the asset to delete: 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": "/deleteAsset"
      },
      "task": true
    },
    {
      "name": "getComponentById",
      "summary": "Get a single component",
      "description": "Get a single component",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the component to retrieve: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "repository": {
              "type": "string"
            },
            "format": {
              "type": "string"
            },
            "group": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "version": {
              "type": "string"
            },
            "assets": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "downloadUrl": {
                    "type": "string"
                  },
                  "path": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "repository": {
                    "type": "string"
                  },
                  "format": {
                    "type": "string"
                  },
                  "checksum": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getComponentById"
      },
      "task": true
    },
    {
      "name": "deleteComponent",
      "summary": "Delete a single component",
      "description": "Delete a single component",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the component to delete: 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": "/deleteComponent"
      },
      "task": true
    },
    {
      "name": "getComponents",
      "summary": "List components",
      "description": "List components",
      "input": [
        {
          "name": "continuationToken",
          "type": "string",
          "info": "A token returned by a prior request. If present, the next page of results are returned: string",
          "required": false,
          "schema": {
            "title": "continuationToken",
            "type": "string"
          }
        },
        {
          "name": "repository",
          "type": "string",
          "info": "Repository from which you would like to retrieve components: string",
          "required": true,
          "schema": {
            "title": "repository",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "repository": {
                    "type": "string"
                  },
                  "format": {
                    "type": "string"
                  },
                  "group": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "version": {
                    "type": "string"
                  },
                  "assets": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "downloadUrl": {
                          "type": "string"
                        },
                        "path": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "repository": {
                          "type": "string"
                        },
                        "format": {
                          "type": "string"
                        },
                        "checksum": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "continuationToken": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getComponents"
      },
      "task": true
    },
    {
      "name": "uploadComponent",
      "summary": "Upload a single component",
      "description": "Upload a single component",
      "input": [
        {
          "name": "repository",
          "type": "string",
          "info": "Name of the repository to which you would like to upload the component: string",
          "required": true,
          "schema": {
            "title": "repository",
            "type": "string"
          }
        },
        {
          "name": "yumDirectory",
          "type": "string",
          "info": "yum Directory: string",
          "required": false,
          "schema": {
            "title": "yumDirectory",
            "type": "string"
          }
        },
        {
          "name": "yumAsset",
          "type": "string",
          "info": "yum Asset: string",
          "required": false,
          "schema": {
            "title": "yumAsset",
            "type": "string"
          }
        },
        {
          "name": "yumAssetFilename",
          "type": "string",
          "info": "yum Asset  Filename: string",
          "required": false,
          "schema": {
            "title": "yumAssetFilename",
            "type": "string"
          }
        },
        {
          "name": "rAsset",
          "type": "string",
          "info": "r Asset: string",
          "required": false,
          "schema": {
            "title": "rAsset",
            "type": "string"
          }
        },
        {
          "name": "rAssetPathId",
          "type": "string",
          "info": "r Asset  Package Path: string",
          "required": false,
          "schema": {
            "title": "rAssetPathId",
            "type": "string"
          }
        },
        {
          "name": "pypiAsset",
          "type": "string",
          "info": "pypi Asset: string",
          "required": false,
          "schema": {
            "title": "pypiAsset",
            "type": "string"
          }
        },
        {
          "name": "helmAsset",
          "type": "string",
          "info": "helm Asset: string",
          "required": false,
          "schema": {
            "title": "helmAsset",
            "type": "string"
          }
        },
        {
          "name": "aptAsset",
          "type": "string",
          "info": "apt Asset: string",
          "required": false,
          "schema": {
            "title": "aptAsset",
            "type": "string"
          }
        },
        {
          "name": "rubygemsAsset",
          "type": "string",
          "info": "rubygems Asset: string",
          "required": false,
          "schema": {
            "title": "rubygemsAsset",
            "type": "string"
          }
        },
        {
          "name": "rawDirectory",
          "type": "string",
          "info": "raw Directory: string",
          "required": false,
          "schema": {
            "title": "rawDirectory",
            "type": "string"
          }
        },
        {
          "name": "rawAsset1",
          "type": "string",
          "info": "raw Asset 1: string",
          "required": false,
          "schema": {
            "title": "rawAsset1",
            "type": "string"
          }
        },
        {
          "name": "rawAsset1Filename",
          "type": "string",
          "info": "raw Asset 1 Filename: string",
          "required": false,
          "schema": {
            "title": "rawAsset1Filename",
            "type": "string"
          }
        },
        {
          "name": "rawAsset2",
          "type": "string",
          "info": "raw Asset 2: string",
          "required": false,
          "schema": {
            "title": "rawAsset2",
            "type": "string"
          }
        },
        {
          "name": "rawAsset2Filename",
          "type": "string",
          "info": "raw Asset 2 Filename: string",
          "required": false,
          "schema": {
            "title": "rawAsset2Filename",
            "type": "string"
          }
        },
        {
          "name": "rawAsset3",
          "type": "string",
          "info": "raw Asset 3: string",
          "required": false,
          "schema": {
            "title": "rawAsset3",
            "type": "string"
          }
        },
        {
          "name": "rawAsset3Filename",
          "type": "string",
          "info": "raw Asset 3 Filename: string",
          "required": false,
          "schema": {
            "title": "rawAsset3Filename",
            "type": "string"
          }
        },
        {
          "name": "npmAsset",
          "type": "string",
          "info": "npm Asset: string",
          "required": false,
          "schema": {
            "title": "npmAsset",
            "type": "string"
          }
        },
        {
          "name": "nugetAsset",
          "type": "string",
          "info": "nuget Asset: string",
          "required": false,
          "schema": {
            "title": "nugetAsset",
            "type": "string"
          }
        },
        {
          "name": "maven2GroupId",
          "type": "string",
          "info": "maven2 Group ID: string",
          "required": false,
          "schema": {
            "title": "maven2GroupId",
            "type": "string"
          }
        },
        {
          "name": "maven2ArtifactId",
          "type": "string",
          "info": "maven2 Artifact ID: string",
          "required": false,
          "schema": {
            "title": "maven2ArtifactId",
            "type": "string"
          }
        },
        {
          "name": "maven2Version",
          "type": "string",
          "info": "maven2 Version: string",
          "required": false,
          "schema": {
            "title": "maven2Version",
            "type": "string"
          }
        },
        {
          "name": "maven2GeneratePom",
          "type": "boolean",
          "info": "maven2 Generate a POM file with these coordinates: boolean",
          "required": false,
          "schema": {
            "title": "maven2GeneratePom",
            "type": "boolean"
          }
        },
        {
          "name": "maven2Packaging",
          "type": "string",
          "info": "maven2 Packaging: string",
          "required": false,
          "schema": {
            "title": "maven2Packaging",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset1",
          "type": "string",
          "info": "maven2 Asset 1: string",
          "required": false,
          "schema": {
            "title": "maven2Asset1",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset1Classifier",
          "type": "string",
          "info": "maven2 Asset 1 Classifier: string",
          "required": false,
          "schema": {
            "title": "maven2Asset1Classifier",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset1Extension",
          "type": "string",
          "info": "maven2 Asset 1 Extension: string",
          "required": false,
          "schema": {
            "title": "maven2Asset1Extension",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset2",
          "type": "string",
          "info": "maven2 Asset 2: string",
          "required": false,
          "schema": {
            "title": "maven2Asset2",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset2Classifier",
          "type": "string",
          "info": "maven2 Asset 2 Classifier: string",
          "required": false,
          "schema": {
            "title": "maven2Asset2Classifier",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset2Extension",
          "type": "string",
          "info": "maven2 Asset 2 Extension: string",
          "required": false,
          "schema": {
            "title": "maven2Asset2Extension",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset3",
          "type": "string",
          "info": "maven2 Asset 3: string",
          "required": false,
          "schema": {
            "title": "maven2Asset3",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset3Classifier",
          "type": "string",
          "info": "maven2 Asset 3 Classifier: string",
          "required": false,
          "schema": {
            "title": "maven2Asset3Classifier",
            "type": "string"
          }
        },
        {
          "name": "maven2Asset3Extension",
          "type": "string",
          "info": "maven2 Asset 3 Extension: string",
          "required": false,
          "schema": {
            "title": "maven2Asset3Extension",
            "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": "/uploadComponent"
      },
      "task": true
    },
    {
      "name": "getContentSelector",
      "summary": "Get a content selector by id",
      "description": "Get a content selector by id",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The content selector name: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/getContentSelector"
      },
      "task": true
    },
    {
      "name": "updateContentSelector",
      "summary": "Update a content selector",
      "description": "Update a content selector",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The content selector name: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"description\": \"string\", \"expression\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "description": {
                "type": "string",
                "description": "An optional description of this content selector"
              },
              "expression": {
                "type": "string",
                "example": "format == \"maven2\" and path =^ \"/org/sonatype/nexus\"",
                "description": "The expression used to identify content"
              }
            }
          }
        }
      ],
      "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": "/updateContentSelector"
      },
      "task": true
    },
    {
      "name": "deleteContentSelector",
      "summary": "Delete a content selector",
      "description": "Delete a content selector",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/deleteContentSelector"
      },
      "task": true
    },
    {
      "name": "getContentSelectors",
      "summary": "List Content Selectors",
      "description": "List Content Selectors",
      "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": "/getContentSelectors"
      },
      "task": true
    },
    {
      "name": "createContentSelector",
      "summary": "Create a new content selector",
      "description": "Create a new content selector",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"description\": \"string\", \"expression\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The content selector name cannot be changed after creation",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string",
                "description": "A human-readable description"
              },
              "expression": {
                "type": "string",
                "example": "format == \"maven2\" and path =^ \"/org/sonatype/nexus\"",
                "description": "The expression used to identify content"
              }
            }
          }
        }
      ],
      "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": "/createContentSelector"
      },
      "task": true
    },
    {
      "name": "getRepositories1",
      "summary": "List repositories",
      "description": "List repositories",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "attributes": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getRepositories1"
      },
      "task": true
    },
    {
      "name": "getRoutingRules",
      "summary": "List routing rules",
      "description": "List routing rules",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "mode": {
                "type": "string",
                "description": "Determines what should be done with requests when their path matches any of the matchers",
                "enum": [
                  "BLOCK",
                  "ALLOW"
                ]
              },
              "matchers": {
                "type": "array",
                "description": "Regular expressions used to identify request paths that are allowed or blocked (depending on mode)",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getRoutingRules"
      },
      "task": true
    },
    {
      "name": "createRoutingRule",
      "summary": "Create a single routing rule",
      "description": "Create a single routing rule",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "A routing rule configuration: {\"name\": \"string\", \"description\": \"string\", \"mode\": \"Must be one of [BLOCK, ALLOW]\", \"matchers\": \"array\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "mode": {
                "type": "string",
                "description": "Determines what should be done with requests when their path matches any of the matchers",
                "enum": [
                  "BLOCK",
                  "ALLOW"
                ]
              },
              "matchers": {
                "type": "array",
                "description": "Regular expressions used to identify request paths that are allowed or blocked (depending on mode)",
                "items": {
                  "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": "/createRoutingRule"
      },
      "task": true
    },
    {
      "name": "getRoutingRule",
      "summary": "Get a single routing rule",
      "description": "Get a single routing rule",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the routing rule to get: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "description": "Determines what should be done with requests when their path matches any of the matchers",
              "enum": [
                "BLOCK",
                "ALLOW"
              ]
            },
            "matchers": {
              "type": "array",
              "description": "Regular expressions used to identify request paths that are allowed or blocked (depending on mode)",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRoutingRule"
      },
      "task": true
    },
    {
      "name": "updateRoutingRule",
      "summary": "Update a single routing rule",
      "description": "Update a single routing rule",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the routing rule to update: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "A routing rule configuration: {\"name\": \"string\", \"description\": \"string\", \"mode\": \"Must be one of [BLOCK, ALLOW]\", \"matchers\": \"array\"}",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "description": {
                "type": "string"
              },
              "mode": {
                "type": "string",
                "description": "Determines what should be done with requests when their path matches any of the matchers",
                "enum": [
                  "BLOCK",
                  "ALLOW"
                ]
              },
              "matchers": {
                "type": "array",
                "description": "Regular expressions used to identify request paths that are allowed or blocked (depending on mode)",
                "items": {
                  "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": "/updateRoutingRule"
      },
      "task": true
    },
    {
      "name": "deleteRoutingRule",
      "summary": "Delete a single routing rule",
      "description": "Delete a single routing rule",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the routing rule to delete: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/deleteRoutingRule"
      },
      "task": true
    },
    {
      "name": "searchAssets",
      "summary": "Search assets",
      "description": "Search assets",
      "input": [
        {
          "name": "continuationToken",
          "type": "string",
          "info": "A token returned by a prior request. If present, the next page of results are returned: string",
          "required": false,
          "schema": {
            "title": "continuationToken",
            "type": "string"
          }
        },
        {
          "name": "sort",
          "type": "string",
          "info": "The field to sort the results against, if left empty, a sort based on match weight will be used.: Must be one of [group, name, version, repository]",
          "required": false,
          "schema": {
            "title": "sort",
            "type": "string"
          }
        },
        {
          "name": "direction",
          "type": "string",
          "info": "The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('desc'): Must be one of [asc, desc]",
          "required": false,
          "schema": {
            "title": "direction",
            "type": "string"
          }
        },
        {
          "name": "timeout",
          "type": "number",
          "info": "How long to wait for search results in seconds. If this value is not provided, the system default timeout will be used.: 123",
          "required": false,
          "schema": {
            "title": "timeout",
            "type": "number"
          }
        },
        {
          "name": "q",
          "type": "string",
          "info": "Query by keyword: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "repository",
          "type": "string",
          "info": "Repository name: string",
          "required": false,
          "schema": {
            "title": "repository",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "Query by format: string",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "group",
          "type": "string",
          "info": "Component group: string",
          "required": false,
          "schema": {
            "title": "group",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "Component name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "version",
          "type": "string",
          "info": "Component version: string",
          "required": false,
          "schema": {
            "title": "version",
            "type": "string"
          }
        },
        {
          "name": "md5",
          "type": "string",
          "info": "Specific MD5 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "md5",
            "type": "string"
          }
        },
        {
          "name": "sha1",
          "type": "string",
          "info": "Specific SHA-1 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha1",
            "type": "string"
          }
        },
        {
          "name": "sha256",
          "type": "string",
          "info": "Specific SHA-256 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha256",
            "type": "string"
          }
        },
        {
          "name": "sha512",
          "type": "string",
          "info": "Specific SHA-512 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha512",
            "type": "string"
          }
        },
        {
          "name": "prerelease",
          "type": "string",
          "info": "Prerelease version flag: string",
          "required": false,
          "schema": {
            "title": "prerelease",
            "type": "string"
          }
        },
        {
          "name": "dockerImageName",
          "type": "string",
          "info": "Docker image name: string",
          "required": false,
          "schema": {
            "title": "dockerImageName",
            "type": "string"
          }
        },
        {
          "name": "dockerImageTag",
          "type": "string",
          "info": "Docker image tag: string",
          "required": false,
          "schema": {
            "title": "dockerImageTag",
            "type": "string"
          }
        },
        {
          "name": "dockerLayerId",
          "type": "string",
          "info": "Docker layer ID: string",
          "required": false,
          "schema": {
            "title": "dockerLayerId",
            "type": "string"
          }
        },
        {
          "name": "dockerContentDigest",
          "type": "string",
          "info": "Docker content digest: string",
          "required": false,
          "schema": {
            "title": "dockerContentDigest",
            "type": "string"
          }
        },
        {
          "name": "mavenGroupId",
          "type": "string",
          "info": "Maven groupId: string",
          "required": false,
          "schema": {
            "title": "mavenGroupId",
            "type": "string"
          }
        },
        {
          "name": "mavenArtifactId",
          "type": "string",
          "info": "Maven artifactId: string",
          "required": false,
          "schema": {
            "title": "mavenArtifactId",
            "type": "string"
          }
        },
        {
          "name": "mavenBaseVersion",
          "type": "string",
          "info": "Maven base version: string",
          "required": false,
          "schema": {
            "title": "mavenBaseVersion",
            "type": "string"
          }
        },
        {
          "name": "mavenExtension",
          "type": "string",
          "info": "Maven extension of component's asset: string",
          "required": false,
          "schema": {
            "title": "mavenExtension",
            "type": "string"
          }
        },
        {
          "name": "mavenClassifier",
          "type": "string",
          "info": "Maven classifier of component's asset: string",
          "required": false,
          "schema": {
            "title": "mavenClassifier",
            "type": "string"
          }
        },
        {
          "name": "npmScope",
          "type": "string",
          "info": "NPM scope: string",
          "required": false,
          "schema": {
            "title": "npmScope",
            "type": "string"
          }
        },
        {
          "name": "nugetId",
          "type": "string",
          "info": "Nuget id: string",
          "required": false,
          "schema": {
            "title": "nugetId",
            "type": "string"
          }
        },
        {
          "name": "nugetTags",
          "type": "string",
          "info": "Nuget tags: string",
          "required": false,
          "schema": {
            "title": "nugetTags",
            "type": "string"
          }
        },
        {
          "name": "p2PluginName",
          "type": "string",
          "info": "p2 plugin name: string",
          "required": false,
          "schema": {
            "title": "p2PluginName",
            "type": "string"
          }
        },
        {
          "name": "pypiClassifiers",
          "type": "string",
          "info": "PyPi classifiers: string",
          "required": false,
          "schema": {
            "title": "pypiClassifiers",
            "type": "string"
          }
        },
        {
          "name": "pypiDescription",
          "type": "string",
          "info": "PyPi description: string",
          "required": false,
          "schema": {
            "title": "pypiDescription",
            "type": "string"
          }
        },
        {
          "name": "pypiKeywords",
          "type": "string",
          "info": "PyPi keywords: string",
          "required": false,
          "schema": {
            "title": "pypiKeywords",
            "type": "string"
          }
        },
        {
          "name": "pypiSummary",
          "type": "string",
          "info": "PyPi summary: string",
          "required": false,
          "schema": {
            "title": "pypiSummary",
            "type": "string"
          }
        },
        {
          "name": "rubygemsDescription",
          "type": "string",
          "info": "RubyGems description: string",
          "required": false,
          "schema": {
            "title": "rubygemsDescription",
            "type": "string"
          }
        },
        {
          "name": "rubygemsPlatform",
          "type": "string",
          "info": "RubyGems platform: string",
          "required": false,
          "schema": {
            "title": "rubygemsPlatform",
            "type": "string"
          }
        },
        {
          "name": "rubygemsSummary",
          "type": "string",
          "info": "RubyGems summary: string",
          "required": false,
          "schema": {
            "title": "rubygemsSummary",
            "type": "string"
          }
        },
        {
          "name": "yumArchitecture",
          "type": "string",
          "info": "Yum architecture: string",
          "required": false,
          "schema": {
            "title": "yumArchitecture",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "downloadUrl": {
                    "type": "string"
                  },
                  "path": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "repository": {
                    "type": "string"
                  },
                  "format": {
                    "type": "string"
                  },
                  "checksum": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              }
            },
            "continuationToken": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchAssets"
      },
      "task": true
    },
    {
      "name": "searchAndDownloadAssets",
      "summary": "Search and download asset",
      "description": "Returns a 302 Found with location header field set to download URL. Unless a sort parameter is supplied, the search must return a single asset to receive download URL.",
      "input": [
        {
          "name": "sort",
          "type": "string",
          "info": "The field to sort the results against, if left empty and more than 1 result is returned, the request will fail.: Must be one of [group, name, version, repository]",
          "required": false,
          "schema": {
            "title": "sort",
            "type": "string"
          }
        },
        {
          "name": "direction",
          "type": "string",
          "info": "The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('desc'): Must be one of [asc, desc]",
          "required": false,
          "schema": {
            "title": "direction",
            "type": "string"
          }
        },
        {
          "name": "timeout",
          "type": "number",
          "info": "How long to wait for search results in seconds. If this value is not provided, the system default timeout will be used.: 123",
          "required": false,
          "schema": {
            "title": "timeout",
            "type": "number"
          }
        },
        {
          "name": "q",
          "type": "string",
          "info": "Query by keyword: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "repository",
          "type": "string",
          "info": "Repository name: string",
          "required": false,
          "schema": {
            "title": "repository",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "Query by format: string",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "group",
          "type": "string",
          "info": "Component group: string",
          "required": false,
          "schema": {
            "title": "group",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "Component name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "version",
          "type": "string",
          "info": "Component version: string",
          "required": false,
          "schema": {
            "title": "version",
            "type": "string"
          }
        },
        {
          "name": "md5",
          "type": "string",
          "info": "Specific MD5 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "md5",
            "type": "string"
          }
        },
        {
          "name": "sha1",
          "type": "string",
          "info": "Specific SHA-1 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha1",
            "type": "string"
          }
        },
        {
          "name": "sha256",
          "type": "string",
          "info": "Specific SHA-256 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha256",
            "type": "string"
          }
        },
        {
          "name": "sha512",
          "type": "string",
          "info": "Specific SHA-512 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha512",
            "type": "string"
          }
        },
        {
          "name": "prerelease",
          "type": "string",
          "info": "Prerelease version flag: string",
          "required": false,
          "schema": {
            "title": "prerelease",
            "type": "string"
          }
        },
        {
          "name": "dockerImageName",
          "type": "string",
          "info": "Docker image name: string",
          "required": false,
          "schema": {
            "title": "dockerImageName",
            "type": "string"
          }
        },
        {
          "name": "dockerImageTag",
          "type": "string",
          "info": "Docker image tag: string",
          "required": false,
          "schema": {
            "title": "dockerImageTag",
            "type": "string"
          }
        },
        {
          "name": "dockerLayerId",
          "type": "string",
          "info": "Docker layer ID: string",
          "required": false,
          "schema": {
            "title": "dockerLayerId",
            "type": "string"
          }
        },
        {
          "name": "dockerContentDigest",
          "type": "string",
          "info": "Docker content digest: string",
          "required": false,
          "schema": {
            "title": "dockerContentDigest",
            "type": "string"
          }
        },
        {
          "name": "mavenGroupId",
          "type": "string",
          "info": "Maven groupId: string",
          "required": false,
          "schema": {
            "title": "mavenGroupId",
            "type": "string"
          }
        },
        {
          "name": "mavenArtifactId",
          "type": "string",
          "info": "Maven artifactId: string",
          "required": false,
          "schema": {
            "title": "mavenArtifactId",
            "type": "string"
          }
        },
        {
          "name": "mavenBaseVersion",
          "type": "string",
          "info": "Maven base version: string",
          "required": false,
          "schema": {
            "title": "mavenBaseVersion",
            "type": "string"
          }
        },
        {
          "name": "mavenExtension",
          "type": "string",
          "info": "Maven extension of component's asset: string",
          "required": false,
          "schema": {
            "title": "mavenExtension",
            "type": "string"
          }
        },
        {
          "name": "mavenClassifier",
          "type": "string",
          "info": "Maven classifier of component's asset: string",
          "required": false,
          "schema": {
            "title": "mavenClassifier",
            "type": "string"
          }
        },
        {
          "name": "npmScope",
          "type": "string",
          "info": "NPM scope: string",
          "required": false,
          "schema": {
            "title": "npmScope",
            "type": "string"
          }
        },
        {
          "name": "nugetId",
          "type": "string",
          "info": "Nuget id: string",
          "required": false,
          "schema": {
            "title": "nugetId",
            "type": "string"
          }
        },
        {
          "name": "nugetTags",
          "type": "string",
          "info": "Nuget tags: string",
          "required": false,
          "schema": {
            "title": "nugetTags",
            "type": "string"
          }
        },
        {
          "name": "p2PluginName",
          "type": "string",
          "info": "p2 plugin name: string",
          "required": false,
          "schema": {
            "title": "p2PluginName",
            "type": "string"
          }
        },
        {
          "name": "pypiClassifiers",
          "type": "string",
          "info": "PyPi classifiers: string",
          "required": false,
          "schema": {
            "title": "pypiClassifiers",
            "type": "string"
          }
        },
        {
          "name": "pypiDescription",
          "type": "string",
          "info": "PyPi description: string",
          "required": false,
          "schema": {
            "title": "pypiDescription",
            "type": "string"
          }
        },
        {
          "name": "pypiKeywords",
          "type": "string",
          "info": "PyPi keywords: string",
          "required": false,
          "schema": {
            "title": "pypiKeywords",
            "type": "string"
          }
        },
        {
          "name": "pypiSummary",
          "type": "string",
          "info": "PyPi summary: string",
          "required": false,
          "schema": {
            "title": "pypiSummary",
            "type": "string"
          }
        },
        {
          "name": "rubygemsDescription",
          "type": "string",
          "info": "RubyGems description: string",
          "required": false,
          "schema": {
            "title": "rubygemsDescription",
            "type": "string"
          }
        },
        {
          "name": "rubygemsPlatform",
          "type": "string",
          "info": "RubyGems platform: string",
          "required": false,
          "schema": {
            "title": "rubygemsPlatform",
            "type": "string"
          }
        },
        {
          "name": "rubygemsSummary",
          "type": "string",
          "info": "RubyGems summary: string",
          "required": false,
          "schema": {
            "title": "rubygemsSummary",
            "type": "string"
          }
        },
        {
          "name": "yumArchitecture",
          "type": "string",
          "info": "Yum architecture: string",
          "required": false,
          "schema": {
            "title": "yumArchitecture",
            "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": "/searchAndDownloadAssets"
      },
      "task": true
    },
    {
      "name": "search",
      "summary": "Search components",
      "description": "Search components",
      "input": [
        {
          "name": "continuationToken",
          "type": "string",
          "info": "A token returned by a prior request. If present, the next page of results are returned: string",
          "required": false,
          "schema": {
            "title": "continuationToken",
            "type": "string"
          }
        },
        {
          "name": "sort",
          "type": "string",
          "info": "The field to sort the results against, if left empty, a sort based on match weight will be used.: Must be one of [group, name, version, repository]",
          "required": false,
          "schema": {
            "title": "sort",
            "type": "string"
          }
        },
        {
          "name": "direction",
          "type": "string",
          "info": "The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('desc'): Must be one of [asc, desc]",
          "required": false,
          "schema": {
            "title": "direction",
            "type": "string"
          }
        },
        {
          "name": "timeout",
          "type": "number",
          "info": "How long to wait for search results in seconds. If this value is not provided, the system default timeout will be used.: 123",
          "required": false,
          "schema": {
            "title": "timeout",
            "type": "number"
          }
        },
        {
          "name": "q",
          "type": "string",
          "info": "Query by keyword: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "repository",
          "type": "string",
          "info": "Repository name: string",
          "required": false,
          "schema": {
            "title": "repository",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "Query by format: string",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "group",
          "type": "string",
          "info": "Component group: string",
          "required": false,
          "schema": {
            "title": "group",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "Component name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "version",
          "type": "string",
          "info": "Component version: string",
          "required": false,
          "schema": {
            "title": "version",
            "type": "string"
          }
        },
        {
          "name": "md5",
          "type": "string",
          "info": "Specific MD5 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "md5",
            "type": "string"
          }
        },
        {
          "name": "sha1",
          "type": "string",
          "info": "Specific SHA-1 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha1",
            "type": "string"
          }
        },
        {
          "name": "sha256",
          "type": "string",
          "info": "Specific SHA-256 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha256",
            "type": "string"
          }
        },
        {
          "name": "sha512",
          "type": "string",
          "info": "Specific SHA-512 hash of component's asset: string",
          "required": false,
          "schema": {
            "title": "sha512",
            "type": "string"
          }
        },
        {
          "name": "prerelease",
          "type": "string",
          "info": "Prerelease version flag: string",
          "required": false,
          "schema": {
            "title": "prerelease",
            "type": "string"
          }
        },
        {
          "name": "dockerImageName",
          "type": "string",
          "info": "Docker image name: string",
          "required": false,
          "schema": {
            "title": "dockerImageName",
            "type": "string"
          }
        },
        {
          "name": "dockerImageTag",
          "type": "string",
          "info": "Docker image tag: string",
          "required": false,
          "schema": {
            "title": "dockerImageTag",
            "type": "string"
          }
        },
        {
          "name": "dockerLayerId",
          "type": "string",
          "info": "Docker layer ID: string",
          "required": false,
          "schema": {
            "title": "dockerLayerId",
            "type": "string"
          }
        },
        {
          "name": "dockerContentDigest",
          "type": "string",
          "info": "Docker content digest: string",
          "required": false,
          "schema": {
            "title": "dockerContentDigest",
            "type": "string"
          }
        },
        {
          "name": "mavenGroupId",
          "type": "string",
          "info": "Maven groupId: string",
          "required": false,
          "schema": {
            "title": "mavenGroupId",
            "type": "string"
          }
        },
        {
          "name": "mavenArtifactId",
          "type": "string",
          "info": "Maven artifactId: string",
          "required": false,
          "schema": {
            "title": "mavenArtifactId",
            "type": "string"
          }
        },
        {
          "name": "mavenBaseVersion",
          "type": "string",
          "info": "Maven base version: string",
          "required": false,
          "schema": {
            "title": "mavenBaseVersion",
            "type": "string"
          }
        },
        {
          "name": "mavenExtension",
          "type": "string",
          "info": "Maven extension of component's asset: string",
          "required": false,
          "schema": {
            "title": "mavenExtension",
            "type": "string"
          }
        },
        {
          "name": "mavenClassifier",
          "type": "string",
          "info": "Maven classifier of component's asset: string",
          "required": false,
          "schema": {
            "title": "mavenClassifier",
            "type": "string"
          }
        },
        {
          "name": "npmScope",
          "type": "string",
          "info": "NPM scope: string",
          "required": false,
          "schema": {
            "title": "npmScope",
            "type": "string"
          }
        },
        {
          "name": "nugetId",
          "type": "string",
          "info": "Nuget id: string",
          "required": false,
          "schema": {
            "title": "nugetId",
            "type": "string"
          }
        },
        {
          "name": "nugetTags",
          "type": "string",
          "info": "Nuget tags: string",
          "required": false,
          "schema": {
            "title": "nugetTags",
            "type": "string"
          }
        },
        {
          "name": "p2PluginName",
          "type": "string",
          "info": "p2 plugin name: string",
          "required": false,
          "schema": {
            "title": "p2PluginName",
            "type": "string"
          }
        },
        {
          "name": "pypiClassifiers",
          "type": "string",
          "info": "PyPi classifiers: string",
          "required": false,
          "schema": {
            "title": "pypiClassifiers",
            "type": "string"
          }
        },
        {
          "name": "pypiDescription",
          "type": "string",
          "info": "PyPi description: string",
          "required": false,
          "schema": {
            "title": "pypiDescription",
            "type": "string"
          }
        },
        {
          "name": "pypiKeywords",
          "type": "string",
          "info": "PyPi keywords: string",
          "required": false,
          "schema": {
            "title": "pypiKeywords",
            "type": "string"
          }
        },
        {
          "name": "pypiSummary",
          "type": "string",
          "info": "PyPi summary: string",
          "required": false,
          "schema": {
            "title": "pypiSummary",
            "type": "string"
          }
        },
        {
          "name": "rubygemsDescription",
          "type": "string",
          "info": "RubyGems description: string",
          "required": false,
          "schema": {
            "title": "rubygemsDescription",
            "type": "string"
          }
        },
        {
          "name": "rubygemsPlatform",
          "type": "string",
          "info": "RubyGems platform: string",
          "required": false,
          "schema": {
            "title": "rubygemsPlatform",
            "type": "string"
          }
        },
        {
          "name": "rubygemsSummary",
          "type": "string",
          "info": "RubyGems summary: string",
          "required": false,
          "schema": {
            "title": "rubygemsSummary",
            "type": "string"
          }
        },
        {
          "name": "yumArchitecture",
          "type": "string",
          "info": "Yum architecture: string",
          "required": false,
          "schema": {
            "title": "yumArchitecture",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "repository": {
                    "type": "string"
                  },
                  "format": {
                    "type": "string"
                  },
                  "group": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "version": {
                    "type": "string"
                  },
                  "assets": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "downloadUrl": {
                          "type": "string"
                        },
                        "path": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "repository": {
                          "type": "string"
                        },
                        "format": {
                          "type": "string"
                        },
                        "checksum": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "continuationToken": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/search"
      },
      "task": true
    },
    {
      "name": "get1",
      "summary": "Get upload field requirements for the desired format",
      "description": "Get upload field requirements for the desired format",
      "input": [
        {
          "name": "format",
          "type": "string",
          "info": "The desired repository format: string",
          "required": true,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "format": {
              "type": "string"
            },
            "multipleUpload": {
              "type": "boolean"
            },
            "componentFields": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "optional": {
                    "type": "boolean"
                  },
                  "group": {
                    "type": "string"
                  }
                }
              }
            },
            "assetFields": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "optional": {
                    "type": "boolean"
                  },
                  "group": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/get1"
      },
      "task": true
    },
    {
      "name": "get2",
      "summary": "Get upload field requirements for each supported format",
      "description": "Get upload field requirements for each supported format",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string"
              },
              "multipleUpload": {
                "type": "boolean"
              },
              "componentFields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "optional": {
                      "type": "boolean"
                    },
                    "group": {
                      "type": "string"
                    }
                  }
                }
              },
              "assetFields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "optional": {
                      "type": "boolean"
                    },
                    "group": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/get2"
      },
      "task": true
    },
    {
      "name": "read",
      "summary": "Read stored script by name",
      "description": "Read stored script by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
            },
            "content": {
              "type": "string"
            },
            "type": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/read"
      },
      "task": true
    },
    {
      "name": "edit",
      "summary": "Update stored script by name",
      "description": "Update stored script by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"content\": \"string\", \"type\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "content": {
                "type": "string"
              },
              "type": {
                "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": "/edit"
      },
      "task": true
    },
    {
      "name": "delete1",
      "summary": "Delete stored script by name",
      "description": "Delete stored script by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/delete1"
      },
      "task": true
    },
    {
      "name": "browse",
      "summary": "List all stored scripts",
      "description": "List all stored scripts",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "content": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/browse"
      },
      "task": true
    },
    {
      "name": "add",
      "summary": "Add a new script",
      "description": "Add a new script",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"content\": \"string\", \"type\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
              },
              "content": {
                "type": "string"
              },
              "type": {
                "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": "/add"
      },
      "task": true
    },
    {
      "name": "run1",
      "summary": "Run stored script by name",
      "description": "Run stored script by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "result": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/run1"
      },
      "task": true
    },
    {
      "name": "getEmailConfiguration",
      "summary": "Retrieve the current email configuration",
      "description": "Retrieve the current email configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "required": [
            "port"
          ],
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "host": {
              "type": "string"
            },
            "port": {
              "type": "integer",
              "format": "int32"
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "fromAddress": {
              "type": "string",
              "example": "nexus@example.org"
            },
            "subjectPrefix": {
              "type": "string",
              "description": "A prefix to add to all email subjects to aid in identifying automated emails"
            },
            "startTlsEnabled": {
              "type": "boolean",
              "description": "Enable STARTTLS Support for Insecure Connections"
            },
            "startTlsRequired": {
              "type": "boolean",
              "description": "Require STARTTLS Support"
            },
            "sslOnConnectEnabled": {
              "type": "boolean",
              "description": "Enable SSL/TLS Encryption upon Connection"
            },
            "sslServerIdentityCheckEnabled": {
              "type": "boolean",
              "description": "Verify the server certificate when using TLS or SSL"
            },
            "nexusTrustStoreEnabled": {
              "type": "boolean",
              "description": "Use the Nexus Repository Manager's certificate truststore"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getEmailConfiguration"
      },
      "task": true
    },
    {
      "name": "setEmailConfiguration",
      "summary": "Set the current email configuration",
      "description": "Set the current email configuration",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"enabled\": \"boolean\", \"host\": \"string\", \"port\": 123, \"username\": \"string\", \"password\": \"string\", \"fromAddress\": \"string\", \"subjectPrefix\": \"string\", \"startTlsEnabled\": \"boolean\", \"startTlsRequired\": \"boolean\", \"sslOnConnectEnabled\": \"boolean\", \"sslServerIdentityCheckEnabled\": \"boolean\", \"nexusTrustStoreEnabled\": \"boolean\"}",
          "required": true,
          "schema": {
            "type": "object",
            "required": [
              "port"
            ],
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "host": {
                "type": "string"
              },
              "port": {
                "type": "integer",
                "format": "int32"
              },
              "username": {
                "type": "string"
              },
              "password": {
                "type": "string"
              },
              "fromAddress": {
                "type": "string",
                "example": "nexus@example.org"
              },
              "subjectPrefix": {
                "type": "string",
                "description": "A prefix to add to all email subjects to aid in identifying automated emails"
              },
              "startTlsEnabled": {
                "type": "boolean",
                "description": "Enable STARTTLS Support for Insecure Connections"
              },
              "startTlsRequired": {
                "type": "boolean",
                "description": "Require STARTTLS Support"
              },
              "sslOnConnectEnabled": {
                "type": "boolean",
                "description": "Enable SSL/TLS Encryption upon Connection"
              },
              "sslServerIdentityCheckEnabled": {
                "type": "boolean",
                "description": "Verify the server certificate when using TLS or SSL"
              },
              "nexusTrustStoreEnabled": {
                "type": "boolean",
                "description": "Use the Nexus Repository Manager's certificate truststore"
              }
            }
          }
        }
      ],
      "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": "/setEmailConfiguration"
      },
      "task": true
    },
    {
      "name": "deleteEmailConfiguration",
      "summary": "Disable and clear the email configuration",
      "description": "Disable and clear the email configuration",
      "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": "/deleteEmailConfiguration"
      },
      "task": true
    },
    {
      "name": "testEmailConfiguration",
      "summary": "Send a test email to the email address provided in the request body",
      "description": "Send a test email to the email address provided in the request body",
      "input": [
        {
          "name": "body",
          "type": "string",
          "info": "An email address to send a test email to: string",
          "required": true,
          "schema": {
            "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": "/testEmailConfiguration"
      },
      "task": true
    },
    {
      "name": "isAvailable",
      "summary": "Health check endpoint that validates server can respond to read requests",
      "description": "Health check endpoint that validates server can respond to read requests",
      "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": "/isAvailable"
      },
      "task": true
    },
    {
      "name": "getSystemStatusChecks",
      "summary": "Health check endpoint that returns the results of the system status checks",
      "description": "Health check endpoint that returns the results of the system status checks",
      "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": "/getSystemStatusChecks"
      },
      "task": true
    },
    {
      "name": "isWritable",
      "summary": "Health check endpoint that validates server can respond to read and write requests",
      "description": "Health check endpoint that validates server can respond to read and write requests",
      "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": "/isWritable"
      },
      "task": true
    },
    {
      "name": "supportzip",
      "summary": "Creates and downloads a support zip",
      "description": "Creates and downloads a support zip",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"systemInformation\": \"boolean\", \"threadDump\": \"boolean\", \"metrics\": \"boolean\", \"configuration\": \"boolean\", \"security\": \"boolean\", \"log\": \"boolean\", \"taskLog\": \"boolean\", \"auditLog\": \"boolean\", \"jmx\": \"boolean\", \"limitFileSizes\": \"boolean\", \"limitZipSize\": \"boolean\"}",
          "required": false,
          "schema": {
            "type": "object",
            "properties": {
              "systemInformation": {
                "type": "boolean"
              },
              "threadDump": {
                "type": "boolean"
              },
              "metrics": {
                "type": "boolean"
              },
              "configuration": {
                "type": "boolean"
              },
              "security": {
                "type": "boolean"
              },
              "log": {
                "type": "boolean"
              },
              "taskLog": {
                "type": "boolean"
              },
              "auditLog": {
                "type": "boolean"
              },
              "jmx": {
                "type": "boolean"
              },
              "limitFileSizes": {
                "type": "boolean"
              },
              "limitZipSize": {
                "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": "/supportzip"
      },
      "task": true
    },
    {
      "name": "getLdapServers",
      "summary": "List LDAP servers",
      "description": "List LDAP servers",
      "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": "/getLdapServers"
      },
      "task": true
    },
    {
      "name": "createLdapServer",
      "summary": "Create LDAP server",
      "description": "Create LDAP server",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"protocol\": \"Must be one of [ldap, ldaps]\", \"useTrustStore\": \"boolean\", \"host\": \"string\", \"port\": 123, \"searchBase\": \"string\", \"authScheme\": \"Must be one of [NONE, SIMPLE, DIGEST_MD5, CRAM_MD5]\", \"authRealm\": \"string\", \"authUsername\": \"string\", \"connectionTimeoutSeconds\": 123, \"connectionRetryDelaySeconds\": 123, \"maxIncidentsCount\": 123, \"userBaseDn\": \"string\", \"userSubtree\": \"boolean\", \"userObjectClass\": \"string\", \"userLdapFilter\": \"string\", \"userIdAttribute\": \"string\", \"userRealNameAttribute\": \"string\", \"userEmailAddressAttribute\": \"string\", \"userPasswordAttribute\": \"string\", \"ldapGroupsAsRoles\": \"boolean\", \"groupType\": \"Must be one of [static, dynamic]\", \"groupBaseDn\": \"string\", \"groupSubtree\": \"boolean\", \"groupObjectClass\": \"string\", \"groupIdAttribute\": \"string\", \"groupMemberAttribute\": \"string\", \"groupMemberFormat\": \"string\", \"userMemberOfAttribute\": \"string\", \"authPassword\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "authPassword",
              "authScheme",
              "connectionRetryDelaySeconds",
              "connectionTimeoutSeconds",
              "groupType",
              "host",
              "maxIncidentsCount",
              "name",
              "port",
              "protocol",
              "searchBase"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "LDAP server name"
              },
              "protocol": {
                "type": "string",
                "description": "LDAP server connection Protocol to use",
                "enum": [
                  "ldap",
                  "ldaps"
                ]
              },
              "useTrustStore": {
                "type": "boolean",
                "description": "Whether to use certificates stored in NXRM's truststore"
              },
              "host": {
                "type": "string",
                "description": "LDAP server connection hostname"
              },
              "port": {
                "type": "integer",
                "format": "int32",
                "example": 636,
                "description": "LDAP server connection port to use"
              },
              "searchBase": {
                "type": "string",
                "example": "dc=example,dc=com",
                "description": "LDAP location to be added to the connection URL"
              },
              "authScheme": {
                "type": "string",
                "description": "Authentication scheme used for connecting to LDAP server",
                "enum": [
                  "NONE",
                  "SIMPLE",
                  "DIGEST_MD5",
                  "CRAM_MD5"
                ]
              },
              "authRealm": {
                "type": "string",
                "example": "example.com",
                "description": "The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5"
              },
              "authUsername": {
                "type": "string",
                "description": "This must be a fully qualified username if simple authentication is used. Required if authScheme other than none."
              },
              "connectionTimeoutSeconds": {
                "type": "integer",
                "format": "int32",
                "example": 1,
                "description": "How long to wait before timeout",
                "minimum": 1,
                "maximum": 3600
              },
              "connectionRetryDelaySeconds": {
                "type": "integer",
                "format": "int32",
                "description": "How long to wait before retrying",
                "minimum": 0
              },
              "maxIncidentsCount": {
                "type": "integer",
                "format": "int32",
                "description": "How many retry attempts",
                "minimum": 0
              },
              "userBaseDn": {
                "type": "string",
                "example": "ou=people",
                "description": "The relative DN where user objects are found (e.g. ou=people). This value will have the Search base DN value appended to form the full User search base DN."
              },
              "userSubtree": {
                "type": "boolean",
                "description": "Are users located in structures below the user base DN?"
              },
              "userObjectClass": {
                "type": "string",
                "example": "inetOrgPerson",
                "description": "LDAP class for user objects"
              },
              "userLdapFilter": {
                "type": "string",
                "example": "(|(mail=*@example.com)(uid=dom*))",
                "description": "LDAP search filter to limit user search"
              },
              "userIdAttribute": {
                "type": "string",
                "example": "uid",
                "description": "This is used to find a user given its user ID"
              },
              "userRealNameAttribute": {
                "type": "string",
                "example": "cn",
                "description": "This is used to find a real name given the user ID"
              },
              "userEmailAddressAttribute": {
                "type": "string",
                "example": "mail",
                "description": "This is used to find an email address given the user ID"
              },
              "userPasswordAttribute": {
                "type": "string",
                "description": "If this field is blank the user will be authenticated against a bind with the LDAP server"
              },
              "ldapGroupsAsRoles": {
                "type": "boolean",
                "description": "Denotes whether LDAP assigned roles are used as NXRM roles"
              },
              "groupType": {
                "type": "string",
                "description": "Defines a type of groups used: static (a group contains a list of users) or dynamic (a user contains a list of groups). Required if ldapGroupsAsRoles is true.",
                "enum": [
                  "static",
                  "dynamic"
                ]
              },
              "groupBaseDn": {
                "type": "string",
                "example": "ou=Group",
                "description": "The relative DN where group objects are found (e.g. ou=Group). This value will have the Search base DN value appended to form the full Group search base DN."
              },
              "groupSubtree": {
                "type": "boolean",
                "description": "Are groups located in structures below the group base DN"
              },
              "groupObjectClass": {
                "type": "string",
                "example": "posixGroup",
                "description": "LDAP class for group objects. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "groupIdAttribute": {
                "type": "string",
                "example": "cn",
                "description": "This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "groupMemberAttribute": {
                "type": "string",
                "example": "memberUid",
                "description": "LDAP attribute containing the usernames for the group. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "groupMemberFormat": {
                "type": "string",
                "example": "uid=${username},ou=people,dc=example,dc=com",
                "description": "The format of user ID stored in the group member attribute. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "userMemberOfAttribute": {
                "type": "string",
                "example": "memberOf",
                "description": "Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic",
                "minLength": 0,
                "maxLength": 0
              },
              "authPassword": {
                "type": "string",
                "description": "The password to bind with. Required if authScheme other than none."
              }
            }
          }
        }
      ],
      "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": "/createLdapServer"
      },
      "task": true
    },
    {
      "name": "getLdapServer",
      "summary": "Get LDAP server",
      "description": "Get LDAP server",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "Name of the LDAP server to retrieve: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/getLdapServer"
      },
      "task": true
    },
    {
      "name": "updateLdapServer",
      "summary": "Update LDAP server",
      "description": "Update LDAP server",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "Name of the LDAP server to update: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Updated values of LDAP server: {\"name\": \"string\", \"protocol\": \"Must be one of [ldap, ldaps]\", \"useTrustStore\": \"boolean\", \"host\": \"string\", \"port\": 123, \"searchBase\": \"string\", \"authScheme\": \"Must be one of [NONE, SIMPLE, DIGEST_MD5, CRAM_MD5]\", \"authRealm\": \"string\", \"authUsername\": \"string\", \"connectionTimeoutSeconds\": 123, \"connectionRetryDelaySeconds\": 123, \"maxIncidentsCount\": 123, \"userBaseDn\": \"string\", \"userSubtree\": \"boolean\", \"userObjectClass\": \"string\", \"userLdapFilter\": \"string\", \"userIdAttribute\": \"string\", \"userRealNameAttribute\": \"string\", \"userEmailAddressAttribute\": \"string\", \"userPasswordAttribute\": \"string\", \"ldapGroupsAsRoles\": \"boolean\", \"groupType\": \"Must be one of [static, dynamic]\", \"groupBaseDn\": \"string\", \"groupSubtree\": \"boolean\", \"groupObjectClass\": \"string\", \"groupIdAttribute\": \"string\", \"groupMemberAttribute\": \"string\", \"groupMemberFormat\": \"string\", \"userMemberOfAttribute\": \"string\", \"authPassword\": \"string\", \"id\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "authPassword",
              "authScheme",
              "connectionRetryDelaySeconds",
              "connectionTimeoutSeconds",
              "groupType",
              "host",
              "maxIncidentsCount",
              "name",
              "port",
              "protocol",
              "searchBase"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "LDAP server name"
              },
              "protocol": {
                "type": "string",
                "description": "LDAP server connection Protocol to use",
                "enum": [
                  "ldap",
                  "ldaps"
                ]
              },
              "useTrustStore": {
                "type": "boolean",
                "description": "Whether to use certificates stored in NXRM's truststore"
              },
              "host": {
                "type": "string",
                "description": "LDAP server connection hostname"
              },
              "port": {
                "type": "integer",
                "format": "int32",
                "example": 636,
                "description": "LDAP server connection port to use"
              },
              "searchBase": {
                "type": "string",
                "example": "dc=example,dc=com",
                "description": "LDAP location to be added to the connection URL"
              },
              "authScheme": {
                "type": "string",
                "description": "Authentication scheme used for connecting to LDAP server",
                "enum": [
                  "NONE",
                  "SIMPLE",
                  "DIGEST_MD5",
                  "CRAM_MD5"
                ]
              },
              "authRealm": {
                "type": "string",
                "example": "example.com",
                "description": "The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5"
              },
              "authUsername": {
                "type": "string",
                "description": "This must be a fully qualified username if simple authentication is used. Required if authScheme other than none."
              },
              "connectionTimeoutSeconds": {
                "type": "integer",
                "format": "int32",
                "example": 1,
                "description": "How long to wait before timeout",
                "minimum": 1,
                "maximum": 3600
              },
              "connectionRetryDelaySeconds": {
                "type": "integer",
                "format": "int32",
                "description": "How long to wait before retrying",
                "minimum": 0
              },
              "maxIncidentsCount": {
                "type": "integer",
                "format": "int32",
                "description": "How many retry attempts",
                "minimum": 0
              },
              "userBaseDn": {
                "type": "string",
                "example": "ou=people",
                "description": "The relative DN where user objects are found (e.g. ou=people). This value will have the Search base DN value appended to form the full User search base DN."
              },
              "userSubtree": {
                "type": "boolean",
                "description": "Are users located in structures below the user base DN?"
              },
              "userObjectClass": {
                "type": "string",
                "example": "inetOrgPerson",
                "description": "LDAP class for user objects"
              },
              "userLdapFilter": {
                "type": "string",
                "example": "(|(mail=*@example.com)(uid=dom*))",
                "description": "LDAP search filter to limit user search"
              },
              "userIdAttribute": {
                "type": "string",
                "example": "uid",
                "description": "This is used to find a user given its user ID"
              },
              "userRealNameAttribute": {
                "type": "string",
                "example": "cn",
                "description": "This is used to find a real name given the user ID"
              },
              "userEmailAddressAttribute": {
                "type": "string",
                "example": "mail",
                "description": "This is used to find an email address given the user ID"
              },
              "userPasswordAttribute": {
                "type": "string",
                "description": "If this field is blank the user will be authenticated against a bind with the LDAP server"
              },
              "ldapGroupsAsRoles": {
                "type": "boolean",
                "description": "Denotes whether LDAP assigned roles are used as NXRM roles"
              },
              "groupType": {
                "type": "string",
                "description": "Defines a type of groups used: static (a group contains a list of users) or dynamic (a user contains a list of groups). Required if ldapGroupsAsRoles is true.",
                "enum": [
                  "static",
                  "dynamic"
                ]
              },
              "groupBaseDn": {
                "type": "string",
                "example": "ou=Group",
                "description": "The relative DN where group objects are found (e.g. ou=Group). This value will have the Search base DN value appended to form the full Group search base DN."
              },
              "groupSubtree": {
                "type": "boolean",
                "description": "Are groups located in structures below the group base DN"
              },
              "groupObjectClass": {
                "type": "string",
                "example": "posixGroup",
                "description": "LDAP class for group objects. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "groupIdAttribute": {
                "type": "string",
                "example": "cn",
                "description": "This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "groupMemberAttribute": {
                "type": "string",
                "example": "memberUid",
                "description": "LDAP attribute containing the usernames for the group. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "groupMemberFormat": {
                "type": "string",
                "example": "uid=${username},ou=people,dc=example,dc=com",
                "description": "The format of user ID stored in the group member attribute. Required if groupType is static",
                "minLength": 0,
                "maxLength": 0
              },
              "userMemberOfAttribute": {
                "type": "string",
                "example": "memberOf",
                "description": "Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic",
                "minLength": 0,
                "maxLength": 0
              },
              "authPassword": {
                "type": "string",
                "description": "The password to bind with. Required if authScheme other than none."
              },
              "id": {
                "type": "string",
                "description": "LDAP server ID"
              }
            }
          }
        }
      ],
      "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": "/updateLdapServer"
      },
      "task": true
    },
    {
      "name": "deleteLdapServer",
      "summary": "Delete LDAP server",
      "description": "Delete LDAP server",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "Name of the LDAP server to delete: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/deleteLdapServer"
      },
      "task": true
    },
    {
      "name": "changeOrder",
      "summary": "Change LDAP server order",
      "description": "Change LDAP server order",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": "Ordered list of LDAP server names: array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "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": "/changeOrder"
      },
      "task": true
    },
    {
      "name": "getLicenseStatus",
      "summary": "Get the current license status.",
      "description": "Get the current license status.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "contactEmail": {
              "type": "string"
            },
            "contactCompany": {
              "type": "string"
            },
            "contactName": {
              "type": "string"
            },
            "effectiveDate": {
              "type": "string",
              "format": "date-time"
            },
            "expirationDate": {
              "type": "string",
              "format": "date-time"
            },
            "licenseType": {
              "type": "string"
            },
            "licensedUsers": {
              "type": "string"
            },
            "fingerprint": {
              "type": "string"
            },
            "features": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getLicenseStatus"
      },
      "task": true
    },
    {
      "name": "setLicense",
      "summary": "Upload a new license file.",
      "description": "Server must be restarted to take effect",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "properties": {
            "contactEmail": {
              "type": "string"
            },
            "contactCompany": {
              "type": "string"
            },
            "contactName": {
              "type": "string"
            },
            "effectiveDate": {
              "type": "string",
              "format": "date-time"
            },
            "expirationDate": {
              "type": "string",
              "format": "date-time"
            },
            "licenseType": {
              "type": "string"
            },
            "licensedUsers": {
              "type": "string"
            },
            "fingerprint": {
              "type": "string"
            },
            "features": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setLicense"
      },
      "task": true
    },
    {
      "name": "removeLicense",
      "summary": "Uninstall license if present.",
      "description": "Uninstall license if present.",
      "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": "/removeLicense"
      },
      "task": true
    },
    {
      "name": "getConfiguration",
      "summary": "Get IQ Server configuration",
      "description": "Get IQ Server configuration",
      "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": "/getConfiguration"
      },
      "task": true
    },
    {
      "name": "updateConfiguration",
      "summary": "Update IQ Server configuration",
      "description": "Update IQ Server configuration",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"enabled\": \"boolean\", \"showLink\": \"boolean\", \"url\": \"string\", \"authenticationType\": \"Must be one of [USER, PKI]\", \"username\": \"string\", \"password\": \"string\", \"useTrustStoreForUrl\": \"boolean\", \"timeoutSeconds\": 123, \"properties\": \"string\"}",
          "required": false,
          "schema": {
            "type": "object",
            "required": [
              "authenticationType"
            ],
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "Whether to use IQ Server"
              },
              "showLink": {
                "type": "boolean",
                "description": "Show IQ Server link in Browse menu when server is enabled"
              },
              "url": {
                "type": "string",
                "description": "The address of your IQ Server"
              },
              "authenticationType": {
                "type": "string",
                "description": "Authentication method",
                "enum": [
                  "USER",
                  "PKI"
                ]
              },
              "username": {
                "type": "string",
                "description": "User with access to IQ Server"
              },
              "password": {
                "type": "string",
                "description": "Credentials for the IQ Server User"
              },
              "useTrustStoreForUrl": {
                "type": "boolean",
                "description": "Use certificates stored in the Nexus truststore to connect to IQ Server"
              },
              "timeoutSeconds": {
                "type": "integer",
                "format": "int32",
                "description": "Seconds to wait for activity before stopping and retrying the connection. Leave blank to use the globally defined HTTP timeout.",
                "minimum": 1,
                "maximum": 3600
              },
              "properties": {
                "type": "string",
                "description": "Additional properties to configure for IQ Server"
              }
            }
          }
        }
      ],
      "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": "/updateConfiguration"
      },
      "task": true
    },
    {
      "name": "verifyConnection",
      "summary": "Verify IQ Server connection",
      "description": "Verify IQ Server connection",
      "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": "/verifyConnection"
      },
      "task": true
    },
    {
      "name": "enableIq",
      "summary": "Enable IQ Server",
      "description": "Enable IQ Server",
      "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": "/enableIq"
      },
      "task": true
    },
    {
      "name": "disableIq",
      "summary": "Disable IQ Server",
      "description": "Disable IQ Server",
      "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": "/disableIq"
      },
      "task": true
    }
  ],
  "views": []
}