Merge pull request #109031 from Jefftree/openapiv3beta

OpenAPI V3 Enable Beta
This commit is contained in:
Kubernetes Prow Robot
2022-03-29 20:36:25 -07:00
committed by GitHub
115 changed files with 25985 additions and 8662 deletions

View File

@@ -1,5 +1,14 @@
{ {
"components": {}, "components": {
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
}
},
"info": { "info": {
"title": "Kubernetes", "title": "Kubernetes",
"version": "unversioned" "version": "unversioned"
@@ -20,6 +29,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,11 @@
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -62,6 +66,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -94,6 +106,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

File diff suppressed because it is too large Load Diff

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -13,17 +13,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReviewSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReviewSpec"
}
],
"default": {}, "default": {},
"description": "Spec holds information about the request being evaluated" "description": "Spec holds information about the request being evaluated"
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReviewStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReviewStatus"
}
],
"default": {}, "default": {},
"description": "Status is filled in by the server and indicates whether the request can be authenticated." "description": "Status is filled in by the server and indicates whether the request can be authenticated."
} }
@@ -78,7 +90,11 @@
"type": "string" "type": "string"
}, },
"user": { "user": {
"$ref": "#/components/schemas/io.k8s.api.authentication.v1.UserInfo", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authentication.v1.UserInfo"
}
],
"default": {}, "default": {},
"description": "User is the UserInfo associated with the provided token." "description": "User is the UserInfo associated with the provided token."
} }
@@ -206,7 +222,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -241,7 +261,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -257,7 +281,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -279,7 +307,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -289,7 +321,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -321,7 +357,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -337,7 +377,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -405,6 +449,14 @@
"format": "date-time", "format": "date-time",
"type": "string" "type": "string"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -437,6 +489,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -488,7 +543,7 @@
"operationId": "createAuthenticationV1TokenReview", "operationId": "createAuthenticationV1TokenReview",
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReview" "$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReview"
} }
@@ -555,11 +610,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"authentication_v1" "authentication_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "authentication.k8s.io",
"kind": "TokenReview",
"version": "v1"
}
} }
} }
} }

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -13,17 +13,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewSpec"
}
],
"default": {}, "default": {},
"description": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted." "description": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted."
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus"
}
],
"default": {}, "default": {},
"description": "Status is filled in by the server and indicates whether the request is allowed or not" "description": "Status is filled in by the server and indicates whether the request is allowed or not"
} }
@@ -166,17 +178,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectAccessReviewSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectAccessReviewSpec"
}
],
"default": {}, "default": {},
"description": "Spec holds information about the request being evaluated. user and groups must be empty" "description": "Spec holds information about the request being evaluated. user and groups must be empty"
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus"
}
],
"default": {}, "default": {},
"description": "Status is filled in by the server and indicates whether the request is allowed or not" "description": "Status is filled in by the server and indicates whether the request is allowed or not"
} }
@@ -197,11 +221,19 @@
"description": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set", "description": "SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set",
"properties": { "properties": {
"nonResourceAttributes": { "nonResourceAttributes": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.NonResourceAttributes", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.NonResourceAttributes"
}
],
"description": "NonResourceAttributes describes information for a non-resource access request" "description": "NonResourceAttributes describes information for a non-resource access request"
}, },
"resourceAttributes": { "resourceAttributes": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.ResourceAttributes", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.ResourceAttributes"
}
],
"description": "ResourceAuthorizationAttributes describes information for a resource access request" "description": "ResourceAuthorizationAttributes describes information for a resource access request"
} }
}, },
@@ -219,17 +251,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectRulesReviewSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectRulesReviewSpec"
}
],
"default": {}, "default": {},
"description": "Spec holds information about the request being evaluated." "description": "Spec holds information about the request being evaluated."
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectRulesReviewStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectRulesReviewStatus"
}
],
"default": {}, "default": {},
"description": "Status is filled in by the server and indicates the set of actions a user can perform." "description": "Status is filled in by the server and indicates the set of actions a user can perform."
} }
@@ -268,17 +312,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewSpec"
}
],
"default": {}, "default": {},
"description": "Spec holds information about the request being evaluated" "description": "Spec holds information about the request being evaluated"
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus"
}
],
"default": {}, "default": {},
"description": "Status is filled in by the server and indicates whether the request is allowed or not" "description": "Status is filled in by the server and indicates whether the request is allowed or not"
} }
@@ -318,11 +374,19 @@
"type": "array" "type": "array"
}, },
"nonResourceAttributes": { "nonResourceAttributes": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.NonResourceAttributes", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.NonResourceAttributes"
}
],
"description": "NonResourceAttributes describes information for a non-resource access request" "description": "NonResourceAttributes describes information for a non-resource access request"
}, },
"resourceAttributes": { "resourceAttributes": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.ResourceAttributes", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.ResourceAttributes"
}
],
"description": "ResourceAuthorizationAttributes describes information for a resource access request" "description": "ResourceAuthorizationAttributes describes information for a resource access request"
}, },
"uid": { "uid": {
@@ -377,7 +441,11 @@
"nonResourceRules": { "nonResourceRules": {
"description": "NonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.", "description": "NonResourceRules is the list of actions the subject is allowed to perform on non-resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.NonResourceRule", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.NonResourceRule"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -385,7 +453,11 @@
"resourceRules": { "resourceRules": {
"description": "ResourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.", "description": "ResourceRules is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, may contain duplicates, and possibly be incomplete.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.ResourceRule", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.ResourceRule"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -486,7 +558,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -521,7 +597,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -537,7 +617,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -559,7 +643,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -569,7 +657,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -601,7 +693,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -617,7 +713,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -685,6 +785,14 @@
"format": "date-time", "format": "date-time",
"type": "string" "type": "string"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -717,6 +825,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -778,7 +889,7 @@
"operationId": "createAuthorizationV1NamespacedLocalSubjectAccessReview", "operationId": "createAuthorizationV1NamespacedLocalSubjectAccessReview",
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.LocalSubjectAccessReview" "$ref": "#/components/schemas/io.k8s.api.authorization.v1.LocalSubjectAccessReview"
} }
@@ -845,11 +956,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"authorization_v1" "authorization_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "authorization.k8s.io",
"kind": "LocalSubjectAccessReview",
"version": "v1"
}
} }
}, },
"/apis/authorization.k8s.io/v1/selfsubjectaccessreviews": { "/apis/authorization.k8s.io/v1/selfsubjectaccessreviews": {
@@ -896,7 +1016,7 @@
"operationId": "createAuthorizationV1SelfSubjectAccessReview", "operationId": "createAuthorizationV1SelfSubjectAccessReview",
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectAccessReview" "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectAccessReview"
} }
@@ -963,11 +1083,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"authorization_v1" "authorization_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "authorization.k8s.io",
"kind": "SelfSubjectAccessReview",
"version": "v1"
}
} }
}, },
"/apis/authorization.k8s.io/v1/selfsubjectrulesreviews": { "/apis/authorization.k8s.io/v1/selfsubjectrulesreviews": {
@@ -1014,7 +1143,7 @@
"operationId": "createAuthorizationV1SelfSubjectRulesReview", "operationId": "createAuthorizationV1SelfSubjectRulesReview",
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectRulesReview" "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectRulesReview"
} }
@@ -1081,11 +1210,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"authorization_v1" "authorization_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "authorization.k8s.io",
"kind": "SelfSubjectRulesReview",
"version": "v1"
}
} }
}, },
"/apis/authorization.k8s.io/v1/subjectaccessreviews": { "/apis/authorization.k8s.io/v1/subjectaccessreviews": {
@@ -1132,7 +1270,7 @@
"operationId": "createAuthorizationV1SubjectAccessReview", "operationId": "createAuthorizationV1SubjectAccessReview",
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReview" "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReview"
} }
@@ -1199,11 +1337,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"authorization_v1" "authorization_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "authorization.k8s.io",
"kind": "SubjectAccessReview",
"version": "v1"
}
} }
} }
} }

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -38,17 +38,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerSpec"
}
],
"default": {}, "default": {},
"description": "behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status." "description": "behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status."
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerStatus"
}
],
"default": {}, "default": {},
"description": "current information about the autoscaler." "description": "current information about the autoscaler."
} }
@@ -72,7 +84,11 @@
"items": { "items": {
"description": "list of horizontal pod autoscaler objects.", "description": "list of horizontal pod autoscaler objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -82,7 +98,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata." "description": "Standard list metadata."
} }
@@ -114,7 +134,11 @@
"type": "integer" "type": "integer"
}, },
"scaleTargetRef": { "scaleTargetRef": {
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.CrossVersionObjectReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.CrossVersionObjectReference"
}
],
"default": {}, "default": {},
"description": "reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource." "description": "reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource."
}, },
@@ -151,7 +175,11 @@
"type": "integer" "type": "integer"
}, },
"lastScaleTime": { "lastScaleTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed." "description": "last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed."
}, },
"observedGeneration": { "observedGeneration": {
@@ -254,7 +282,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -302,7 +334,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -613,7 +649,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -629,7 +669,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -651,7 +695,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -661,7 +709,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -693,7 +745,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -709,7 +765,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -803,7 +863,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -815,7 +879,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -861,7 +929,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -899,7 +971,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1180,6 +1256,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1212,6 +1296,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1253,11 +1340,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1357,6 +1453,33 @@
"description": "delete collection of HorizontalPodAutoscaler", "description": "delete collection of HorizontalPodAutoscaler",
"operationId": "deleteAutoscalingV1CollectionNamespacedHorizontalPodAutoscaler", "operationId": "deleteAutoscalingV1CollectionNamespacedHorizontalPodAutoscaler",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1366,6 +1489,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1384,33 +1525,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1437,29 +1551,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1486,20 +1582,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind HorizontalPodAutoscaler", "description": "list or watch objects of kind HorizontalPodAutoscaler",
"operationId": "listAutoscalingV1NamespacedHorizontalPodAutoscaler", "operationId": "listAutoscalingV1NamespacedHorizontalPodAutoscaler",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1515,20 +1629,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1560,20 +1674,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1608,11 +1713,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1669,7 +1783,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" "$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler"
} }
@@ -1736,11 +1850,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
} }
}, },
"/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}": { "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}": {
@@ -1748,6 +1871,15 @@
"description": "delete a HorizontalPodAutoscaler", "description": "delete a HorizontalPodAutoscaler",
"operationId": "deleteAutoscalingV1NamespacedHorizontalPodAutoscaler", "operationId": "deleteAutoscalingV1NamespacedHorizontalPodAutoscaler",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1774,20 +1906,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1834,11 +1957,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified HorizontalPodAutoscaler", "description": "read the specified HorizontalPodAutoscaler",
@@ -1863,11 +1995,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1913,15 +2054,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1939,11 +2071,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1990,11 +2146,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified HorizontalPodAutoscaler", "description": "replace the specified HorizontalPodAutoscaler",
@@ -2030,7 +2195,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" "$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler"
} }
@@ -2077,11 +2242,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
} }
}, },
"/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": { "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": {
@@ -2108,11 +2282,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2158,15 +2341,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -2184,11 +2358,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2235,11 +2433,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace status of the specified HorizontalPodAutoscaler", "description": "replace status of the specified HorizontalPodAutoscaler",
@@ -2275,7 +2482,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" "$ref": "#/components/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler"
} }
@@ -2322,11 +2529,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
} }
}, },
"/apis/autoscaling/v1/watch/horizontalpodautoscalers": { "/apis/autoscaling/v1/watch/horizontalpodautoscalers": {
@@ -2363,11 +2579,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2496,11 +2721,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2639,11 +2873,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"autoscaling_v1" "autoscaling_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "autoscaling",
"kind": "HorizontalPodAutoscaler",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -13,16 +13,28 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {} "default": {}
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequestSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequestSpec"
}
],
"default": {}, "default": {},
"description": "spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users." "description": "spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users."
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequestStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequestStatus"
}
],
"default": {}, "default": {},
"description": "status contains information about whether the request is approved or denied, and the certificate issued by the signer, or the failure condition indicating signer failure." "description": "status contains information about whether the request is approved or denied, and the certificate issued by the signer, or the failure condition indicating signer failure."
} }
@@ -43,12 +55,20 @@
"description": "CertificateSigningRequestCondition describes a condition of a CertificateSigningRequest object", "description": "CertificateSigningRequestCondition describes a condition of a CertificateSigningRequest object",
"properties": { "properties": {
"lastTransitionTime": { "lastTransitionTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "lastTransitionTime is the time the condition last transitioned from one status to another. If unset, when a new condition type is added or an existing condition's status is changed, the server defaults this to the current time." "description": "lastTransitionTime is the time the condition last transitioned from one status to another. If unset, when a new condition type is added or an existing condition's status is changed, the server defaults this to the current time."
}, },
"lastUpdateTime": { "lastUpdateTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "lastUpdateTime is the time of the last update to this condition" "description": "lastUpdateTime is the time of the last update to this condition"
}, },
@@ -92,7 +112,11 @@
"items": { "items": {
"description": "items is a collection of CertificateSigningRequest objects", "description": "items is a collection of CertificateSigningRequest objects",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -102,7 +126,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {} "default": {}
} }
}, },
@@ -193,7 +221,11 @@
"conditions": { "conditions": {
"description": "conditions applied to the request. Known conditions are \"Approved\", \"Denied\", and \"Failed\".", "description": "conditions applied to the request. Known conditions are \"Approved\", \"Denied\", and \"Failed\".",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequestCondition", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequestCondition"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -293,7 +325,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -341,7 +377,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -652,7 +692,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -668,7 +712,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -690,7 +738,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -700,7 +752,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -732,7 +788,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -748,7 +808,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -842,7 +906,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -854,7 +922,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -900,7 +972,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -938,7 +1014,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1219,6 +1299,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1251,6 +1339,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1263,6 +1354,33 @@
"description": "delete collection of CertificateSigningRequest", "description": "delete collection of CertificateSigningRequest",
"operationId": "deleteCertificatesV1CollectionCertificateSigningRequest", "operationId": "deleteCertificatesV1CollectionCertificateSigningRequest",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1272,6 +1390,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1290,33 +1426,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1343,29 +1452,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1392,20 +1483,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind CertificateSigningRequest", "description": "list or watch objects of kind CertificateSigningRequest",
"operationId": "listCertificatesV1CertificateSigningRequest", "operationId": "listCertificatesV1CertificateSigningRequest",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1421,20 +1530,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1466,20 +1575,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1514,11 +1614,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1565,7 +1674,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest" "$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest"
} }
@@ -1632,11 +1741,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
} }
}, },
"/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}": { "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}": {
@@ -1644,6 +1762,15 @@
"description": "delete a CertificateSigningRequest", "description": "delete a CertificateSigningRequest",
"operationId": "deleteCertificatesV1CertificateSigningRequest", "operationId": "deleteCertificatesV1CertificateSigningRequest",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1670,20 +1797,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1730,11 +1848,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified CertificateSigningRequest", "description": "read the specified CertificateSigningRequest",
@@ -1759,11 +1886,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1799,15 +1935,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1825,11 +1952,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1876,11 +2027,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified CertificateSigningRequest", "description": "replace the specified CertificateSigningRequest",
@@ -1916,7 +2076,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest" "$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest"
} }
@@ -1963,11 +2123,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
} }
}, },
"/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval": { "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval": {
@@ -1994,11 +2163,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2034,15 +2212,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -2060,11 +2229,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2111,11 +2304,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace approval of the specified CertificateSigningRequest", "description": "replace approval of the specified CertificateSigningRequest",
@@ -2151,7 +2353,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest" "$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest"
} }
@@ -2198,11 +2400,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
} }
}, },
"/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status": { "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status": {
@@ -2229,11 +2440,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2269,15 +2489,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -2295,11 +2506,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2346,11 +2581,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace status of the specified CertificateSigningRequest", "description": "replace status of the specified CertificateSigningRequest",
@@ -2386,7 +2630,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest" "$ref": "#/components/schemas/io.k8s.api.certificates.v1.CertificateSigningRequest"
} }
@@ -2433,11 +2677,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
} }
}, },
"/apis/certificates.k8s.io/v1/watch/certificatesigningrequests": { "/apis/certificates.k8s.io/v1/watch/certificatesigningrequests": {
@@ -2474,11 +2727,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2607,11 +2869,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"certificates_v1" "certificates_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "certificates.k8s.io",
"kind": "CertificateSigningRequest",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -13,12 +13,20 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.coordination.v1.LeaseSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.coordination.v1.LeaseSpec"
}
],
"default": {}, "default": {},
"description": "Specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" "description": "Specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status"
} }
@@ -42,7 +50,11 @@
"items": { "items": {
"description": "Items is a list of schema objects.", "description": "Items is a list of schema objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.coordination.v1.Lease", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.coordination.v1.Lease"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -52,7 +64,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -73,7 +89,11 @@
"description": "LeaseSpec is a specification of a Lease.", "description": "LeaseSpec is a specification of a Lease.",
"properties": { "properties": {
"acquireTime": { "acquireTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
}
],
"description": "acquireTime is a time when the current lease was acquired." "description": "acquireTime is a time when the current lease was acquired."
}, },
"holderIdentity": { "holderIdentity": {
@@ -91,7 +111,11 @@
"type": "integer" "type": "integer"
}, },
"renewTime": { "renewTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
}
],
"description": "renewTime is a time when the current holder of a lease has last updated the lease." "description": "renewTime is a time when the current holder of a lease has last updated the lease."
} }
}, },
@@ -185,7 +209,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -233,7 +261,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -544,7 +576,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -560,7 +596,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -587,7 +627,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -597,7 +641,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -629,7 +677,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -645,7 +697,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -739,7 +795,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -751,7 +811,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -797,7 +861,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -835,7 +903,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1116,6 +1188,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1148,6 +1228,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1189,11 +1272,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1293,6 +1385,33 @@
"description": "delete collection of Lease", "description": "delete collection of Lease",
"operationId": "deleteCoordinationV1CollectionNamespacedLease", "operationId": "deleteCoordinationV1CollectionNamespacedLease",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1302,6 +1421,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1320,33 +1457,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1373,29 +1483,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1422,20 +1514,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind Lease", "description": "list or watch objects of kind Lease",
"operationId": "listCoordinationV1NamespacedLease", "operationId": "listCoordinationV1NamespacedLease",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1451,20 +1561,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1496,20 +1606,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1544,11 +1645,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1605,7 +1715,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.coordination.v1.Lease" "$ref": "#/components/schemas/io.k8s.api.coordination.v1.Lease"
} }
@@ -1672,11 +1782,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
} }
}, },
"/apis/coordination.k8s.io/v1/namespaces/{namespace}/leases/{name}": { "/apis/coordination.k8s.io/v1/namespaces/{namespace}/leases/{name}": {
@@ -1684,6 +1803,15 @@
"description": "delete a Lease", "description": "delete a Lease",
"operationId": "deleteCoordinationV1NamespacedLease", "operationId": "deleteCoordinationV1NamespacedLease",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1710,20 +1838,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1770,11 +1889,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified Lease", "description": "read the specified Lease",
@@ -1799,11 +1927,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1849,15 +1986,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1875,11 +2003,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1926,11 +2078,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified Lease", "description": "replace the specified Lease",
@@ -1966,7 +2127,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.coordination.v1.Lease" "$ref": "#/components/schemas/io.k8s.api.coordination.v1.Lease"
} }
@@ -2013,11 +2174,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
} }
}, },
"/apis/coordination.k8s.io/v1/watch/leases": { "/apis/coordination.k8s.io/v1/watch/leases": {
@@ -2054,11 +2224,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2187,11 +2366,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2330,11 +2518,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"coordination_v1" "coordination_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "coordination.k8s.io",
"kind": "Lease",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -49,7 +49,11 @@
"x-kubernetes-list-type": "set" "x-kubernetes-list-type": "set"
}, },
"conditions": { "conditions": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointConditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointConditions"
}
],
"default": {}, "default": {},
"description": "conditions contains information about the current status of the endpoint." "description": "conditions contains information about the current status of the endpoint."
}, },
@@ -62,7 +66,11 @@
"type": "object" "type": "object"
}, },
"hints": { "hints": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointHints", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointHints"
}
],
"description": "hints contains information associated with how an endpoint should be consumed." "description": "hints contains information associated with how an endpoint should be consumed."
}, },
"hostname": { "hostname": {
@@ -74,7 +82,11 @@
"type": "string" "type": "string"
}, },
"targetRef": { "targetRef": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference"
}
],
"description": "targetRef is a reference to a Kubernetes object that represents this endpoint." "description": "targetRef is a reference to a Kubernetes object that represents this endpoint."
}, },
"zone": { "zone": {
@@ -111,7 +123,11 @@
"forZones": { "forZones": {
"description": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing.", "description": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.ForZone", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.ForZone"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -164,7 +180,11 @@
"endpoints": { "endpoints": {
"description": "endpoints is a list of unique endpoints in this slice. Each slice may include a maximum of 1000 endpoints.", "description": "endpoints is a list of unique endpoints in this slice. Each slice may include a maximum of 1000 endpoints.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.Endpoint", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.Endpoint"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -175,14 +195,22 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata." "description": "Standard object's metadata."
}, },
"ports": { "ports": {
"description": "ports specifies the list of network ports exposed by each endpoint in this slice. Each port must have a unique name. When ports is empty, it indicates that there are no defined ports. When a port is defined with a nil port value, it indicates \"all ports\". Each slice may include a maximum of 100 ports.", "description": "ports specifies the list of network ports exposed by each endpoint in this slice. Each port must have a unique name. When ports is empty, it indicates that there are no defined ports. When a port is defined with a nil port value, it indicates \"all ports\". Each slice may include a maximum of 100 ports.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointPort", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointPort"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -212,7 +240,11 @@
"items": { "items": {
"description": "List of endpoint slices", "description": "List of endpoint slices",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointSlice", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointSlice"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -222,7 +254,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata." "description": "Standard list metadata."
} }
@@ -341,7 +377,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -389,7 +429,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -700,7 +744,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -716,7 +764,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -738,7 +790,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -748,7 +804,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -780,7 +840,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -796,7 +860,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -890,7 +958,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -902,7 +974,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -948,7 +1024,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -986,7 +1066,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1267,6 +1351,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1299,6 +1391,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1340,11 +1435,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1444,6 +1548,33 @@
"description": "delete collection of EndpointSlice", "description": "delete collection of EndpointSlice",
"operationId": "deleteDiscoveryV1CollectionNamespacedEndpointSlice", "operationId": "deleteDiscoveryV1CollectionNamespacedEndpointSlice",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1453,6 +1584,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1471,33 +1620,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1524,29 +1646,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1573,20 +1677,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind EndpointSlice", "description": "list or watch objects of kind EndpointSlice",
"operationId": "listDiscoveryV1NamespacedEndpointSlice", "operationId": "listDiscoveryV1NamespacedEndpointSlice",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1602,20 +1724,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1647,20 +1769,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1695,11 +1808,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1756,7 +1878,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointSlice" "$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointSlice"
} }
@@ -1823,11 +1945,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
} }
}, },
"/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}": { "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}": {
@@ -1835,6 +1966,15 @@
"description": "delete an EndpointSlice", "description": "delete an EndpointSlice",
"operationId": "deleteDiscoveryV1NamespacedEndpointSlice", "operationId": "deleteDiscoveryV1NamespacedEndpointSlice",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1861,20 +2001,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1921,11 +2052,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified EndpointSlice", "description": "read the specified EndpointSlice",
@@ -1950,11 +2090,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2000,15 +2149,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -2026,11 +2166,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2077,11 +2241,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified EndpointSlice", "description": "replace the specified EndpointSlice",
@@ -2117,7 +2290,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointSlice" "$ref": "#/components/schemas/io.k8s.api.discovery.v1.EndpointSlice"
} }
@@ -2164,11 +2337,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
} }
}, },
"/apis/discovery.k8s.io/v1/watch/endpointslices": { "/apis/discovery.k8s.io/v1/watch/endpointslices": {
@@ -2205,11 +2387,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2338,11 +2529,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2481,11 +2681,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1" "discovery_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -49,12 +49,20 @@
"x-kubernetes-list-type": "set" "x-kubernetes-list-type": "set"
}, },
"conditions": { "conditions": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointConditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointConditions"
}
],
"default": {}, "default": {},
"description": "conditions contains information about the current status of the endpoint." "description": "conditions contains information about the current status of the endpoint."
}, },
"hints": { "hints": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointHints", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointHints"
}
],
"description": "hints contains information associated with how an endpoint should be consumed." "description": "hints contains information associated with how an endpoint should be consumed."
}, },
"hostname": { "hostname": {
@@ -66,7 +74,11 @@
"type": "string" "type": "string"
}, },
"targetRef": { "targetRef": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference"
}
],
"description": "targetRef is a reference to a Kubernetes object that represents this endpoint." "description": "targetRef is a reference to a Kubernetes object that represents this endpoint."
}, },
"topology": { "topology": {
@@ -107,7 +119,11 @@
"forZones": { "forZones": {
"description": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing. May contain a maximum of 8 entries.", "description": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing. May contain a maximum of 8 entries.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.ForZone", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.ForZone"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -154,7 +170,11 @@
"endpoints": { "endpoints": {
"description": "endpoints is a list of unique endpoints in this slice. Each slice may include a maximum of 1000 endpoints.", "description": "endpoints is a list of unique endpoints in this slice. Each slice may include a maximum of 1000 endpoints.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.Endpoint", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.Endpoint"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -165,14 +185,22 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata." "description": "Standard object's metadata."
}, },
"ports": { "ports": {
"description": "ports specifies the list of network ports exposed by each endpoint in this slice. Each port must have a unique name. When ports is empty, it indicates that there are no defined ports. When a port is defined with a nil port value, it indicates \"all ports\". Each slice may include a maximum of 100 ports.", "description": "ports specifies the list of network ports exposed by each endpoint in this slice. Each port must have a unique name. When ports is empty, it indicates that there are no defined ports. When a port is defined with a nil port value, it indicates \"all ports\". Each slice may include a maximum of 100 ports.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointPort", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointPort"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -202,7 +230,11 @@
"items": { "items": {
"description": "List of endpoint slices", "description": "List of endpoint slices",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointSlice", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointSlice"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -212,7 +244,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata." "description": "Standard list metadata."
} }
@@ -331,7 +367,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -379,7 +419,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -690,7 +734,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -706,7 +754,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -728,7 +780,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -738,7 +794,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -770,7 +830,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -786,7 +850,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -880,7 +948,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -892,7 +964,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -938,7 +1014,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -976,7 +1056,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1257,6 +1341,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1289,6 +1381,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1330,11 +1425,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1434,6 +1538,33 @@
"description": "delete collection of EndpointSlice", "description": "delete collection of EndpointSlice",
"operationId": "deleteDiscoveryV1beta1CollectionNamespacedEndpointSlice", "operationId": "deleteDiscoveryV1beta1CollectionNamespacedEndpointSlice",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1443,6 +1574,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1461,33 +1610,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1514,29 +1636,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1563,20 +1667,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind EndpointSlice", "description": "list or watch objects of kind EndpointSlice",
"operationId": "listDiscoveryV1beta1NamespacedEndpointSlice", "operationId": "listDiscoveryV1beta1NamespacedEndpointSlice",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1592,20 +1714,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1637,20 +1759,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1685,11 +1798,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1746,7 +1868,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointSlice" "$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointSlice"
} }
@@ -1813,11 +1935,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
} }
}, },
"/apis/discovery.k8s.io/v1beta1/namespaces/{namespace}/endpointslices/{name}": { "/apis/discovery.k8s.io/v1beta1/namespaces/{namespace}/endpointslices/{name}": {
@@ -1825,6 +1956,15 @@
"description": "delete an EndpointSlice", "description": "delete an EndpointSlice",
"operationId": "deleteDiscoveryV1beta1NamespacedEndpointSlice", "operationId": "deleteDiscoveryV1beta1NamespacedEndpointSlice",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1851,20 +1991,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1911,11 +2042,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "read the specified EndpointSlice", "description": "read the specified EndpointSlice",
@@ -1940,11 +2080,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1990,15 +2139,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -2016,11 +2156,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2067,11 +2231,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"put": { "put": {
"description": "replace the specified EndpointSlice", "description": "replace the specified EndpointSlice",
@@ -2107,7 +2280,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointSlice" "$ref": "#/components/schemas/io.k8s.api.discovery.v1beta1.EndpointSlice"
} }
@@ -2154,11 +2327,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
} }
}, },
"/apis/discovery.k8s.io/v1beta1/watch/endpointslices": { "/apis/discovery.k8s.io/v1beta1/watch/endpointslices": {
@@ -2195,11 +2377,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2328,11 +2519,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2471,11 +2671,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"discovery_v1beta1" "discovery_v1beta1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "discovery.k8s.io",
"kind": "EndpointSlice",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -67,22 +67,38 @@
"type": "integer" "type": "integer"
}, },
"deprecatedFirstTimestamp": { "deprecatedFirstTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type." "description": "deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type."
}, },
"deprecatedLastTimestamp": { "deprecatedLastTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type." "description": "deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type."
}, },
"deprecatedSource": { "deprecatedSource": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.EventSource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.EventSource"
}
],
"default": {}, "default": {},
"description": "deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type." "description": "deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type."
}, },
"eventTime": { "eventTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
}
],
"default": {}, "default": {},
"description": "eventTime is the time when this Event was first observed. It is required." "description": "eventTime is the time when this Event was first observed. It is required."
}, },
@@ -91,7 +107,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -104,12 +124,20 @@
"type": "string" "type": "string"
}, },
"regarding": { "regarding": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference"
}
],
"default": {}, "default": {},
"description": "regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object." "description": "regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object."
}, },
"related": { "related": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference"
}
],
"description": "related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object." "description": "related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object."
}, },
"reportingController": { "reportingController": {
@@ -121,7 +149,11 @@
"type": "string" "type": "string"
}, },
"series": { "series": {
"$ref": "#/components/schemas/io.k8s.api.events.v1.EventSeries", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.events.v1.EventSeries"
}
],
"description": "series is data about the Event series this event represents or nil if it's a singleton Event." "description": "series is data about the Event series this event represents or nil if it's a singleton Event."
}, },
"type": { "type": {
@@ -151,7 +183,11 @@
"items": { "items": {
"description": "items is a list of schema objects.", "description": "items is a list of schema objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.events.v1.Event", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.events.v1.Event"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -161,7 +197,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -188,7 +228,11 @@
"type": "integer" "type": "integer"
}, },
"lastObservedTime": { "lastObservedTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
}
],
"default": {}, "default": {},
"description": "lastObservedTime is the time when last Event from the series was seen before last heartbeat." "description": "lastObservedTime is the time when last Event from the series was seen before last heartbeat."
} }
@@ -287,7 +331,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -335,7 +383,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -646,7 +698,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -662,7 +718,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -689,7 +749,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -699,7 +763,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -731,7 +799,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -747,7 +819,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -841,7 +917,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -853,7 +933,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -899,7 +983,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -937,7 +1025,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1218,6 +1310,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1250,6 +1350,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1291,11 +1394,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1395,6 +1507,33 @@
"description": "delete collection of Event", "description": "delete collection of Event",
"operationId": "deleteEventsV1CollectionNamespacedEvent", "operationId": "deleteEventsV1CollectionNamespacedEvent",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1404,6 +1543,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1422,33 +1579,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1475,29 +1605,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1524,20 +1636,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind Event", "description": "list or watch objects of kind Event",
"operationId": "listEventsV1NamespacedEvent", "operationId": "listEventsV1NamespacedEvent",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1553,20 +1683,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1598,20 +1728,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1646,11 +1767,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1707,7 +1837,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.events.v1.Event" "$ref": "#/components/schemas/io.k8s.api.events.v1.Event"
} }
@@ -1774,11 +1904,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
} }
}, },
"/apis/events.k8s.io/v1/namespaces/{namespace}/events/{name}": { "/apis/events.k8s.io/v1/namespaces/{namespace}/events/{name}": {
@@ -1786,6 +1925,15 @@
"description": "delete an Event", "description": "delete an Event",
"operationId": "deleteEventsV1NamespacedEvent", "operationId": "deleteEventsV1NamespacedEvent",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1812,20 +1960,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1872,11 +2011,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified Event", "description": "read the specified Event",
@@ -1901,11 +2049,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1951,15 +2108,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1977,11 +2125,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2028,11 +2200,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified Event", "description": "replace the specified Event",
@@ -2068,7 +2249,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.events.v1.Event" "$ref": "#/components/schemas/io.k8s.api.events.v1.Event"
} }
@@ -2115,11 +2296,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
} }
}, },
"/apis/events.k8s.io/v1/watch/events": { "/apis/events.k8s.io/v1/watch/events": {
@@ -2156,11 +2346,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2289,11 +2488,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2432,11 +2640,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1" "events_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -67,22 +67,38 @@
"type": "integer" "type": "integer"
}, },
"deprecatedFirstTimestamp": { "deprecatedFirstTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type." "description": "deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type."
}, },
"deprecatedLastTimestamp": { "deprecatedLastTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type." "description": "deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type."
}, },
"deprecatedSource": { "deprecatedSource": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.EventSource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.EventSource"
}
],
"default": {}, "default": {},
"description": "deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type." "description": "deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type."
}, },
"eventTime": { "eventTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
}
],
"default": {}, "default": {},
"description": "eventTime is the time when this Event was first observed. It is required." "description": "eventTime is the time when this Event was first observed. It is required."
}, },
@@ -91,7 +107,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -104,12 +124,20 @@
"type": "string" "type": "string"
}, },
"regarding": { "regarding": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference"
}
],
"default": {}, "default": {},
"description": "regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object." "description": "regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object."
}, },
"related": { "related": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference"
}
],
"description": "related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object." "description": "related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object."
}, },
"reportingController": { "reportingController": {
@@ -121,7 +149,11 @@
"type": "string" "type": "string"
}, },
"series": { "series": {
"$ref": "#/components/schemas/io.k8s.api.events.v1beta1.EventSeries", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.events.v1beta1.EventSeries"
}
],
"description": "series is data about the Event series this event represents or nil if it's a singleton Event." "description": "series is data about the Event series this event represents or nil if it's a singleton Event."
}, },
"type": { "type": {
@@ -151,7 +183,11 @@
"items": { "items": {
"description": "items is a list of schema objects.", "description": "items is a list of schema objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.events.v1beta1.Event", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.events.v1beta1.Event"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -161,7 +197,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -188,7 +228,11 @@
"type": "integer" "type": "integer"
}, },
"lastObservedTime": { "lastObservedTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
}
],
"default": {}, "default": {},
"description": "lastObservedTime is the time when last Event from the series was seen before last heartbeat." "description": "lastObservedTime is the time when last Event from the series was seen before last heartbeat."
} }
@@ -287,7 +331,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -335,7 +383,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -646,7 +698,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -662,7 +718,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -689,7 +749,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -699,7 +763,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -731,7 +799,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -747,7 +819,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -841,7 +917,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -853,7 +933,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -899,7 +983,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -937,7 +1025,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1218,6 +1310,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1250,6 +1350,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1291,11 +1394,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1395,6 +1507,33 @@
"description": "delete collection of Event", "description": "delete collection of Event",
"operationId": "deleteEventsV1beta1CollectionNamespacedEvent", "operationId": "deleteEventsV1beta1CollectionNamespacedEvent",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1404,6 +1543,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1422,33 +1579,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1475,29 +1605,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1524,20 +1636,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind Event", "description": "list or watch objects of kind Event",
"operationId": "listEventsV1beta1NamespacedEvent", "operationId": "listEventsV1beta1NamespacedEvent",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1553,20 +1683,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1598,20 +1728,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1646,11 +1767,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1707,7 +1837,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.events.v1beta1.Event" "$ref": "#/components/schemas/io.k8s.api.events.v1beta1.Event"
} }
@@ -1774,11 +1904,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
} }
}, },
"/apis/events.k8s.io/v1beta1/namespaces/{namespace}/events/{name}": { "/apis/events.k8s.io/v1beta1/namespaces/{namespace}/events/{name}": {
@@ -1786,6 +1925,15 @@
"description": "delete an Event", "description": "delete an Event",
"operationId": "deleteEventsV1beta1NamespacedEvent", "operationId": "deleteEventsV1beta1NamespacedEvent",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1812,20 +1960,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1872,11 +2011,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "read the specified Event", "description": "read the specified Event",
@@ -1901,11 +2049,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1951,15 +2108,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1977,11 +2125,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2028,11 +2200,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"put": { "put": {
"description": "replace the specified Event", "description": "replace the specified Event",
@@ -2068,7 +2249,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.events.v1beta1.Event" "$ref": "#/components/schemas/io.k8s.api.events.v1beta1.Event"
} }
@@ -2115,11 +2296,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
} }
}, },
"/apis/events.k8s.io/v1beta1/watch/events": { "/apis/events.k8s.io/v1beta1/watch/events": {
@@ -2156,11 +2346,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2289,11 +2488,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2432,11 +2640,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"events_v1beta1" "events_v1beta1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "events.k8s.io",
"kind": "Event",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -36,17 +36,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "The name is <group>.<resource>." "description": "The name is <group>.<resource>."
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionSpec"
}
],
"default": {}, "default": {},
"description": "Spec is an empty spec. It is here to comply with Kubernetes API style." "description": "Spec is an empty spec. It is here to comply with Kubernetes API style."
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionStatus"
}
],
"default": {}, "default": {},
"description": "API server instances report the version they can decode and the version they encode objects to when persisting objects in the backend." "description": "API server instances report the version they can decode and the version they encode objects to when persisting objects in the backend."
} }
@@ -68,7 +80,11 @@
"description": "Describes the state of the storageVersion at a certain point.", "description": "Describes the state of the storageVersion at a certain point.",
"properties": { "properties": {
"lastTransitionTime": { "lastTransitionTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "Last time the condition transitioned from one status to another." "description": "Last time the condition transitioned from one status to another."
}, },
@@ -114,7 +130,11 @@
"items": { "items": {
"description": "Items holds a list of StorageVersion", "description": "Items holds a list of StorageVersion",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -124,7 +144,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -155,7 +179,11 @@
"conditions": { "conditions": {
"description": "The latest available observations of the storageVersion's state.", "description": "The latest available observations of the storageVersion's state.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionCondition", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionCondition"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -167,7 +195,11 @@
"storageVersions": { "storageVersions": {
"description": "The reported versions per API server instance.", "description": "The reported versions per API server instance.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.ServerStorageVersion", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.ServerStorageVersion"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -267,7 +299,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -315,7 +351,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -626,7 +666,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -642,7 +686,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -664,7 +712,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -674,7 +726,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -706,7 +762,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -722,7 +782,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -816,7 +880,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -828,7 +896,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -874,7 +946,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -912,7 +988,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1193,6 +1273,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1225,6 +1313,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1237,6 +1328,33 @@
"description": "delete collection of StorageVersion", "description": "delete collection of StorageVersion",
"operationId": "deleteInternalApiserverV1alpha1CollectionStorageVersion", "operationId": "deleteInternalApiserverV1alpha1CollectionStorageVersion",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1246,6 +1364,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1264,33 +1400,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1317,29 +1426,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1366,20 +1457,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind StorageVersion", "description": "list or watch objects of kind StorageVersion",
"operationId": "listInternalApiserverV1alpha1StorageVersion", "operationId": "listInternalApiserverV1alpha1StorageVersion",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1395,20 +1504,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1440,20 +1549,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1488,11 +1588,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1539,7 +1648,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" "$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion"
} }
@@ -1606,11 +1715,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
} }
}, },
"/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}": { "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}": {
@@ -1618,6 +1736,15 @@
"description": "delete a StorageVersion", "description": "delete a StorageVersion",
"operationId": "deleteInternalApiserverV1alpha1StorageVersion", "operationId": "deleteInternalApiserverV1alpha1StorageVersion",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1644,20 +1771,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1704,11 +1822,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"get": { "get": {
"description": "read the specified StorageVersion", "description": "read the specified StorageVersion",
@@ -1733,11 +1860,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1773,15 +1909,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1799,11 +1926,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1850,11 +2001,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"put": { "put": {
"description": "replace the specified StorageVersion", "description": "replace the specified StorageVersion",
@@ -1890,7 +2050,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" "$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion"
} }
@@ -1937,11 +2097,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
} }
}, },
"/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}/status": { "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}/status": {
@@ -1968,11 +2137,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2008,15 +2186,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -2034,11 +2203,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2085,11 +2278,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"put": { "put": {
"description": "replace status of the specified StorageVersion", "description": "replace status of the specified StorageVersion",
@@ -2125,7 +2327,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" "$ref": "#/components/schemas/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion"
} }
@@ -2172,11 +2374,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
} }
}, },
"/apis/internal.apiserver.k8s.io/v1alpha1/watch/storageversions": { "/apis/internal.apiserver.k8s.io/v1alpha1/watch/storageversions": {
@@ -2213,11 +2424,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2346,11 +2566,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"internalApiserver_v1alpha1" "internalApiserver_v1alpha1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "internal.apiserver.k8s.io",
"kind": "StorageVersion",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

File diff suppressed because it is too large Load Diff

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -42,7 +42,11 @@
"properties": { "properties": {
"podFixed": { "podFixed": {
"additionalProperties": { "additionalProperties": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
],
"default": {} "default": {}
}, },
"description": "PodFixed represents the fixed resource overhead associated with running a pod.", "description": "PodFixed represents the fixed resource overhead associated with running a pod.",
@@ -68,16 +72,28 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"overhead": { "overhead": {
"$ref": "#/components/schemas/io.k8s.api.node.v1.Overhead", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.node.v1.Overhead"
}
],
"description": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. For more details, see\n https://kubernetes.io/docs/concepts/scheduling-eviction/pod-overhead/" "description": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. For more details, see\n https://kubernetes.io/docs/concepts/scheduling-eviction/pod-overhead/"
}, },
"scheduling": { "scheduling": {
"$ref": "#/components/schemas/io.k8s.api.node.v1.Scheduling", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.node.v1.Scheduling"
}
],
"description": "Scheduling holds the scheduling constraints to ensure that pods running with this RuntimeClass are scheduled to nodes that support it. If scheduling is nil, this RuntimeClass is assumed to be supported by all nodes." "description": "Scheduling holds the scheduling constraints to ensure that pods running with this RuntimeClass are scheduled to nodes that support it. If scheduling is nil, this RuntimeClass is assumed to be supported by all nodes."
} }
}, },
@@ -103,7 +119,11 @@
"items": { "items": {
"description": "Items is a list of schema objects.", "description": "Items is a list of schema objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.node.v1.RuntimeClass", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.node.v1.RuntimeClass"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -113,7 +133,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -145,7 +169,11 @@
"tolerations": { "tolerations": {
"description": "tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.", "description": "tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.Toleration", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.Toleration"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -253,7 +281,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -301,7 +333,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -612,7 +648,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -628,7 +668,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -650,7 +694,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -660,7 +708,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -692,7 +744,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -708,7 +764,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -802,7 +862,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -814,7 +878,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -860,7 +928,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -898,7 +970,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1179,6 +1255,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1211,6 +1295,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1223,6 +1310,33 @@
"description": "delete collection of RuntimeClass", "description": "delete collection of RuntimeClass",
"operationId": "deleteNodeV1CollectionRuntimeClass", "operationId": "deleteNodeV1CollectionRuntimeClass",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1232,6 +1346,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1250,33 +1382,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1303,29 +1408,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1352,20 +1439,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind RuntimeClass", "description": "list or watch objects of kind RuntimeClass",
"operationId": "listNodeV1RuntimeClass", "operationId": "listNodeV1RuntimeClass",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1381,20 +1486,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1426,20 +1531,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1474,11 +1570,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1525,7 +1630,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.node.v1.RuntimeClass" "$ref": "#/components/schemas/io.k8s.api.node.v1.RuntimeClass"
} }
@@ -1592,11 +1697,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
} }
}, },
"/apis/node.k8s.io/v1/runtimeclasses/{name}": { "/apis/node.k8s.io/v1/runtimeclasses/{name}": {
@@ -1604,6 +1718,15 @@
"description": "delete a RuntimeClass", "description": "delete a RuntimeClass",
"operationId": "deleteNodeV1RuntimeClass", "operationId": "deleteNodeV1RuntimeClass",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1630,20 +1753,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1690,11 +1804,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified RuntimeClass", "description": "read the specified RuntimeClass",
@@ -1719,11 +1842,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1759,15 +1891,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1785,11 +1908,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1836,11 +1983,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified RuntimeClass", "description": "replace the specified RuntimeClass",
@@ -1876,7 +2032,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.node.v1.RuntimeClass" "$ref": "#/components/schemas/io.k8s.api.node.v1.RuntimeClass"
} }
@@ -1923,11 +2079,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
} }
}, },
"/apis/node.k8s.io/v1/watch/runtimeclasses": { "/apis/node.k8s.io/v1/watch/runtimeclasses": {
@@ -1964,11 +2129,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2097,11 +2271,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1" "node_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -42,7 +42,11 @@
"properties": { "properties": {
"podFixed": { "podFixed": {
"additionalProperties": { "additionalProperties": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
],
"default": {} "default": {}
}, },
"description": "PodFixed represents the fixed resource overhead associated with running a pod.", "description": "PodFixed represents the fixed resource overhead associated with running a pod.",
@@ -68,16 +72,28 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"overhead": { "overhead": {
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.Overhead", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.Overhead"
}
],
"description": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. For more details, see https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md" "description": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. For more details, see https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md"
}, },
"scheduling": { "scheduling": {
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.Scheduling", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.Scheduling"
}
],
"description": "Scheduling holds the scheduling constraints to ensure that pods running with this RuntimeClass are scheduled to nodes that support it. If scheduling is nil, this RuntimeClass is assumed to be supported by all nodes." "description": "Scheduling holds the scheduling constraints to ensure that pods running with this RuntimeClass are scheduled to nodes that support it. If scheduling is nil, this RuntimeClass is assumed to be supported by all nodes."
} }
}, },
@@ -103,7 +119,11 @@
"items": { "items": {
"description": "Items is a list of schema objects.", "description": "Items is a list of schema objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.RuntimeClass", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.RuntimeClass"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -113,7 +133,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -145,7 +169,11 @@
"tolerations": { "tolerations": {
"description": "tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.", "description": "tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.core.v1.Toleration", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.core.v1.Toleration"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -253,7 +281,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -301,7 +333,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -612,7 +648,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -628,7 +668,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -650,7 +694,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -660,7 +708,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -692,7 +744,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -708,7 +764,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -802,7 +862,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -814,7 +878,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -860,7 +928,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -898,7 +970,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1179,6 +1255,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1211,6 +1295,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1223,6 +1310,33 @@
"description": "delete collection of RuntimeClass", "description": "delete collection of RuntimeClass",
"operationId": "deleteNodeV1beta1CollectionRuntimeClass", "operationId": "deleteNodeV1beta1CollectionRuntimeClass",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1232,6 +1346,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1250,33 +1382,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1303,29 +1408,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1352,20 +1439,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind RuntimeClass", "description": "list or watch objects of kind RuntimeClass",
"operationId": "listNodeV1beta1RuntimeClass", "operationId": "listNodeV1beta1RuntimeClass",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1381,20 +1486,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1426,20 +1531,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1474,11 +1570,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1525,7 +1630,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.RuntimeClass" "$ref": "#/components/schemas/io.k8s.api.node.v1beta1.RuntimeClass"
} }
@@ -1592,11 +1697,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
} }
}, },
"/apis/node.k8s.io/v1beta1/runtimeclasses/{name}": { "/apis/node.k8s.io/v1beta1/runtimeclasses/{name}": {
@@ -1604,6 +1718,15 @@
"description": "delete a RuntimeClass", "description": "delete a RuntimeClass",
"operationId": "deleteNodeV1beta1RuntimeClass", "operationId": "deleteNodeV1beta1RuntimeClass",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1630,20 +1753,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1690,11 +1804,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "read the specified RuntimeClass", "description": "read the specified RuntimeClass",
@@ -1719,11 +1842,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1759,15 +1891,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1785,11 +1908,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1836,11 +1983,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
}, },
"put": { "put": {
"description": "replace the specified RuntimeClass", "description": "replace the specified RuntimeClass",
@@ -1876,7 +2032,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.node.v1beta1.RuntimeClass" "$ref": "#/components/schemas/io.k8s.api.node.v1beta1.RuntimeClass"
} }
@@ -1923,11 +2079,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
} }
}, },
"/apis/node.k8s.io/v1beta1/watch/runtimeclasses": { "/apis/node.k8s.io/v1beta1/watch/runtimeclasses": {
@@ -1964,11 +2129,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2097,11 +2271,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"node_v1beta1" "node_v1beta1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "node.k8s.io",
"kind": "RuntimeClass",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -13,17 +13,29 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"spec": { "spec": {
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudgetSpec", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudgetSpec"
}
],
"default": {}, "default": {},
"description": "Specification of the desired behavior of the PodDisruptionBudget." "description": "Specification of the desired behavior of the PodDisruptionBudget."
}, },
"status": { "status": {
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudgetStatus", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudgetStatus"
}
],
"default": {}, "default": {},
"description": "Most recently observed status of the PodDisruptionBudget." "description": "Most recently observed status of the PodDisruptionBudget."
} }
@@ -47,7 +59,11 @@
"items": { "items": {
"description": "Items is a list of PodDisruptionBudgets", "description": "Items is a list of PodDisruptionBudgets",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -57,7 +73,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -78,15 +98,27 @@
"description": "PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.", "description": "PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.",
"properties": { "properties": {
"maxUnavailable": { "maxUnavailable": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.util.intstr.IntOrString", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
}
],
"description": "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." "description": "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"."
}, },
"minAvailable": { "minAvailable": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.util.intstr.IntOrString", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
}
],
"description": "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." "description": "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"."
}, },
"selector": { "selector": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
}
],
"description": "Label query over pods whose evictions are managed by the disruption budget. A null selector will match no pods, while an empty ({}) selector will select all pods within the namespace.", "description": "Label query over pods whose evictions are managed by the disruption budget. A null selector will match no pods, while an empty ({}) selector will select all pods within the namespace.",
"x-kubernetes-patch-strategy": "replace" "x-kubernetes-patch-strategy": "replace"
} }
@@ -99,7 +131,11 @@
"conditions": { "conditions": {
"description": "Conditions contain conditions for PDB. The disruption controller sets the DisruptionAllowed condition. The following are known values for the reason field (additional reasons could be added in the future): - SyncFailed: The controller encountered an error and wasn't able to compute\n the number of allowed disruptions. Therefore no disruptions are\n allowed and the status of the condition will be False.\n- InsufficientPods: The number of pods are either at or below the number\n required by the PodDisruptionBudget. No disruptions are\n allowed and the status of the condition will be False.\n- SufficientPods: There are more pods than required by the PodDisruptionBudget.\n The condition will be True, and the number of allowed\n disruptions are provided by the disruptionsAllowed property.", "description": "Conditions contain conditions for PDB. The disruption controller sets the DisruptionAllowed condition. The following are known values for the reason field (additional reasons could be added in the future): - SyncFailed: The controller encountered an error and wasn't able to compute\n the number of allowed disruptions. Therefore no disruptions are\n allowed and the status of the condition will be False.\n- InsufficientPods: The number of pods are either at or below the number\n required by the PodDisruptionBudget. No disruptions are\n allowed and the status of the condition will be False.\n- SufficientPods: There are more pods than required by the PodDisruptionBudget.\n The condition will be True, and the number of allowed\n disruptions are provided by the disruptionsAllowed property.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Condition", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Condition"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -124,7 +160,11 @@
}, },
"disruptedPods": { "disruptedPods": {
"additionalProperties": { "additionalProperties": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {} "default": {}
}, },
"description": "DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn't occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.", "description": "DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn't occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.",
@@ -244,7 +284,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -267,7 +311,11 @@
"description": "Condition contains details for one aspect of the current state of this API Resource.", "description": "Condition contains details for one aspect of the current state of this API Resource.",
"properties": { "properties": {
"lastTransitionTime": { "lastTransitionTime": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." "description": "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable."
}, },
@@ -335,7 +383,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -617,7 +669,11 @@
"matchExpressions": { "matchExpressions": {
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -699,7 +755,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -715,7 +775,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -737,7 +801,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -747,7 +815,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -779,7 +851,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -795,7 +871,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -889,7 +969,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -901,7 +985,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -947,7 +1035,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -985,7 +1077,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1278,6 +1374,14 @@
} }
] ]
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1310,6 +1414,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1322,6 +1429,33 @@
"description": "delete collection of PodDisruptionBudget", "description": "delete collection of PodDisruptionBudget",
"operationId": "deletePolicyV1CollectionNamespacedPodDisruptionBudget", "operationId": "deletePolicyV1CollectionNamespacedPodDisruptionBudget",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1331,6 +1465,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1349,33 +1501,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1402,29 +1527,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1451,20 +1558,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind PodDisruptionBudget", "description": "list or watch objects of kind PodDisruptionBudget",
"operationId": "listPolicyV1NamespacedPodDisruptionBudget", "operationId": "listPolicyV1NamespacedPodDisruptionBudget",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1480,20 +1605,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1525,20 +1650,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1573,11 +1689,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1634,7 +1759,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget" "$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget"
} }
@@ -1701,11 +1826,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
} }
}, },
"/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}": { "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}": {
@@ -1713,6 +1847,15 @@
"description": "delete a PodDisruptionBudget", "description": "delete a PodDisruptionBudget",
"operationId": "deletePolicyV1NamespacedPodDisruptionBudget", "operationId": "deletePolicyV1NamespacedPodDisruptionBudget",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1739,20 +1882,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1799,11 +1933,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified PodDisruptionBudget", "description": "read the specified PodDisruptionBudget",
@@ -1828,11 +1971,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1878,15 +2030,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1904,11 +2047,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1955,11 +2122,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified PodDisruptionBudget", "description": "replace the specified PodDisruptionBudget",
@@ -1995,7 +2171,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget" "$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget"
} }
@@ -2042,11 +2218,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
} }
}, },
"/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status": { "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status": {
@@ -2073,11 +2258,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2123,15 +2317,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -2149,11 +2334,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -2200,11 +2409,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace status of the specified PodDisruptionBudget", "description": "replace status of the specified PodDisruptionBudget",
@@ -2240,7 +2458,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget" "$ref": "#/components/schemas/io.k8s.api.policy.v1.PodDisruptionBudget"
} }
@@ -2287,11 +2505,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
} }
}, },
"/apis/policy/v1/poddisruptionbudgets": { "/apis/policy/v1/poddisruptionbudgets": {
@@ -2328,11 +2555,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2461,11 +2697,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2604,11 +2849,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2757,11 +3011,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"policy_v1" "policy_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "policy",
"kind": "PodDisruptionBudget",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

File diff suppressed because it is too large Load Diff

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -21,7 +21,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -58,7 +62,11 @@
"items": { "items": {
"description": "items is the list of PriorityClasses", "description": "items is the list of PriorityClasses",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.scheduling.v1.PriorityClass", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.scheduling.v1.PriorityClass"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -68,7 +76,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -173,7 +185,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -221,7 +237,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -532,7 +552,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -548,7 +572,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -570,7 +598,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -580,7 +612,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -612,7 +648,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -628,7 +668,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -722,7 +766,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -734,7 +782,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -780,7 +832,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -818,7 +874,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1099,6 +1159,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1131,6 +1199,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1143,6 +1214,33 @@
"description": "delete collection of PriorityClass", "description": "delete collection of PriorityClass",
"operationId": "deleteSchedulingV1CollectionPriorityClass", "operationId": "deleteSchedulingV1CollectionPriorityClass",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1152,6 +1250,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1170,33 +1286,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1223,29 +1312,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1272,20 +1343,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind PriorityClass", "description": "list or watch objects of kind PriorityClass",
"operationId": "listSchedulingV1PriorityClass", "operationId": "listSchedulingV1PriorityClass",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1301,20 +1390,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1346,20 +1435,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1394,11 +1474,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1445,7 +1534,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.scheduling.v1.PriorityClass" "$ref": "#/components/schemas/io.k8s.api.scheduling.v1.PriorityClass"
} }
@@ -1512,11 +1601,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
} }
}, },
"/apis/scheduling.k8s.io/v1/priorityclasses/{name}": { "/apis/scheduling.k8s.io/v1/priorityclasses/{name}": {
@@ -1524,6 +1622,15 @@
"description": "delete a PriorityClass", "description": "delete a PriorityClass",
"operationId": "deleteSchedulingV1PriorityClass", "operationId": "deleteSchedulingV1PriorityClass",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1550,20 +1657,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1610,11 +1708,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
}, },
"get": { "get": {
"description": "read the specified PriorityClass", "description": "read the specified PriorityClass",
@@ -1639,11 +1746,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1679,15 +1795,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1705,11 +1812,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1756,11 +1887,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
}, },
"put": { "put": {
"description": "replace the specified PriorityClass", "description": "replace the specified PriorityClass",
@@ -1796,7 +1936,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.scheduling.v1.PriorityClass" "$ref": "#/components/schemas/io.k8s.api.scheduling.v1.PriorityClass"
} }
@@ -1843,11 +1983,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
} }
}, },
"/apis/scheduling.k8s.io/v1/watch/priorityclasses": { "/apis/scheduling.k8s.io/v1/watch/priorityclasses": {
@@ -1884,11 +2033,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2017,11 +2175,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"scheduling_v1" "scheduling_v1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "scheduling.k8s.io",
"kind": "PriorityClass",
"version": "v1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,11 @@
"type": "string" "type": "string"
}, },
"capacity": { "capacity": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
],
"description": "Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThe semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable." "description": "Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThe semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable."
}, },
"kind": { "kind": {
@@ -17,16 +21,28 @@
"type": "string" "type": "string"
}, },
"maximumVolumeSize": { "maximumVolumeSize": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
],
"description": "MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThis is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim." "description": "MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThis is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim."
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.\n\nObjects are namespaced.\n\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.\n\nObjects are namespaced.\n\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"nodeTopology": { "nodeTopology": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
}
],
"description": "NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable." "description": "NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable."
}, },
"storageClassName": { "storageClassName": {
@@ -57,7 +73,11 @@
"items": { "items": {
"description": "Items is the list of CSIStorageCapacity objects.", "description": "Items is the list of CSIStorageCapacity objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.storage.v1alpha1.CSIStorageCapacity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.storage.v1alpha1.CSIStorageCapacity"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -71,7 +91,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -187,7 +211,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -235,7 +263,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -517,7 +549,11 @@
"matchExpressions": { "matchExpressions": {
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -599,7 +635,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -615,7 +655,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -637,7 +681,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -647,7 +695,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -679,7 +731,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -695,7 +751,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -789,7 +849,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -801,7 +865,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -847,7 +915,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -885,7 +957,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1166,6 +1242,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1198,6 +1282,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1239,11 +1326,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1343,6 +1439,33 @@
"description": "delete collection of CSIStorageCapacity", "description": "delete collection of CSIStorageCapacity",
"operationId": "deleteStorageV1alpha1CollectionNamespacedCSIStorageCapacity", "operationId": "deleteStorageV1alpha1CollectionNamespacedCSIStorageCapacity",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1352,6 +1475,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1370,33 +1511,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1423,29 +1537,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1472,20 +1568,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind CSIStorageCapacity", "description": "list or watch objects of kind CSIStorageCapacity",
"operationId": "listStorageV1alpha1NamespacedCSIStorageCapacity", "operationId": "listStorageV1alpha1NamespacedCSIStorageCapacity",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1501,20 +1615,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1546,20 +1660,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1594,11 +1699,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1655,7 +1769,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.storage.v1alpha1.CSIStorageCapacity" "$ref": "#/components/schemas/io.k8s.api.storage.v1alpha1.CSIStorageCapacity"
} }
@@ -1722,11 +1836,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
} }
}, },
"/apis/storage.k8s.io/v1alpha1/namespaces/{namespace}/csistoragecapacities/{name}": { "/apis/storage.k8s.io/v1alpha1/namespaces/{namespace}/csistoragecapacities/{name}": {
@@ -1734,6 +1857,15 @@
"description": "delete a CSIStorageCapacity", "description": "delete a CSIStorageCapacity",
"operationId": "deleteStorageV1alpha1NamespacedCSIStorageCapacity", "operationId": "deleteStorageV1alpha1NamespacedCSIStorageCapacity",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1760,20 +1892,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1820,11 +1943,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"get": { "get": {
"description": "read the specified CSIStorageCapacity", "description": "read the specified CSIStorageCapacity",
@@ -1849,11 +1981,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1899,15 +2040,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1925,11 +2057,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1976,11 +2132,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"put": { "put": {
"description": "replace the specified CSIStorageCapacity", "description": "replace the specified CSIStorageCapacity",
@@ -2016,7 +2181,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.storage.v1alpha1.CSIStorageCapacity" "$ref": "#/components/schemas/io.k8s.api.storage.v1alpha1.CSIStorageCapacity"
} }
@@ -2063,11 +2228,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
} }
}, },
"/apis/storage.k8s.io/v1alpha1/watch/csistoragecapacities": { "/apis/storage.k8s.io/v1alpha1/watch/csistoragecapacities": {
@@ -2104,11 +2278,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2237,11 +2420,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2380,11 +2572,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1alpha1" "storage_v1alpha1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1alpha1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -9,7 +9,11 @@
"type": "string" "type": "string"
}, },
"capacity": { "capacity": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
],
"description": "Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThe semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable." "description": "Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThe semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable."
}, },
"kind": { "kind": {
@@ -17,16 +21,28 @@
"type": "string" "type": "string"
}, },
"maximumVolumeSize": { "maximumVolumeSize": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
],
"description": "MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThis is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim." "description": "MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThis is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim."
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
}
],
"default": {}, "default": {},
"description": "Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.\n\nObjects are namespaced.\n\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.\n\nObjects are namespaced.\n\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"nodeTopology": { "nodeTopology": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
}
],
"description": "NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable." "description": "NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable."
}, },
"storageClassName": { "storageClassName": {
@@ -57,7 +73,11 @@
"items": { "items": {
"description": "Items is the list of CSIStorageCapacity objects.", "description": "Items is the list of CSIStorageCapacity objects.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.api.storage.v1beta1.CSIStorageCapacity", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.api.storage.v1beta1.CSIStorageCapacity"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -71,7 +91,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
} }
@@ -187,7 +211,11 @@
"resources": { "resources": {
"description": "resources contains the name of the resources and if they are namespaced.", "description": "resources contains the name of the resources and if they are namespaced.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -235,7 +263,11 @@
"type": "boolean" "type": "boolean"
}, },
"preconditions": { "preconditions": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
}
],
"description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned."
}, },
"propagationPolicy": { "propagationPolicy": {
@@ -517,7 +549,11 @@
"matchExpressions": { "matchExpressions": {
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -599,7 +635,11 @@
"type": "string" "type": "string"
}, },
"fieldsV1": { "fieldsV1": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"
}
],
"description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type."
}, },
"manager": { "manager": {
@@ -615,7 +655,11 @@
"type": "string" "type": "string"
}, },
"time": { "time": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
} }
}, },
@@ -637,7 +681,11 @@
"type": "string" "type": "string"
}, },
"creationTimestamp": { "creationTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"default": {}, "default": {},
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
@@ -647,7 +695,11 @@
"type": "integer" "type": "integer"
}, },
"deletionTimestamp": { "deletionTimestamp": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
],
"description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
}, },
"finalizers": { "finalizers": {
@@ -679,7 +731,11 @@
"managedFields": { "managedFields": {
"description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -695,7 +751,11 @@
"ownerReferences": { "ownerReferences": {
"description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
}
],
"default": {} "default": {}
}, },
"type": "array", "type": "array",
@@ -789,7 +849,11 @@
"type": "integer" "type": "integer"
}, },
"details": { "details": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
}
],
"description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type." "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type."
}, },
"kind": { "kind": {
@@ -801,7 +865,11 @@
"type": "string" "type": "string"
}, },
"metadata": { "metadata": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
],
"default": {}, "default": {},
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
}, },
@@ -847,7 +915,11 @@
"causes": { "causes": {
"description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -885,7 +957,11 @@
"description": "Event represents a single event to a watched resource.", "description": "Event represents a single event to a watched resource.",
"properties": { "properties": {
"object": { "object": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension"
}
],
"default": {}, "default": {},
"description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context."
}, },
@@ -1166,6 +1242,14 @@
"description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -1198,6 +1282,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
@@ -1239,11 +1326,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1343,6 +1439,33 @@
"description": "delete collection of CSIStorageCapacity", "description": "delete collection of CSIStorageCapacity",
"operationId": "deleteStorageV1beta1CollectionNamespacedCSIStorageCapacity", "operationId": "deleteStorageV1beta1CollectionNamespacedCSIStorageCapacity",
"parameters": [ "parameters": [
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1352,6 +1475,24 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{ {
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"in": "query", "in": "query",
@@ -1370,33 +1511,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
"in": "query", "in": "query",
@@ -1423,29 +1537,11 @@
"type": "integer", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1472,20 +1568,38 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "list or watch objects of kind CSIStorageCapacity", "description": "list or watch objects of kind CSIStorageCapacity",
"operationId": "listStorageV1beta1NamespacedCSIStorageCapacity", "operationId": "listStorageV1beta1NamespacedCSIStorageCapacity",
"parameters": [ "parameters": [
{ {
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.",
"in": "query", "in": "query",
"name": "labelSelector", "name": "allowWatchBookmarks",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": { "schema": {
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
@@ -1501,20 +1615,20 @@
} }
}, },
{ {
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"in": "query", "in": "query",
"name": "watch", "name": "labelSelector",
"schema": { "schema": {
"type": "boolean", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
}, },
{ {
"description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
"in": "query", "in": "query",
"name": "allowWatchBookmarks", "name": "limit",
"schema": { "schema": {
"type": "boolean", "type": "integer",
"uniqueItems": true "uniqueItems": true
} }
}, },
@@ -1546,20 +1660,11 @@
} }
}, },
{ {
"description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"in": "query", "in": "query",
"name": "limit", "name": "watch",
"schema": { "schema": {
"type": "integer", "type": "boolean",
"uniqueItems": true
}
},
{
"description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
"in": "query",
"name": "continue",
"schema": {
"type": "string",
"uniqueItems": true "uniqueItems": true
} }
} }
@@ -1594,11 +1699,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1655,7 +1769,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.storage.v1beta1.CSIStorageCapacity" "$ref": "#/components/schemas/io.k8s.api.storage.v1beta1.CSIStorageCapacity"
} }
@@ -1722,11 +1836,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
} }
}, },
"/apis/storage.k8s.io/v1beta1/namespaces/{namespace}/csistoragecapacities/{name}": { "/apis/storage.k8s.io/v1beta1/namespaces/{namespace}/csistoragecapacities/{name}": {
@@ -1734,6 +1857,15 @@
"description": "delete a CSIStorageCapacity", "description": "delete a CSIStorageCapacity",
"operationId": "deleteStorageV1beta1NamespacedCSIStorageCapacity", "operationId": "deleteStorageV1beta1NamespacedCSIStorageCapacity",
"parameters": [ "parameters": [
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
},
{ {
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"in": "query", "in": "query",
@@ -1760,20 +1892,11 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
"in": "query",
"name": "dryRun",
"schema": {
"type": "string",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
} }
@@ -1820,11 +1943,20 @@
} }
}, },
"description": "Accepted" "description": "Accepted"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"get": { "get": {
"description": "read the specified CSIStorageCapacity", "description": "read the specified CSIStorageCapacity",
@@ -1849,11 +1981,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -1899,15 +2040,6 @@
"uniqueItems": true "uniqueItems": true
} }
}, },
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
},
{ {
"description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
"in": "query", "in": "query",
@@ -1925,11 +2057,35 @@
"type": "string", "type": "string",
"uniqueItems": true "uniqueItems": true
} }
},
{
"description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
"in": "query",
"name": "force",
"schema": {
"type": "boolean",
"uniqueItems": true
}
} }
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "application/apply-patch+yaml": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/merge-patch+json": {
"schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
},
"application/strategic-merge-patch+json": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
} }
@@ -1976,11 +2132,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"put": { "put": {
"description": "replace the specified CSIStorageCapacity", "description": "replace the specified CSIStorageCapacity",
@@ -2016,7 +2181,7 @@
], ],
"requestBody": { "requestBody": {
"content": { "content": {
"application/json": { "*/*": {
"schema": { "schema": {
"$ref": "#/components/schemas/io.k8s.api.storage.v1beta1.CSIStorageCapacity" "$ref": "#/components/schemas/io.k8s.api.storage.v1beta1.CSIStorageCapacity"
} }
@@ -2063,11 +2228,20 @@
} }
}, },
"description": "Created" "description": "Created"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
} }
}, },
"/apis/storage.k8s.io/v1beta1/watch/csistoragecapacities": { "/apis/storage.k8s.io/v1beta1/watch/csistoragecapacities": {
@@ -2104,11 +2278,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2237,11 +2420,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "watchlist",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {
@@ -2380,11 +2572,20 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [
"storage_v1beta1" "storage_v1beta1"
] ],
"x-kubernetes-action": "watch",
"x-kubernetes-group-version-kind": {
"group": "storage.k8s.io",
"kind": "CSIStorageCapacity",
"version": "v1beta1"
}
}, },
"parameters": [ "parameters": [
{ {

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -92,6 +104,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -124,6 +144,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -18,14 +18,22 @@
"type": "string" "type": "string"
}, },
"preferredVersion": { "preferredVersion": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {}, "default": {},
"description": "preferredVersion is the version preferred by the API server, which probably is the storage version." "description": "preferredVersion is the version preferred by the API server, which probably is the storage version."
}, },
"serverAddressByClientCIDRs": { "serverAddressByClientCIDRs": {
"description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -33,7 +41,11 @@
"versions": { "versions": {
"description": "versions are the versions supported in this group.", "description": "versions are the versions supported in this group.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -62,7 +74,11 @@
"groups": { "groups": {
"description": "groups is a list of APIGroup.", "description": "groups is a list of APIGroup.",
"items": { "items": {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup", "allOf": [
{
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup"
}
],
"default": {} "default": {}
}, },
"type": "array" "type": "array"
@@ -124,6 +140,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -156,6 +180,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -1,5 +1,14 @@
{ {
"components": {}, "components": {
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
}
},
"info": { "info": {
"title": "Kubernetes", "title": "Kubernetes",
"version": "unversioned" "version": "unversioned"
@@ -9,7 +18,11 @@
"/logs/": { "/logs/": {
"get": { "get": {
"operationId": "logFileListHandler", "operationId": "logFileListHandler",
"responses": {}, "responses": {
"401": {
"description": "Unauthorized"
}
},
"tags": [ "tags": [
"logs" "logs"
] ]
@@ -18,7 +31,11 @@
"/logs/{logpath}": { "/logs/{logpath}": {
"get": { "get": {
"operationId": "logFileHandler", "operationId": "logFileHandler",
"responses": {}, "responses": {
"401": {
"description": "Unauthorized"
}
},
"tags": [ "tags": [
"logs" "logs"
] ]

View File

@@ -1,5 +1,14 @@
{ {
"components": {}, "components": {
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
}
},
"info": { "info": {
"title": "Kubernetes", "title": "Kubernetes",
"version": "unversioned" "version": "unversioned"
@@ -20,6 +29,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -54,6 +54,14 @@
], ],
"type": "object" "type": "object"
} }
},
"securitySchemes": {
"BearerToken": {
"description": "Bearer Token authentication",
"in": "header",
"name": "authorization",
"type": "apiKey"
}
} }
}, },
"info": { "info": {
@@ -76,6 +84,9 @@
} }
}, },
"description": "OK" "description": "OK"
},
"401": {
"description": "Unauthorized"
} }
}, },
"tags": [ "tags": [

View File

@@ -389,6 +389,11 @@ func buildGenericConfig(
getOpenAPIDefinitions := openapi.GetOpenAPIDefinitionsWithoutDisabledFeatures(generatedopenapi.GetOpenAPIDefinitions) getOpenAPIDefinitions := openapi.GetOpenAPIDefinitionsWithoutDisabledFeatures(generatedopenapi.GetOpenAPIDefinitions)
genericConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(getOpenAPIDefinitions, openapinamer.NewDefinitionNamer(legacyscheme.Scheme, extensionsapiserver.Scheme, aggregatorscheme.Scheme)) genericConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(getOpenAPIDefinitions, openapinamer.NewDefinitionNamer(legacyscheme.Scheme, extensionsapiserver.Scheme, aggregatorscheme.Scheme))
genericConfig.OpenAPIConfig.Info.Title = "Kubernetes" genericConfig.OpenAPIConfig.Info.Title = "Kubernetes"
if utilfeature.DefaultFeatureGate.Enabled(genericfeatures.OpenAPIV3) {
genericConfig.OpenAPIV3Config = genericapiserver.DefaultOpenAPIV3Config(getOpenAPIDefinitions, openapinamer.NewDefinitionNamer(legacyscheme.Scheme, extensionsapiserver.Scheme, aggregatorscheme.Scheme))
genericConfig.OpenAPIV3Config.Info.Title = "Kubernetes"
}
genericConfig.LongRunningFunc = filters.BasicLongRunningRequestCheck( genericConfig.LongRunningFunc = filters.BasicLongRunningRequestCheck(
sets.NewString("watch", "proxy"), sets.NewString("watch", "proxy"),
sets.NewString("attach", "exec", "proxy", "log", "portforward"), sets.NewString("attach", "exec", "proxy", "log", "portforward"),
@@ -436,7 +441,7 @@ func buildGenericConfig(
versionedInformers = clientgoinformers.NewSharedInformerFactory(clientgoExternalClient, 10*time.Minute) versionedInformers = clientgoinformers.NewSharedInformerFactory(clientgoExternalClient, 10*time.Minute)
// Authentication.ApplyTo requires already applied OpenAPIConfig and EgressSelector if present // Authentication.ApplyTo requires already applied OpenAPIConfig and EgressSelector if present
if lastErr = s.Authentication.ApplyTo(&genericConfig.Authentication, genericConfig.SecureServing, genericConfig.EgressSelector, genericConfig.OpenAPIConfig, clientgoExternalClient, versionedInformers); lastErr != nil { if lastErr = s.Authentication.ApplyTo(&genericConfig.Authentication, genericConfig.SecureServing, genericConfig.EgressSelector, genericConfig.OpenAPIConfig, genericConfig.OpenAPIV3Config, clientgoExternalClient, versionedInformers); lastErr != nil {
return return
} }

4
go.mod
View File

@@ -123,7 +123,7 @@ require (
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-aggregator v0.0.0 k8s.io/kube-aggregator v0.0.0
k8s.io/kube-controller-manager v0.0.0 k8s.io/kube-controller-manager v0.0.0
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/kube-proxy v0.0.0 k8s.io/kube-proxy v0.0.0
k8s.io/kube-scheduler v0.0.0 k8s.io/kube-scheduler v0.0.0
k8s.io/kubectl v0.0.0 k8s.io/kubectl v0.0.0
@@ -462,7 +462,7 @@ replace (
k8s.io/klog/v2 => k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 => k8s.io/klog/v2 v2.60.1
k8s.io/kube-aggregator => ./staging/src/k8s.io/kube-aggregator k8s.io/kube-aggregator => ./staging/src/k8s.io/kube-aggregator
k8s.io/kube-controller-manager => ./staging/src/k8s.io/kube-controller-manager k8s.io/kube-controller-manager => ./staging/src/k8s.io/kube-controller-manager
k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/kube-proxy => ./staging/src/k8s.io/kube-proxy k8s.io/kube-proxy => ./staging/src/k8s.io/kube-proxy
k8s.io/kube-scheduler => ./staging/src/k8s.io/kube-scheduler k8s.io/kube-scheduler => ./staging/src/k8s.io/kube-scheduler
k8s.io/kubectl => ./staging/src/k8s.io/kubectl k8s.io/kubectl => ./staging/src/k8s.io/kubectl

4
go.sum
View File

@@ -545,8 +545,8 @@ k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 h1:TT1WdmqqXareKxZ/oNXEUSwKlLiHz
k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/system-validators v1.7.0 h1:tYD3hojdYc58CKtiEsh7BWW6Pg0x6xbclUiwjaIiiYo= k8s.io/system-validators v1.7.0 h1:tYD3hojdYc58CKtiEsh7BWW6Pg0x6xbclUiwjaIiiYo=
k8s.io/system-validators v1.7.0/go.mod h1:gP1Ky+R9wtrSiFbrpEPwWMeYz9yqyy1S/KOh0Vci7WI= k8s.io/system-validators v1.7.0/go.mod h1:gP1Ky+R9wtrSiFbrpEPwWMeYz9yqyy1S/KOh0Vci7WI=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=

View File

@@ -1019,7 +1019,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
genericfeatures.APIPriorityAndFairness: {Default: true, PreRelease: featuregate.Beta}, genericfeatures.APIPriorityAndFairness: {Default: true, PreRelease: featuregate.Beta},
genericfeatures.OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta}, genericfeatures.OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta},
genericfeatures.CustomResourceValidationExpressions: {Default: false, PreRelease: featuregate.Alpha}, genericfeatures.CustomResourceValidationExpressions: {Default: false, PreRelease: featuregate.Alpha},
genericfeatures.OpenAPIV3: {Default: false, PreRelease: featuregate.Alpha}, genericfeatures.OpenAPIV3: {Default: true, PreRelease: featuregate.Beta},
genericfeatures.ServerSideFieldValidation: {Default: true, PreRelease: featuregate.Beta}, genericfeatures.ServerSideFieldValidation: {Default: true, PreRelease: featuregate.Beta},
// features that enable backwards compatibility but are scheduled to be removed // features that enable backwards compatibility but are scheduled to be removed
// ... // ...

View File

@@ -454,7 +454,7 @@ func (o *BuiltInAuthenticationOptions) ToAuthenticationConfig() (kubeauthenticat
} }
// ApplyTo requires already applied OpenAPIConfig and EgressSelector if present. // ApplyTo requires already applied OpenAPIConfig and EgressSelector if present.
func (o *BuiltInAuthenticationOptions) ApplyTo(authInfo *genericapiserver.AuthenticationInfo, secureServing *genericapiserver.SecureServingInfo, egressSelector *egressselector.EgressSelector, openAPIConfig *openapicommon.Config, extclient kubernetes.Interface, versionedInformer informers.SharedInformerFactory) error { func (o *BuiltInAuthenticationOptions) ApplyTo(authInfo *genericapiserver.AuthenticationInfo, secureServing *genericapiserver.SecureServingInfo, egressSelector *egressselector.EgressSelector, openAPIConfig *openapicommon.Config, openAPIV3Config *openapicommon.Config, extclient kubernetes.Interface, versionedInformer informers.SharedInformerFactory) error {
if o == nil { if o == nil {
return nil return nil
} }
@@ -504,6 +504,9 @@ func (o *BuiltInAuthenticationOptions) ApplyTo(authInfo *genericapiserver.Authen
} }
authInfo.Authenticator, openAPIConfig.SecurityDefinitions, err = authenticatorConfig.New() authInfo.Authenticator, openAPIConfig.SecurityDefinitions, err = authenticatorConfig.New()
if openAPIV3Config != nil {
openAPIV3Config.SecurityDefinitions = openAPIConfig.SecurityDefinitions
}
if err != nil { if err != nil {
return err return err
} }

View File

@@ -226,7 +226,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -29,7 +29,7 @@ require (
k8s.io/code-generator v0.0.0 k8s.io/code-generator v0.0.0
k8s.io/component-base v0.0.0 k8s.io/component-base v0.0.0
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 sigs.k8s.io/structured-merge-diff/v4 v4.2.1

View File

@@ -982,8 +982,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -236,9 +236,12 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
// Together they serve the /openapi/v2 endpoint on a generic apiserver. A generic apiserver may // Together they serve the /openapi/v2 endpoint on a generic apiserver. A generic apiserver may
// choose to not enable OpenAPI by having null openAPIConfig, and thus OpenAPIVersionedService // choose to not enable OpenAPI by having null openAPIConfig, and thus OpenAPIVersionedService
// and StaticOpenAPISpec are both null. In that case we don't run the CRD OpenAPI controller. // and StaticOpenAPISpec are both null. In that case we don't run the CRD OpenAPI controller.
if s.GenericAPIServer.OpenAPIVersionedService != nil && s.GenericAPIServer.StaticOpenAPISpec != nil { if s.GenericAPIServer.StaticOpenAPISpec != nil {
if s.GenericAPIServer.OpenAPIVersionedService != nil {
go openapiController.Run(s.GenericAPIServer.StaticOpenAPISpec, s.GenericAPIServer.OpenAPIVersionedService, context.StopCh) go openapiController.Run(s.GenericAPIServer.StaticOpenAPISpec, s.GenericAPIServer.OpenAPIVersionedService, context.StopCh)
if utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) { }
if s.GenericAPIServer.OpenAPIV3VersionedService != nil && utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {
go openapiv3Controller.Run(s.GenericAPIServer.OpenAPIV3VersionedService, context.StopCh) go openapiv3Controller.Run(s.GenericAPIServer.OpenAPIV3VersionedService, context.StopCh)
} }
} }

View File

@@ -720,21 +720,21 @@ func TestBuildOpenAPIV3(t *testing.T) {
"with properties", "with properties",
`{"type":"object","properties":{"spec":{"type":"object"},"status":{"type":"object"}}}`, `{"type":"object","properties":{"spec":{"type":"object"},"status":{"type":"object"}}}`,
nil, nil,
`{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"metadata":{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"},"spec":{"type":"object"},"status":{"type":"object"}},"x-kubernetes-group-version-kind":[{"group":"bar.k8s.io","kind":"Foo","version":"v1"}]}`, `{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"metadata":{"allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"}]},"spec":{"type":"object"},"status":{"type":"object"}},"x-kubernetes-group-version-kind":[{"group":"bar.k8s.io","kind":"Foo","version":"v1"}]}`,
Options{}, Options{},
}, },
{ {
"with v3 nullable field", "with v3 nullable field",
`{"type":"object","properties":{"spec":{"type":"object", "nullable": true},"status":{"type":"object"}}}`, `{"type":"object","properties":{"spec":{"type":"object", "nullable": true},"status":{"type":"object"}}}`,
nil, nil,
`{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"metadata":{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"},"spec":{"type":"object", "nullable": true},"status":{"type":"object"}},"x-kubernetes-group-version-kind":[{"group":"bar.k8s.io","kind":"Foo","version":"v1"}]}`, `{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"metadata":{"allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"}]},"spec":{"type":"object", "nullable": true},"status":{"type":"object"}},"x-kubernetes-group-version-kind":[{"group":"bar.k8s.io","kind":"Foo","version":"v1"}]}`,
Options{}, Options{},
}, },
{ {
"with default not pruned for v3", "with default not pruned for v3",
`{"type":"object","properties":{"spec":{"type":"object","properties":{"field":{"type":"string","default":"foo"}}},"status":{"type":"object"}}}`, `{"type":"object","properties":{"spec":{"type":"object","properties":{"field":{"type":"string","default":"foo"}}},"status":{"type":"object"}}}`,
nil, nil,
`{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"metadata":{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"},"spec":{"type":"object","properties":{"field":{"type":"string","default":"foo"}}},"status":{"type":"object"}},"x-kubernetes-group-version-kind":[{"group":"bar.k8s.io","kind":"Foo","version":"v1"}]}`, `{"type":"object","properties":{"apiVersion":{"type":"string"},"kind":{"type":"string"},"metadata":{"allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"}]},"spec":{"type":"object","properties":{"field":{"type":"string","default":"foo"}}},"status":{"type":"object"}},"x-kubernetes-group-version-kind":[{"group":"bar.k8s.io","kind":"Foo","version":"v1"}]}`,
Options{}, Options{},
}, },
} }

View File

@@ -31,7 +31,7 @@ require (
gopkg.in/inf.v0 v0.9.1 gopkg.in/inf.v0 v0.9.1
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 sigs.k8s.io/structured-merge-diff/v4 v4.2.1

View File

@@ -247,8 +247,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -47,7 +47,7 @@ require (
k8s.io/client-go v0.0.0 k8s.io/client-go v0.0.0
k8s.io/component-base v0.0.0 k8s.io/component-base v0.0.0
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30 sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2

View File

@@ -961,8 +961,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -167,6 +167,7 @@ const (
// owner: @jefftree // owner: @jefftree
// kep: http://kep.k8s.io/2896 // kep: http://kep.k8s.io/2896
// alpha: v1.23 // alpha: v1.23
// beta: v1.24
// //
// Enables kubernetes to publish OpenAPI v3 // Enables kubernetes to publish OpenAPI v3
OpenAPIV3 featuregate.Feature = "OpenAPIV3" OpenAPIV3 featuregate.Feature = "OpenAPIV3"
@@ -212,7 +213,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
APIServerTracing: {Default: false, PreRelease: featuregate.Alpha}, APIServerTracing: {Default: false, PreRelease: featuregate.Alpha},
OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta}, OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta},
CustomResourceValidationExpressions: {Default: false, PreRelease: featuregate.Alpha}, CustomResourceValidationExpressions: {Default: false, PreRelease: featuregate.Alpha},
OpenAPIV3: {Default: false, PreRelease: featuregate.Alpha}, OpenAPIV3: {Default: true, PreRelease: featuregate.Beta},
ServerSideFieldValidation: {Default: true, PreRelease: featuregate.Beta}, ServerSideFieldValidation: {Default: true, PreRelease: featuregate.Beta},
CronJobTimeZone: {Default: false, PreRelease: featuregate.Alpha}, CronJobTimeZone: {Default: false, PreRelease: featuregate.Alpha},
} }

View File

@@ -171,6 +171,8 @@ type Config struct {
Serializer runtime.NegotiatedSerializer Serializer runtime.NegotiatedSerializer
// OpenAPIConfig will be used in generating OpenAPI spec. This is nil by default. Use DefaultOpenAPIConfig for "working" defaults. // OpenAPIConfig will be used in generating OpenAPI spec. This is nil by default. Use DefaultOpenAPIConfig for "working" defaults.
OpenAPIConfig *openapicommon.Config OpenAPIConfig *openapicommon.Config
// OpenAPIV3Config will be used in generating OpenAPI V3 spec. This is nil by default. Use DefaultOpenAPIV3Config for "working" defaults.
OpenAPIV3Config *openapicommon.Config
// SkipOpenAPIInstallation avoids installing the OpenAPI handler if set to true. // SkipOpenAPIInstallation avoids installing the OpenAPI handler if set to true.
SkipOpenAPIInstallation bool SkipOpenAPIInstallation bool
@@ -382,6 +384,7 @@ func NewRecommendedConfig(codecs serializer.CodecFactory) *RecommendedConfig {
} }
} }
// DefaultOpenAPIConfig provides the default OpenAPIConfig used to build the OpenAPI V2 spec
func DefaultOpenAPIConfig(getDefinitions openapicommon.GetOpenAPIDefinitions, defNamer *apiopenapi.DefinitionNamer) *openapicommon.Config { func DefaultOpenAPIConfig(getDefinitions openapicommon.GetOpenAPIDefinitions, defNamer *apiopenapi.DefinitionNamer) *openapicommon.Config {
return &openapicommon.Config{ return &openapicommon.Config{
ProtocolList: []string{"https"}, ProtocolList: []string{"https"},
@@ -402,6 +405,17 @@ func DefaultOpenAPIConfig(getDefinitions openapicommon.GetOpenAPIDefinitions, de
} }
} }
// DefaultOpenAPIV3Config provides the default OpenAPIV3Config used to build the OpenAPI V3 spec
func DefaultOpenAPIV3Config(getDefinitions openapicommon.GetOpenAPIDefinitions, defNamer *apiopenapi.DefinitionNamer) *openapicommon.Config {
defaultConfig := DefaultOpenAPIConfig(getDefinitions, defNamer)
defaultConfig.Definitions = getDefinitions(func(name string) spec.Ref {
defName, _ := defaultConfig.GetDefinitionName(name)
return spec.MustCreateRef("#/components/schemas/" + openapicommon.EscapeJsonPointer(defName))
})
return defaultConfig
}
func (c *AuthenticationInfo) ApplyClientCert(clientCA dynamiccertificates.CAContentProvider, servingInfo *SecureServingInfo) error { func (c *AuthenticationInfo) ApplyClientCert(clientCA dynamiccertificates.CAContentProvider, servingInfo *SecureServingInfo) error {
if servingInfo == nil { if servingInfo == nil {
return nil return nil
@@ -475,6 +489,45 @@ func (c *Config) AddPostStartHookOrDie(name string, hook PostStartHookFunc) {
} }
} }
func completeOpenAPI(config *openapicommon.Config, version *version.Info) {
if config == nil {
return
}
if config.SecurityDefinitions != nil {
// Setup OpenAPI security: all APIs will have the same authentication for now.
config.DefaultSecurity = []map[string][]string{}
keys := []string{}
for k := range *config.SecurityDefinitions {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
config.DefaultSecurity = append(config.DefaultSecurity, map[string][]string{k: {}})
}
if config.CommonResponses == nil {
config.CommonResponses = map[int]spec.Response{}
}
if _, exists := config.CommonResponses[http.StatusUnauthorized]; !exists {
config.CommonResponses[http.StatusUnauthorized] = spec.Response{
ResponseProps: spec.ResponseProps{
Description: "Unauthorized",
},
}
}
}
// make sure we populate info, and info.version, if not manually set
if config.Info == nil {
config.Info = &spec.Info{}
}
if config.Info.Version == "" {
if version != nil {
config.Info.Version = strings.Split(version.String(), "-")[0]
} else {
config.Info.Version = "unversioned"
}
}
}
// Complete fills in any fields not set that are required to have valid data and can be derived // Complete fills in any fields not set that are required to have valid data and can be derived
// from other fields. If you're going to `ApplyOptions`, do that first. It's mutating the receiver. // from other fields. If you're going to `ApplyOptions`, do that first. It's mutating the receiver.
func (c *Config) Complete(informers informers.SharedInformerFactory) CompletedConfig { func (c *Config) Complete(informers informers.SharedInformerFactory) CompletedConfig {
@@ -494,42 +547,9 @@ func (c *Config) Complete(informers informers.SharedInformerFactory) CompletedCo
c.ExternalAddress = net.JoinHostPort(c.ExternalAddress, strconv.Itoa(port)) c.ExternalAddress = net.JoinHostPort(c.ExternalAddress, strconv.Itoa(port))
} }
if c.OpenAPIConfig != nil { completeOpenAPI(c.OpenAPIConfig, c.Version)
if c.OpenAPIConfig.SecurityDefinitions != nil { completeOpenAPI(c.OpenAPIV3Config, c.Version)
// Setup OpenAPI security: all APIs will have the same authentication for now.
c.OpenAPIConfig.DefaultSecurity = []map[string][]string{}
keys := []string{}
for k := range *c.OpenAPIConfig.SecurityDefinitions {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
c.OpenAPIConfig.DefaultSecurity = append(c.OpenAPIConfig.DefaultSecurity, map[string][]string{k: {}})
}
if c.OpenAPIConfig.CommonResponses == nil {
c.OpenAPIConfig.CommonResponses = map[int]spec.Response{}
}
if _, exists := c.OpenAPIConfig.CommonResponses[http.StatusUnauthorized]; !exists {
c.OpenAPIConfig.CommonResponses[http.StatusUnauthorized] = spec.Response{
ResponseProps: spec.ResponseProps{
Description: "Unauthorized",
},
}
}
}
// make sure we populate info, and info.version, if not manually set
if c.OpenAPIConfig.Info == nil {
c.OpenAPIConfig.Info = &spec.Info{}
}
if c.OpenAPIConfig.Info.Version == "" {
if c.Version != nil {
c.OpenAPIConfig.Info.Version = strings.Split(c.Version.String(), "-")[0]
} else {
c.OpenAPIConfig.Info.Version = "unversioned"
}
}
}
if c.DiscoveryAddresses == nil { if c.DiscoveryAddresses == nil {
c.DiscoveryAddresses = discovery.DefaultAddresses{DefaultAddress: c.ExternalAddress} c.DiscoveryAddresses = discovery.DefaultAddresses{DefaultAddress: c.ExternalAddress}
} }
@@ -606,6 +626,7 @@ func (c completedConfig) New(name string, delegationTarget DelegationTarget) (*G
ExternalAddress: c.ExternalAddress, ExternalAddress: c.ExternalAddress,
openAPIConfig: c.OpenAPIConfig, openAPIConfig: c.OpenAPIConfig,
openAPIV3Config: c.OpenAPIV3Config,
skipOpenAPIInstallation: c.SkipOpenAPIInstallation, skipOpenAPIInstallation: c.SkipOpenAPIInstallation,
postStartHooks: map[string]postStartHookEntry{}, postStartHooks: map[string]postStartHookEntry{},

View File

@@ -135,6 +135,9 @@ type GenericAPIServer struct {
// Enable swagger and/or OpenAPI if these configs are non-nil. // Enable swagger and/or OpenAPI if these configs are non-nil.
openAPIConfig *openapicommon.Config openAPIConfig *openapicommon.Config
// Enable swagger and/or OpenAPI V3 if these configs are non-nil.
openAPIV3Config *openapicommon.Config
// SkipOpenAPIInstallation indicates not to install the OpenAPI handler // SkipOpenAPIInstallation indicates not to install the OpenAPI handler
// during PrepareRun. // during PrepareRun.
// Set this to true when the specific API Server has its own OpenAPI handler // Set this to true when the specific API Server has its own OpenAPI handler
@@ -351,9 +354,12 @@ func (s *GenericAPIServer) PrepareRun() preparedGenericAPIServer {
s.OpenAPIVersionedService, s.StaticOpenAPISpec = routes.OpenAPI{ s.OpenAPIVersionedService, s.StaticOpenAPISpec = routes.OpenAPI{
Config: s.openAPIConfig, Config: s.openAPIConfig,
}.InstallV2(s.Handler.GoRestfulContainer, s.Handler.NonGoRestfulMux) }.InstallV2(s.Handler.GoRestfulContainer, s.Handler.NonGoRestfulMux)
}
if s.openAPIV3Config != nil && !s.skipOpenAPIInstallation {
if utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) { if utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {
s.OpenAPIV3VersionedService = routes.OpenAPI{ s.OpenAPIV3VersionedService = routes.OpenAPI{
Config: s.openAPIConfig, Config: s.openAPIV3Config,
}.InstallV3(s.Handler.GoRestfulContainer, s.Handler.NonGoRestfulMux) }.InstallV3(s.Handler.GoRestfulContainer, s.Handler.NonGoRestfulMux)
} }
} }

View File

@@ -18,7 +18,7 @@ require (
k8s.io/api v0.0.0 k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0 k8s.io/apimachinery v0.0.0
k8s.io/client-go v0.0.0 k8s.io/client-go v0.0.0
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/kustomize/api v0.11.4 sigs.k8s.io/kustomize/api v0.11.4
sigs.k8s.io/kustomize/kyaml v0.13.6 sigs.k8s.io/kustomize/kyaml v0.13.6

View File

@@ -736,8 +736,8 @@ k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -37,7 +37,7 @@ require (
k8s.io/api v0.0.0 k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0 k8s.io/apimachinery v0.0.0
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 sigs.k8s.io/structured-merge-diff/v4 v4.2.1
sigs.k8s.io/yaml v1.2.0 sigs.k8s.io/yaml v1.2.0

View File

@@ -633,8 +633,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -956,8 +956,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -231,7 +231,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -8,7 +8,7 @@ require (
k8s.io/api v0.0.0 k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0 k8s.io/apimachinery v0.0.0
k8s.io/client-go v0.0.0 k8s.io/client-go v0.0.0
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
) )
replace ( replace (

View File

@@ -617,8 +617,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -21,7 +21,7 @@ require (
gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v2 v2.4.0
k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 k8s.io/gengo v0.0.0-20211129171323-c02415ce4185
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect
) )

View File

@@ -251,8 +251,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y=

View File

@@ -780,8 +780,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -615,8 +615,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -1063,8 +1063,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -225,7 +225,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -19,7 +19,7 @@ require (
k8s.io/code-generator v0.0.0 k8s.io/code-generator v0.0.0
k8s.io/component-base v0.0.0 k8s.io/component-base v0.0.0
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 sigs.k8s.io/structured-merge-diff/v4 v4.2.1
) )

View File

@@ -956,8 +956,8 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -144,6 +144,9 @@ type APIAggregator struct {
// Enable swagger and/or OpenAPI if these configs are non-nil. // Enable swagger and/or OpenAPI if these configs are non-nil.
openAPIConfig *openapicommon.Config openAPIConfig *openapicommon.Config
// Enable OpenAPI V3 if these configs are non-nil
openAPIV3Config *openapicommon.Config
// openAPIAggregationController downloads and merges OpenAPI v2 specs. // openAPIAggregationController downloads and merges OpenAPI v2 specs.
openAPIAggregationController *openapicontroller.AggregationController openAPIAggregationController *openapicontroller.AggregationController
@@ -207,6 +210,7 @@ func (c completedConfig) NewWithDelegate(delegationTarget genericapiserver.Deleg
APIRegistrationInformers: informerFactory, APIRegistrationInformers: informerFactory,
serviceResolver: c.ExtraConfig.ServiceResolver, serviceResolver: c.ExtraConfig.ServiceResolver,
openAPIConfig: c.GenericConfig.OpenAPIConfig, openAPIConfig: c.GenericConfig.OpenAPIConfig,
openAPIV3Config: c.GenericConfig.OpenAPIV3Config,
egressSelector: c.GenericConfig.EgressSelector, egressSelector: c.GenericConfig.EgressSelector,
proxyCurrentCertKeyContent: func() (bytes []byte, bytes2 []byte) { return nil, nil }, proxyCurrentCertKeyContent: func() (bytes []byte, bytes2 []byte) { return nil, nil },
} }
@@ -363,9 +367,13 @@ func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error) {
if s.openAPIConfig != nil { if s.openAPIConfig != nil {
s.GenericAPIServer.AddPostStartHookOrDie("apiservice-openapi-controller", func(context genericapiserver.PostStartHookContext) error { s.GenericAPIServer.AddPostStartHookOrDie("apiservice-openapi-controller", func(context genericapiserver.PostStartHookContext) error {
go s.openAPIAggregationController.Run(context.StopCh) go s.openAPIAggregationController.Run(context.StopCh)
if utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) { return nil
go s.openAPIV3AggregationController.Run(context.StopCh) })
} }
if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {
s.GenericAPIServer.AddPostStartHookOrDie("apiservice-openapiv3-controller", func(context genericapiserver.PostStartHookContext) error {
go s.openAPIV3AggregationController.Run(context.StopCh)
return nil return nil
}) })
} }
@@ -385,7 +393,9 @@ func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error) {
return preparedAPIAggregator{}, err return preparedAPIAggregator{}, err
} }
s.openAPIAggregationController = openapicontroller.NewAggregationController(&specDownloader, openAPIAggregator) s.openAPIAggregationController = openapicontroller.NewAggregationController(&specDownloader, openAPIAggregator)
if utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) { }
if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {
specDownloaderV3 := openapiv3aggregator.NewDownloader() specDownloaderV3 := openapiv3aggregator.NewDownloader()
openAPIV3Aggregator, err := openapiv3aggregator.BuildAndRegisterAggregator( openAPIV3Aggregator, err := openapiv3aggregator.BuildAndRegisterAggregator(
specDownloaderV3, specDownloaderV3,
@@ -394,10 +404,8 @@ func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error) {
if err != nil { if err != nil {
return preparedAPIAggregator{}, err return preparedAPIAggregator{}, err
} }
_ = openAPIV3Aggregator
s.openAPIV3AggregationController = openapiv3controller.NewAggregationController(openAPIV3Aggregator) s.openAPIV3AggregationController = openapiv3controller.NewAggregationController(openAPIV3Aggregator)
} }
}
return preparedAPIAggregator{APIAggregator: s, runnable: prepared}, nil return preparedAPIAggregator{APIAggregator: s, runnable: prepared}, nil
} }

View File

@@ -26,10 +26,14 @@ import (
"time" "time"
"k8s.io/apiserver/pkg/server" "k8s.io/apiserver/pkg/server"
"k8s.io/apiserver/pkg/server/mux"
"k8s.io/klog/v2" "k8s.io/klog/v2"
v1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" v1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
"k8s.io/kube-openapi/pkg/common" "k8s.io/kube-openapi/pkg/common"
"k8s.io/kube-openapi/pkg/handler3" "k8s.io/kube-openapi/pkg/handler3"
"k8s.io/kube-openapi/pkg/openapiconv"
v2aggregator "k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator"
) )
// SpecProxier proxies OpenAPI V3 requests to their respective APIService // SpecProxier proxies OpenAPI V3 requests to their respective APIService
@@ -45,6 +49,7 @@ const (
specDownloadTimeout = 60 * time.Second specDownloadTimeout = 60 * time.Second
localDelegateChainNamePrefix = "k8s_internal_local_delegation_chain_" localDelegateChainNamePrefix = "k8s_internal_local_delegation_chain_"
localDelegateChainNamePattern = localDelegateChainNamePrefix + "%010d" localDelegateChainNamePattern = localDelegateChainNamePrefix + "%010d"
openAPIV2Converter = "openapiv2converter"
) )
// IsLocalAPIService returns true for local specs from delegates. // IsLocalAPIService returns true for local specs from delegates.
@@ -87,6 +92,17 @@ func BuildAndRegisterAggregator(downloader Downloader, delegationTarget server.D
s.UpdateAPIServiceSpec(apiServiceName) s.UpdateAPIServiceSpec(apiServiceName)
i++ i++
} }
handler, err := handler3.NewOpenAPIService(nil)
if err != nil {
return s, err
}
s.openAPIV2ConverterHandler = handler
openAPIV2ConverterMux := mux.NewPathRecorderMux(openAPIV2Converter)
s.openAPIV2ConverterHandler.RegisterOpenAPIV3VersionedService("/openapi/v3", openAPIV2ConverterMux)
openAPIV2ConverterAPIService := v1.APIService{}
openAPIV2ConverterAPIService.Name = openAPIV2Converter
s.AddUpdateAPIService(openAPIV2ConverterMux, &openAPIV2ConverterAPIService)
s.register(pathHandler) s.register(pathHandler)
return s, nil return s, nil
@@ -107,23 +123,52 @@ func (s *specProxier) AddUpdateAPIService(handler http.Handler, apiservice *v1.A
} }
} }
func getGroupVersionStringFromAPIService(apiService v1.APIService) string {
if apiService.Spec.Group == "" && apiService.Spec.Version == "" {
return ""
}
return "apis/" + apiService.Spec.Group + "/" + apiService.Spec.Version
}
// UpdateAPIServiceSpec updates all the OpenAPI v3 specs that the APIService serves. // UpdateAPIServiceSpec updates all the OpenAPI v3 specs that the APIService serves.
// It is thread safe. // It is thread safe.
func (s *specProxier) UpdateAPIServiceSpec(apiServiceName string) error { func (s *specProxier) UpdateAPIServiceSpec(apiServiceName string) error {
s.rwMutex.Lock() s.rwMutex.Lock()
defer s.rwMutex.Unlock() defer s.rwMutex.Unlock()
return s.updateAPIServiceSpecLocked(apiServiceName)
}
func (s *specProxier) updateAPIServiceSpecLocked(apiServiceName string) error {
apiService, exists := s.apiServiceInfo[apiServiceName] apiService, exists := s.apiServiceInfo[apiServiceName]
if !exists { if !exists {
return fmt.Errorf("APIService %s does not exist for update", apiServiceName) return fmt.Errorf("APIService %s does not exist for update", apiServiceName)
} }
gv, err := s.downloader.OpenAPIV3Root(apiService.handler) if !apiService.isLegacyAPIService {
gv, httpStatus, err := s.downloader.OpenAPIV3Root(apiService.handler)
if err != nil { if err != nil {
return err return err
} }
if httpStatus == http.StatusNotFound {
apiService.isLegacyAPIService = true
} else {
s.apiServiceInfo[apiServiceName].discovery = gv s.apiServiceInfo[apiServiceName].discovery = gv
return nil return nil
}
}
newDownloader := v2aggregator.Downloader{}
v2Spec, etag, httpStatus, err := newDownloader.Download(apiService.handler, apiService.etag)
if err != nil {
return err
}
apiService.etag = etag
if httpStatus == http.StatusOK {
v3Spec := openapiconv.ConvertV2ToV3(v2Spec)
s.openAPIV2ConverterHandler.UpdateGroupVersion(getGroupVersionStringFromAPIService(apiService.apiService), v3Spec)
s.updateAPIServiceSpecLocked(openAPIV2Converter)
}
return nil
} }
type specProxier struct { type specProxier struct {
@@ -135,6 +180,8 @@ type specProxier struct {
// For downloading the OpenAPI v3 specs from apiservices // For downloading the OpenAPI v3 specs from apiservices
downloader Downloader downloader Downloader
openAPIV2ConverterHandler *handler3.OpenAPIService
} }
var _ SpecProxier = &specProxier{} var _ SpecProxier = &specProxier{}
@@ -143,6 +190,12 @@ type openAPIV3APIServiceInfo struct {
apiService v1.APIService apiService v1.APIService
handler http.Handler handler http.Handler
discovery *handler3.OpenAPIV3Discovery discovery *handler3.OpenAPIV3Discovery
// These fields are only used if the /openapi/v3 endpoint is not served by an APIService
// Legacy APIService indicates that an APIService does not support OpenAPI V3, and the OpenAPI V2
// will be downloaded, converted to V3 (lossy), and served by the aggregator
etag string
isLegacyAPIService bool
} }
// RemoveAPIServiceSpec removes an api service from the OpenAPI map. If it does not exist, no error is returned. // RemoveAPIServiceSpec removes an api service from the OpenAPI map. If it does not exist, no error is returned.
@@ -150,11 +203,13 @@ type openAPIV3APIServiceInfo struct {
func (s *specProxier) RemoveAPIServiceSpec(apiServiceName string) { func (s *specProxier) RemoveAPIServiceSpec(apiServiceName string) {
s.rwMutex.Lock() s.rwMutex.Lock()
defer s.rwMutex.Unlock() defer s.rwMutex.Unlock()
if apiServiceInfo, ok := s.apiServiceInfo[apiServiceName]; ok {
s.openAPIV2ConverterHandler.DeleteGroupVersion(getGroupVersionStringFromAPIService(apiServiceInfo.apiService))
delete(s.apiServiceInfo, apiServiceName) delete(s.apiServiceInfo, apiServiceName)
}
} }
// handleDiscovery is the handler for OpenAPI V3 Discovery func (s *specProxier) getOpenAPIV3Root() handler3.OpenAPIV3Discovery {
func (s *specProxier) handleDiscovery(w http.ResponseWriter, r *http.Request) {
s.rwMutex.RLock() s.rwMutex.RLock()
defer s.rwMutex.RUnlock() defer s.rwMutex.RUnlock()
@@ -171,7 +226,12 @@ func (s *specProxier) handleDiscovery(w http.ResponseWriter, r *http.Request) {
merged.Paths[key] = item merged.Paths[key] = item
} }
} }
return merged
}
// handleDiscovery is the handler for OpenAPI V3 Discovery
func (s *specProxier) handleDiscovery(w http.ResponseWriter, r *http.Request) {
merged := s.getOpenAPIV3Root()
j, err := json.Marshal(&merged) j, err := json.Marshal(&merged)
if err != nil { if err != nil {
w.WriteHeader(500) w.WriteHeader(500)

View File

@@ -0,0 +1,169 @@
/*
Copyright 2022 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package aggregator
import (
"bytes"
"encoding/json"
"net/http"
"testing"
genericapiserver "k8s.io/apiserver/pkg/server"
"k8s.io/apiserver/pkg/server/mux"
v1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
"k8s.io/kube-openapi/pkg/handler3"
)
type testV3APIService struct {
etag string
data []byte
}
var _ http.Handler = testV3APIService{}
func (h testV3APIService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// Create an APIService with a handler for one group/version
if r.URL.Path == "/openapi/v3" {
group := &handler3.OpenAPIV3Discovery{
Paths: map[string]handler3.OpenAPIV3DiscoveryGroupVersion{
"apis/group.example.com/v1": {
ServerRelativeURL: "/openapi/v3/apis/group.example.com/v1?hash=" + h.etag,
},
},
}
j, _ := json.Marshal(group)
w.Write(j)
return
}
if r.URL.Path == "/openapi/v3/apis/group.example.com/v1" {
if len(h.etag) > 0 {
w.Header().Add("Etag", h.etag)
}
ifNoneMatches := r.Header["If-None-Match"]
for _, match := range ifNoneMatches {
if match == h.etag {
w.WriteHeader(http.StatusNotModified)
return
}
}
w.Write(h.data)
}
}
type testV2APIService struct{}
var _ http.Handler = testV2APIService{}
func (h testV2APIService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// Create an APIService with a handler for one group/version
if r.URL.Path == "/openapi/v2" {
w.Write([]byte(`{"swagger":"2.0","info":{"title":"Kubernetes","version":"unversioned"}}`))
return
}
w.WriteHeader(404)
}
func TestV2APIService(t *testing.T) {
downloader := Downloader{}
pathHandler := mux.NewPathRecorderMux("aggregator_test")
var serveHandler http.Handler = pathHandler
specProxier, err := BuildAndRegisterAggregator(downloader, genericapiserver.NewEmptyDelegate(), pathHandler)
if err != nil {
t.Error(err)
}
handler := testV2APIService{}
apiService := &v1.APIService{
Spec: v1.APIServiceSpec{
Group: "group.example.com",
Version: "v1",
},
}
apiService.Name = "v1.group.example.com"
specProxier.AddUpdateAPIService(handler, apiService)
specProxier.UpdateAPIServiceSpec("v1.group.example.com")
data := sendReq(t, serveHandler, "/openapi/v3")
groupVersionList := handler3.OpenAPIV3Discovery{}
if err := json.Unmarshal(data, &groupVersionList); err != nil {
t.Fatal(err)
}
// A legacy APIService will not publish OpenAPI V3
// Ensure that we can still aggregate its V2 spec and convert it to V3.
path, ok := groupVersionList.Paths["apis/group.example.com/v1"]
if !ok {
t.Error("Expected group.example.com/v1 to be in group version list")
}
gotSpecJSON := sendReq(t, serveHandler, path.ServerRelativeURL)
expectedV3Bytes := []byte(`{"openapi":"3.0.0","info":{"title":"Kubernetes","version":"unversioned"},"components":{}}`)
if bytes.Compare(gotSpecJSON, expectedV3Bytes) != 0 {
t.Errorf("Spec mismatch, expected %s, got %s", expectedV3Bytes, gotSpecJSON)
}
}
func TestV3APIService(t *testing.T) {
downloader := Downloader{}
pathHandler := mux.NewPathRecorderMux("aggregator_test")
var serveHandler http.Handler = pathHandler
specProxier, err := BuildAndRegisterAggregator(downloader, genericapiserver.NewEmptyDelegate(), pathHandler)
if err != nil {
t.Error(err)
}
specJSON := []byte(`{"openapi":"3.0.0","info":{"title":"Kubernetes","version":"unversioned"}}`)
handler := testV3APIService{
etag: "6E8F849B434D4B98A569B9D7718876E9-356ECAB19D7FBE1336BABB1E70F8F3025050DE218BE78256BE81620681CFC9A268508E542B8B55974E17B2184BBFC8FFFAA577E51BE195D32B3CA2547818ABE4",
data: specJSON,
}
apiService := &v1.APIService{
Spec: v1.APIServiceSpec{
Group: "group.example.com",
Version: "v1",
},
}
apiService.Name = "v1.group.example.com"
specProxier.AddUpdateAPIService(handler, apiService)
specProxier.UpdateAPIServiceSpec("v1.group.example.com")
data := sendReq(t, serveHandler, "/openapi/v3")
groupVersionList := handler3.OpenAPIV3Discovery{}
if err := json.Unmarshal(data, &groupVersionList); err != nil {
t.Fatal(err)
}
path, ok := groupVersionList.Paths["apis/group.example.com/v1"]
if !ok {
t.Error("Expected group.example.com/v1 to be in group version list")
}
gotSpecJSON := sendReq(t, serveHandler, path.ServerRelativeURL)
if bytes.Compare(gotSpecJSON, specJSON) != 0 {
t.Errorf("Spec mismatch, expected %s, got %s", specJSON, gotSpecJSON)
}
}
func sendReq(t *testing.T, handler http.Handler, path string) []byte {
req, err := http.NewRequest("GET", path, nil)
if err != nil {
t.Fatal(err)
}
writer := newInMemoryResponseWriter()
handler.ServeHTTP(writer, req)
return writer.data
}

View File

@@ -23,11 +23,16 @@ import (
"k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authentication/user"
"k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/klog/v2"
"k8s.io/kube-openapi/pkg/handler3" "k8s.io/kube-openapi/pkg/handler3"
"k8s.io/kube-openapi/pkg/spec3"
) )
type NotFoundError struct {
}
func (e *NotFoundError) Error() string {
return ""
}
// Downloader is the OpenAPI downloader type. It will try to download spec from /openapi/v3 and /openap/v3/<group>/<version> endpoints. // Downloader is the OpenAPI downloader type. It will try to download spec from /openapi/v3 and /openap/v3/<group>/<version> endpoints.
type Downloader struct { type Downloader struct {
} }
@@ -44,112 +49,29 @@ func (s *Downloader) handlerWithUser(handler http.Handler, info user.Info) http.
}) })
} }
// SpecETag is a OpenAPI v3 spec and etag pair for the endpoint of each OpenAPI group/version
type SpecETag struct {
spec *spec3.OpenAPI
etag string
}
// OpenAPIV3Root downloads the OpenAPI V3 root document from an APIService // OpenAPIV3Root downloads the OpenAPI V3 root document from an APIService
func (s *Downloader) OpenAPIV3Root(handler http.Handler) (*handler3.OpenAPIV3Discovery, error) { func (s *Downloader) OpenAPIV3Root(handler http.Handler) (*handler3.OpenAPIV3Discovery, int, error) {
handler = s.handlerWithUser(handler, &user.DefaultInfo{Name: aggregatorUser}) handler = s.handlerWithUser(handler, &user.DefaultInfo{Name: aggregatorUser})
handler = http.TimeoutHandler(handler, specDownloadTimeout, "request timed out") handler = http.TimeoutHandler(handler, specDownloadTimeout, "request timed out")
req, err := http.NewRequest("GET", "/openapi/v3", nil) req, err := http.NewRequest("GET", "/openapi/v3", nil)
if err != nil { if err != nil {
return nil, err return nil, 0, err
} }
req.Header.Add("Accept", "application/json")
writer := newInMemoryResponseWriter() writer := newInMemoryResponseWriter()
handler.ServeHTTP(writer, req) handler.ServeHTTP(writer, req)
switch writer.respCode { switch writer.respCode {
case http.StatusNotFound: case http.StatusNotFound:
// TODO: For APIServices, download the V2 spec and convert to V3 return nil, writer.respCode, nil
return nil, nil
case http.StatusOK: case http.StatusOK:
groups := handler3.OpenAPIV3Discovery{} groups := handler3.OpenAPIV3Discovery{}
if err := json.Unmarshal(writer.data, &groups); err != nil { if err := json.Unmarshal(writer.data, &groups); err != nil {
return nil, err return nil, writer.respCode, err
} }
return &groups, nil return &groups, writer.respCode, nil
}
return nil, fmt.Errorf("Error, could not get list of group versions for APIService")
}
// Download downloads OpenAPI v3 for all groups of a given handler
func (s *Downloader) Download(handler http.Handler, etagList map[string]string) (returnSpec map[string]*SpecETag, err error) {
// TODO(jefftree): https://github.com/kubernetes/kubernetes/pull/105945#issuecomment-966455034
// Move to proxy request in the aggregator and let the APIServices serve the OpenAPI directly
handler = s.handlerWithUser(handler, &user.DefaultInfo{Name: aggregatorUser})
handler = http.TimeoutHandler(handler, specDownloadTimeout, "request timed out")
req, err := http.NewRequest("GET", "/openapi/v3", nil)
if err != nil {
return nil, err
}
req.Header.Add("Accept", "application/json")
writer := newInMemoryResponseWriter()
handler.ServeHTTP(writer, req)
switch writer.respCode {
case http.StatusNotFound:
// Gracefully skip 404, assuming the server won't provide any spec
return nil, nil
case http.StatusOK:
groups := handler3.OpenAPIV3Discovery{}
aggregated := make(map[string]*SpecETag)
if err := json.Unmarshal(writer.data, &groups); err != nil {
return nil, err
}
for path, item := range groups.Paths {
reqPath := item.ServerRelativeURL
req, err := http.NewRequest("GET", reqPath, nil)
if err != nil {
return nil, err
}
req.Header.Add("Accept", "application/json")
oldEtag, ok := etagList[path]
if ok {
req.Header.Add("If-None-Match", oldEtag)
}
openAPIWriter := newInMemoryResponseWriter()
handler.ServeHTTP(openAPIWriter, req)
switch openAPIWriter.respCode {
case http.StatusNotFound:
continue
case http.StatusNotModified:
aggregated[path] = &SpecETag{
etag: oldEtag,
}
case http.StatusOK:
var spec spec3.OpenAPI
// TODO|jefftree: For OpenAPI v3 Beta, if the v3 spec is empty then
// we should request the v2 endpoint and convert it to v3
if len(openAPIWriter.data) > 0 {
err = json.Unmarshal(openAPIWriter.data, &spec)
if err != nil {
return nil, err
}
etag := openAPIWriter.Header().Get("Etag")
aggregated[path] = &SpecETag{
spec: &spec,
etag: etag,
}
}
default:
klog.Errorf("Error: unknown status %v", openAPIWriter.respCode)
}
}
return aggregated, nil
default:
return nil, fmt.Errorf("failed to retrieve openAPI spec, http error: %s", writer.String())
} }
return nil, writer.respCode, fmt.Errorf("Error, could not get list of group versions for APIService")
} }
// inMemoryResponseWriter is a http.Writer that keep the response in memory. // inMemoryResponseWriter is a http.Writer that keep the response in memory.

View File

@@ -18,7 +18,6 @@ package aggregator
import ( import (
"encoding/json" "encoding/json"
"fmt"
"net/http" "net/http"
"testing" "testing"
@@ -65,35 +64,10 @@ func (h handlerTest) ServeHTTP(w http.ResponseWriter, r *http.Request) {
} }
} }
func assertDownloadedSpec(gvSpec map[string]*SpecETag, err error, expectedSpecID string, expectedEtag string) error {
if err != nil {
return fmt.Errorf("downloadOpenAPISpec failed : %s", err)
}
specInfo, ok := gvSpec["apis/group/version"]
if !ok {
if expectedSpecID == "" {
return nil
}
return fmt.Errorf("expected to download spec, no spec downloaded")
}
if specInfo.spec != nil && expectedSpecID == "" {
return fmt.Errorf("expected ID %s, actual ID %s", expectedSpecID, specInfo.spec.Version)
}
if specInfo.spec != nil && specInfo.spec.Version != expectedSpecID {
return fmt.Errorf("expected ID %s, actual ID %s", expectedSpecID, specInfo.spec.Version)
}
if specInfo.etag != expectedEtag {
return fmt.Errorf("expected ETag '%s', actual ETag '%s'", expectedEtag, specInfo.etag)
}
return nil
}
func TestDownloadOpenAPISpec(t *testing.T) { func TestDownloadOpenAPISpec(t *testing.T) {
s := Downloader{} s := Downloader{}
groups, err := s.OpenAPIV3Root( groups, _, err := s.OpenAPIV3Root(
handlerTest{data: []byte(""), etag: ""}) handlerTest{data: []byte(""), etag: ""})
assert.NoError(t, err) assert.NoError(t, err)
if assert.NotNil(t, groups) { if assert.NotNil(t, groups) {
@@ -103,18 +77,4 @@ func TestDownloadOpenAPISpec(t *testing.T) {
} }
} }
// Test with eTag
gvSpec, err := s.Download(
handlerTest{data: []byte("{\"openapi\": \"test\"}"), etag: "etag_test"}, map[string]string{})
assert.NoError(t, assertDownloadedSpec(gvSpec, err, "test", "etag_test"))
// Test not modified
gvSpec, err = s.Download(
handlerTest{data: []byte("{\"openapi\": \"test\"}"), etag: "etag_test"}, map[string]string{"apis/group/version": "etag_test"})
assert.NoError(t, assertDownloadedSpec(gvSpec, err, "", "etag_test"))
// Test different eTags
gvSpec, err = s.Download(
handlerTest{data: []byte("{\"openapi\": \"test\"}"), etag: "etag_test1"}, map[string]string{"apis/group/version": "etag_test2"})
assert.NoError(t, assertDownloadedSpec(gvSpec, err, "test", "etag_test1"))
} }

View File

@@ -862,7 +862,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -718,7 +718,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -718,7 +718,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -38,7 +38,7 @@ require (
k8s.io/component-base v0.0.0 k8s.io/component-base v0.0.0
k8s.io/component-helpers v0.0.0 k8s.io/component-helpers v0.0.0
k8s.io/klog/v2 v2.60.1 k8s.io/klog/v2 v2.60.1
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
k8s.io/metrics v0.0.0 k8s.io/metrics v0.0.0
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2

View File

@@ -887,8 +887,8 @@ k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a h1:91uLlZzSWSkvb1xuJeHwRMTMLHRHXz7eXPNuKxXJb+0= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 h1:Gii5eqf+GmIEwGNKQYQClCayuJCe2/4fZUvF7VG99sU=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@@ -722,7 +722,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc=
k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20220324211241-9f9c01d62a3a/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

Some files were not shown because too many files have changed in this diff Show More