k3s/api/openapi-spec/README.md

61 lines
1.7 KiB
Markdown
Raw Normal View History

2017-06-05 19:12:43 +00:00
# Kubernetes's OpenAPI Specification
2018-08-09 15:56:08 +00:00
This folder contains an [OpenAPI specification](https://github.com/OAI/OpenAPI-Specification) for Kubernetes API.
2017-06-05 19:12:43 +00:00
## Vendor Extensions
2017-12-05 19:14:06 +00:00
Kubernetes extends OpenAPI using these extensions. Note the version that
2017-06-05 19:12:43 +00:00
extensions has been added.
### `x-kubernetes-group-version-kind`
Operations and Definitions may have `x-kubernetes-group-version-kind` if they
2019-02-04 18:28:31 +00:00
are associated with a [kubernetes resource](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources).
2017-06-05 19:12:43 +00:00
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
2019-02-04 18:28:31 +00:00
are associated with a [kubernetes resource](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources).
2017-06-05 19:12:43 +00:00
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
2019-02-04 18:28:31 +00:00
[strategic-merge-patch](https://git.k8s.io/community/contributors/devel/sig-api-machinery/strategic-merge-patch.md).