| # Kubernetes's OpenAPI Specification |
| |
| This folder contains an [OpenAPI specification](https://github.com/OAI/OpenAPI-Specification) for Kubernetes API. |
| |
| ## Vendor Extensions |
| |
| Kubernetes extends OpenAPI using these extensions. Note the version that |
| extensions have been added. |
| |
| ### `x-kubernetes-group-version-kind` |
| |
| Operations and Definitions may have `x-kubernetes-group-version-kind` if they |
| are associated with a [kubernetes resource](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources). |
| |
| |
| For example: |
| |
| ``` json |
| "paths": { |
| ... |
| "/api/v1/namespaces/{namespace}/pods/{name}": { |
| ... |
| "get": { |
| ... |
| "x-kubernetes-group-version-kind": { |
| "group": "", |
| "version": "v1", |
| "kind": "Pod" |
| } |
| } |
| } |
| } |
| ``` |
| |
| ### `x-kubernetes-action` |
| |
| Operations and Definitions may have `x-kubernetes-action` if they |
| are associated with a [kubernetes resource](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources). |
| Action can be one of `get`, `list`, `put`, `patch`, `post`, `delete`, `deletecollection`, `watch`, `watchlist`, `proxy`, or `connect`. |
| |
| |
| For example: |
| |
| ``` json |
| "paths": { |
| ... |
| "/api/v1/namespaces/{namespace}/pods/{name}": { |
| ... |
| "get": { |
| ... |
| "x-kubernetes-action": "list" |
| } |
| } |
| } |
| ``` |
| |
| ### `x-kubernetes-patch-strategy` and `x-kubernetes-patch-merge-key` |
| |
| Some of the definitions may have these extensions. For more information about PatchStrategy and PatchMergeKey see |
| [strategic-merge-patch](https://git.k8s.io/community/contributors/devel/sig-api-machinery/strategic-merge-patch.md). |