-
Notifications
You must be signed in to change notification settings - Fork 24.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit updates the rest API specs to validate against a JSON schema for the specifications. Most updates are to add a description, whilst others fix typos and unify conventions e.g. deprecations, descriptions, urls starting with /. The schema conforms to draft-07 JSON schema. (cherry picked from commit da37e01)
- Loading branch information
Showing
195 changed files
with
788 additions
and
351 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -97,7 +97,6 @@ | |
"yellow", | ||
"red" | ||
], | ||
"default":null, | ||
"description":"Wait until cluster is in a specific state" | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
rest-api-spec/src/main/resources/rest-api-spec/api/get_script_context.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
rest-api-spec/src/main/resources/rest-api-spec/api/get_script_languages.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,7 +30,6 @@ | |
"type" : "time", | ||
"description" : "Explicit operation timeout" | ||
} | ||
}, | ||
"body": {} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,245 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": "https://github.com/elastic/elasticsearch/tree/master/rest-api-spec", | ||
"$ref": "#/definitions/Api", | ||
"definitions": { | ||
"Api": { | ||
"type": "object", | ||
"propertyNames": { | ||
"pattern": "^[a-z]+?(_[a-z]+)*(\\.[a-z]+?(_[a-z]+)*)?$" | ||
}, | ||
"minProperties": 1, | ||
"maxProperties": 1, | ||
"patternProperties": { | ||
"^[a-z]+?(_[a-z]+)*(\\.[a-z]+?(_[a-z]+)*)?$": { | ||
"$ref": "#/definitions/Components" | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"title": "API name", | ||
"description": "An object with a single property name of the API and value of the API components" | ||
}, | ||
"Components": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"deprecated": { | ||
"$ref": "#/definitions/Deprecated" | ||
}, | ||
"documentation": { | ||
"$ref": "#/definitions/Documentation" | ||
}, | ||
"stability": { | ||
"type": "string", | ||
"enum": ["stable", "beta", "experimental", "private"] | ||
}, | ||
"url": { | ||
"$ref": "#/definitions/Url" | ||
}, | ||
"params": { | ||
"$ref": "#/definitions/Params" | ||
}, | ||
"body": { | ||
"$ref": "#/definitions/Body" | ||
} | ||
}, | ||
"required": [ | ||
"documentation", | ||
"stability", | ||
"url" | ||
], | ||
"title": "API components", | ||
"description": "The components that make up the API" | ||
}, | ||
"Url": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"paths": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/Path" | ||
}, | ||
"minLength": 1 | ||
} | ||
}, | ||
"required": [ | ||
"paths" | ||
], | ||
"title": "API urls", | ||
"description": "An array of the URL path variants for the API" | ||
}, | ||
"Params": { | ||
"type": "object", | ||
"additionalProperties": true, | ||
"propertyNames": { | ||
"pattern": "^_?[a-z]+?(_[a-z]+)*$" | ||
}, | ||
"patternProperties": { | ||
"^_?[a-z]+?(_[a-z]+)*$": { | ||
"$ref": "#/definitions/ParamPart" | ||
} | ||
}, | ||
"title": "API query string parameters", | ||
"description": "A collection of the query string parameters for the API" | ||
}, | ||
"Body": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"description": { | ||
"type": "string" | ||
}, | ||
"required": { | ||
"type": "boolean" | ||
}, | ||
"serialize": { | ||
"type": "string", | ||
"enum": ["bulk"] | ||
} | ||
}, | ||
"required": [ | ||
"description" | ||
], | ||
"title": "API request Body", | ||
"description": "The request body for the API. Does not detail the structure, only whether the API accepts a body and its format" | ||
}, | ||
"Deprecated": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"version": { | ||
"type": "string", | ||
"pattern": "^\\d+\\.\\d+\\.\\d+$", | ||
"title": "The version from which deprecation applies" | ||
}, | ||
"description": { | ||
"type": "string", | ||
"title": "A description for the deprecation, which may include alternatives to use" | ||
} | ||
}, | ||
"required": [ | ||
"description", | ||
"version" | ||
], | ||
"title": "Deprecation", | ||
"description": "Indicates if part of the API is deprecated, in what version and why" | ||
}, | ||
"Documentation": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"url": { | ||
"type": "string", | ||
"format": "uri" | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"url", | ||
"description" | ||
], | ||
"title": "Documentation", | ||
"description": "API documentation including a link to the public reference and a short descritpion" | ||
}, | ||
"Parts": { | ||
"type": "object", | ||
"additionalProperties": true, | ||
"propertyNames": { | ||
"pattern": "^_?[a-z]+?(_[a-z]+)*$" | ||
}, | ||
"patternProperties": { | ||
"^_?[a-z]+?(_[a-z]+)*$": { | ||
"$ref": "#/definitions/ParamPart" | ||
} | ||
}, | ||
"title": "API url parts", | ||
"description": "Variable parts that make up an API url path" | ||
}, | ||
"ParamPart": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"pattern": "^list|date|time|string|enum|int|double|long|boolean|number$", | ||
"title": "The type of the parameter." | ||
}, | ||
"options": { | ||
"type": "array", | ||
"items": { | ||
"type": "string", | ||
"pattern": "^[a-zA-Z_]+$" | ||
}, | ||
"title": "Valid options when type is an enum" | ||
}, | ||
"default": { | ||
"type": ["string", "number", "boolean"], | ||
"title": "Default value" | ||
}, | ||
"deprecated": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/Deprecated" }, | ||
{ "type": "boolean" } | ||
] | ||
}, | ||
"description": { | ||
"type": "string", | ||
"title": "A description for the parameter" | ||
}, | ||
"required": { | ||
"type": "boolean", | ||
"title": "Whether the parameter is required" | ||
} | ||
}, | ||
"required": [ | ||
"description", | ||
"type" | ||
], | ||
"allOf": [ | ||
{ | ||
"if": { | ||
"properties": { "type": { "const": "enum" } } | ||
}, | ||
"then": { | ||
"required": ["options"] | ||
} | ||
} | ||
], | ||
"title": "API parameter or part", | ||
"description": "The properties of an API parameter or part" | ||
}, | ||
"Path": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"path": { | ||
"type": "string", | ||
"pattern": "^\\/([a-z0-9\\/_{}])*$" | ||
}, | ||
"methods": { | ||
"type": "array", | ||
"items": { | ||
"type": "string", | ||
"enum": ["DELETE", "GET", "HEAD", "POST", "PUT"], | ||
"minLength": 1 | ||
} | ||
}, | ||
"parts": { | ||
"$ref": "#/definitions/Parts" | ||
}, | ||
"deprecated": { | ||
"$ref": "#/definitions/Deprecated" | ||
} | ||
}, | ||
"required": [ | ||
"methods", | ||
"path" | ||
], | ||
"title": "API path", | ||
"description": "A path variant for the API including the HTTP methods it supports and parts" | ||
} | ||
} | ||
} |
Oops, something went wrong.