@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
360 lines (359 loc) • 9.16 kB
JSON
{
"$async": true,
"$id": "https://www.sap.com/products/data-warehouse-cloud/cli/schemas/discovery.json",
"title": "Command-Line Interface Commands",
"description": "This document describes the schema for the discovery document command-line interfaces.",
"type": "object",
"additionalProperties": false,
"properties": {
"openapi": {
"const": "3.0.3"
},
"info": {
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"contact": {
"$ref": "#/$defs/reference"
},
"license": {
"$ref": "#/$defs/reference"
},
"version": {
"type": "string",
"pattern": "^[0-9]{1,4}\\.[0-9]{1,2}(\\.[0-9]{1,2})?$"
},
"x-document-version": {
"type": "string",
"pattern": "^[0-9]{1,4}\\.[0-9]{1,2}(\\.[0-9]{1,2})?$"
}
},
"required": [
"title",
"description",
"contact",
"license",
"version",
"x-document-version"
]
},
"tags": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"$ref": "#/$defs/lowercaseString"
},
"description": {
"$ref": "#/$defs/text"
}
},
"required": ["name", "description"]
}
},
"externalDocs": {
"type": "object",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": ["description", "url"]
},
"paths": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^[a-z/0-9]*$": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^(post|put|get|delete|patch|head)$": {
"type": "object",
"additionalProperties": true,
"properties": {
"operationId": {
"$ref": "#/$defs/lowercaseString"
},
"summary": {
"type": "string"
},
"description": {
"type": "string"
},
"deprecated": {
"type": "boolean"
},
"x-deprecated-with-wave": {
"type": "string"
},
"x-decommissioned-after-wave": {
"type": "string"
},
"x-deprecation-new-command": {
"type": "string"
},
"x-deprecation-sap-help-url": {
"type": "string"
},
"x-user-to-confirm": {
"type": "string"
},
"x-read-command": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"$ref": "#/$defs/parameters"
}
},
"requestBody": {
"type": "object",
"additionalProperties": true,
"properties": {
"description": {
"type": "string"
},
"content": {
"oneOf": [
{
"$ref": "#/$defs/SingleContentType"
},
{
"$ref": "#/$defs/MultipleContentTypesIncludingCommands"
}
]
}
},
"required": ["description", "content", "required"]
},
"responses": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^[2-5][0-9]{2}$": {
"oneOf": [
{
"$ref": "#/$defs/component"
},
{
"type": "object",
"properties": {
"description": {
"type": "string"
}
},
"required": ["description"]
}
]
}
}
}
},
"required": ["operationId", "responses"]
}
}
}
}
},
"components": {
"type": "object",
"additionalProperties": false,
"properties": {
"schemas": {
"type": "object",
"patternProperties": {
".*": {}
}
},
"parameters": {
"type": "object",
"patternProperties": {
".*": {
"$ref": "#/$defs/parameters"
}
}
}
}
}
},
"required": [
"openapi",
"info",
"tags",
"externalDocs",
"paths",
"components"
],
"$defs": {
"SingleContentType": {
"type": "object",
"additionalProperties": true,
"minProperties": 1,
"maxProperties": 1,
"patternProperties": {
"^application/[a-z.+;=0-9]*": {
"type": "object",
"additionalProperties": false,
"properties": {
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"$ref": {
"type": "string"
}
},
"required": ["$ref"]
}
},
"required": ["schema"]
}
}
},
"MultipleContentTypesIncludingCommands": {
"type": "object",
"additionalProperties": true,
"minProperties": 1,
"patternProperties": {
"^application/[a-z.+;=0-9]*": {
"type": "object",
"additionalProperties": false,
"properties": {
"x-command": {
"type": "string"
},
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"$ref": {
"type": "string"
}
},
"required": ["$ref"]
}
},
"required": ["schema", "x-command"]
}
}
},
"parameters": {
"oneOf": [
{
"$ref": "#/$defs/component"
},
{
"$ref": "#/$defs/parameter"
}
]
},
"parameter": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in": {
"type": "string",
"enum": ["query", "header", "path"]
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
},
"allowEmptyValue": {
"type": "boolean"
},
"schema": {
"oneOf": [
{
"$ref": "#/$defs/component"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"oneOf": {
"type": "array",
"minItems": 1,
"maxItems": 2,
"items": {
"oneOf": [
{
"$ref": "#/$defs/component"
},
{
"$ref": "#/$defs/scalarType"
}
]
}
}
},
"required": ["oneOf"]
},
{
"$ref": "#/$defs/scalarType"
}
]
}
},
"required": ["name", "in", "description", "schema"]
},
"scalarType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["boolean", "string", "number"]
}
},
"required": ["type"]
},
"component": {
"type": "object",
"properties": {
"$ref": {
"type": "string"
}
},
"required": ["$ref"]
},
"text": {
"type": "string",
"pattern": "^[a-zA-Z\\s]*$"
},
"lowercaseString": {
"type": "string",
"pattern": "^[a-z\\s-]*$"
},
"reference": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": ["name", "url"]
}
}
}