diff --git a/justfile b/justfile index a52a2c3..3ecbd17 100644 --- a/justfile +++ b/justfile @@ -1,5 +1,5 @@ # renovate: datasource=github-releases depName=kubernetes/kubernetes -KUBERNETES_VERSION := "1.30.1" +KUBERNETES_VERSION := "1.31.1" export RUST_BACKTRACE := env_var_or_default("RUST_BACKTRACE", "full") diff --git a/k8s-pb-codegen/openapi/swagger.json b/k8s-pb-codegen/openapi/swagger.json index 928802b..44eed13 100644 --- a/k8s-pb-codegen/openapi/swagger.json +++ b/k8s-pb-codegen/openapi/swagger.json @@ -497,6 +497,9 @@ "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" } }, + "required": [ + "items" + ], "type": "object", "x-kubernetes-group-version-kind": [ { @@ -555,6 +558,9 @@ "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" } }, + "required": [ + "items" + ], "type": "object", "x-kubernetes-group-version-kind": [ { @@ -1136,6 +1142,9 @@ "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" } }, + "required": [ + "items" + ], "type": "object", "x-kubernetes-group-version-kind": [ { @@ -1194,6 +1203,9 @@ "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" } }, + "required": [ + "items" + ], "type": "object", "x-kubernetes-group-version-kind": [ { @@ -1609,6 +1621,9 @@ "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" } }, + "required": [ + "items" + ], "type": "object", "x-kubernetes-group-version-kind": [ { @@ -1667,6 +1682,9 @@ "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" } }, + "required": [ + "items" + ], "type": "object", "x-kubernetes-group-version-kind": [ { @@ -2832,11 +2850,11 @@ }, "ordinals": { "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSetOrdinals", - "description": "ordinals controls the numbering of replica indices in a StatefulSet. The default ordinals behavior assigns a \"0\" index to the first replica and increments the index by one for each additional replica requested. Using the ordinals field requires the StatefulSetStartOrdinal feature gate to be enabled, which is beta." + "description": "ordinals controls the numbering of replica indices in a StatefulSet. The default ordinals behavior assigns a \"0\" index to the first replica and increments the index by one for each additional replica requested." }, "persistentVolumeClaimRetentionPolicy": { "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSetPersistentVolumeClaimRetentionPolicy", - "description": "persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent volume claims created from volumeClaimTemplates. By default, all persistent volume claims are created as needed and retained until manually deleted. This policy allows the lifecycle to be altered, for example by deleting persistent volume claims when their stateful set is deleted, or when their pod is scaled down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha. +optional" + "description": "persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent volume claims created from volumeClaimTemplates. By default, all persistent volume claims are created as needed and retained until manually deleted. This policy allows the lifecycle to be altered, for example by deleting persistent volume claims when their stateful set is deleted, or when their pod is scaled down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, which is beta." }, "podManagementPolicy": { "description": "podManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is `OrderedReady`, where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. The alternative policy is `Parallel` which will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.", @@ -3294,6 +3312,42 @@ }, "type": "object" }, + "io.k8s.api.authorization.v1.FieldSelectorAttributes": { + "description": "FieldSelectorAttributes indicates a field limited access. Webhook authors are encouraged to * ensure rawSelector and requirements are not both set * consider the requirements field if set * not try to parse or consider the rawSelector field if set. This is to avoid another CVE-2022-2880 (i.e. getting different systems to agree on how exactly to parse a query is not something we want), see https://www.oxeye.io/resources/golang-parameter-smuggling-attack for more details. For the *SubjectAccessReview endpoints of the kube-apiserver: * If rawSelector is empty and requirements are empty, the request is not limited. * If rawSelector is present and requirements are empty, the rawSelector will be parsed and limited if the parsing succeeds. * If rawSelector is empty and requirements are present, the requirements should be honored * If rawSelector is present and requirements are present, the request is invalid.", + "properties": { + "rawSelector": { + "description": "rawSelector is the serialization of a field selector that would be included in a query parameter. Webhook implementations are encouraged to ignore rawSelector. The kube-apiserver's *SubjectAccessReview will parse the rawSelector as long as the requirements are not present.", + "type": "string" + }, + "requirements": { + "description": "requirements is the parsed interpretation of a field selector. All requirements must be met for a resource instance to match the selector. Webhook implementations should handle requirements, but how to handle them is up to the webhook. Since requirements can only limit the request, it is safe to authorize as unlimited request if the requirements are not understood.", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.FieldSelectorRequirement" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, + "io.k8s.api.authorization.v1.LabelSelectorAttributes": { + "description": "LabelSelectorAttributes indicates a label limited access. Webhook authors are encouraged to * ensure rawSelector and requirements are not both set * consider the requirements field if set * not try to parse or consider the rawSelector field if set. This is to avoid another CVE-2022-2880 (i.e. getting different systems to agree on how exactly to parse a query is not something we want), see https://www.oxeye.io/resources/golang-parameter-smuggling-attack for more details. For the *SubjectAccessReview endpoints of the kube-apiserver: * If rawSelector is empty and requirements are empty, the request is not limited. * If rawSelector is present and requirements are empty, the rawSelector will be parsed and limited if the parsing succeeds. * If rawSelector is empty and requirements are present, the requirements should be honored * If rawSelector is present and requirements are present, the request is invalid.", + "properties": { + "rawSelector": { + "description": "rawSelector is the serialization of a field selector that would be included in a query parameter. Webhook implementations are encouraged to ignore rawSelector. The kube-apiserver's *SubjectAccessReview will parse the rawSelector as long as the requirements are not present.", + "type": "string" + }, + "requirements": { + "description": "requirements is the parsed interpretation of a label selector. All requirements must be met for a resource instance to match the selector. Webhook implementations should handle requirements, but how to handle them is up to the webhook. Since requirements can only limit the request, it is safe to authorize as unlimited request if the requirements are not understood.", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, "io.k8s.api.authorization.v1.LocalSubjectAccessReview": { "description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.", "properties": { @@ -3372,10 +3426,18 @@ "io.k8s.api.authorization.v1.ResourceAttributes": { "description": "ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface", "properties": { + "fieldSelector": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.FieldSelectorAttributes", + "description": "fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it.\n\nThis field is alpha-level. To use this field, you must enable the `AuthorizeWithSelectors` feature gate (disabled by default)." + }, "group": { "description": "Group is the API Group of the Resource. \"*\" means all.", "type": "string" }, + "labelSelector": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.LabelSelectorAttributes", + "description": "labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it.\n\nThis field is alpha-level. To use this field, you must enable the `AuthorizeWithSelectors` feature gate (disabled by default)." + }, "name": { "description": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.", "type": "string" @@ -4752,7 +4814,7 @@ "type": "integer" }, "managedBy": { - "description": "ManagedBy field indicates the controller that manages a Job. The k8s Job controller reconciles jobs which don't have this field at all or the field value is the reserved string `kubernetes.io/job-controller`, but skips reconciling Jobs with a custom value for this field. The value must be a valid domain-prefixed path (e.g. acme.io/foo) - all characters before the first \"/\" must be a valid subdomain as defined by RFC 1123. All characters trailing the first \"/\" must be valid HTTP Path characters as defined by RFC 3986. The value cannot exceed 64 characters.\n\nThis field is alpha-level. The job controller accepts setting the field when the feature gate JobManagedBy is enabled (disabled by default).", + "description": "ManagedBy field indicates the controller that manages a Job. The k8s Job controller reconciles jobs which don't have this field at all or the field value is the reserved string `kubernetes.io/job-controller`, but skips reconciling Jobs with a custom value for this field. The value must be a valid domain-prefixed path (e.g. acme.io/foo) - all characters before the first \"/\" must be a valid subdomain as defined by RFC 1123. All characters trailing the first \"/\" must be valid HTTP Path characters as defined by RFC 3986. The value cannot exceed 63 characters. This field is immutable.\n\nThis field is alpha-level. The job controller accepts setting the field when the feature gate JobManagedBy is enabled (disabled by default).", "type": "string" }, "manualSelector": { @@ -4771,7 +4833,7 @@ }, "podFailurePolicy": { "$ref": "#/definitions/io.k8s.api.batch.v1.PodFailurePolicy", - "description": "Specifies the policy of handling failed pods. In particular, it allows to specify the set of actions and conditions which need to be satisfied to take the associated action. If empty, the default behaviour applies - the counter of failed pods, represented by the jobs's .status.failed field, is incremented and it is checked against the backoffLimit. This field cannot be used in combination with restartPolicy=OnFailure.\n\nThis field is beta-level. It can be used when the `JobPodFailurePolicy` feature gate is enabled (enabled by default)." + "description": "Specifies the policy of handling failed pods. In particular, it allows to specify the set of actions and conditions which need to be satisfied to take the associated action. If empty, the default behaviour applies - the counter of failed pods, represented by the jobs's .status.failed field, is incremented and it is checked against the backoffLimit. This field cannot be used in combination with restartPolicy=OnFailure." }, "podReplacementPolicy": { "description": "podReplacementPolicy specifies when to create replacement Pods. Possible values are: - TerminatingOrFailed means that we recreate pods\n when they are terminating (has a metadata.deletionTimestamp) or failed.\n- Failed means to wait until a previously created Pod is fully terminated (has phase\n Failed or Succeeded) before creating a replacement Pod.\n\nWhen using podFailurePolicy, Failed is the the only allowed value. TerminatingOrFailed and Failed are allowed values when podFailurePolicy is not in use. This is an beta field. To use this, enable the JobPodReplacementPolicy feature toggle. This is on by default.", @@ -4783,7 +4845,7 @@ }, "successPolicy": { "$ref": "#/definitions/io.k8s.api.batch.v1.SuccessPolicy", - "description": "successPolicy specifies the policy when the Job can be declared as succeeded. If empty, the default behavior applies - the Job is declared as succeeded only when the number of succeeded pods equals to the completions. When the field is specified, it must be immutable and works only for the Indexed Jobs. Once the Job meets the SuccessPolicy, the lingering pods are terminated.\n\nThis field is alpha-level. To use this field, you must enable the `JobSuccessPolicy` feature gate (disabled by default)." + "description": "successPolicy specifies the policy when the Job can be declared as succeeded. If empty, the default behavior applies - the Job is declared as succeeded only when the number of succeeded pods equals to the completions. When the field is specified, it must be immutable and works only for the Indexed Jobs. Once the Job meets the SuccessPolicy, the lingering pods are terminated.\n\nThis field is beta-level. To use this field, you must enable the `JobSuccessPolicy` feature gate (enabled by default)." }, "suspend": { "description": "suspend specifies whether the Job controller should create Pods or not. If a Job is created with suspend set to true, no Pods are created by the Job controller. If a Job is suspended after creation (i.e. the flag goes from false to true), the Job controller will delete all active Pods associated with this Job. Users must design their workload to gracefully handle this. Suspending a Job will reset the StartTime field of the Job, effectively resetting the ActiveDeadlineSeconds timer too. Defaults to false.", @@ -4840,7 +4902,7 @@ "type": "string" }, "ready": { - "description": "The number of pods which have a Ready condition.", + "description": "The number of active pods which have a Ready condition and are not terminating (without a deletionTimestamp).", "format": "int32", "type": "integer" }, @@ -5361,11 +5423,11 @@ "description": "acquireTime is a time when the current lease was acquired." }, "holderIdentity": { - "description": "holderIdentity contains the identity of the holder of a current lease.", + "description": "holderIdentity contains the identity of the holder of a current lease. If Coordinated Leader Election is used, the holder identity must be equal to the elected LeaseCandidate.metadata.name field.", "type": "string" }, "leaseDurationSeconds": { - "description": "leaseDurationSeconds is a duration that candidates for a lease need to wait to force acquire it. This is measure against time of last observed renewTime.", + "description": "leaseDurationSeconds is a duration that candidates for a lease need to wait to force acquire it. This is measured against the time of last observed renewTime.", "format": "int32", "type": "integer" }, @@ -5374,11 +5436,121 @@ "format": "int32", "type": "integer" }, + "preferredHolder": { + "description": "PreferredHolder signals to a lease holder that the lease has a more optimal holder and should be given up. This field can only be set if Strategy is also set.", + "type": "string" + }, "renewTime": { "$ref": "#/definitions/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." + }, + "strategy": { + "description": "Strategy indicates the strategy for picking the leader for coordinated leader election. If the field is not specified, there is no active coordination for this lease. (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.", + "type": "string" + } + }, + "type": "object" + }, + "io.k8s.api.coordination.v1alpha1.LeaseCandidate": { + "description": "LeaseCandidate defines a candidate for a Lease object. Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "spec": { + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidateSpec", + "description": "spec contains the specification of the Lease. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" + } + }, + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" + } + ] + }, + "io.k8s.api.coordination.v1alpha1.LeaseCandidateList": { + "description": "LeaseCandidateList is a list of Lease objects.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "items is a list of schema objects.", + "items": { + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" + }, + "type": "array" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + } + }, + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "coordination.k8s.io", + "kind": "LeaseCandidateList", + "version": "v1alpha1" + } + ] + }, + "io.k8s.api.coordination.v1alpha1.LeaseCandidateSpec": { + "description": "LeaseCandidateSpec is a specification of a Lease.", + "properties": { + "binaryVersion": { + "description": "BinaryVersion is the binary version. It must be in a semver format without leading `v`. This field is required when strategy is \"OldestEmulationVersion\"", + "type": "string" + }, + "emulationVersion": { + "description": "EmulationVersion is the emulation version. It must be in a semver format without leading `v`. EmulationVersion must be less than or equal to BinaryVersion. This field is required when strategy is \"OldestEmulationVersion\"", + "type": "string" + }, + "leaseName": { + "description": "LeaseName is the name of the lease for which this candidate is contending. This field is immutable.", + "type": "string" + }, + "pingTime": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", + "description": "PingTime is the last time that the server has requested the LeaseCandidate to renew. It is only done during leader election to check if any LeaseCandidates have become ineligible. When PingTime is updated, the LeaseCandidate will respond by updating RenewTime." + }, + "preferredStrategies": { + "description": "PreferredStrategies indicates the list of strategies for picking the leader for coordinated leader election. The list is ordered, and the first strategy supersedes all other strategies. The list is used by coordinated leader election to make a decision about the final election strategy. This follows as - If all clients have strategy X as the first element in this list, strategy X will be used. - If a candidate has strategy [X] and another candidate has strategy [Y, X], Y supersedes X and strategy Y\n will be used.\n- If a candidate has strategy [X, Y] and another candidate has strategy [Y, X], this is a user error and leader\n election will not operate the Lease until resolved.\n(Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "renewTime": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime", + "description": "RenewTime is the time that the LeaseCandidate was last updated. Any time a Lease needs to do leader election, the PingTime field is updated to signal to the LeaseCandidate that they should update the RenewTime. Old LeaseCandidate objects are also garbage collected if it has been hours since the last renew. The PingTime field is updated regularly to prevent garbage collection for still active LeaseCandidates." } }, + "required": [ + "leaseName", + "preferredStrategies" + ], "type": "object" }, "io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource": { @@ -5813,20 +5985,6 @@ ], "type": "object" }, - "io.k8s.api.core.v1.ClaimSource": { - "description": "ClaimSource describes a reference to a ResourceClaim.\n\nExactly one of these fields should be set. Consumers of this type must treat an empty object as if it has an unknown value.", - "properties": { - "resourceClaimName": { - "description": "ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.", - "type": "string" - }, - "resourceClaimTemplateName": { - "description": "ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.\n\nThe template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.\n\nThis field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.", - "type": "string" - } - }, - "type": "object" - }, "io.k8s.api.core.v1.ClientIPConfig": { "description": "ClientIPConfig represents the configurations of Client IP based session affinity.", "properties": { @@ -6478,6 +6636,19 @@ "description": "AllocatedResources represents the compute resources allocated for this container by the node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission and after successfully admitting desired pod resize.", "type": "object" }, + "allocatedResourcesStatus": { + "description": "AllocatedResourcesStatus represents the status of various resources allocated for this Pod.", + "items": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceStatus" + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge" + }, "containerID": { "description": "ContainerID is the ID of the container in the format '://'. Where type is a container runtime identifier, returned from Version call of CRI API (for example \"containerd\").", "type": "string" @@ -6519,6 +6690,10 @@ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerState", "description": "State holds details about the container's current condition." }, + "user": { + "$ref": "#/definitions/io.k8s.api.core.v1.ContainerUser", + "description": "User represents user identity information initially attached to the first process of the container" + }, "volumeMounts": { "description": "Status of volume mounts.", "items": { @@ -6542,6 +6717,16 @@ ], "type": "object" }, + "io.k8s.api.core.v1.ContainerUser": { + "description": "ContainerUser represents user identity information", + "properties": { + "linux": { + "$ref": "#/definitions/io.k8s.api.core.v1.LinuxContainerUser", + "description": "Linux holds user identity information initially attached to the first process of the containers in Linux. Note that the actual running identity can be changed if the process has enough privilege to do so." + } + }, + "type": "object" + }, "io.k8s.api.core.v1.DaemonEndpoint": { "description": "DaemonEndpoint contains information about a single Daemon endpoint.", "properties": { @@ -7482,6 +7667,9 @@ "type": "string" } }, + "required": [ + "ip" + ], "type": "object" }, "io.k8s.api.core.v1.HostPathVolumeSource": { @@ -7621,6 +7809,20 @@ ], "type": "object" }, + "io.k8s.api.core.v1.ImageVolumeSource": { + "description": "ImageVolumeSource represents a image volume resource.", + "properties": { + "pullPolicy": { + "description": "Policy for pulling OCI objects. Possible values are: Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.", + "type": "string" + }, + "reference": { + "description": "Required: Image or artifact reference to be used. Behaves in the same way as pod.spec.containers[*].image. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.", + "type": "string" + } + }, + "type": "object" + }, "io.k8s.api.core.v1.KeyToPath": { "description": "Maps a string key to a path within a volume.", "properties": { @@ -7809,6 +8011,35 @@ ], "type": "object" }, + "io.k8s.api.core.v1.LinuxContainerUser": { + "description": "LinuxContainerUser represents user identity information in Linux containers", + "properties": { + "gid": { + "description": "GID is the primary gid initially attached to the first process in the container", + "format": "int64", + "type": "integer" + }, + "supplementalGroups": { + "description": "SupplementalGroups are the supplemental groups initially attached to the first process in the container", + "items": { + "format": "int64", + "type": "integer" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "uid": { + "description": "UID is the primary uid initially attached to the first process in the container", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "uid", + "gid" + ], + "type": "object" + }, "io.k8s.api.core.v1.LoadBalancerIngress": { "description": "LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.", "properties": { @@ -8193,6 +8424,16 @@ }, "type": "object" }, + "io.k8s.api.core.v1.NodeFeatures": { + "description": "NodeFeatures describes the set of features implemented by the CRI implementation. The features contained in the NodeFeatures should depend only on the cri implementation independent of runtime handlers.", + "properties": { + "supplementalGroupsPolicy": { + "description": "SupplementalGroupsPolicy is set to true if the runtime supports SupplementalGroupsPolicy and ContainerUser.", + "type": "boolean" + } + }, + "type": "object" + }, "io.k8s.api.core.v1.NodeList": { "description": "NodeList is the whole list of all Nodes which have been registered with master.", "properties": { @@ -8243,11 +8484,15 @@ "type": "object" }, "io.k8s.api.core.v1.NodeRuntimeHandlerFeatures": { - "description": "NodeRuntimeHandlerFeatures is a set of runtime features.", + "description": "NodeRuntimeHandlerFeatures is a set of features implemented by the runtime handler.", "properties": { "recursiveReadOnlyMounts": { "description": "RecursiveReadOnlyMounts is set to true if the runtime handler supports RecursiveReadOnlyMounts.", "type": "boolean" + }, + "userNamespaces": { + "description": "UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes.", + "type": "boolean" } }, "type": "object" @@ -8389,7 +8634,7 @@ "additionalProperties": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" }, - "description": "Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity", + "description": "Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/reference/node/node-status/#capacity", "type": "object" }, "conditions": { @@ -8413,6 +8658,10 @@ "$ref": "#/definitions/io.k8s.api.core.v1.NodeDaemonEndpoints", "description": "Endpoints of daemons running on the Node." }, + "features": { + "$ref": "#/definitions/io.k8s.api.core.v1.NodeFeatures", + "description": "Features describes the set of features implemented by the CRI implementation." + }, "images": { "description": "List of container images on this node", "items": { @@ -8476,7 +8725,7 @@ "type": "string" }, "kubeProxyVersion": { - "description": "KubeProxy Version reported by the node.", + "description": "Deprecated: KubeProxy Version reported by the node.", "type": "string" }, "kubeletVersion": { @@ -8732,7 +8981,7 @@ "type": "string" }, "volumeAttributesClassName": { - "description": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.", + "description": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).", "type": "string" }, "volumeMode": { @@ -8793,12 +9042,12 @@ "x-kubernetes-patch-strategy": "merge" }, "currentVolumeAttributesClassName": { - "description": "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.", + "description": "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature (off by default).", "type": "string" }, "modifyVolumeStatus": { "$ref": "#/definitions/io.k8s.api.core.v1.ModifyVolumeStatus", - "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature." + "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is a beta field and requires enabling VolumeAttributesClass feature (off by default)." }, "phase": { "description": "phase represents the current phase of PersistentVolumeClaim.", @@ -9004,7 +9253,7 @@ "description": "storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://examples.k8s.io/volumes/storageos/README.md" }, "volumeAttributesClassName": { - "description": "Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is an alpha field and requires enabling VolumeAttributesClass feature.", + "description": "Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).", "type": "string" }, "volumeMode": { @@ -9023,7 +9272,7 @@ "properties": { "lastPhaseTransitionTime": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions. This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default)." + "description": "lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions." }, "message": { "description": "message is a human-readable message indicating details about why the volume is in this state.", @@ -9120,7 +9369,7 @@ "description": "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods." }, "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).", "items": { "type": "string" }, @@ -9128,7 +9377,7 @@ "x-kubernetes-list-type": "atomic" }, "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).", "items": { "type": "string" }, @@ -9264,6 +9513,9 @@ "type": "string" } }, + "required": [ + "ip" + ], "type": "object" }, "io.k8s.api.core.v1.PodList": { @@ -9328,15 +9580,19 @@ "type": "object" }, "io.k8s.api.core.v1.PodResourceClaim": { - "description": "PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.", + "description": "PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod.\n\nIt adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.", "properties": { "name": { "description": "Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL.", "type": "string" }, - "source": { - "$ref": "#/definitions/io.k8s.api.core.v1.ClaimSource", - "description": "Source describes where to find the ResourceClaim." + "resourceClaimName": { + "description": "ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.\n\nExactly one of ResourceClaimName and ResourceClaimTemplateName must be set.", + "type": "string" + }, + "resourceClaimTemplateName": { + "description": "ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.\n\nThe template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.\n\nThis field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.\n\nExactly one of ResourceClaimName and ResourceClaimTemplateName must be set.", + "type": "string" } }, "required": [ @@ -9352,7 +9608,7 @@ "type": "string" }, "resourceClaimName": { - "description": "ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. It this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.", + "description": "ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. If this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.", "type": "string" } }, @@ -9413,7 +9669,7 @@ "description": "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows." }, "supplementalGroups": { - "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.", + "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID and fsGroup (if specified). If the SupplementalGroupsPolicy feature is enabled, the supplementalGroupsPolicy field determines whether these are in addition to or instead of any group memberships defined in the container image. If unspecified, no additional groups are added, though group memberships defined in the container image may still be used, depending on the supplementalGroupsPolicy field. Note that this field cannot be set when spec.os.name is windows.", "items": { "format": "int64", "type": "integer" @@ -9421,6 +9677,10 @@ "type": "array", "x-kubernetes-list-type": "atomic" }, + "supplementalGroupsPolicy": { + "description": "Defines how supplemental groups of the first container processes are calculated. Valid values are \"Merge\" and \"Strict\". If not specified, \"Merge\" is used. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled and the container runtime must implement support for this feature. Note that this field cannot be set when spec.os.name is windows.", + "type": "string" + }, "sysctls": { "description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.", "items": { @@ -9550,7 +9810,7 @@ "x-kubernetes-patch-strategy": "merge" }, "nodeName": { - "description": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.", + "description": "NodeName indicates in which node this pod is scheduled. If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. This field should not be used to express a desire for the pod to be scheduled on a specific node. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename", "type": "string" }, "nodeSelector": { @@ -9563,7 +9823,7 @@ }, "os": { "$ref": "#/definitions/io.k8s.api.core.v1.PodOS", - "description": "Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.\n\nIf the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions\n\nIf the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup" + "description": "Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.\n\nIf the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions\n\nIf the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup" }, "overhead": { "additionalProperties": { @@ -10017,7 +10277,7 @@ "type": "integer" }, "sources": { - "description": "sources is the list of volume projections", + "description": "sources is the list of volume projections. Each entry in this list handles one source.", "items": { "$ref": "#/definitions/io.k8s.api.core.v1.VolumeProjection" }, @@ -10332,6 +10592,10 @@ "name": { "description": "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.", "type": "string" + }, + "request": { + "description": "Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.", + "type": "string" } }, "required": [ @@ -10361,6 +10625,23 @@ "type": "object", "x-kubernetes-map-type": "atomic" }, + "io.k8s.api.core.v1.ResourceHealth": { + "description": "ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.", + "properties": { + "health": { + "description": "Health of the resource. can be one of:\n - Healthy: operates as normal\n - Unhealthy: reported unhealthy. We consider this a temporary health issue\n since we do not have a mechanism today to distinguish\n temporary and permanent issues.\n - Unknown: The status cannot be determined.\n For example, Device Plugin got unregistered and hasn't been re-registered since.\n\nIn future we may want to introduce the PermanentlyUnhealthy Status.", + "type": "string" + }, + "resourceID": { + "description": "ResourceID is the unique identifier of the resource. See the ResourceID type for more information.", + "type": "string" + } + }, + "required": [ + "resourceID" + ], + "type": "object" + }, "io.k8s.api.core.v1.ResourceQuota": { "description": "ResourceQuota sets aggregate quota restrictions enforced per namespace", "properties": { @@ -10505,6 +10786,29 @@ }, "type": "object" }, + "io.k8s.api.core.v1.ResourceStatus": { + "properties": { + "name": { + "description": "Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.", + "type": "string" + }, + "resources": { + "description": "List of unique Resources health. Each element in the list contains an unique resource ID and resource health. At a minimum, ResourceID must uniquely identify the Resource allocated to the Pod on the Node for the lifetime of a Pod. See ResourceID type for it's definition.", + "items": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceHealth" + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "resourceID" + ], + "x-kubernetes-list-type": "map" + } + }, + "required": [ + "name" + ], + "type": "object" + }, "io.k8s.api.core.v1.SELinuxOptions": { "description": "SELinuxOptions are the labels to be applied to the container", "properties": { @@ -10898,7 +11202,7 @@ "type": "boolean" }, "procMount": { - "description": "procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.", + "description": "procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.", "type": "string" }, "readOnlyRootFilesystem": { @@ -11653,6 +11957,10 @@ "$ref": "#/definitions/io.k8s.api.core.v1.HostPathVolumeSource", "description": "hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath" }, + "image": { + "$ref": "#/definitions/io.k8s.api.core.v1.ImageVolumeSource", + "description": "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:\n\n- Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.\n\nThe volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type." + }, "iscsi": { "$ref": "#/definitions/io.k8s.api.core.v1.ISCSIVolumeSource", "description": "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md" @@ -11804,7 +12112,7 @@ "type": "object" }, "io.k8s.api.core.v1.VolumeProjection": { - "description": "Projection that may be projected along with other supported volume types", + "description": "Projection that may be projected along with other supported volume types. Exactly one of these fields must be set.", "properties": { "clusterTrustBundle": { "$ref": "#/definitions/io.k8s.api.core.v1.ClusterTrustBundleProjection", @@ -14015,9 +14323,10 @@ "type": "integer" } }, - "type": "object" + "type": "object", + "x-kubernetes-map-type": "atomic" }, - "io.k8s.api.networking.v1alpha1.IPAddress": { + "io.k8s.api.networking.v1beta1.IPAddress": { "description": "IPAddress represents a single IP of a single IP Family. The object is designed to be used by APIs that operate on IP addresses. The object is used by the Service core API for allocation of IP addresses. An IP address can be represented in different formats, to guarantee the uniqueness of the IP, the name of the object is the IP address in canonical format, four decimal digits separated by dots suppressing leading zeros for IPv4 and the representation defined by RFC 5952 for IPv6. Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1 Invalid: 10.01.2.3 or 2001:db8:0:0:0::1", "properties": { "apiVersion": { @@ -14033,7 +14342,7 @@ "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, "spec": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddressSpec", + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddressSpec", "description": "spec is the desired state of the IPAddress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" } }, @@ -14042,11 +14351,11 @@ { "group": "networking.k8s.io", "kind": "IPAddress", - "version": "v1alpha1" + "version": "v1beta1" } ] }, - "io.k8s.api.networking.v1alpha1.IPAddressList": { + "io.k8s.api.networking.v1beta1.IPAddressList": { "description": "IPAddressList contains a list of IPAddress.", "properties": { "apiVersion": { @@ -14056,7 +14365,7 @@ "items": { "description": "items is the list of IPAddresses.", "items": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" }, "type": "array" }, @@ -14077,15 +14386,15 @@ { "group": "networking.k8s.io", "kind": "IPAddressList", - "version": "v1alpha1" + "version": "v1beta1" } ] }, - "io.k8s.api.networking.v1alpha1.IPAddressSpec": { + "io.k8s.api.networking.v1beta1.IPAddressSpec": { "description": "IPAddressSpec describe the attributes in an IP Address.", "properties": { "parentRef": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ParentReference", + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ParentReference", "description": "ParentRef references the resource that an IPAddress is attached to. An IPAddress must reference a parent object." } }, @@ -14094,7 +14403,7 @@ ], "type": "object" }, - "io.k8s.api.networking.v1alpha1.ParentReference": { + "io.k8s.api.networking.v1beta1.ParentReference": { "description": "ParentReference describes a reference to a parent object.", "properties": { "group": { @@ -14120,7 +14429,7 @@ ], "type": "object" }, - "io.k8s.api.networking.v1alpha1.ServiceCIDR": { + "io.k8s.api.networking.v1beta1.ServiceCIDR": { "description": "ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64). This range is used to allocate ClusterIPs to Service objects.", "properties": { "apiVersion": { @@ -14136,11 +14445,11 @@ "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, "spec": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDRSpec", + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDRSpec", "description": "spec is the desired state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" }, "status": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDRStatus", + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDRStatus", "description": "status represents the current state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" } }, @@ -14149,11 +14458,11 @@ { "group": "networking.k8s.io", "kind": "ServiceCIDR", - "version": "v1alpha1" + "version": "v1beta1" } ] }, - "io.k8s.api.networking.v1alpha1.ServiceCIDRList": { + "io.k8s.api.networking.v1beta1.ServiceCIDRList": { "description": "ServiceCIDRList contains a list of ServiceCIDR objects.", "properties": { "apiVersion": { @@ -14163,7 +14472,7 @@ "items": { "description": "items is the list of ServiceCIDRs.", "items": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" }, "type": "array" }, @@ -14184,11 +14493,11 @@ { "group": "networking.k8s.io", "kind": "ServiceCIDRList", - "version": "v1alpha1" + "version": "v1beta1" } ] }, - "io.k8s.api.networking.v1alpha1.ServiceCIDRSpec": { + "io.k8s.api.networking.v1beta1.ServiceCIDRSpec": { "description": "ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.", "properties": { "cidrs": { @@ -14202,7 +14511,7 @@ }, "type": "object" }, - "io.k8s.api.networking.v1alpha1.ServiceCIDRStatus": { + "io.k8s.api.networking.v1beta1.ServiceCIDRStatus": { "description": "ServiceCIDRStatus describes the current state of the ServiceCIDR.", "properties": { "conditions": { @@ -14912,220 +15221,410 @@ "type": "object", "x-kubernetes-map-type": "atomic" }, - "io.k8s.api.resource.v1alpha2.AllocationResult": { + "io.k8s.api.resource.v1alpha3.AllocationResult": { "description": "AllocationResult contains attributes of an allocated resource.", "properties": { - "availableOnNodes": { - "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", - "description": "This field will get set by the resource driver after it has allocated the resource to inform the scheduler where it can schedule Pods using the ResourceClaim.\n\nSetting this field is optional. If null, the resource is available everywhere." + "controller": { + "description": "Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.\n\nA driver may allocate devices provided by other drivers, so this driver name here can be different from the driver names listed for the results.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate.", + "type": "string" }, - "resourceHandles": { - "description": "ResourceHandles contain the state associated with an allocation that should be maintained throughout the lifetime of a claim. Each ResourceHandle contains data that should be passed to a specific kubelet plugin once it lands on a node. This data is returned by the driver after a successful allocation and is opaque to Kubernetes. Driver documentation may explain to users how to interpret this data if needed.\n\nSetting this field is optional. It has a maximum size of 32 entries. If null (or empty), it is assumed this allocation will be processed by a single kubelet plugin with no ResourceHandle data attached. The name of the kubelet plugin invoked will match the DriverName set in the ResourceClaimStatus this AllocationResult is embedded in.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceHandle" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "devices": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceAllocationResult", + "description": "Devices is the result of allocating devices." }, - "shareable": { - "description": "Shareable determines whether the resource supports more than one consumer at a time.", - "type": "boolean" + "nodeSelector": { + "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", + "description": "NodeSelector defines where the allocated resources are available. If unset, they are available everywhere." } }, "type": "object" }, - "io.k8s.api.resource.v1alpha2.DriverAllocationResult": { - "description": "DriverAllocationResult contains vendor parameters and the allocation result for one request.", + "io.k8s.api.resource.v1alpha3.BasicDevice": { + "description": "BasicDevice defines one device instance.", "properties": { - "namedResources": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesAllocationResult", - "description": "NamedResources describes the allocation result when using the named resources model." + "attributes": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceAttribute" + }, + "description": "Attributes defines the set of attributes for this device. The name of each attribute must be unique in that set.\n\nThe maximum number of attributes and capacities combined is 32.", + "type": "object" }, - "vendorRequestParameters": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", - "description": "VendorRequestParameters are the per-request configuration parameters from the time that the claim was allocated." + "capacity": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + }, + "description": "Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.\n\nThe maximum number of attributes and capacities combined is 32.", + "type": "object" } }, "type": "object" }, - "io.k8s.api.resource.v1alpha2.DriverRequests": { - "description": "DriverRequests describes all resources that are needed from one particular driver.", + "io.k8s.api.resource.v1alpha3.CELDeviceSelector": { + "description": "CELDeviceSelector contains a CEL expression for selecting a device.", "properties": { - "driverName": { - "description": "DriverName is the name used by the DRA driver kubelet plugin.", + "expression": { + "description": "Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.\n\nThe expression's input is an object named \"device\", which carries the following properties:\n - driver (string): the name of the driver which defines this device.\n - attributes (map[string]object): the device's attributes, grouped by prefix\n (e.g. device.attributes[\"dra.example.com\"] evaluates to an object with all\n of the attributes which were prefixed by \"dra.example.com\".\n - capacity (map[string]object): the device's capacities, grouped by prefix.\n\nExample: Consider a device with driver=\"dra.example.com\", which exposes two attributes named \"model\" and \"ext.example.com/family\" and which exposes one capacity named \"modules\". This input to this expression would have the following fields:\n\n device.driver\n device.attributes[\"dra.example.com\"].model\n device.attributes[\"ext.example.com\"].family\n device.capacity[\"dra.example.com\"].modules\n\nThe device.driver field can be used to check for a specific driver, either as a high-level precondition (i.e. you only want to consider devices from this driver) or as part of a multi-clause expression that is meant to consider devices from different drivers.\n\nThe value type of each attribute is defined by the device definition, and users who write these expressions must consult the documentation for their specific drivers. The value type of each capacity is Quantity.\n\nIf an unknown prefix is used as a lookup in either device.attributes or device.capacity, an empty map will be returned. Any reference to an unknown field will cause an evaluation error and allocation to abort.\n\nA robust expression should check for the existence of attributes before referencing them.\n\nFor ease of use, the cel.bind() function is enabled, and can be used to simplify expressions that access multiple attributes with the same domain. For example:\n\n cel.bind(dra, device.attributes[\"dra.example.com\"], dra.someBool && dra.anotherBool)", + "type": "string" + } + }, + "required": [ + "expression" + ], + "type": "object" + }, + "io.k8s.api.resource.v1alpha3.Device": { + "description": "Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.", + "properties": { + "basic": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.BasicDevice", + "description": "Basic defines one device instance." + }, + "name": { + "description": "Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.", "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "io.k8s.api.resource.v1alpha3.DeviceAllocationConfiguration": { + "description": "DeviceAllocationConfiguration gets embedded in an AllocationResult.", + "properties": { + "opaque": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.OpaqueDeviceConfiguration", + "description": "Opaque provides driver-specific configuration parameters." }, "requests": { - "description": "Requests describes all resources that are needed from the driver.", + "description": "Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceRequest" + "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "vendorParameters": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", - "description": "VendorParameters are arbitrary setup parameters for all requests of the claim. They are ignored while allocating the claim." + "source": { + "description": "Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.", + "type": "string" } }, + "required": [ + "source" + ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.NamedResourcesAllocationResult": { - "description": "NamedResourcesAllocationResult is used in AllocationResultModel.", + "io.k8s.api.resource.v1alpha3.DeviceAllocationResult": { + "description": "DeviceAllocationResult is the result of allocating devices.", "properties": { - "name": { - "description": "Name is the name of the selected resource instance.", - "type": "string" + "config": { + "description": "This field is a combination of all the claim and class configuration parameters. Drivers can distinguish between those based on a flag.\n\nThis includes configuration parameters for drivers which have no allocated devices in the result because it is up to the drivers which configuration parameters they support. They can silently ignore unknown configuration parameters.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceAllocationConfiguration" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "results": { + "description": "Results lists all allocated devices.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceRequestAllocationResult" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, - "required": [ - "name" - ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.NamedResourcesAttribute": { - "description": "NamedResourcesAttribute is a combination of an attribute name and its value.", + "io.k8s.api.resource.v1alpha3.DeviceAttribute": { + "description": "DeviceAttribute must have exactly one field set.", "properties": { "bool": { "description": "BoolValue is a true/false value.", "type": "boolean" }, "int": { - "description": "IntValue is a 64-bit integer.", + "description": "IntValue is a number.", "format": "int64", "type": "integer" }, - "intSlice": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesIntSlice", - "description": "IntSliceValue is an array of 64-bit integers." + "string": { + "description": "StringValue is a string. Must not be longer than 64 characters.", + "type": "string" }, - "name": { - "description": "Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.", + "version": { + "description": "VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.", "type": "string" + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1alpha3.DeviceClaim": { + "description": "DeviceClaim defines how to request devices with a ResourceClaim.", + "properties": { + "config": { + "description": "This field holds configuration for multiple potential drivers which could satisfy requests in this claim. It is ignored while allocating the claim.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClaimConfiguration" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "quantity": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", - "description": "QuantityValue is a quantity." + "constraints": { + "description": "These constraints must be satisfied by the set of devices that get allocated for the claim.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceConstraint" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "string": { - "description": "StringValue is a string.", - "type": "string" + "requests": { + "description": "Requests represent individual requests for distinct devices which must all be satisfied. If empty, nothing needs to be allocated.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceRequest" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1alpha3.DeviceClaimConfiguration": { + "description": "DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.", + "properties": { + "opaque": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.OpaqueDeviceConfiguration", + "description": "Opaque provides driver-specific configuration parameters." }, - "stringSlice": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesStringSlice", - "description": "StringSliceValue is an array of strings." + "requests": { + "description": "Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1alpha3.DeviceClass": { + "description": "DeviceClass is a vendor- or admin-provided resource that contains device configuration and selectors. It can be referenced in the device requests of a claim to apply these presets. Cluster scoped.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" }, - "version": { - "description": "VersionValue is a semantic version according to semver.org spec 2.0.0.", + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object metadata" + }, + "spec": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClassSpec", + "description": "Spec defines what can be allocated and how to configure it.\n\nThis is mutable. Consumers have to be prepared for classes changing at any time, either because they get updated or replaced. Claim allocations are done once based on whatever was set in classes at the time of allocation.\n\nChanging the spec automatically increments the metadata.generation number." } }, "required": [ - "name" + "spec" ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "resource.k8s.io", + "kind": "DeviceClass", + "version": "v1alpha3" + } + ] + }, + "io.k8s.api.resource.v1alpha3.DeviceClassConfiguration": { + "description": "DeviceClassConfiguration is used in DeviceClass.", + "properties": { + "opaque": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.OpaqueDeviceConfiguration", + "description": "Opaque provides driver-specific configuration parameters." + } + }, "type": "object" }, - "io.k8s.api.resource.v1alpha2.NamedResourcesFilter": { - "description": "NamedResourcesFilter is used in ResourceFilterModel.", + "io.k8s.api.resource.v1alpha3.DeviceClassList": { + "description": "DeviceClassList is a collection of classes.", "properties": { - "selector": { - "description": "Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/\n\nIn addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:\n\n attributes.quantity[\"a\"].isGreaterThan(quantity(\"0\")) &&\n attributes.stringslice[\"b\"].isSorted()", + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items is the list of resource classes.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" + }, + "type": "array" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata" } }, "required": [ - "selector" + "items" ], - "type": "object" + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "resource.k8s.io", + "kind": "DeviceClassList", + "version": "v1alpha3" + } + ] }, - "io.k8s.api.resource.v1alpha2.NamedResourcesInstance": { - "description": "NamedResourcesInstance represents one individual hardware instance that can be selected based on its attributes.", + "io.k8s.api.resource.v1alpha3.DeviceClassSpec": { + "description": "DeviceClassSpec is used in a [DeviceClass] to define what can be allocated and how to configure it.", "properties": { - "attributes": { - "description": "Attributes defines the attributes of this resource instance. The name of each attribute must be unique.", + "config": { + "description": "Config defines configuration parameters that apply to each device that is claimed via this class. Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor configuration applies to exactly one driver.\n\nThey are passed to the driver, but are not considered while allocating the claim.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesAttribute" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClassConfiguration" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "name": { - "description": "Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.", + "selectors": { + "description": "Each selector must be satisfied by a device which is claimed via this class.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceSelector" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "suitableNodes": { + "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", + "description": "Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a claim that has not been allocated yet *and* that claim gets allocated through a control plane controller. It is ignored when the claim does not use a control plane controller for allocation.\n\nSetting this field is optional. If unset, all Nodes are candidates.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate." + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1alpha3.DeviceConstraint": { + "description": "DeviceConstraint must have exactly one field set besides Requests.", + "properties": { + "matchAttribute": { + "description": "MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.\n\nFor example, if you specified \"dra.example.com/numa\" (a hypothetical example!), then only devices in the same NUMA node will be chosen. A device which does not have that attribute will not be chosen. All devices should use a value of the same type for this attribute because that is part of its specification, but if one device doesn't, then it also will not be chosen.\n\nMust include the domain qualifier.", "type": "string" + }, + "requests": { + "description": "Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, - "required": [ - "name" - ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.NamedResourcesIntSlice": { - "description": "NamedResourcesIntSlice contains a slice of 64-bit integers.", + "io.k8s.api.resource.v1alpha3.DeviceRequest": { + "description": "DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices.\n\nA DeviceClassName is currently required. Clients must check that it is indeed set. It's absence indicates that something changed in a way that is not supported by the client yet, in which case it must refuse to handle the request.", "properties": { - "ints": { - "description": "Ints is the slice of 64-bit integers.", + "adminAccess": { + "description": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.", + "type": "boolean" + }, + "allocationMode": { + "description": "AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:\n\n- ExactCount: This request is for a specific number of devices.\n This is the default. The exact number is provided in the\n count field.\n\n- All: This request is for all of the matching devices in a pool.\n Allocation will fail if some devices are already allocated,\n unless adminAccess is requested.\n\nIf AlloctionMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.\n\nMore modes may get added in the future. Clients must refuse to handle requests with unknown modes.", + "type": "string" + }, + "count": { + "description": "Count is used only when the count mode is \"ExactCount\". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.", + "format": "int64", + "type": "integer" + }, + "deviceClassName": { + "description": "DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.\n\nA class is required. Which classes are available depends on the cluster.\n\nAdministrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.", + "type": "string" + }, + "name": { + "description": "Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.\n\nMust be a DNS label.", + "type": "string" + }, + "selectors": { + "description": "Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.", "items": { - "format": "int64", - "type": "integer" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceSelector" }, "type": "array", "x-kubernetes-list-type": "atomic" } }, "required": [ - "ints" + "name", + "deviceClassName" ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.NamedResourcesRequest": { - "description": "NamedResourcesRequest is used in ResourceRequestModel.", + "io.k8s.api.resource.v1alpha3.DeviceRequestAllocationResult": { + "description": "DeviceRequestAllocationResult contains the allocation result for one request.", "properties": { - "selector": { - "description": "Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/\n\nIn addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:\n\n attributes.quantity[\"a\"].isGreaterThan(quantity(\"0\")) &&\n attributes.stringslice[\"b\"].isSorted()", + "device": { + "description": "Device references one device instance via its name in the driver's resource pool. It must be a DNS label.", + "type": "string" + }, + "driver": { + "description": "Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.", + "type": "string" + }, + "pool": { + "description": "This name together with the driver name and the device name field identify which device was allocated (`//`).\n\nMust not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.", + "type": "string" + }, + "request": { + "description": "Request is the name of the request in the claim which caused this device to be allocated. Multiple devices may have been allocated per request.", "type": "string" } }, "required": [ - "selector" + "request", + "driver", + "pool", + "device" ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.NamedResourcesResources": { - "description": "NamedResourcesResources is used in ResourceModel.", + "io.k8s.api.resource.v1alpha3.DeviceSelector": { + "description": "DeviceSelector must have exactly one field set.", "properties": { - "instances": { - "description": "The list of all individual resources instances currently available.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesInstance" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "cel": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.CELDeviceSelector", + "description": "CEL contains a CEL expression for selecting a device." } }, - "required": [ - "instances" - ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.NamedResourcesStringSlice": { - "description": "NamedResourcesStringSlice contains a slice of strings.", + "io.k8s.api.resource.v1alpha3.OpaqueDeviceConfiguration": { + "description": "OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.", "properties": { - "strings": { - "description": "Strings is the slice of strings.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "driver": { + "description": "Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.\n\nAn admission policy provided by the driver developer could use this to decide whether it needs to validate them.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.", + "type": "string" + }, + "parameters": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", + "description": "Parameters can contain arbitrary data. It is the responsibility of the driver developer to handle validation and versioning. Typically this includes self-identification and a version (\"kind\" + \"apiVersion\" for Kubernetes types), with conversion between different versions." } }, "required": [ - "strings" + "driver", + "parameters" ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.PodSchedulingContext": { - "description": "PodSchedulingContext objects hold information that is needed to schedule a Pod with ResourceClaims that use \"WaitForFirstConsumer\" allocation mode.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", + "io.k8s.api.resource.v1alpha3.PodSchedulingContext": { + "description": "PodSchedulingContext objects hold information that is needed to schedule a Pod with ResourceClaims that use \"WaitForFirstConsumer\" allocation mode.\n\nThis is an alpha type and requires enabling the DRAControlPlaneController feature gate.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", @@ -15140,11 +15639,11 @@ "description": "Standard object metadata" }, "spec": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContextSpec", + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContextSpec", "description": "Spec describes where resources for the Pod are needed." }, "status": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContextStatus", + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContextStatus", "description": "Status describes where resources for the Pod can be allocated." } }, @@ -15156,11 +15655,11 @@ { "group": "resource.k8s.io", "kind": "PodSchedulingContext", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.PodSchedulingContextList": { + "io.k8s.api.resource.v1alpha3.PodSchedulingContextList": { "description": "PodSchedulingContextList is a collection of Pod scheduling objects.", "properties": { "apiVersion": { @@ -15170,7 +15669,7 @@ "items": { "description": "Items is the list of PodSchedulingContext objects.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" }, "type": "array" }, @@ -15191,11 +15690,11 @@ { "group": "resource.k8s.io", "kind": "PodSchedulingContextList", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.PodSchedulingContextSpec": { + "io.k8s.api.resource.v1alpha3.PodSchedulingContextSpec": { "description": "PodSchedulingContextSpec describes where resources for the Pod are needed.", "properties": { "potentialNodes": { @@ -15213,13 +15712,13 @@ }, "type": "object" }, - "io.k8s.api.resource.v1alpha2.PodSchedulingContextStatus": { + "io.k8s.api.resource.v1alpha3.PodSchedulingContextStatus": { "description": "PodSchedulingContextStatus describes where resources for the Pod can be allocated.", "properties": { "resourceClaims": { "description": "ResourceClaims describes resource availability for each pod.spec.resourceClaim entry where the corresponding ResourceClaim uses \"WaitForFirstConsumer\" allocation mode.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimSchedulingStatus" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimSchedulingStatus" }, "type": "array", "x-kubernetes-list-map-keys": [ @@ -15230,8 +15729,8 @@ }, "type": "object" }, - "io.k8s.api.resource.v1alpha2.ResourceClaim": { - "description": "ResourceClaim describes which resources are needed by a resource consumer. Its status tracks whether the resource has been allocated and what the resulting attributes are.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", + "io.k8s.api.resource.v1alpha3.ResourceClaim": { + "description": "ResourceClaim describes a request for access to resources in the cluster, for use by workloads. For example, if a workload needs an accelerator device with specific properties, this is how that request is expressed. The status stanza tracks whether this claim has been satisfied and what specific resources have been allocated.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", @@ -15246,12 +15745,12 @@ "description": "Standard object metadata" }, "spec": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimSpec", - "description": "Spec describes the desired attributes of a resource that then needs to be allocated. It can only be set once when creating the ResourceClaim." + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimSpec", + "description": "Spec describes what is being requested and how to configure it. The spec is immutable." }, "status": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimStatus", - "description": "Status describes whether the resource is available and with which attributes." + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimStatus", + "description": "Status describes whether the claim is ready to use and what has been allocated." } }, "required": [ @@ -15262,11 +15761,11 @@ { "group": "resource.k8s.io", "kind": "ResourceClaim", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.ResourceClaimConsumerReference": { + "io.k8s.api.resource.v1alpha3.ResourceClaimConsumerReference": { "description": "ResourceClaimConsumerReference contains enough information to let you locate the consumer of a ResourceClaim. The user must be a resource in the same namespace as the ResourceClaim.", "properties": { "apiGroup": { @@ -15293,7 +15792,7 @@ ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.ResourceClaimList": { + "io.k8s.api.resource.v1alpha3.ResourceClaimList": { "description": "ResourceClaimList is a collection of claims.", "properties": { "apiVersion": { @@ -15303,7 +15802,7 @@ "items": { "description": "Items is the list of resource claims.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" }, "type": "array" }, @@ -15324,109 +15823,11 @@ { "group": "resource.k8s.io", "kind": "ResourceClaimList", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.ResourceClaimParameters": { - "description": "ResourceClaimParameters defines resource requests for a ResourceClaim in an in-tree format understood by Kubernetes.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "driverRequests": { - "description": "DriverRequests describes all resources that are needed for the allocated claim. A single claim may use resources coming from different drivers. For each driver, this array has at most one entry which then may have one or more per-driver requests.\n\nMay be empty, in which case the claim can always be allocated.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.DriverRequests" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "generatedFrom": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParametersReference", - "description": "If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the claim parameters when the parameter reference of the claim refers to some unknown type." - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object metadata" - }, - "shareable": { - "description": "Shareable indicates whether the allocated claim is meant to be shareable by multiple consumers at the same time.", - "type": "boolean" - } - }, - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" - } - ] - }, - "io.k8s.api.resource.v1alpha2.ResourceClaimParametersList": { - "description": "ResourceClaimParametersList is a collection of ResourceClaimParameters.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of node resource capacity objects.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata" - } - }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "resource.k8s.io", - "kind": "ResourceClaimParametersList", - "version": "v1alpha2" - } - ] - }, - "io.k8s.api.resource.v1alpha2.ResourceClaimParametersReference": { - "description": "ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.", - "properties": { - "apiGroup": { - "description": "APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.", - "type": "string" - }, - "kind": { - "description": "Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example \"ConfigMap\".", - "type": "string" - }, - "name": { - "description": "Name is the name of resource being referenced.", - "type": "string" - } - }, - "required": [ - "kind", - "name" - ], - "type": "object" - }, - "io.k8s.api.resource.v1alpha2.ResourceClaimSchedulingStatus": { + "io.k8s.api.resource.v1alpha3.ResourceClaimSchedulingStatus": { "description": "ResourceClaimSchedulingStatus contains information about one particular ResourceClaim with \"WaitForFirstConsumer\" allocation mode.", "properties": { "name": { @@ -15442,48 +15843,40 @@ "x-kubernetes-list-type": "atomic" } }, + "required": [ + "name" + ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.ResourceClaimSpec": { - "description": "ResourceClaimSpec defines how a resource is to be allocated.", + "io.k8s.api.resource.v1alpha3.ResourceClaimSpec": { + "description": "ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.", "properties": { - "allocationMode": { - "description": "Allocation can start immediately or when a Pod wants to use the resource. \"WaitForFirstConsumer\" is the default.", + "controller": { + "description": "Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate.", "type": "string" }, - "parametersRef": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParametersReference", - "description": "ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.\n\nThe object must be in the same namespace as the ResourceClaim." - }, - "resourceClassName": { - "description": "ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.", - "type": "string" + "devices": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClaim", + "description": "Devices defines how to request devices." } }, - "required": [ - "resourceClassName" - ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.ResourceClaimStatus": { - "description": "ResourceClaimStatus tracks whether the resource has been allocated and what the resulting attributes are.", + "io.k8s.api.resource.v1alpha3.ResourceClaimStatus": { + "description": "ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.", "properties": { "allocation": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.AllocationResult", - "description": "Allocation is set by the resource driver once a resource or set of resources has been allocated successfully. If this is not specified, the resources have not been allocated yet." + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.AllocationResult", + "description": "Allocation is set once the claim has been allocated successfully." }, "deallocationRequested": { - "description": "DeallocationRequested indicates that a ResourceClaim is to be deallocated.\n\nThe driver then must deallocate this claim and reset the field together with clearing the Allocation field.\n\nWhile DeallocationRequested is set, no new consumers may be added to ReservedFor.", + "description": "Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.\n\nThis is only used if the claim needs to be deallocated by a DRA driver. That driver then must deallocate this claim and reset the field together with clearing the Allocation field.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate.", "type": "boolean" }, - "driverName": { - "description": "DriverName is a copy of the driver name from the ResourceClass at the time when allocation started.", - "type": "string" - }, "reservedFor": { - "description": "ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started.\n\nThere can be at most 32 such reservations. This may get increased in the future, but not reduced.", + "description": "ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started. A claim that is in use or might be in use because it has been reserved must not get deallocated.\n\nIn a cluster with multiple scheduler instances, two pods might get scheduled concurrently by different schedulers. When they reference the same ResourceClaim which already has reached its maximum number of consumers, only one pod can be scheduled.\n\nBoth schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.\n\nThere can be at most 32 such reservations. This may get increased in the future, but not reduced.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimConsumerReference" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimConsumerReference" }, "type": "array", "x-kubernetes-list-map-keys": [ @@ -15496,8 +15889,8 @@ }, "type": "object" }, - "io.k8s.api.resource.v1alpha2.ResourceClaimTemplate": { - "description": "ResourceClaimTemplate is used to produce ResourceClaim objects.", + "io.k8s.api.resource.v1alpha3.ResourceClaimTemplate": { + "description": "ResourceClaimTemplate is used to produce ResourceClaim objects.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", @@ -15512,7 +15905,7 @@ "description": "Standard object metadata" }, "spec": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplateSpec", + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplateSpec", "description": "Describes the ResourceClaim that is to be generated.\n\nThis field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore." } }, @@ -15524,11 +15917,11 @@ { "group": "resource.k8s.io", "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.ResourceClaimTemplateList": { + "io.k8s.api.resource.v1alpha3.ResourceClaimTemplateList": { "description": "ResourceClaimTemplateList is a collection of claim templates.", "properties": { "apiVersion": { @@ -15538,7 +15931,7 @@ "items": { "description": "Items is the list of resource claim templates.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" }, "type": "array" }, @@ -15559,11 +15952,11 @@ { "group": "resource.k8s.io", "kind": "ResourceClaimTemplateList", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.ResourceClaimTemplateSpec": { + "io.k8s.api.resource.v1alpha3.ResourceClaimTemplateSpec": { "description": "ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.", "properties": { "metadata": { @@ -15571,7 +15964,7 @@ "description": "ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation." }, "spec": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimSpec", + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimSpec", "description": "Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here." } }, @@ -15580,248 +15973,38 @@ ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.ResourceClass": { - "description": "ResourceClass is used by administrators to influence how resources are allocated.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", + "io.k8s.api.resource.v1alpha3.ResourcePool": { + "description": "ResourcePool describes the pool that ResourceSlices belong to.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "driverName": { - "description": "DriverName defines the name of the dynamic resource driver that is used for allocation of a ResourceClaim that uses this class.\n\nResource drivers have a unique name in forward domain order (acme.example.com).", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object metadata" - }, - "parametersRef": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParametersReference", - "description": "ParametersRef references an arbitrary separate object that may hold parameters that will be used by the driver when allocating a resource that uses this class. A dynamic resource driver can distinguish between parameters stored here and and those stored in ResourceClaimSpec." - }, - "structuredParameters": { - "description": "If and only if allocation of claims using this class is handled via structured parameters, then StructuredParameters must be set to true.", - "type": "boolean" - }, - "suitableNodes": { - "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", - "description": "Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a ResourceClaim that has not been allocated yet.\n\nSetting this field is optional. If null, all nodes are candidates." - } - }, - "required": [ - "driverName" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" - } - ] - }, - "io.k8s.api.resource.v1alpha2.ResourceClassList": { - "description": "ResourceClassList is a collection of classes.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of resource classes.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata" - } - }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "resource.k8s.io", - "kind": "ResourceClassList", - "version": "v1alpha2" - } - ] - }, - "io.k8s.api.resource.v1alpha2.ResourceClassParameters": { - "description": "ResourceClassParameters defines resource requests for a ResourceClass in an in-tree format understood by Kubernetes.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "filters": { - "description": "Filters describes additional contraints that must be met when using the class.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceFilter" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "generatedFrom": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParametersReference", - "description": "If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the class parameters when the parameter reference of the class refers to some unknown type." - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object metadata" - }, - "vendorParameters": { - "description": "VendorParameters are arbitrary setup parameters for all claims using this class. They are ignored while allocating the claim. There must not be more than one entry per driver.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.VendorParameters" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" - } - ] - }, - "io.k8s.api.resource.v1alpha2.ResourceClassParametersList": { - "description": "ResourceClassParametersList is a collection of ResourceClassParameters.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of node resource capacity objects.", - "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata" - } - }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "resource.k8s.io", - "kind": "ResourceClassParametersList", - "version": "v1alpha2" - } - ] - }, - "io.k8s.api.resource.v1alpha2.ResourceClassParametersReference": { - "description": "ResourceClassParametersReference contains enough information to let you locate the parameters for a ResourceClass.", - "properties": { - "apiGroup": { - "description": "APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.", - "type": "string" - }, - "kind": { - "description": "Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.", - "type": "string" + "generation": { + "description": "Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.\n\nCombined with ResourceSliceCount, this mechanism enables consumers to detect pools which are comprised of multiple ResourceSlices and are in an incomplete state.", + "format": "int64", + "type": "integer" }, "name": { - "description": "Name is the name of resource being referenced.", + "description": "Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.\n\nIt must not be longer than 253 characters and must consist of one or more DNS sub-domains separated by slashes. This field is immutable.", "type": "string" }, - "namespace": { - "description": "Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.", - "type": "string" + "resourceSliceCount": { + "description": "ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.\n\nConsumers can use this to check whether they have seen all ResourceSlices belonging to the same pool.", + "format": "int64", + "type": "integer" } }, "required": [ - "kind", - "name" + "name", + "generation", + "resourceSliceCount" ], "type": "object" }, - "io.k8s.api.resource.v1alpha2.ResourceFilter": { - "description": "ResourceFilter is a filter for resources from one particular driver.", - "properties": { - "driverName": { - "description": "DriverName is the name used by the DRA driver kubelet plugin.", - "type": "string" - }, - "namedResources": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesFilter", - "description": "NamedResources describes a resource filter using the named resources model." - } - }, - "type": "object" - }, - "io.k8s.api.resource.v1alpha2.ResourceHandle": { - "description": "ResourceHandle holds opaque resource data for processing by a specific kubelet plugin.", - "properties": { - "data": { - "description": "Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.\n\nThe maximum size of this field is 16KiB. This may get increased in the future, but not reduced.", - "type": "string" - }, - "driverName": { - "description": "DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.", - "type": "string" - }, - "structuredData": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.StructuredResourceHandle", - "description": "If StructuredData is set, then it needs to be used instead of Data." - } - }, - "type": "object" - }, - "io.k8s.api.resource.v1alpha2.ResourceRequest": { - "description": "ResourceRequest is a request for resources from one particular driver.", - "properties": { - "namedResources": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesRequest", - "description": "NamedResources describes a request for resources with the named resources model." - }, - "vendorParameters": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", - "description": "VendorParameters are arbitrary setup parameters for the requested resource. They are ignored while allocating a claim." - } - }, - "type": "object" - }, - "io.k8s.api.resource.v1alpha2.ResourceSlice": { - "description": "ResourceSlice provides information about available resources on individual nodes.", + "io.k8s.api.resource.v1alpha3.ResourceSlice": { + "description": "ResourceSlice represents one or more resources in a pool of similar resources, managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many ResourceSlices comprise a pool is determined by the driver.\n\nAt the moment, the only supported resources are devices with attributes and capacities. Each device in a given pool, regardless of how many ResourceSlices, must have a unique name. The ResourceSlice in which a device gets published may change over time. The unique identifier for a device is the tuple , , .\n\nWhenever a driver needs to update a pool, it increments the pool.Spec.Pool.Generation number and updates all ResourceSlices with that new number and new resource definitions. A consumer must only use ResourceSlices with the highest generation number and ignore all others.\n\nWhen allocating all resources in a pool matching certain criteria or when looking for the best solution among several different alternatives, a consumer should check the number of ResourceSlices in a pool (included in each ResourceSlice) to determine whether its view of a pool is complete and if not, should wait until the driver has completed updating the pool.\n\nFor resources that are not local to a node, the node name is not set. Instead, the driver may use a node selector to specify where the devices are available.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, - "driverName": { - "description": "DriverName identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.", - "type": "string" - }, "kind": { "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" @@ -15830,28 +16013,24 @@ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "description": "Standard object metadata" }, - "namedResources": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.NamedResourcesResources", - "description": "NamedResources describes available resources using the named resources model." - }, - "nodeName": { - "description": "NodeName identifies the node which provides the resources if they are local to a node.\n\nA field selector can be used to list only ResourceSlice objects with a certain node name.", - "type": "string" + "spec": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSliceSpec", + "description": "Contains the information published by the driver.\n\nChanging the spec automatically increments the metadata.generation number." } }, "required": [ - "driverName" + "spec" ], "type": "object", "x-kubernetes-group-version-kind": [ { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.ResourceSliceList": { + "io.k8s.api.resource.v1alpha3.ResourceSliceList": { "description": "ResourceSliceList is a collection of ResourceSlices.", "properties": { "apiVersion": { @@ -15859,9 +16038,9 @@ "type": "string" }, "items": { - "description": "Items is the list of node resource capacity objects.", + "description": "Items is the list of resource ResourceSlices.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" }, "type": "array" }, @@ -15882,51 +16061,46 @@ { "group": "resource.k8s.io", "kind": "ResourceSliceList", - "version": "v1alpha2" + "version": "v1alpha3" } ] }, - "io.k8s.api.resource.v1alpha2.StructuredResourceHandle": { - "description": "StructuredResourceHandle is the in-tree representation of the allocation result.", + "io.k8s.api.resource.v1alpha3.ResourceSliceSpec": { + "description": "ResourceSliceSpec contains the information published by the driver in one ResourceSlice.", "properties": { - "nodeName": { - "description": "NodeName is the name of the node providing the necessary resources if the resources are local to a node.", - "type": "string" + "allNodes": { + "description": "AllNodes indicates that all nodes have access to the resources in the pool.\n\nExactly one of NodeName, NodeSelector and AllNodes must be set.", + "type": "boolean" }, - "results": { - "description": "Results lists all allocated driver resources.", + "devices": { + "description": "Devices lists some or all of the devices in this pool.\n\nMust not have more than 128 entries.", "items": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.DriverAllocationResult" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.Device" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "vendorClaimParameters": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", - "description": "VendorClaimParameters are the per-claim configuration parameters from the resource claim parameters at the time that the claim was allocated." + "driver": { + "description": "Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. This field is immutable.", + "type": "string" }, - "vendorClassParameters": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", - "description": "VendorClassParameters are the per-claim configuration parameters from the resource class at the time that the claim was allocated." - } - }, - "required": [ - "results" - ], - "type": "object" - }, - "io.k8s.api.resource.v1alpha2.VendorParameters": { - "description": "VendorParameters are opaque parameters for one particular driver.", - "properties": { - "driverName": { - "description": "DriverName is the name used by the DRA driver kubelet plugin.", + "nodeName": { + "description": "NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.\n\nThis field can be used to limit access from nodes to ResourceSlices with the same node name. It also indicates to autoscalers that adding new nodes of the same type as some old node might also make new resources available.\n\nExactly one of NodeName, NodeSelector and AllNodes must be set. This field is immutable.", "type": "string" }, - "parameters": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", - "description": "Parameters can be arbitrary setup parameters. They are ignored while allocating a claim." + "nodeSelector": { + "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", + "description": "NodeSelector defines which nodes have access to the resources in the pool, when that pool is not limited to a single node.\n\nMust use exactly one term.\n\nExactly one of NodeName, NodeSelector and AllNodes must be set." + }, + "pool": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourcePool", + "description": "Pool describes the pool that this ResourceSlice belongs to." } }, + "required": [ + "driver", + "pool" + ], "type": "object" }, "io.k8s.api.scheduling.v1.PriorityClass": { @@ -16675,6 +16849,80 @@ } ] }, + "io.k8s.api.storage.v1beta1.VolumeAttributesClass": { + "description": "VolumeAttributesClass represents a specification of mutable volume attributes defined by the CSI driver. The class can be specified during dynamic provisioning of PersistentVolumeClaims, and changed in the PersistentVolumeClaim spec after provisioning.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "driverName": { + "description": "Name of the CSI driver This field is immutable.", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "parameters": { + "additionalProperties": { + "type": "string" + }, + "description": "parameters hold volume attributes defined by the CSI driver. These values are opaque to the Kubernetes and are passed directly to the CSI driver. The underlying storage provider supports changing these attributes on an existing volume, however the parameters field itself is immutable. To invoke a volume update, a new VolumeAttributesClass should be created with new parameters, and the PersistentVolumeClaim should be updated to reference the new VolumeAttributesClass.\n\nThis field is required and must contain at least one key/value pair. The keys cannot be empty, and the maximum number of parameters is 512, with a cumulative max size of 256K. If the CSI driver rejects invalid parameters, the target PersistentVolumeClaim will be set to an \"Infeasible\" state in the modifyVolumeStatus field.", + "type": "object" + } + }, + "required": [ + "driverName" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "VolumeAttributesClass", + "version": "v1beta1" + } + ] + }, + "io.k8s.api.storage.v1beta1.VolumeAttributesClassList": { + "description": "VolumeAttributesClassList is a collection of VolumeAttributesClass objects.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "items is the list of VolumeAttributesClass objects.", + "items": { + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" + }, + "type": "array" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + } + }, + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "VolumeAttributesClassList", + "version": "v1beta1" + } + ] + }, "io.k8s.api.storagemigration.v1alpha1.GroupVersionResource": { "description": "The names of the group, the version, and the resource.", "properties": { @@ -17408,7 +17656,7 @@ "type": "boolean" }, "x-kubernetes-validations": { - "description": "x-kubernetes-validations describes a list of validation rules written in the CEL expression language. This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.", + "description": "x-kubernetes-validations describes a list of validation rules written in the CEL expression language.", "items": { "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ValidationRule" }, @@ -17989,6 +18237,11 @@ "kind": "DeleteOptions", "version": "v1" }, + { + "group": "coordination.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, { "group": "coordination.k8s.io", "kind": "DeleteOptions", @@ -18107,7 +18360,7 @@ { "group": "resource.k8s.io", "kind": "DeleteOptions", - "version": "v1alpha2" + "version": "v1alpha3" }, { "group": "scheduling.k8s.io", @@ -18146,6 +18399,32 @@ } ] }, + "io.k8s.apimachinery.pkg.apis.meta.v1.FieldSelectorRequirement": { + "description": "FieldSelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.", + "properties": { + "key": { + "description": "key is the field selector key that the requirement applies to.", + "type": "string" + }, + "operator": { + "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. The list of operators may grow in the future.", + "type": "string" + }, + "values": { + "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "key", + "operator" + ], + "type": "object" + }, "io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1": { "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:', where is the name of a field in a struct, or key in a map 'v:', where is the exact json formatted value of a list item 'i:', where is position of a item in a list 'k:', where is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff", "type": "object" @@ -18487,11 +18766,6 @@ "group": "", "kind": "Status", "version": "v1" - }, - { - "group": "resource.k8s.io", - "kind": "Status", - "version": "v1alpha2" } ] }, @@ -18710,6 +18984,11 @@ "kind": "WatchEvent", "version": "v1" }, + { + "group": "coordination.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, { "group": "coordination.k8s.io", "kind": "WatchEvent", @@ -18828,7 +19107,7 @@ { "group": "resource.k8s.io", "kind": "WatchEvent", - "version": "v1alpha2" + "version": "v1alpha3" }, { "group": "scheduling.k8s.io", @@ -55705,40 +55984,7 @@ } ] }, - "/apis/discovery.k8s.io/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getDiscoveryAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "discovery" - ] - } - }, - "/apis/discovery.k8s.io/v1/": { + "/apis/coordination.k8s.io/v1alpha1/": { "get": { "consumes": [ "application/json", @@ -55746,7 +55992,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getDiscoveryV1APIResources", + "operationId": "getCoordinationV1alpha1APIResources", "produces": [ "application/json", "application/yaml", @@ -55767,17 +56013,17 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ] } }, - "/apis/discovery.k8s.io/v1/endpointslices": { + "/apis/coordination.k8s.io/v1alpha1/leasecandidates": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind EndpointSlice", - "operationId": "listDiscoveryV1EndpointSliceForAllNamespaces", + "description": "list or watch objects of kind LeaseCandidate", + "operationId": "listCoordinationV1alpha1LeaseCandidateForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -55789,7 +56035,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidateList" } }, "401": { @@ -55800,13 +56046,13 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "parameters": [ @@ -55845,13 +56091,13 @@ } ] }, - "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices": { + "/apis/coordination.k8s.io/v1alpha1/namespaces/{namespace}/leasecandidates": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of EndpointSlice", - "operationId": "deleteDiscoveryV1CollectionNamespacedEndpointSlice", + "description": "delete collection of LeaseCandidate", + "operationId": "deleteCoordinationV1alpha1CollectionNamespacedLeaseCandidate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -55917,21 +56163,21 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind EndpointSlice", - "operationId": "listDiscoveryV1NamespacedEndpointSlice", + "description": "list or watch objects of kind LeaseCandidate", + "operationId": "listCoordinationV1alpha1NamespacedLeaseCandidate", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -55975,7 +56221,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidateList" } }, "401": { @@ -55986,13 +56232,13 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "parameters": [ @@ -56007,15 +56253,15 @@ "consumes": [ "*/*" ], - "description": "create an EndpointSlice", - "operationId": "createDiscoveryV1NamespacedEndpointSlice", + "description": "create a LeaseCandidate", + "operationId": "createCoordinationV1alpha1NamespacedLeaseCandidate", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, { @@ -56045,19 +56291,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "401": { @@ -56068,23 +56314,23 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } } }, - "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}": { + "/apis/coordination.k8s.io/v1alpha1/namespaces/{namespace}/leasecandidates/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete an EndpointSlice", - "operationId": "deleteDiscoveryV1NamespacedEndpointSlice", + "description": "delete a LeaseCandidate", + "operationId": "deleteCoordinationV1alpha1NamespacedLeaseCandidate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -56132,21 +56378,21 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified EndpointSlice", - "operationId": "readDiscoveryV1NamespacedEndpointSlice", + "description": "read the specified LeaseCandidate", + "operationId": "readCoordinationV1alpha1NamespacedLeaseCandidate", "produces": [ "application/json", "application/yaml", @@ -56156,7 +56402,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "401": { @@ -56167,18 +56413,18 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "parameters": [ { - "description": "name of the EndpointSlice", + "description": "name of the LeaseCandidate", "in": "path", "name": "name", "required": true, @@ -56199,8 +56445,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified EndpointSlice", - "operationId": "patchDiscoveryV1NamespacedEndpointSlice", + "description": "partially update the specified LeaseCandidate", + "operationId": "patchCoordinationV1alpha1NamespacedLeaseCandidate", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -56235,13 +56481,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "401": { @@ -56252,28 +56498,28 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified EndpointSlice", - "operationId": "replaceDiscoveryV1NamespacedEndpointSlice", + "description": "replace the specified LeaseCandidate", + "operationId": "replaceCoordinationV1alpha1NamespacedLeaseCandidate", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, { @@ -56303,13 +56549,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.api.coordination.v1alpha1.LeaseCandidate" } }, "401": { @@ -56320,23 +56566,23 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } } }, - "/apis/discovery.k8s.io/v1/watch/endpointslices": { + "/apis/coordination.k8s.io/v1alpha1/watch/leasecandidates": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchDiscoveryV1EndpointSliceListForAllNamespaces", + "description": "watch individual changes to a list of LeaseCandidate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoordinationV1alpha1LeaseCandidateListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -56359,13 +56605,13 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "parameters": [ @@ -56404,13 +56650,13 @@ } ] }, - "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices": { + "/apis/coordination.k8s.io/v1alpha1/watch/namespaces/{namespace}/leasecandidates": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchDiscoveryV1NamespacedEndpointSliceList", + "description": "watch individual changes to a list of LeaseCandidate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoordinationV1alpha1NamespacedLeaseCandidateList", "produces": [ "application/json", "application/yaml", @@ -56433,13 +56679,13 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "parameters": [ @@ -56481,13 +56727,13 @@ } ] }, - "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}": { + "/apis/coordination.k8s.io/v1alpha1/watch/namespaces/{namespace}/leasecandidates/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchDiscoveryV1NamespacedEndpointSlice", + "description": "watch changes to an object of kind LeaseCandidate. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoordinationV1alpha1NamespacedLeaseCandidate", "produces": [ "application/json", "application/yaml", @@ -56510,13 +56756,13 @@ "https" ], "tags": [ - "discovery_v1" + "coordination_v1alpha1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" + "group": "coordination.k8s.io", + "kind": "LeaseCandidate", + "version": "v1alpha1" } }, "parameters": [ @@ -56536,7 +56782,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the EndpointSlice", + "description": "name of the LeaseCandidate", "in": "path", "name": "name", "required": true, @@ -56566,7 +56812,7 @@ } ] }, - "/apis/events.k8s.io/": { + "/apis/discovery.k8s.io/": { "get": { "consumes": [ "application/json", @@ -56574,7 +56820,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getEventsAPIGroup", + "operationId": "getDiscoveryAPIGroup", "produces": [ "application/json", "application/yaml", @@ -56595,11 +56841,11 @@ "https" ], "tags": [ - "events" + "discovery" ] } }, - "/apis/events.k8s.io/v1/": { + "/apis/discovery.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -56607,7 +56853,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getEventsV1APIResources", + "operationId": "getDiscoveryV1APIResources", "produces": [ "application/json", "application/yaml", @@ -56628,17 +56874,17 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ] } }, - "/apis/events.k8s.io/v1/events": { + "/apis/discovery.k8s.io/v1/endpointslices": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Event", - "operationId": "listEventsV1EventForAllNamespaces", + "description": "list or watch objects of kind EndpointSlice", + "operationId": "listDiscoveryV1EndpointSliceForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -56650,7 +56896,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.EventList" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" } }, "401": { @@ -56661,12 +56907,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -56706,13 +56952,13 @@ } ] }, - "/apis/events.k8s.io/v1/namespaces/{namespace}/events": { + "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Event", - "operationId": "deleteEventsV1CollectionNamespacedEvent", + "description": "delete collection of EndpointSlice", + "operationId": "deleteDiscoveryV1CollectionNamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -56778,12 +57024,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -56791,8 +57037,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind Event", - "operationId": "listEventsV1NamespacedEvent", + "description": "list or watch objects of kind EndpointSlice", + "operationId": "listDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -56836,7 +57082,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.EventList" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" } }, "401": { @@ -56847,12 +57093,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -56868,15 +57114,15 @@ "consumes": [ "*/*" ], - "description": "create an Event", - "operationId": "createEventsV1NamespacedEvent", + "description": "create an EndpointSlice", + "operationId": "createDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, { @@ -56906,19 +57152,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "401": { @@ -56929,23 +57175,23 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } } }, - "/apis/events.k8s.io/v1/namespaces/{namespace}/events/{name}": { + "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete an Event", - "operationId": "deleteEventsV1NamespacedEvent", + "description": "delete an EndpointSlice", + "operationId": "deleteDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -56993,12 +57239,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -57006,8 +57252,8 @@ "consumes": [ "*/*" ], - "description": "read the specified Event", - "operationId": "readEventsV1NamespacedEvent", + "description": "read the specified EndpointSlice", + "operationId": "readDiscoveryV1NamespacedEndpointSlice", "produces": [ "application/json", "application/yaml", @@ -57017,7 +57263,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "401": { @@ -57028,18 +57274,18 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, "parameters": [ { - "description": "name of the Event", + "description": "name of the EndpointSlice", "in": "path", "name": "name", "required": true, @@ -57060,8 +57306,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Event", - "operationId": "patchEventsV1NamespacedEvent", + "description": "partially update the specified EndpointSlice", + "operationId": "patchDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -57096,13 +57342,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "401": { @@ -57113,12 +57359,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -57126,15 +57372,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified Event", - "operationId": "replaceEventsV1NamespacedEvent", + "description": "replace the specified EndpointSlice", + "operationId": "replaceDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, { @@ -57164,13 +57410,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "401": { @@ -57181,23 +57427,23 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } } }, - "/apis/events.k8s.io/v1/watch/events": { + "/apis/discovery.k8s.io/v1/watch/endpointslices": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchEventsV1EventListForAllNamespaces", + "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchDiscoveryV1EndpointSliceListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -57220,12 +57466,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -57265,13 +57511,13 @@ } ] }, - "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events": { + "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchEventsV1NamespacedEventList", + "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchDiscoveryV1NamespacedEndpointSliceList", "produces": [ "application/json", "application/yaml", @@ -57294,12 +57540,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -57342,13 +57588,13 @@ } ] }, - "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events/{name}": { + "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Event. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchEventsV1NamespacedEvent", + "description": "watch changes to an object of kind EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchDiscoveryV1NamespacedEndpointSlice", "produces": [ "application/json", "application/yaml", @@ -57371,12 +57617,12 @@ "https" ], "tags": [ - "events_v1" + "discovery_v1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -57397,7 +57643,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the Event", + "description": "name of the EndpointSlice", "in": "path", "name": "name", "required": true, @@ -57427,7 +57673,7 @@ } ] }, - "/apis/flowcontrol.apiserver.k8s.io/": { + "/apis/events.k8s.io/": { "get": { "consumes": [ "application/json", @@ -57435,7 +57681,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getFlowcontrolApiserverAPIGroup", + "operationId": "getEventsAPIGroup", "produces": [ "application/json", "application/yaml", @@ -57456,11 +57702,11 @@ "https" ], "tags": [ - "flowcontrolApiserver" + "events" ] } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/": { + "/apis/events.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -57468,7 +57714,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getFlowcontrolApiserverV1APIResources", + "operationId": "getEventsV1APIResources", "produces": [ "application/json", "application/yaml", @@ -57489,17 +57735,91 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ] } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas": { + "/apis/events.k8s.io/v1/events": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Event", + "operationId": "listEventsV1EventForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.events.v1.EventList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "events_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "events.k8s.io", + "kind": "Event", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/events.k8s.io/v1/namespaces/{namespace}/events": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of FlowSchema", - "operationId": "deleteFlowcontrolApiserverV1CollectionFlowSchema", + "description": "delete collection of Event", + "operationId": "deleteEventsV1CollectionNamespacedEvent", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -57565,12 +57885,12 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -57578,8 +57898,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind FlowSchema", - "operationId": "listFlowcontrolApiserverV1FlowSchema", + "description": "list or watch objects of kind Event", + "operationId": "listEventsV1NamespacedEvent", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -57623,7 +57943,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchemaList" + "$ref": "#/definitions/io.k8s.api.events.v1.EventList" } }, "401": { @@ -57634,16 +57954,19 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -57652,15 +57975,15 @@ "consumes": [ "*/*" ], - "description": "create a FlowSchema", - "operationId": "createFlowcontrolApiserverV1FlowSchema", + "description": "create an Event", + "operationId": "createEventsV1NamespacedEvent", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, { @@ -57690,19 +58013,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -57713,23 +58036,23 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}": { + "/apis/events.k8s.io/v1/namespaces/{namespace}/events/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a FlowSchema", - "operationId": "deleteFlowcontrolApiserverV1FlowSchema", + "description": "delete an Event", + "operationId": "deleteEventsV1NamespacedEvent", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -57777,12 +58100,12 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -57790,8 +58113,8 @@ "consumes": [ "*/*" ], - "description": "read the specified FlowSchema", - "operationId": "readFlowcontrolApiserverV1FlowSchema", + "description": "read the specified Event", + "operationId": "readEventsV1NamespacedEvent", "produces": [ "application/json", "application/yaml", @@ -57801,7 +58124,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -57812,24 +58135,27 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, "parameters": [ { - "description": "name of the FlowSchema", + "description": "name of the Event", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -57841,8 +58167,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified FlowSchema", - "operationId": "patchFlowcontrolApiserverV1FlowSchema", + "description": "partially update the specified Event", + "operationId": "patchEventsV1NamespacedEvent", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -57877,13 +58203,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -57894,12 +58220,12 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -57907,15 +58233,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified FlowSchema", - "operationId": "replaceFlowcontrolApiserverV1FlowSchema", + "description": "replace the specified Event", + "operationId": "replaceEventsV1NamespacedEvent", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, { @@ -57945,13 +58271,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -57962,33 +58288,35 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}/status": { + "/apis/events.k8s.io/v1/watch/events": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified FlowSchema", - "operationId": "readFlowcontrolApiserverV1FlowSchemaStatus", + "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchEventsV1EventListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -57999,78 +58327,70 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, "parameters": [ { - "description": "name of the FlowSchema", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified FlowSchema", - "operationId": "patchFlowcontrolApiserverV1FlowSchemaStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchEventsV1NamespacedEventList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -58081,48 +58401,148 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "events_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified FlowSchema", - "operationId": "replaceFlowcontrolApiserverV1FlowSchemaStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "watch changes to an object of kind Event. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchEventsV1NamespacedEvent", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "events_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "events.k8s.io", + "kind": "Event", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Event", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/flowcontrol.apiserver.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get information of a group", + "operationId": "getFlowcontrolApiserverAPIGroup", "produces": [ "application/json", "application/yaml", @@ -58132,13 +58552,40 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, - "201": { - "description": "Created", + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver" + ] + } + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getFlowcontrolApiserverV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -58150,22 +58597,16 @@ ], "tags": [ "flowcontrolApiserver_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1" - } + ] } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations": { + "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of PriorityLevelConfiguration", - "operationId": "deleteFlowcontrolApiserverV1CollectionPriorityLevelConfiguration", + "description": "delete collection of FlowSchema", + "operationId": "deleteFlowcontrolApiserverV1CollectionFlowSchema", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -58236,7 +58677,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } }, @@ -58244,8 +58685,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind PriorityLevelConfiguration", - "operationId": "listFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "list or watch objects of kind FlowSchema", + "operationId": "listFlowcontrolApiserverV1FlowSchema", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -58289,7 +58730,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfigurationList" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchemaList" } }, "401": { @@ -58305,7 +58746,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } }, @@ -58318,15 +58759,15 @@ "consumes": [ "*/*" ], - "description": "create a PriorityLevelConfiguration", - "operationId": "createFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "create a FlowSchema", + "operationId": "createFlowcontrolApiserverV1FlowSchema", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, { @@ -58356,19 +58797,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -58384,18 +58825,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a PriorityLevelConfiguration", - "operationId": "deleteFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "delete a FlowSchema", + "operationId": "deleteFlowcontrolApiserverV1FlowSchema", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -58448,7 +58889,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } }, @@ -58456,8 +58897,8 @@ "consumes": [ "*/*" ], - "description": "read the specified PriorityLevelConfiguration", - "operationId": "readFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "read the specified FlowSchema", + "operationId": "readFlowcontrolApiserverV1FlowSchema", "produces": [ "application/json", "application/yaml", @@ -58467,7 +58908,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -58483,13 +58924,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } }, "parameters": [ { - "description": "name of the PriorityLevelConfiguration", + "description": "name of the FlowSchema", "in": "path", "name": "name", "required": true, @@ -58507,8 +58948,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PriorityLevelConfiguration", - "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "partially update the specified FlowSchema", + "operationId": "patchFlowcontrolApiserverV1FlowSchema", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -58543,13 +58984,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -58565,7 +59006,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } }, @@ -58573,15 +59014,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified PriorityLevelConfiguration", - "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "replace the specified FlowSchema", + "operationId": "replaceFlowcontrolApiserverV1FlowSchema", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, { @@ -58611,13 +59052,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -58633,18 +59074,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}/status": { + "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified PriorityLevelConfiguration", - "operationId": "readFlowcontrolApiserverV1PriorityLevelConfigurationStatus", + "description": "read status of the specified FlowSchema", + "operationId": "readFlowcontrolApiserverV1FlowSchemaStatus", "produces": [ "application/json", "application/yaml", @@ -58654,7 +59095,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -58670,13 +59111,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } }, "parameters": [ { - "description": "name of the PriorityLevelConfiguration", + "description": "name of the FlowSchema", "in": "path", "name": "name", "required": true, @@ -58694,8 +59135,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified PriorityLevelConfiguration", - "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfigurationStatus", + "description": "partially update status of the specified FlowSchema", + "operationId": "patchFlowcontrolApiserverV1FlowSchemaStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -58730,13 +59171,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -58752,7 +59193,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1" } }, @@ -58760,15 +59201,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified PriorityLevelConfiguration", - "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfigurationStatus", + "description": "replace status of the specified FlowSchema", + "operationId": "replaceFlowcontrolApiserverV1FlowSchemaStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, { @@ -58798,13 +59239,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -58818,365 +59259,20 @@ "flowcontrolApiserver_v1" ], "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" - } - } - }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of FlowSchema. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchFlowcontrolApiserverV1FlowSchemaList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind FlowSchema. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchFlowcontrolApiserverV1FlowSchema", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1" - ], - "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", "kind": "FlowSchema", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the FlowSchema", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfigurationList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfiguration", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PriorityLevelConfiguration", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getFlowcontrolApiserverV1beta3APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1beta3" - ] } }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/flowschemas": { + "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of FlowSchema", - "operationId": "deleteFlowcontrolApiserverV1beta3CollectionFlowSchema", + "description": "delete collection of PriorityLevelConfiguration", + "operationId": "deleteFlowcontrolApiserverV1CollectionPriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -59242,21 +59338,21 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind FlowSchema", - "operationId": "listFlowcontrolApiserverV1beta3FlowSchema", + "description": "list or watch objects of kind PriorityLevelConfiguration", + "operationId": "listFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -59300,7 +59396,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchemaList" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfigurationList" } }, "401": { @@ -59311,13 +59407,13 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } }, "parameters": [ @@ -59329,15 +59425,15 @@ "consumes": [ "*/*" ], - "description": "create a FlowSchema", - "operationId": "createFlowcontrolApiserverV1beta3FlowSchema", + "description": "create a PriorityLevelConfiguration", + "operationId": "createFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, { @@ -59367,19 +59463,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -59390,23 +59486,23 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/flowschemas/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a FlowSchema", - "operationId": "deleteFlowcontrolApiserverV1beta3FlowSchema", + "description": "delete a PriorityLevelConfiguration", + "operationId": "deleteFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -59454,21 +59550,21 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified FlowSchema", - "operationId": "readFlowcontrolApiserverV1beta3FlowSchema", + "description": "read the specified PriorityLevelConfiguration", + "operationId": "readFlowcontrolApiserverV1PriorityLevelConfiguration", "produces": [ "application/json", "application/yaml", @@ -59478,7 +59574,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -59489,18 +59585,18 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } }, "parameters": [ { - "description": "name of the FlowSchema", + "description": "name of the PriorityLevelConfiguration", "in": "path", "name": "name", "required": true, @@ -59518,8 +59614,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified FlowSchema", - "operationId": "patchFlowcontrolApiserverV1beta3FlowSchema", + "description": "partially update the specified PriorityLevelConfiguration", + "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -59554,13 +59650,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -59571,28 +59667,28 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified FlowSchema", - "operationId": "replaceFlowcontrolApiserverV1beta3FlowSchema", + "description": "replace the specified PriorityLevelConfiguration", + "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, { @@ -59622,13 +59718,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -59639,23 +59735,23 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/flowschemas/{name}/status": { + "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified FlowSchema", - "operationId": "readFlowcontrolApiserverV1beta3FlowSchemaStatus", + "description": "read status of the specified PriorityLevelConfiguration", + "operationId": "readFlowcontrolApiserverV1PriorityLevelConfigurationStatus", "produces": [ "application/json", "application/yaml", @@ -59665,7 +59761,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -59676,18 +59772,18 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } }, "parameters": [ { - "description": "name of the FlowSchema", + "description": "name of the PriorityLevelConfiguration", "in": "path", "name": "name", "required": true, @@ -59705,8 +59801,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified FlowSchema", - "operationId": "patchFlowcontrolApiserverV1beta3FlowSchemaStatus", + "description": "partially update status of the specified PriorityLevelConfiguration", + "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfigurationStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -59741,13 +59837,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -59758,28 +59854,28 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace status of the specified FlowSchema", - "operationId": "replaceFlowcontrolApiserverV1beta3FlowSchemaStatus", + "description": "replace status of the specified PriorityLevelConfiguration", + "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfigurationStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, { @@ -59809,13 +59905,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -59826,24 +59922,369 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1beta3" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" + "kind": "PriorityLevelConfiguration", + "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations": { - "delete": { + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of PriorityLevelConfiguration", - "operationId": "deleteFlowcontrolApiserverV1beta3CollectionPriorityLevelConfiguration", - "parameters": [ + "description": "watch individual changes to a list of FlowSchema. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchFlowcontrolApiserverV1FlowSchemaList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind FlowSchema. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchFlowcontrolApiserverV1FlowSchema", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the FlowSchema", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfigurationList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfiguration", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the PriorityLevelConfiguration", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getFlowcontrolApiserverV1beta3APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1beta3" + ] + } + }, + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/flowschemas": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of FlowSchema", + "operationId": "deleteFlowcontrolApiserverV1beta3CollectionFlowSchema", + "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" }, @@ -59913,7 +60354,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } }, @@ -59921,8 +60362,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind PriorityLevelConfiguration", - "operationId": "listFlowcontrolApiserverV1beta3PriorityLevelConfiguration", + "description": "list or watch objects of kind FlowSchema", + "operationId": "listFlowcontrolApiserverV1beta3FlowSchema", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -59966,7 +60407,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfigurationList" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchemaList" } }, "401": { @@ -59982,7 +60423,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } }, @@ -59995,15 +60436,15 @@ "consumes": [ "*/*" ], - "description": "create a PriorityLevelConfiguration", - "operationId": "createFlowcontrolApiserverV1beta3PriorityLevelConfiguration", + "description": "create a FlowSchema", + "operationId": "createFlowcontrolApiserverV1beta3FlowSchema", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, { @@ -60033,19 +60474,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "401": { @@ -60061,18 +60502,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/flowschemas/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a PriorityLevelConfiguration", - "operationId": "deleteFlowcontrolApiserverV1beta3PriorityLevelConfiguration", + "description": "delete a FlowSchema", + "operationId": "deleteFlowcontrolApiserverV1beta3FlowSchema", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -60125,7 +60566,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } }, @@ -60133,8 +60574,8 @@ "consumes": [ "*/*" ], - "description": "read the specified PriorityLevelConfiguration", - "operationId": "readFlowcontrolApiserverV1beta3PriorityLevelConfiguration", + "description": "read the specified FlowSchema", + "operationId": "readFlowcontrolApiserverV1beta3FlowSchema", "produces": [ "application/json", "application/yaml", @@ -60144,7 +60585,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "401": { @@ -60160,13 +60601,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } }, "parameters": [ { - "description": "name of the PriorityLevelConfiguration", + "description": "name of the FlowSchema", "in": "path", "name": "name", "required": true, @@ -60184,8 +60625,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PriorityLevelConfiguration", - "operationId": "patchFlowcontrolApiserverV1beta3PriorityLevelConfiguration", + "description": "partially update the specified FlowSchema", + "operationId": "patchFlowcontrolApiserverV1beta3FlowSchema", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -60220,13 +60661,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "401": { @@ -60242,7 +60683,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } }, @@ -60250,15 +60691,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified PriorityLevelConfiguration", - "operationId": "replaceFlowcontrolApiserverV1beta3PriorityLevelConfiguration", + "description": "replace the specified FlowSchema", + "operationId": "replaceFlowcontrolApiserverV1beta3FlowSchema", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, { @@ -60288,13 +60729,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "401": { @@ -60310,18 +60751,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/flowschemas/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified PriorityLevelConfiguration", - "operationId": "readFlowcontrolApiserverV1beta3PriorityLevelConfigurationStatus", + "description": "read status of the specified FlowSchema", + "operationId": "readFlowcontrolApiserverV1beta3FlowSchemaStatus", "produces": [ "application/json", "application/yaml", @@ -60331,7 +60772,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "401": { @@ -60347,13 +60788,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } }, "parameters": [ { - "description": "name of the PriorityLevelConfiguration", + "description": "name of the FlowSchema", "in": "path", "name": "name", "required": true, @@ -60371,8 +60812,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified PriorityLevelConfiguration", - "operationId": "patchFlowcontrolApiserverV1beta3PriorityLevelConfigurationStatus", + "description": "partially update status of the specified FlowSchema", + "operationId": "patchFlowcontrolApiserverV1beta3FlowSchemaStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -60407,13 +60848,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "401": { @@ -60429,7 +60870,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } }, @@ -60437,15 +60878,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified PriorityLevelConfiguration", - "operationId": "replaceFlowcontrolApiserverV1beta3PriorityLevelConfigurationStatus", + "description": "replace status of the specified FlowSchema", + "operationId": "replaceFlowcontrolApiserverV1beta3FlowSchemaStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, { @@ -60475,13 +60916,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.FlowSchema" } }, "401": { @@ -60497,30 +60938,73 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", + "kind": "FlowSchema", "version": "v1beta3" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/flowschemas": { - "get": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of FlowSchema. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchFlowcontrolApiserverV1beta3FlowSchemaList", + "description": "delete collection of PriorityLevelConfiguration", + "operationId": "deleteFlowcontrolApiserverV1beta3CollectionPriorityLevelConfiguration", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -60533,440 +61017,19 @@ "tags": [ "flowcontrolApiserver_v1beta3" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "kind": "PriorityLevelConfiguration", "version": "v1beta3" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/flowschemas/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind FlowSchema. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchFlowcontrolApiserverV1beta3FlowSchema", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1beta3" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1beta3" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the FlowSchema", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/prioritylevelconfigurations": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchFlowcontrolApiserverV1beta3PriorityLevelConfigurationList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1beta3" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1beta3" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/prioritylevelconfigurations/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchFlowcontrolApiserverV1beta3PriorityLevelConfiguration", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver_v1beta3" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1beta3" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PriorityLevelConfiguration", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/internal.apiserver.k8s.io/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getInternalApiserverAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "internalApiserver" - ] - } - }, - "/apis/internal.apiserver.k8s.io/v1alpha1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getInternalApiserverV1alpha1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "internalApiserver_v1alpha1" - ] - } - }, - "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete collection of StorageVersion", - "operationId": "deleteInternalApiserverV1alpha1CollectionStorageVersion", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "internalApiserver_v1alpha1" - ], - "x-kubernetes-action": "deletecollection", - "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" - } - }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind StorageVersion", - "operationId": "listInternalApiserverV1alpha1StorageVersion", + "description": "list or watch objects of kind PriorityLevelConfiguration", + "operationId": "listFlowcontrolApiserverV1beta3PriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -61010,7 +61073,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionList" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfigurationList" } }, "401": { @@ -61021,13 +61084,13 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } }, "parameters": [ @@ -61039,15 +61102,15 @@ "consumes": [ "*/*" ], - "description": "create a StorageVersion", - "operationId": "createInternalApiserverV1alpha1StorageVersion", + "description": "create a PriorityLevelConfiguration", + "operationId": "createFlowcontrolApiserverV1beta3PriorityLevelConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, { @@ -61077,19 +61140,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "401": { @@ -61100,23 +61163,23 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } } }, - "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a StorageVersion", - "operationId": "deleteInternalApiserverV1alpha1StorageVersion", + "description": "delete a PriorityLevelConfiguration", + "operationId": "deleteFlowcontrolApiserverV1beta3PriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -61164,21 +61227,21 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified StorageVersion", - "operationId": "readInternalApiserverV1alpha1StorageVersion", + "description": "read the specified PriorityLevelConfiguration", + "operationId": "readFlowcontrolApiserverV1beta3PriorityLevelConfiguration", "produces": [ "application/json", "application/yaml", @@ -61188,7 +61251,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "401": { @@ -61199,18 +61262,18 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } }, "parameters": [ { - "description": "name of the StorageVersion", + "description": "name of the PriorityLevelConfiguration", "in": "path", "name": "name", "required": true, @@ -61228,8 +61291,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified StorageVersion", - "operationId": "patchInternalApiserverV1alpha1StorageVersion", + "description": "partially update the specified PriorityLevelConfiguration", + "operationId": "patchFlowcontrolApiserverV1beta3PriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -61264,13 +61327,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "401": { @@ -61281,28 +61344,28 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified StorageVersion", - "operationId": "replaceInternalApiserverV1alpha1StorageVersion", + "description": "replace the specified PriorityLevelConfiguration", + "operationId": "replaceFlowcontrolApiserverV1beta3PriorityLevelConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, { @@ -61332,13 +61395,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "401": { @@ -61349,23 +61412,23 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } } }, - "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}/status": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified StorageVersion", - "operationId": "readInternalApiserverV1alpha1StorageVersionStatus", + "description": "read status of the specified PriorityLevelConfiguration", + "operationId": "readFlowcontrolApiserverV1beta3PriorityLevelConfigurationStatus", "produces": [ "application/json", "application/yaml", @@ -61375,7 +61438,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "401": { @@ -61386,18 +61449,18 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } }, "parameters": [ { - "description": "name of the StorageVersion", + "description": "name of the PriorityLevelConfiguration", "in": "path", "name": "name", "required": true, @@ -61415,8 +61478,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified StorageVersion", - "operationId": "patchInternalApiserverV1alpha1StorageVersionStatus", + "description": "partially update status of the specified PriorityLevelConfiguration", + "operationId": "patchFlowcontrolApiserverV1beta3PriorityLevelConfigurationStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -61451,13 +61514,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "401": { @@ -61468,28 +61531,28 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } }, "put": { "consumes": [ "*/*" ], - "description": "replace status of the specified StorageVersion", - "operationId": "replaceInternalApiserverV1alpha1StorageVersionStatus", + "description": "replace status of the specified PriorityLevelConfiguration", + "operationId": "replaceFlowcontrolApiserverV1beta3PriorityLevelConfigurationStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, { @@ -61519,13 +61582,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1beta3.PriorityLevelConfiguration" } }, "401": { @@ -61536,23 +61599,23 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" } } }, - "/apis/internal.apiserver.k8s.io/v1alpha1/watch/storageversions": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/flowschemas": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of StorageVersion. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchInternalApiserverV1alpha1StorageVersionList", + "description": "watch individual changes to a list of FlowSchema. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchFlowcontrolApiserverV1beta3FlowSchemaList", "produces": [ "application/json", "application/yaml", @@ -61575,13 +61638,13 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1beta3" } }, "parameters": [ @@ -61620,13 +61683,13 @@ } ] }, - "/apis/internal.apiserver.k8s.io/v1alpha1/watch/storageversions/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/flowschemas/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind StorageVersion. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchInternalApiserverV1alpha1StorageVersion", + "description": "watch changes to an object of kind FlowSchema. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchFlowcontrolApiserverV1beta3FlowSchema", "produces": [ "application/json", "application/yaml", @@ -61649,13 +61712,13 @@ "https" ], "tags": [ - "internalApiserver_v1alpha1" + "flowcontrolApiserver_v1beta3" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "internal.apiserver.k8s.io", - "kind": "StorageVersion", - "version": "v1alpha1" + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1beta3" } }, "parameters": [ @@ -61675,7 +61738,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the StorageVersion", + "description": "name of the FlowSchema", "in": "path", "name": "name", "required": true, @@ -61702,7 +61765,163 @@ } ] }, - "/apis/networking.k8s.io/": { + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/prioritylevelconfigurations": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchFlowcontrolApiserverV1beta3PriorityLevelConfigurationList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1beta3" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/flowcontrol.apiserver.k8s.io/v1beta3/watch/prioritylevelconfigurations/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchFlowcontrolApiserverV1beta3PriorityLevelConfiguration", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1beta3" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1beta3" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the PriorityLevelConfiguration", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/internal.apiserver.k8s.io/": { "get": { "consumes": [ "application/json", @@ -61710,7 +61929,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getNetworkingAPIGroup", + "operationId": "getInternalApiserverAPIGroup", "produces": [ "application/json", "application/yaml", @@ -61731,11 +61950,11 @@ "https" ], "tags": [ - "networking" + "internalApiserver" ] } }, - "/apis/networking.k8s.io/v1/": { + "/apis/internal.apiserver.k8s.io/v1alpha1/": { "get": { "consumes": [ "application/json", @@ -61743,7 +61962,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getNetworkingV1APIResources", + "operationId": "getInternalApiserverV1alpha1APIResources", "produces": [ "application/json", "application/yaml", @@ -61764,17 +61983,17 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ] } }, - "/apis/networking.k8s.io/v1/ingressclasses": { + "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of IngressClass", - "operationId": "deleteNetworkingV1CollectionIngressClass", + "description": "delete collection of StorageVersion", + "operationId": "deleteInternalApiserverV1alpha1CollectionStorageVersion", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -61840,21 +62059,21 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind IngressClass", - "operationId": "listNetworkingV1IngressClass", + "description": "list or watch objects of kind StorageVersion", + "operationId": "listInternalApiserverV1alpha1StorageVersion", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -61898,7 +62117,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClassList" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionList" } }, "401": { @@ -61909,13 +62128,13 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } }, "parameters": [ @@ -61927,15 +62146,15 @@ "consumes": [ "*/*" ], - "description": "create an IngressClass", - "operationId": "createNetworkingV1IngressClass", + "description": "create a StorageVersion", + "operationId": "createInternalApiserverV1alpha1StorageVersion", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, { @@ -61965,19 +62184,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "401": { @@ -61988,23 +62207,23 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } } }, - "/apis/networking.k8s.io/v1/ingressclasses/{name}": { + "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete an IngressClass", - "operationId": "deleteNetworkingV1IngressClass", + "description": "delete a StorageVersion", + "operationId": "deleteInternalApiserverV1alpha1StorageVersion", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -62052,21 +62271,21 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified IngressClass", - "operationId": "readNetworkingV1IngressClass", + "description": "read the specified StorageVersion", + "operationId": "readInternalApiserverV1alpha1StorageVersion", "produces": [ "application/json", "application/yaml", @@ -62076,7 +62295,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "401": { @@ -62087,18 +62306,18 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } }, "parameters": [ { - "description": "name of the IngressClass", + "description": "name of the StorageVersion", "in": "path", "name": "name", "required": true, @@ -62116,8 +62335,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified IngressClass", - "operationId": "patchNetworkingV1IngressClass", + "description": "partially update the specified StorageVersion", + "operationId": "patchInternalApiserverV1alpha1StorageVersion", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -62152,13 +62371,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "401": { @@ -62169,28 +62388,28 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified IngressClass", - "operationId": "replaceNetworkingV1IngressClass", + "description": "replace the specified StorageVersion", + "operationId": "replaceInternalApiserverV1alpha1StorageVersion", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, { @@ -62220,13 +62439,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" } }, "401": { @@ -62237,23 +62456,210 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } } }, - "/apis/networking.k8s.io/v1/ingresses": { + "/apis/internal.apiserver.k8s.io/v1alpha1/storageversions/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Ingress", - "operationId": "listNetworkingV1IngressForAllNamespaces", + "description": "read status of the specified StorageVersion", + "operationId": "readInternalApiserverV1alpha1StorageVersionStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "internalApiserver_v1alpha1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" + } + }, + "parameters": [ + { + "description": "name of the StorageVersion", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified StorageVersion", + "operationId": "patchInternalApiserverV1alpha1StorageVersionStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "internalApiserver_v1alpha1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace status of the specified StorageVersion", + "operationId": "replaceInternalApiserverV1alpha1StorageVersionStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "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": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of StorageVersion. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchInternalApiserverV1alpha1StorageVersionList", "produces": [ "application/json", "application/yaml", @@ -62265,7 +62671,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -62276,13 +62682,13 @@ "https" ], "tags": [ - "networking_v1" + "internalApiserver_v1alpha1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" } }, "parameters": [ @@ -62321,13 +62727,161 @@ } ] }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses": { + "/apis/internal.apiserver.k8s.io/v1alpha1/watch/storageversions/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind StorageVersion. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchInternalApiserverV1alpha1StorageVersion", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "internalApiserver_v1alpha1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "internal.apiserver.k8s.io", + "kind": "StorageVersion", + "version": "v1alpha1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the StorageVersion", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getNetworkingAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking" + ] + } + }, + "/apis/networking.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getNetworkingV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ] + } + }, + "/apis/networking.k8s.io/v1/ingressclasses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Ingress", - "operationId": "deleteNetworkingV1CollectionNamespacedIngress", + "description": "delete collection of IngressClass", + "operationId": "deleteNetworkingV1CollectionIngressClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -62398,7 +62952,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "Ingress", + "kind": "IngressClass", "version": "v1" } }, @@ -62406,8 +62960,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind Ingress", - "operationId": "listNetworkingV1NamespacedIngress", + "description": "list or watch objects of kind IngressClass", + "operationId": "listNetworkingV1IngressClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -62451,7 +63005,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClassList" } }, "401": { @@ -62467,14 +63021,11 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "Ingress", + "kind": "IngressClass", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -62483,15 +63034,15 @@ "consumes": [ "*/*" ], - "description": "create an Ingress", - "operationId": "createNetworkingV1NamespacedIngress", + "description": "create an IngressClass", + "operationId": "createNetworkingV1IngressClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, { @@ -62521,19 +63072,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "401": { @@ -62549,18 +63100,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "Ingress", + "kind": "IngressClass", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}": { + "/apis/networking.k8s.io/v1/ingressclasses/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete an Ingress", - "operationId": "deleteNetworkingV1NamespacedIngress", + "description": "delete an IngressClass", + "operationId": "deleteNetworkingV1IngressClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -62613,7 +63164,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "Ingress", + "kind": "IngressClass", "version": "v1" } }, @@ -62621,8 +63172,8 @@ "consumes": [ "*/*" ], - "description": "read the specified Ingress", - "operationId": "readNetworkingV1NamespacedIngress", + "description": "read the specified IngressClass", + "operationId": "readNetworkingV1IngressClass", "produces": [ "application/json", "application/yaml", @@ -62632,7 +63183,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "401": { @@ -62648,22 +63199,19 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "Ingress", + "kind": "IngressClass", "version": "v1" } }, "parameters": [ { - "description": "name of the Ingress", + "description": "name of the IngressClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -62675,8 +63223,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Ingress", - "operationId": "patchNetworkingV1NamespacedIngress", + "description": "partially update the specified IngressClass", + "operationId": "patchNetworkingV1IngressClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -62711,13 +63259,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "401": { @@ -62733,7 +63281,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "Ingress", + "kind": "IngressClass", "version": "v1" } }, @@ -62741,15 +63289,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified Ingress", - "operationId": "replaceNetworkingV1NamespacedIngress", + "description": "replace the specified IngressClass", + "operationId": "replaceNetworkingV1IngressClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, { @@ -62779,13 +63327,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "401": { @@ -62801,28 +63349,30 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "Ingress", + "kind": "IngressClass", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status": { + "/apis/networking.k8s.io/v1/ingresses": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified Ingress", - "operationId": "readNetworkingV1NamespacedIngressStatus", - "produces": [ + "description": "list or watch objects of kind Ingress", + "operationId": "listNetworkingV1IngressForAllNamespaces", + "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" } }, "401": { @@ -62835,7 +63385,7 @@ "tags": [ "networking_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", "kind": "Ingress", @@ -62844,165 +63394,47 @@ }, "parameters": [ { - "description": "name of the Ingress", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified Ingress", - "operationId": "patchNetworkingV1NamespacedIngressStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - "401": { - "description": "Unauthorized" - } }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" - } - }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace status of the specified Ingress", - "operationId": "replaceNetworkingV1NamespacedIngressStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - "401": { - "description": "Unauthorized" - } + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of NetworkPolicy", - "operationId": "deleteNetworkingV1CollectionNamespacedNetworkPolicy", + "description": "delete collection of Ingress", + "operationId": "deleteNetworkingV1CollectionNamespacedIngress", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -63073,7 +63505,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } }, @@ -63081,8 +63513,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind NetworkPolicy", - "operationId": "listNetworkingV1NamespacedNetworkPolicy", + "description": "list or watch objects of kind Ingress", + "operationId": "listNetworkingV1NamespacedIngress", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -63126,7 +63558,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" } }, "401": { @@ -63142,7 +63574,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } }, @@ -63158,15 +63590,15 @@ "consumes": [ "*/*" ], - "description": "create a NetworkPolicy", - "operationId": "createNetworkingV1NamespacedNetworkPolicy", + "description": "create an Ingress", + "operationId": "createNetworkingV1NamespacedIngress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, { @@ -63196,19 +63628,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -63224,18 +63656,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a NetworkPolicy", - "operationId": "deleteNetworkingV1NamespacedNetworkPolicy", + "description": "delete an Ingress", + "operationId": "deleteNetworkingV1NamespacedIngress", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -63288,7 +63720,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } }, @@ -63296,8 +63728,8 @@ "consumes": [ "*/*" ], - "description": "read the specified NetworkPolicy", - "operationId": "readNetworkingV1NamespacedNetworkPolicy", + "description": "read the specified Ingress", + "operationId": "readNetworkingV1NamespacedIngress", "produces": [ "application/json", "application/yaml", @@ -63307,7 +63739,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -63323,13 +63755,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } }, "parameters": [ { - "description": "name of the NetworkPolicy", + "description": "name of the Ingress", "in": "path", "name": "name", "required": true, @@ -63350,8 +63782,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified NetworkPolicy", - "operationId": "patchNetworkingV1NamespacedNetworkPolicy", + "description": "partially update the specified Ingress", + "operationId": "patchNetworkingV1NamespacedIngress", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -63386,13 +63818,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -63408,7 +63840,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } }, @@ -63416,15 +63848,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified NetworkPolicy", - "operationId": "replaceNetworkingV1NamespacedNetworkPolicy", + "description": "replace the specified Ingress", + "operationId": "replaceNetworkingV1NamespacedIngress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, { @@ -63454,13 +63886,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -63476,30 +63908,28 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/networkpolicies": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind NetworkPolicy", - "operationId": "listNetworkingV1NetworkPolicyForAllNamespaces", + "description": "read status of the specified Ingress", + "operationId": "readNetworkingV1NamespacedIngressStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -63512,68 +63942,79 @@ "tags": [ "networking_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "kind": "Ingress", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the Ingress", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/networking.k8s.io/v1/watch/ingressclasses": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified Ingress", + "operationId": "patchNetworkingV1NamespacedIngressStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of IngressClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1IngressClassList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -63586,150 +64027,62 @@ "tags": [ "networking_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IngressClass", + "kind": "Ingress", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/ingressclasses/{name}": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind IngressClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1IngressClass", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", + "description": "replace status of the specified Ingress", + "operationId": "replaceNetworkingV1NamespacedIngressStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, - "401": { - "description": "Unauthorized" + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the IngressClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/ingresses": { - "get": { - "consumes": [ - "*/*" ], - "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1IngressListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -63742,487 +64095,21 @@ "tags": [ "networking_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", "kind": "Ingress", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1NamespacedIngressList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind Ingress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1NamespacedIngress", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Ingress", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1NamespacedNetworkPolicyList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1NamespacedNetworkPolicy", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the NetworkPolicy", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/networkpolicies": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1NetworkPolicyListForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1alpha1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getNetworkingV1alpha1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1alpha1" - ] } }, - "/apis/networking.k8s.io/v1alpha1/ipaddresses": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of IPAddress", - "operationId": "deleteNetworkingV1alpha1CollectionIPAddress", + "description": "delete collection of NetworkPolicy", + "operationId": "deleteNetworkingV1CollectionNamespacedNetworkPolicy", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -64288,21 +64175,21 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind IPAddress", - "operationId": "listNetworkingV1alpha1IPAddress", + "description": "list or watch objects of kind NetworkPolicy", + "operationId": "listNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -64346,7 +64233,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddressList" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" } }, "401": { @@ -64357,16 +64244,19 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -64375,15 +64265,15 @@ "consumes": [ "*/*" ], - "description": "create an IPAddress", - "operationId": "createNetworkingV1alpha1IPAddress", + "description": "create a NetworkPolicy", + "operationId": "createNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, { @@ -64413,19 +64303,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -64436,23 +64326,23 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } } }, - "/apis/networking.k8s.io/v1alpha1/ipaddresses/{name}": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete an IPAddress", - "operationId": "deleteNetworkingV1alpha1IPAddress", + "description": "delete a NetworkPolicy", + "operationId": "deleteNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -64500,21 +64390,21 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified IPAddress", - "operationId": "readNetworkingV1alpha1IPAddress", + "description": "read the specified NetworkPolicy", + "operationId": "readNetworkingV1NamespacedNetworkPolicy", "produces": [ "application/json", "application/yaml", @@ -64524,7 +64414,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -64535,24 +64425,27 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ { - "description": "name of the IPAddress", + "description": "name of the NetworkPolicy", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -64564,8 +64457,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified IPAddress", - "operationId": "patchNetworkingV1alpha1IPAddress", + "description": "partially update the specified NetworkPolicy", + "operationId": "patchNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -64600,13 +64493,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -64617,28 +64510,28 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified IPAddress", - "operationId": "replaceNetworkingV1alpha1IPAddress", + "description": "replace the specified NetworkPolicy", + "operationId": "replaceNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, { @@ -64668,13 +64561,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.IPAddress" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -64685,78 +64578,35 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } } }, - "/apis/networking.k8s.io/v1alpha1/servicecidrs": { - "delete": { + "/apis/networking.k8s.io/v1/networkpolicies": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of ServiceCIDR", - "operationId": "deleteNetworkingV1alpha1CollectionServiceCIDR", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "list or watch objects of kind NetworkPolicy", + "operationId": "listNetworkingV1NetworkPolicyForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" } }, "401": { @@ -64767,53 +64617,58 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/watch/ingressclasses": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ServiceCIDR", - "operationId": "listNetworkingV1alpha1ServiceCIDR", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "watch individual changes to a list of IngressClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1IngressClassList", "produces": [ "application/json", "application/yaml", @@ -64825,7 +64680,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDRList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -64836,75 +64691,70 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" + "kind": "IngressClass", + "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "post": { + ] + }, + "/apis/networking.k8s.io/v1/watch/ingressclasses/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "create a ServiceCIDR", - "operationId": "createNetworkingV1alpha1ServiceCIDR", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch changes to an object of kind IngressClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1IngressClass", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -64915,60 +64765,78 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" + "kind": "IngressClass", + "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the IngressClass", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/networking.k8s.io/v1alpha1/servicecidrs/{name}": { - "delete": { + "/apis/networking.k8s.io/v1/watch/ingresses": { + "get": { "consumes": [ "*/*" ], - "description": "delete a ServiceCIDR", - "operationId": "deleteNetworkingV1alpha1ServiceCIDR", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1IngressListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -64979,31 +64847,70 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" + "kind": "Ingress", + "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses": { "get": { "consumes": [ "*/*" ], - "description": "read the specified ServiceCIDR", - "operationId": "readNetworkingV1alpha1ServiceCIDR", + "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1NamespacedIngressList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -65014,78 +64921,73 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" + "kind": "Ingress", + "version": "v1" } }, "parameters": [ { - "description": "name of the ServiceCIDR", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified ServiceCIDR", - "operationId": "patchNetworkingV1alpha1ServiceCIDR", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch changes to an object of kind Ingress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1NamespacedIngress", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -65096,307 +64998,13 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" - } - }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace the specified ServiceCIDR", - "operationId": "replaceNetworkingV1alpha1ServiceCIDR", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1alpha1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" - } - } - }, - "/apis/networking.k8s.io/v1alpha1/servicecidrs/{name}/status": { - "get": { - "consumes": [ - "*/*" - ], - "description": "read status of the specified ServiceCIDR", - "operationId": "readNetworkingV1alpha1ServiceCIDRStatus", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1alpha1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" - } - }, - "parameters": [ - { - "description": "name of the ServiceCIDR", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified ServiceCIDR", - "operationId": "patchNetworkingV1alpha1ServiceCIDRStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1alpha1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" - } - }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace status of the specified ServiceCIDR", - "operationId": "replaceNetworkingV1alpha1ServiceCIDRStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1alpha1.ServiceCIDR" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1alpha1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" - } - } - }, - "/apis/networking.k8s.io/v1alpha1/watch/ipaddresses": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of IPAddress. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1alpha1IPAddressList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1alpha1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "Ingress", + "version": "v1" } }, "parameters": [ @@ -65415,6 +65023,17 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the Ingress", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -65435,13 +65054,13 @@ } ] }, - "/apis/networking.k8s.io/v1alpha1/watch/ipaddresses/{name}": { + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind IPAddress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1alpha1IPAddress", + "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1NamespacedNetworkPolicyList", "produces": [ "application/json", "application/yaml", @@ -65464,13 +65083,13 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ @@ -65490,12 +65109,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the IPAddress", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -65517,13 +65131,13 @@ } ] }, - "/apis/networking.k8s.io/v1alpha1/watch/servicecidrs": { + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1alpha1ServiceCIDRList", + "description": "watch changes to an object of kind NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1NamespacedNetworkPolicy", "produces": [ "application/json", "application/yaml", @@ -65546,13 +65160,13 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ @@ -65571,6 +65185,17 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the NetworkPolicy", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -65591,13 +65216,13 @@ } ] }, - "/apis/networking.k8s.io/v1alpha1/watch/servicecidrs/{name}": { + "/apis/networking.k8s.io/v1/watch/networkpolicies": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1alpha1ServiceCIDR", + "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1NetworkPolicyListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -65620,13 +65245,13 @@ "https" ], "tags": [ - "networking_v1alpha1" + "networking_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1alpha1" + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ @@ -65645,14 +65270,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the ServiceCIDR", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -65673,40 +65290,7 @@ } ] }, - "/apis/node.k8s.io/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getNodeAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node" - ] - } - }, - "/apis/node.k8s.io/v1/": { + "/apis/networking.k8s.io/v1beta1/": { "get": { "consumes": [ "application/json", @@ -65714,7 +65298,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getNodeV1APIResources", + "operationId": "getNetworkingV1beta1APIResources", "produces": [ "application/json", "application/yaml", @@ -65735,17 +65319,17 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ] } }, - "/apis/node.k8s.io/v1/runtimeclasses": { + "/apis/networking.k8s.io/v1beta1/ipaddresses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of RuntimeClass", - "operationId": "deleteNodeV1CollectionRuntimeClass", + "description": "delete collection of IPAddress", + "operationId": "deleteNetworkingV1beta1CollectionIPAddress", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -65811,21 +65395,21 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind RuntimeClass", - "operationId": "listNodeV1RuntimeClass", + "description": "list or watch objects of kind IPAddress", + "operationId": "listNetworkingV1beta1IPAddress", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -65869,7 +65453,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClassList" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddressList" } }, "401": { @@ -65880,13 +65464,13 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } }, "parameters": [ @@ -65898,15 +65482,15 @@ "consumes": [ "*/*" ], - "description": "create a RuntimeClass", - "operationId": "createNodeV1RuntimeClass", + "description": "create an IPAddress", + "operationId": "createNetworkingV1beta1IPAddress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, { @@ -65936,19 +65520,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "401": { @@ -65959,23 +65543,23 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } } }, - "/apis/node.k8s.io/v1/runtimeclasses/{name}": { + "/apis/networking.k8s.io/v1beta1/ipaddresses/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a RuntimeClass", - "operationId": "deleteNodeV1RuntimeClass", + "description": "delete an IPAddress", + "operationId": "deleteNetworkingV1beta1IPAddress", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -66023,21 +65607,21 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified RuntimeClass", - "operationId": "readNodeV1RuntimeClass", + "description": "read the specified IPAddress", + "operationId": "readNetworkingV1beta1IPAddress", "produces": [ "application/json", "application/yaml", @@ -66047,7 +65631,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "401": { @@ -66058,18 +65642,18 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the RuntimeClass", + "description": "name of the IPAddress", "in": "path", "name": "name", "required": true, @@ -66087,8 +65671,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified RuntimeClass", - "operationId": "patchNodeV1RuntimeClass", + "description": "partially update the specified IPAddress", + "operationId": "patchNetworkingV1beta1IPAddress", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -66123,13 +65707,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "401": { @@ -66140,28 +65724,28 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified RuntimeClass", - "operationId": "replaceNodeV1RuntimeClass", + "description": "replace the specified IPAddress", + "operationId": "replaceNetworkingV1beta1IPAddress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, { @@ -66191,13 +65775,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.IPAddress" } }, "401": { @@ -66208,35 +65792,78 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } } }, - "/apis/node.k8s.io/v1/watch/runtimeclasses": { - "get": { + "/apis/networking.k8s.io/v1beta1/servicecidrs": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNodeV1RuntimeClassList", + "description": "delete collection of ServiceCIDR", + "operationId": "deleteNetworkingV1beta1CollectionServiceCIDR", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -66247,286 +65874,21 @@ "https" ], "tags": [ - "node_v1" + "networking_v1beta1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/node.k8s.io/v1/watch/runtimeclasses/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNodeV1RuntimeClass", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the RuntimeClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/policy/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getPolicyAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy" - ] - } - }, - "/apis/policy/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getPolicyV1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ] - } - }, - "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete collection of PodDisruptionBudget", - "operationId": "deletePolicyV1CollectionNamespacedPodDisruptionBudget", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "deletecollection", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PodDisruptionBudget", - "operationId": "listPolicyV1NamespacedPodDisruptionBudget", + "description": "list or watch objects of kind ServiceCIDR", + "operationId": "listNetworkingV1beta1ServiceCIDR", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -66570,7 +65932,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDRList" } }, "401": { @@ -66581,19 +65943,16 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -66602,15 +65961,15 @@ "consumes": [ "*/*" ], - "description": "create a PodDisruptionBudget", - "operationId": "createPolicyV1NamespacedPodDisruptionBudget", + "description": "create a ServiceCIDR", + "operationId": "createNetworkingV1beta1ServiceCIDR", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, { @@ -66640,19 +65999,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "401": { @@ -66663,23 +66022,23 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } } }, - "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}": { + "/apis/networking.k8s.io/v1beta1/servicecidrs/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a PodDisruptionBudget", - "operationId": "deletePolicyV1NamespacedPodDisruptionBudget", + "description": "delete a ServiceCIDR", + "operationId": "deleteNetworkingV1beta1ServiceCIDR", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -66727,21 +66086,21 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified PodDisruptionBudget", - "operationId": "readPolicyV1NamespacedPodDisruptionBudget", + "description": "read the specified ServiceCIDR", + "operationId": "readNetworkingV1beta1ServiceCIDR", "produces": [ "application/json", "application/yaml", @@ -66751,7 +66110,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "401": { @@ -66762,27 +66121,24 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the PodDisruptionBudget", + "description": "name of the ServiceCIDR", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -66794,8 +66150,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PodDisruptionBudget", - "operationId": "patchPolicyV1NamespacedPodDisruptionBudget", + "description": "partially update the specified ServiceCIDR", + "operationId": "patchNetworkingV1beta1ServiceCIDR", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -66830,13 +66186,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "401": { @@ -66847,28 +66203,28 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified PodDisruptionBudget", - "operationId": "replacePolicyV1NamespacedPodDisruptionBudget", + "description": "replace the specified ServiceCIDR", + "operationId": "replaceNetworkingV1beta1ServiceCIDR", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, { @@ -66898,13 +66254,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "401": { @@ -66915,23 +66271,23 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } } }, - "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status": { + "/apis/networking.k8s.io/v1beta1/servicecidrs/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified PodDisruptionBudget", - "operationId": "readPolicyV1NamespacedPodDisruptionBudgetStatus", + "description": "read status of the specified ServiceCIDR", + "operationId": "readNetworkingV1beta1ServiceCIDRStatus", "produces": [ "application/json", "application/yaml", @@ -66941,7 +66297,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "401": { @@ -66952,27 +66308,24 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the PodDisruptionBudget", + "description": "name of the ServiceCIDR", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -66984,8 +66337,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified PodDisruptionBudget", - "operationId": "patchPolicyV1NamespacedPodDisruptionBudgetStatus", + "description": "partially update status of the specified ServiceCIDR", + "operationId": "patchNetworkingV1beta1ServiceCIDRStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -67020,13 +66373,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "401": { @@ -67037,28 +66390,28 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace status of the specified PodDisruptionBudget", - "operationId": "replacePolicyV1NamespacedPodDisruptionBudgetStatus", + "description": "replace status of the specified ServiceCIDR", + "operationId": "replaceNetworkingV1beta1ServiceCIDRStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, { @@ -67088,13 +66441,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.networking.v1beta1.ServiceCIDR" } }, "401": { @@ -67105,23 +66458,23 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } } }, - "/apis/policy/v1/poddisruptionbudgets": { + "/apis/networking.k8s.io/v1beta1/watch/ipaddresses": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PodDisruptionBudget", - "operationId": "listPolicyV1PodDisruptionBudgetForAllNamespaces", + "description": "watch individual changes to a list of IPAddress. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1beta1IPAddressList", "produces": [ "application/json", "application/yaml", @@ -67133,7 +66486,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67144,13 +66497,13 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } }, "parameters": [ @@ -67189,13 +66542,13 @@ } ] }, - "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets": { + "/apis/networking.k8s.io/v1beta1/watch/ipaddresses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchPolicyV1NamespacedPodDisruptionBudgetList", + "description": "watch changes to an object of kind IPAddress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1beta1IPAddress", "produces": [ "application/json", "application/yaml", @@ -67218,13 +66571,13 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1beta1" } }, "parameters": [ @@ -67244,7 +66597,12 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "name of the IPAddress", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -67266,13 +66624,13 @@ } ] }, - "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets/{name}": { + "/apis/networking.k8s.io/v1beta1/watch/servicecidrs": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchPolicyV1NamespacedPodDisruptionBudget", + "description": "watch individual changes to a list of ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1beta1ServiceCIDRList", "produces": [ "application/json", "application/yaml", @@ -67295,13 +66653,13 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "parameters": [ @@ -67320,17 +66678,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the PodDisruptionBudget", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -67351,13 +66698,13 @@ } ] }, - "/apis/policy/v1/watch/poddisruptionbudgets": { + "/apis/networking.k8s.io/v1beta1/watch/servicecidrs/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchPolicyV1PodDisruptionBudgetListForAllNamespaces", + "description": "watch changes to an object of kind ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1beta1ServiceCIDR", "produces": [ "application/json", "application/yaml", @@ -67380,13 +66727,13 @@ "https" ], "tags": [ - "policy_v1" + "networking_v1beta1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1beta1" } }, "parameters": [ @@ -67405,6 +66752,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the ServiceCIDR", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -67425,7 +66780,7 @@ } ] }, - "/apis/rbac.authorization.k8s.io/": { + "/apis/node.k8s.io/": { "get": { "consumes": [ "application/json", @@ -67433,7 +66788,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getRbacAuthorizationAPIGroup", + "operationId": "getNodeAPIGroup", "produces": [ "application/json", "application/yaml", @@ -67454,11 +66809,11 @@ "https" ], "tags": [ - "rbacAuthorization" + "node" ] } }, - "/apis/rbac.authorization.k8s.io/v1/": { + "/apis/node.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -67466,7 +66821,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getRbacAuthorizationV1APIResources", + "operationId": "getNodeV1APIResources", "produces": [ "application/json", "application/yaml", @@ -67487,17 +66842,17 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ] } }, - "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings": { + "/apis/node.k8s.io/v1/runtimeclasses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ClusterRoleBinding", - "operationId": "deleteRbacAuthorizationV1CollectionClusterRoleBinding", + "description": "delete collection of RuntimeClass", + "operationId": "deleteNodeV1CollectionRuntimeClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -67563,12 +66918,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "node.k8s.io", + "kind": "RuntimeClass", "version": "v1" } }, @@ -67576,8 +66931,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ClusterRoleBinding", - "operationId": "listRbacAuthorizationV1ClusterRoleBinding", + "description": "list or watch objects of kind RuntimeClass", + "operationId": "listNodeV1RuntimeClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -67621,7 +66976,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBindingList" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClassList" } }, "401": { @@ -67632,12 +66987,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "node.k8s.io", + "kind": "RuntimeClass", "version": "v1" } }, @@ -67650,15 +67005,15 @@ "consumes": [ "*/*" ], - "description": "create a ClusterRoleBinding", - "operationId": "createRbacAuthorizationV1ClusterRoleBinding", + "description": "create a RuntimeClass", + "operationId": "createNodeV1RuntimeClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, { @@ -67688,19 +67043,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -67711,23 +67066,23 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "node.k8s.io", + "kind": "RuntimeClass", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}": { + "/apis/node.k8s.io/v1/runtimeclasses/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ClusterRoleBinding", - "operationId": "deleteRbacAuthorizationV1ClusterRoleBinding", + "description": "delete a RuntimeClass", + "operationId": "deleteNodeV1RuntimeClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -67775,12 +67130,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "node.k8s.io", + "kind": "RuntimeClass", "version": "v1" } }, @@ -67788,8 +67143,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ClusterRoleBinding", - "operationId": "readRbacAuthorizationV1ClusterRoleBinding", + "description": "read the specified RuntimeClass", + "operationId": "readNodeV1RuntimeClass", "produces": [ "application/json", "application/yaml", @@ -67799,7 +67154,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -67810,18 +67165,18 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "node.k8s.io", + "kind": "RuntimeClass", "version": "v1" } }, "parameters": [ { - "description": "name of the ClusterRoleBinding", + "description": "name of the RuntimeClass", "in": "path", "name": "name", "required": true, @@ -67839,8 +67194,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ClusterRoleBinding", - "operationId": "patchRbacAuthorizationV1ClusterRoleBinding", + "description": "partially update the specified RuntimeClass", + "operationId": "patchNodeV1RuntimeClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -67875,13 +67230,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -67892,12 +67247,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "node.k8s.io", + "kind": "RuntimeClass", "version": "v1" } }, @@ -67905,15 +67260,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ClusterRoleBinding", - "operationId": "replaceRbacAuthorizationV1ClusterRoleBinding", + "description": "replace the specified RuntimeClass", + "operationId": "replaceNodeV1RuntimeClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, { @@ -67943,13 +67298,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -67960,23 +67315,245 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "node_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "node.k8s.io", + "kind": "RuntimeClass", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/clusterroles": { + "/apis/node.k8s.io/v1/watch/runtimeclasses": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNodeV1RuntimeClassList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "node_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/node.k8s.io/v1/watch/runtimeclasses/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNodeV1RuntimeClass", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "node_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the RuntimeClass", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/policy/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getPolicyAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy" + ] + } + }, + "/apis/policy/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getPolicyV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy_v1" + ] + } + }, + "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ClusterRole", - "operationId": "deleteRbacAuthorizationV1CollectionClusterRole", + "description": "delete collection of PodDisruptionBudget", + "operationId": "deletePolicyV1CollectionNamespacedPodDisruptionBudget", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -68042,12 +67619,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, @@ -68055,8 +67632,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ClusterRole", - "operationId": "listRbacAuthorizationV1ClusterRole", + "description": "list or watch objects of kind PodDisruptionBudget", + "operationId": "listPolicyV1NamespacedPodDisruptionBudget", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -68100,7 +67677,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleList" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" } }, "401": { @@ -68111,16 +67688,19 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -68129,15 +67709,15 @@ "consumes": [ "*/*" ], - "description": "create a ClusterRole", - "operationId": "createRbacAuthorizationV1ClusterRole", + "description": "create a PodDisruptionBudget", + "operationId": "createPolicyV1NamespacedPodDisruptionBudget", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, { @@ -68167,19 +67747,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68190,23 +67770,23 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/clusterroles/{name}": { + "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ClusterRole", - "operationId": "deleteRbacAuthorizationV1ClusterRole", + "description": "delete a PodDisruptionBudget", + "operationId": "deletePolicyV1NamespacedPodDisruptionBudget", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -68254,12 +67834,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, @@ -68267,8 +67847,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ClusterRole", - "operationId": "readRbacAuthorizationV1ClusterRole", + "description": "read the specified PodDisruptionBudget", + "operationId": "readPolicyV1NamespacedPodDisruptionBudget", "produces": [ "application/json", "application/yaml", @@ -68278,7 +67858,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68289,24 +67869,27 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, "parameters": [ { - "description": "name of the ClusterRole", + "description": "name of the PodDisruptionBudget", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -68318,8 +67901,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ClusterRole", - "operationId": "patchRbacAuthorizationV1ClusterRole", + "description": "partially update the specified PodDisruptionBudget", + "operationId": "patchPolicyV1NamespacedPodDisruptionBudget", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -68354,13 +67937,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68371,12 +67954,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, @@ -68384,15 +67967,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ClusterRole", - "operationId": "replaceRbacAuthorizationV1ClusterRole", + "description": "replace the specified PodDisruptionBudget", + "operationId": "replacePolicyV1NamespacedPodDisruptionBudget", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, { @@ -68422,13 +68005,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68439,68 +68022,23 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings": { - "delete": { + "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of RoleBinding", - "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRoleBinding", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "read status of the specified PodDisruptionBudget", + "operationId": "readPolicyV1NamespacedPodDisruptionBudgetStatus", "produces": [ "application/json", "application/yaml", @@ -68510,7 +68048,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68521,65 +68059,81 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, - "get": { + "parameters": [ + { + "description": "name of the PodDisruptionBudget", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "list or watch objects of kind RoleBinding", - "operationId": "listRbacAuthorizationV1NamespacedRoleBinding", + "description": "partially update status of the specified PodDisruptionBudget", + "operationId": "patchPolicyV1NamespacedPodDisruptionBudgetStatus", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" + "$ref": "#/parameters/body-78PwaGsr" }, { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + "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", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68590,36 +68144,28 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + "put": { "consumes": [ "*/*" ], - "description": "create a RoleBinding", - "operationId": "createRbacAuthorizationV1NamespacedRoleBinding", + "description": "replace status of the specified PodDisruptionBudget", + "operationId": "replacePolicyV1NamespacedPodDisruptionBudgetStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, { @@ -68649,19 +68195,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68672,60 +68212,35 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}": { - "delete": { + "/apis/policy/v1/poddisruptionbudgets": { + "get": { "consumes": [ "*/*" ], - "description": "delete a RoleBinding", - "operationId": "deleteRbacAuthorizationV1NamespacedRoleBinding", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "list or watch objects of kind PodDisruptionBudget", + "operationId": "listPolicyV1PodDisruptionBudgetForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" } }, "401": { @@ -68736,31 +68251,70 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets": { "get": { "consumes": [ "*/*" ], - "description": "read the specified RoleBinding", - "operationId": "readRbacAuthorizationV1NamespacedRoleBinding", + "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchPolicyV1NamespacedPodDisruptionBudgetList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -68771,81 +68325,73 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, "parameters": [ { - "description": "name of the RoleBinding", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets/{name}": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified RoleBinding", - "operationId": "patchRbacAuthorizationV1NamespacedRoleBinding", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch changes to an object of kind PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchPolicyV1NamespacedPodDisruptionBudget", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -68856,64 +68402,81 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the PodDisruptionBudget", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/policy/v1/watch/poddisruptionbudgets": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified RoleBinding", - "operationId": "replaceRbacAuthorizationV1NamespacedRoleBinding", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchPolicyV1PodDisruptionBudgetListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -68924,24 +68487,125 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "policy_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } - } - }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete collection of Role", - "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRole", - "parameters": [ + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getRbacAuthorizationAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization" + ] + } + }, + "/apis/rbac.authorization.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getRbacAuthorizationV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization_v1" + ] + } + }, + "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of ClusterRoleBinding", + "operationId": "deleteRbacAuthorizationV1CollectionClusterRoleBinding", + "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" }, @@ -69011,7 +68675,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -69019,8 +68683,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind Role", - "operationId": "listRbacAuthorizationV1NamespacedRole", + "description": "list or watch objects of kind ClusterRoleBinding", + "operationId": "listRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -69064,7 +68728,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBindingList" } }, "401": { @@ -69080,14 +68744,11 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRoleBinding", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -69096,15 +68757,15 @@ "consumes": [ "*/*" ], - "description": "create a Role", - "operationId": "createRbacAuthorizationV1NamespacedRole", + "description": "create a ClusterRoleBinding", + "operationId": "createRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, { @@ -69134,19 +68795,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69162,18 +68823,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRoleBinding", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}": { + "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a Role", - "operationId": "deleteRbacAuthorizationV1NamespacedRole", + "description": "delete a ClusterRoleBinding", + "operationId": "deleteRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -69226,7 +68887,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -69234,8 +68895,8 @@ "consumes": [ "*/*" ], - "description": "read the specified Role", - "operationId": "readRbacAuthorizationV1NamespacedRole", + "description": "read the specified ClusterRoleBinding", + "operationId": "readRbacAuthorizationV1ClusterRoleBinding", "produces": [ "application/json", "application/yaml", @@ -69245,7 +68906,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69261,22 +68922,19 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRoleBinding", "version": "v1" } }, "parameters": [ { - "description": "name of the Role", + "description": "name of the ClusterRoleBinding", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -69288,8 +68946,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Role", - "operationId": "patchRbacAuthorizationV1NamespacedRole", + "description": "partially update the specified ClusterRoleBinding", + "operationId": "patchRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -69324,13 +68982,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69346,7 +69004,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -69354,15 +69012,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified Role", - "operationId": "replaceRbacAuthorizationV1NamespacedRole", + "description": "replace the specified ClusterRoleBinding", + "operationId": "replaceRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, { @@ -69392,13 +69050,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69414,30 +69072,73 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRoleBinding", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/rolebindings": { - "get": { + "/apis/rbac.authorization.k8s.io/v1/clusterroles": { + "delete": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind RoleBinding", - "operationId": "listRbacAuthorizationV1RoleBindingForAllNamespaces", + "description": "delete collection of ClusterRole", + "operationId": "deleteRbacAuthorizationV1CollectionClusterRole", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -69450,56 +69151,51 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "kind": "ClusterRole", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/roles": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Role", - "operationId": "listRbacAuthorizationV1RoleForAllNamespaces", + "description": "list or watch objects of kind ClusterRole", + "operationId": "listRbacAuthorizationV1ClusterRole", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -69511,7 +69207,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleList" } }, "401": { @@ -69527,65 +69223,70 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "ClusterRole", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings": { - "get": { + ], + "post": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1ClusterRoleBindingList", + "description": "create a ClusterRole", + "operationId": "createRbacAuthorizationV1ClusterRole", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -69598,68 +69299,58 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "kind": "ClusterRole", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings/{name}": { - "get": { + "/apis/rbac.authorization.k8s.io/v1/clusterroles/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1ClusterRoleBinding", + "description": "delete a ClusterRole", + "operationId": "deleteRbacAuthorizationV1ClusterRole", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -69672,76 +69363,29 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "kind": "ClusterRole", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ClusterRoleBinding", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ClusterRole. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1ClusterRoleList", + "description": "read the specified ClusterRole", + "operationId": "readRbacAuthorizationV1ClusterRole", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -69754,7 +69398,7 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", "kind": "ClusterRole", @@ -69763,59 +69407,67 @@ }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "description": "name of the ClusterRole", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified ClusterRole", + "operationId": "patchRbacAuthorizationV1ClusterRole", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind ClusterRole. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1ClusterRole", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -69828,76 +69480,62 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", "kind": "ClusterRole", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ClusterRole", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1NamespacedRoleBindingList", + "description": "replace the specified ClusterRole", + "operationId": "replaceRbacAuthorizationV1ClusterRole", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -69910,71 +69548,76 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "kind": "ClusterRole", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings/{name}": { - "get": { + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind RoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1NamespacedRoleBinding", + "description": "delete collection of RoleBinding", + "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRoleBinding", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -69987,67 +69630,51 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", "kind": "RoleBinding", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the RoleBinding", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1NamespacedRoleList", + "description": "list or watch objects of kind RoleBinding", + "operationId": "listRbacAuthorizationV1NamespacedRoleBinding", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -70059,7 +69686,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" } }, "401": { @@ -70072,71 +69699,76 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "RoleBinding", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles/{name}": { - "get": { + ], + "post": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Role. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1NamespacedRole", + "description": "create a RoleBinding", + "operationId": "createRbacAuthorizationV1NamespacedRoleBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70149,79 +69781,58 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "RoleBinding", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Role", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/rbac.authorization.k8s.io/v1/watch/rolebindings": { - "get": { + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1RoleBindingListForAllNamespaces", + "description": "delete a RoleBinding", + "operationId": "deleteRbacAuthorizationV1NamespacedRoleBinding", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -70234,68 +69845,29 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", "kind": "RoleBinding", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/roles": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1RoleListForAllNamespaces", + "description": "read the specified RoleBinding", + "operationId": "readRbacAuthorizationV1NamespacedRoleBinding", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70308,58 +69880,63 @@ "tags": [ "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "rbac.authorization.k8s.io", - "kind": "Role", + "kind": "RoleBinding", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the RoleBinding", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/resource.k8s.io/": { - "get": { + ], + "patch": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified RoleBinding", + "operationId": "patchRbacAuthorizationV1NamespacedRoleBinding", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "get information of a group", - "operationId": "getResourceAPIGroup", "produces": [ "application/json", "application/yaml", @@ -70369,7 +69946,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70380,19 +69963,48 @@ "https" ], "tags": [ - "resource" - ] - } - }, - "/apis/resource.k8s.io/v1alpha2/": { - "get": { + "rbacAuthorization_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", + "version": "v1" + } + }, + "put": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" + ], + "description": "replace the specified RoleBinding", + "operationId": "replaceRbacAuthorizationV1NamespacedRoleBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } ], - "description": "get available resources", - "operationId": "getResourceV1alpha2APIResources", "produces": [ "application/json", "application/yaml", @@ -70402,7 +70014,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70413,17 +70031,23 @@ "https" ], "tags": [ - "resource_v1alpha2" - ] + "rbacAuthorization_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", + "version": "v1" + } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts": { + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of PodSchedulingContext", - "operationId": "deleteResourceV1alpha2CollectionNamespacedPodSchedulingContext", + "description": "delete collection of Role", + "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRole", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -70489,21 +70113,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PodSchedulingContext", - "operationId": "listResourceV1alpha2NamespacedPodSchedulingContext", + "description": "list or watch objects of kind Role", + "operationId": "listRbacAuthorizationV1NamespacedRole", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -70547,7 +70171,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContextList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" } }, "401": { @@ -70558,13 +70182,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } }, "parameters": [ @@ -70579,15 +70203,15 @@ "consumes": [ "*/*" ], - "description": "create a PodSchedulingContext", - "operationId": "createResourceV1alpha2NamespacedPodSchedulingContext", + "description": "create a Role", + "operationId": "createRbacAuthorizationV1NamespacedRole", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, { @@ -70617,19 +70241,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "401": { @@ -70640,23 +70264,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}": { + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a PodSchedulingContext", - "operationId": "deleteResourceV1alpha2NamespacedPodSchedulingContext", + "description": "delete a Role", + "operationId": "deleteRbacAuthorizationV1NamespacedRole", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -70687,13 +70311,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -70704,21 +70328,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified PodSchedulingContext", - "operationId": "readResourceV1alpha2NamespacedPodSchedulingContext", + "description": "read the specified Role", + "operationId": "readRbacAuthorizationV1NamespacedRole", "produces": [ "application/json", "application/yaml", @@ -70728,7 +70352,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "401": { @@ -70739,18 +70363,18 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } }, "parameters": [ { - "description": "name of the PodSchedulingContext", + "description": "name of the Role", "in": "path", "name": "name", "required": true, @@ -70771,8 +70395,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PodSchedulingContext", - "operationId": "patchResourceV1alpha2NamespacedPodSchedulingContext", + "description": "partially update the specified Role", + "operationId": "patchRbacAuthorizationV1NamespacedRole", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -70807,13 +70431,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "401": { @@ -70824,28 +70448,28 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified PodSchedulingContext", - "operationId": "replaceResourceV1alpha2NamespacedPodSchedulingContext", + "description": "replace the specified Role", + "operationId": "replaceRbacAuthorizationV1NamespacedRole", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, { @@ -70875,13 +70499,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "401": { @@ -70892,33 +70516,35 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}/status": { + "/apis/rbac.authorization.k8s.io/v1/rolebindings": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified PodSchedulingContext", - "operationId": "readResourceV1alpha2NamespacedPodSchedulingContextStatus", + "description": "list or watch objects of kind RoleBinding", + "operationId": "listRbacAuthorizationV1RoleBindingForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" } }, "401": { @@ -70929,81 +70555,70 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", + "version": "v1" } }, "parameters": [ { - "description": "name of the PodSchedulingContext", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/rbac.authorization.k8s.io/v1/roles": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified PodSchedulingContext", - "operationId": "patchResourceV1alpha2NamespacedPodSchedulingContextStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "list or watch objects of kind Role", + "operationId": "listRbacAuthorizationV1RoleForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" } }, "401": { @@ -71014,64 +70629,70 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified PodSchedulingContext", - "operationId": "replaceResourceV1alpha2NamespacedPodSchedulingContextStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch individual changes to a list of ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1ClusterRoleBindingList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContext" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -71082,78 +70703,152 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", + "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimparameters": { - "delete": { + "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of ResourceClaimParameters", - "operationId": "deleteResourceV1alpha2CollectionNamespacedResourceClaimParameters", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "description": "watch changes to an object of kind ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1ClusterRoleBinding", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization_v1" ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ClusterRoleBinding", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of ClusterRole. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1ClusterRoleList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -71164,53 +70859,140 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", + "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles/{name}": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceClaimParameters", - "operationId": "listResourceV1alpha2NamespacedResourceClaimParameters", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "watch changes to an object of kind ClusterRole. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1ClusterRole", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" ], + "tags": [ + "rbacAuthorization_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ClusterRole", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1NamespacedRoleBindingList", "produces": [ "application/json", "application/yaml", @@ -71222,7 +71004,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParametersList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -71233,142 +71015,320 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", + "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "post": { + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "create ResourceClaimParameters", - "operationId": "createResourceV1alpha2NamespacedResourceClaimParameters", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "watch changes to an object of kind RoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1NamespacedRoleBinding", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the RoleBinding", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles": { + "get": { + "consumes": [ + "*/*" ], + "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1NamespacedRoleList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, - "202": { - "description": "Accepted", + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind Role. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1NamespacedRole", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { "description": "Unauthorized" } }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Role", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimparameters/{name}": { - "delete": { + "/apis/rbac.authorization.k8s.io/v1/watch/rolebindings": { + "get": { "consumes": [ "*/*" ], - "description": "delete ResourceClaimParameters", - "operationId": "deleteResourceV1alpha2NamespacedResourceClaimParameters", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1RoleBindingListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -71379,31 +71339,70 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", + "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/roles": { "get": { "consumes": [ "*/*" ], - "description": "read the specified ResourceClaimParameters", - "operationId": "readResourceV1alpha2NamespacedResourceClaimParameters", + "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1RoleListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -71414,65 +71413,60 @@ "https" ], "tags": [ - "resource_v1alpha2" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } }, "parameters": [ { - "description": "name of the ResourceClaimParameters", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/resource.k8s.io/": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified ResourceClaimParameters", - "operationId": "patchResourceV1alpha2NamespacedResourceClaimParameters", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get information of a group", + "operationId": "getResourceAPIGroup", "produces": [ "application/json", "application/yaml", @@ -71482,13 +71476,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -71499,48 +71487,19 @@ "https" ], "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" - } - }, - "put": { + "resource" + ] + } + }, + "/apis/resource.k8s.io/v1alpha3/": { + "get": { "consumes": [ - "*/*" - ], - "description": "replace the specified ResourceClaimParameters", - "operationId": "replaceResourceV1alpha2NamespacedResourceClaimParameters", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getResourceV1alpha3APIResources", "produces": [ "application/json", "application/yaml", @@ -71550,13 +71509,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParameters" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -71567,23 +71520,17 @@ "https" ], "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" - } + "resource_v1alpha3" + ] } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaims": { + "/apis/resource.k8s.io/v1alpha3/deviceclasses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ResourceClaim", - "operationId": "deleteResourceV1alpha2CollectionNamespacedResourceClaim", + "description": "delete collection of DeviceClass", + "operationId": "deleteResourceV1alpha3CollectionDeviceClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -71649,21 +71596,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceClaim", - "operationId": "listResourceV1alpha2NamespacedResourceClaim", + "description": "list or watch objects of kind DeviceClass", + "operationId": "listResourceV1alpha3DeviceClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -71707,7 +71654,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClassList" } }, "401": { @@ -71718,19 +71665,16 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -71739,273 +71683,15 @@ "consumes": [ "*/*" ], - "description": "create a ResourceClaim", - "operationId": "createResourceV1alpha2NamespacedResourceClaim", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" - } - } - }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaims/{name}": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete a ResourceClaim", - "operationId": "deleteResourceV1alpha2NamespacedResourceClaim", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "read the specified ResourceClaim", - "operationId": "readResourceV1alpha2NamespacedResourceClaim", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "description": "name of the ResourceClaim", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified ResourceClaim", - "operationId": "patchResourceV1alpha2NamespacedResourceClaim", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" - } - }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace the specified ResourceClaim", - "operationId": "replaceResourceV1alpha2NamespacedResourceClaim", + "description": "create a DeviceClass", + "operationId": "createResourceV1alpha3DeviceClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, { @@ -72035,13 +71721,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, "401": { @@ -72052,23 +71744,85 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaims/{name}/status": { + "/apis/resource.k8s.io/v1alpha3/deviceclasses/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a DeviceClass", + "operationId": "deleteResourceV1alpha3DeviceClass", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1alpha3" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "DeviceClass", + "version": "v1alpha3" + } + }, "get": { "consumes": [ "*/*" ], - "description": "read status of the specified ResourceClaim", - "operationId": "readResourceV1alpha2NamespacedResourceClaimStatus", + "description": "read the specified DeviceClass", + "operationId": "readResourceV1alpha3DeviceClass", "produces": [ "application/json", "application/yaml", @@ -72078,7 +71832,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, "401": { @@ -72089,27 +71843,24 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } }, "parameters": [ { - "description": "name of the ResourceClaim", + "description": "name of the DeviceClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -72121,8 +71872,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified ResourceClaim", - "operationId": "patchResourceV1alpha2NamespacedResourceClaimStatus", + "description": "partially update the specified DeviceClass", + "operationId": "patchResourceV1alpha3DeviceClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -72157,13 +71908,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, "401": { @@ -72174,28 +71925,28 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } }, "put": { "consumes": [ "*/*" ], - "description": "replace status of the specified ResourceClaim", - "operationId": "replaceResourceV1alpha2NamespacedResourceClaimStatus", + "description": "replace the specified DeviceClass", + "operationId": "replaceResourceV1alpha3DeviceClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, { @@ -72225,13 +71976,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaim" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.DeviceClass" } }, "401": { @@ -72242,23 +71993,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimtemplates": { + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/podschedulingcontexts": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ResourceClaimTemplate", - "operationId": "deleteResourceV1alpha2CollectionNamespacedResourceClaimTemplate", + "description": "delete collection of PodSchedulingContext", + "operationId": "deleteResourceV1alpha3CollectionNamespacedPodSchedulingContext", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -72324,21 +72075,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceClaimTemplate", - "operationId": "listResourceV1alpha2NamespacedResourceClaimTemplate", + "description": "list or watch objects of kind PodSchedulingContext", + "operationId": "listResourceV1alpha3NamespacedPodSchedulingContext", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -72382,7 +72133,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplateList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContextList" } }, "401": { @@ -72393,13 +72144,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "parameters": [ @@ -72414,15 +72165,15 @@ "consumes": [ "*/*" ], - "description": "create a ResourceClaimTemplate", - "operationId": "createResourceV1alpha2NamespacedResourceClaimTemplate", + "description": "create a PodSchedulingContext", + "operationId": "createResourceV1alpha3NamespacedPodSchedulingContext", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, { @@ -72452,19 +72203,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "401": { @@ -72475,23 +72226,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimtemplates/{name}": { + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/podschedulingcontexts/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ResourceClaimTemplate", - "operationId": "deleteResourceV1alpha2NamespacedResourceClaimTemplate", + "description": "delete a PodSchedulingContext", + "operationId": "deleteResourceV1alpha3NamespacedPodSchedulingContext", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -72522,13 +72273,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "401": { @@ -72539,21 +72290,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified ResourceClaimTemplate", - "operationId": "readResourceV1alpha2NamespacedResourceClaimTemplate", + "description": "read the specified PodSchedulingContext", + "operationId": "readResourceV1alpha3NamespacedPodSchedulingContext", "produces": [ "application/json", "application/yaml", @@ -72563,7 +72314,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "401": { @@ -72574,18 +72325,18 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "parameters": [ { - "description": "name of the ResourceClaimTemplate", + "description": "name of the PodSchedulingContext", "in": "path", "name": "name", "required": true, @@ -72606,8 +72357,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ResourceClaimTemplate", - "operationId": "patchResourceV1alpha2NamespacedResourceClaimTemplate", + "description": "partially update the specified PodSchedulingContext", + "operationId": "patchResourceV1alpha3NamespacedPodSchedulingContext", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -72642,13 +72393,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "401": { @@ -72659,28 +72410,28 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified ResourceClaimTemplate", - "operationId": "replaceResourceV1alpha2NamespacedResourceClaimTemplate", + "description": "replace the specified PodSchedulingContext", + "operationId": "replaceResourceV1alpha3NamespacedPodSchedulingContext", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, { @@ -72710,13 +72461,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplate" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" } }, "401": { @@ -72727,23 +72478,213 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclassparameters": { + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/podschedulingcontexts/{name}/status": { + "get": { + "consumes": [ + "*/*" + ], + "description": "read status of the specified PodSchedulingContext", + "operationId": "readResourceV1alpha3NamespacedPodSchedulingContextStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1alpha3" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "PodSchedulingContext", + "version": "v1alpha3" + } + }, + "parameters": [ + { + "description": "name of the PodSchedulingContext", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified PodSchedulingContext", + "operationId": "patchResourceV1alpha3NamespacedPodSchedulingContextStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1alpha3" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "PodSchedulingContext", + "version": "v1alpha3" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace status of the specified PodSchedulingContext", + "operationId": "replaceResourceV1alpha3NamespacedPodSchedulingContextStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContext" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1alpha3" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "PodSchedulingContext", + "version": "v1alpha3" + } + } + }, + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaims": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ResourceClassParameters", - "operationId": "deleteResourceV1alpha2CollectionNamespacedResourceClassParameters", + "description": "delete collection of ResourceClaim", + "operationId": "deleteResourceV1alpha3CollectionNamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -72809,21 +72750,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceClassParameters", - "operationId": "listResourceV1alpha2NamespacedResourceClassParameters", + "description": "list or watch objects of kind ResourceClaim", + "operationId": "listResourceV1alpha3NamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -72867,7 +72808,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParametersList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimList" } }, "401": { @@ -72878,13 +72819,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "parameters": [ @@ -72899,15 +72840,15 @@ "consumes": [ "*/*" ], - "description": "create ResourceClassParameters", - "operationId": "createResourceV1alpha2NamespacedResourceClassParameters", + "description": "create a ResourceClaim", + "operationId": "createResourceV1alpha3NamespacedResourceClaim", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, { @@ -72937,19 +72878,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -72960,23 +72901,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclassparameters/{name}": { + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaims/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete ResourceClassParameters", - "operationId": "deleteResourceV1alpha2NamespacedResourceClassParameters", + "description": "delete a ResourceClaim", + "operationId": "deleteResourceV1alpha3NamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -73007,13 +72948,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -73024,21 +72965,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified ResourceClassParameters", - "operationId": "readResourceV1alpha2NamespacedResourceClassParameters", + "description": "read the specified ResourceClaim", + "operationId": "readResourceV1alpha3NamespacedResourceClaim", "produces": [ "application/json", "application/yaml", @@ -73048,7 +72989,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -73059,18 +73000,18 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "parameters": [ { - "description": "name of the ResourceClassParameters", + "description": "name of the ResourceClaim", "in": "path", "name": "name", "required": true, @@ -73091,8 +73032,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ResourceClassParameters", - "operationId": "patchResourceV1alpha2NamespacedResourceClassParameters", + "description": "partially update the specified ResourceClaim", + "operationId": "patchResourceV1alpha3NamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -73127,13 +73068,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -73144,28 +73085,28 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified ResourceClassParameters", - "operationId": "replaceResourceV1alpha2NamespacedResourceClassParameters", + "description": "replace the specified ResourceClaim", + "operationId": "replaceResourceV1alpha3NamespacedResourceClaim", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, { @@ -73195,13 +73136,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParameters" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -73212,35 +73153,33 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/podschedulingcontexts": { + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaims/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PodSchedulingContext", - "operationId": "listResourceV1alpha2PodSchedulingContextForAllNamespaces", + "description": "read status of the specified ResourceClaim", + "operationId": "readResourceV1alpha3NamespacedResourceClaimStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.PodSchedulingContextList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -73251,70 +73190,81 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the ResourceClaim", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/resource.k8s.io/v1alpha2/resourceclaimparameters": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified ResourceClaim", + "operationId": "patchResourceV1alpha3NamespacedResourceClaimStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "list or watch objects of kind ResourceClaimParameters", - "operationId": "listResourceV1alpha2ResourceClaimParametersForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimParametersList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -73325,144 +73275,64 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/resourceclaims": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceClaim", - "operationId": "listResourceV1alpha2ResourceClaimForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", + "description": "replace status of the specified ResourceClaim", + "operationId": "replaceResourceV1alpha3NamespacedResourceClaimStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, - "401": { - "description": "Unauthorized" + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/resourceclaimtemplates": { - "get": { - "consumes": [ - "*/*" ], - "description": "list or watch objects of kind ResourceClaimTemplate", - "operationId": "listResourceV1alpha2ResourceClaimTemplateForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClaimTemplateList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaim" } }, "401": { @@ -73473,58 +73343,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "kind": "ResourceClaim", + "version": "v1alpha3" } - ] + } }, - "/apis/resource.k8s.io/v1alpha2/resourceclasses": { + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaimtemplates": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ResourceClass", - "operationId": "deleteResourceV1alpha2CollectionResourceClass", + "description": "delete collection of ResourceClaimTemplate", + "operationId": "deleteResourceV1alpha3CollectionNamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -73590,21 +73425,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceClass", - "operationId": "listResourceV1alpha2ResourceClass", + "description": "list or watch objects of kind ResourceClaimTemplate", + "operationId": "listResourceV1alpha3NamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -73648,7 +73483,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplateList" } }, "401": { @@ -73659,16 +73494,19 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -73677,15 +73515,15 @@ "consumes": [ "*/*" ], - "description": "create a ResourceClass", - "operationId": "createResourceV1alpha2ResourceClass", + "description": "create a ResourceClaimTemplate", + "operationId": "createResourceV1alpha3NamespacedResourceClaimTemplate", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, { @@ -73715,19 +73553,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "401": { @@ -73738,23 +73576,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/resourceclasses/{name}": { + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaimtemplates/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ResourceClass", - "operationId": "deleteResourceV1alpha2ResourceClass", + "description": "delete a ResourceClaimTemplate", + "operationId": "deleteResourceV1alpha3NamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -73785,13 +73623,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "401": { @@ -73802,21 +73640,21 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "get": { "consumes": [ "*/*" ], - "description": "read the specified ResourceClass", - "operationId": "readResourceV1alpha2ResourceClass", + "description": "read the specified ResourceClaimTemplate", + "operationId": "readResourceV1alpha3NamespacedResourceClaimTemplate", "produces": [ "application/json", "application/yaml", @@ -73826,7 +73664,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "401": { @@ -73837,24 +73675,27 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "parameters": [ { - "description": "name of the ResourceClass", + "description": "name of the ResourceClaimTemplate", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -73866,8 +73707,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ResourceClass", - "operationId": "patchResourceV1alpha2ResourceClass", + "description": "partially update the specified ResourceClaimTemplate", + "operationId": "patchResourceV1alpha3NamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -73902,13 +73743,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "401": { @@ -73919,28 +73760,28 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "put": { "consumes": [ "*/*" ], - "description": "replace the specified ResourceClass", - "operationId": "replaceResourceV1alpha2ResourceClass", + "description": "replace the specified ResourceClaimTemplate", + "operationId": "replaceResourceV1alpha3NamespacedResourceClaimTemplate", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, { @@ -73970,13 +73811,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClass" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplate" } }, "401": { @@ -73987,23 +73828,171 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/resourceclassparameters": { + "/apis/resource.k8s.io/v1alpha3/podschedulingcontexts": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind PodSchedulingContext", + "operationId": "listResourceV1alpha3PodSchedulingContextForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.PodSchedulingContextList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1alpha3" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "PodSchedulingContext", + "version": "v1alpha3" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/resource.k8s.io/v1alpha3/resourceclaims": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind ResourceClaim", + "operationId": "listResourceV1alpha3ResourceClaimForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1alpha3" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "ResourceClaim", + "version": "v1alpha3" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/resource.k8s.io/v1alpha3/resourceclaimtemplates": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceClassParameters", - "operationId": "listResourceV1alpha2ResourceClassParametersForAllNamespaces", + "description": "list or watch objects of kind ResourceClaimTemplate", + "operationId": "listResourceV1alpha3ResourceClaimTemplateForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -74015,7 +74004,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceClassParametersList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimTemplateList" } }, "401": { @@ -74026,13 +74015,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "parameters": [ @@ -74071,13 +74060,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/resourceslices": { + "/apis/resource.k8s.io/v1alpha3/resourceslices": { "delete": { "consumes": [ "*/*" ], "description": "delete collection of ResourceSlice", - "operationId": "deleteResourceV1alpha2CollectionResourceSlice", + "operationId": "deleteResourceV1alpha3CollectionResourceSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -74143,13 +74132,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } }, "get": { @@ -74157,7 +74146,7 @@ "*/*" ], "description": "list or watch objects of kind ResourceSlice", - "operationId": "listResourceV1alpha2ResourceSlice", + "operationId": "listResourceV1alpha3ResourceSlice", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -74201,7 +74190,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSliceList" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSliceList" } }, "401": { @@ -74212,13 +74201,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } }, "parameters": [ @@ -74231,14 +74220,14 @@ "*/*" ], "description": "create a ResourceSlice", - "operationId": "createResourceV1alpha2ResourceSlice", + "operationId": "createResourceV1alpha3ResourceSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, { @@ -74268,19 +74257,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "401": { @@ -74291,23 +74280,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/resourceslices/{name}": { + "/apis/resource.k8s.io/v1alpha3/resourceslices/{name}": { "delete": { "consumes": [ "*/*" ], "description": "delete a ResourceSlice", - "operationId": "deleteResourceV1alpha2ResourceSlice", + "operationId": "deleteResourceV1alpha3ResourceSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -74338,13 +74327,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "401": { @@ -74355,13 +74344,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } }, "get": { @@ -74369,7 +74358,7 @@ "*/*" ], "description": "read the specified ResourceSlice", - "operationId": "readResourceV1alpha2ResourceSlice", + "operationId": "readResourceV1alpha3ResourceSlice", "produces": [ "application/json", "application/yaml", @@ -74379,7 +74368,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "401": { @@ -74390,13 +74379,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } }, "parameters": [ @@ -74420,7 +74409,7 @@ "application/apply-patch+yaml" ], "description": "partially update the specified ResourceSlice", - "operationId": "patchResourceV1alpha2ResourceSlice", + "operationId": "patchResourceV1alpha3ResourceSlice", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -74455,13 +74444,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "401": { @@ -74472,13 +74461,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } }, "put": { @@ -74486,14 +74475,14 @@ "*/*" ], "description": "replace the specified ResourceSlice", - "operationId": "replaceResourceV1alpha2ResourceSlice", + "operationId": "replaceResourceV1alpha3ResourceSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, { @@ -74523,13 +74512,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.resource.v1alpha2.ResourceSlice" + "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceSlice" } }, "401": { @@ -74540,185 +74529,23 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } } }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/podschedulingcontexts": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of PodSchedulingContext. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2NamespacedPodSchedulingContextList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/podschedulingcontexts/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind PodSchedulingContext. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchResourceV1alpha2NamespacedPodSchedulingContext", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PodSchedulingContext", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclaimparameters": { + "/apis/resource.k8s.io/v1alpha3/watch/deviceclasses": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ResourceClaimParameters. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2NamespacedResourceClaimParametersList", + "description": "watch individual changes to a list of DeviceClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1alpha3DeviceClassList", "produces": [ "application/json", "application/yaml", @@ -74741,13 +74568,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } }, "parameters": [ @@ -74766,9 +74593,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -74789,13 +74613,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclaimparameters/{name}": { + "/apis/resource.k8s.io/v1alpha3/watch/deviceclasses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ResourceClaimParameters. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchResourceV1alpha2NamespacedResourceClaimParameters", + "description": "watch changes to an object of kind DeviceClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1alpha3DeviceClass", "produces": [ "application/json", "application/yaml", @@ -74818,13 +74642,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" + "kind": "DeviceClass", + "version": "v1alpha3" } }, "parameters": [ @@ -74844,93 +74668,13 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the ResourceClaimParameters", + "description": "name of the DeviceClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclaims": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2NamespacedResourceClaimList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -74951,13 +74695,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclaims/{name}": { + "/apis/resource.k8s.io/v1alpha3/watch/namespaces/{namespace}/podschedulingcontexts": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchResourceV1alpha2NamespacedResourceClaim", + "description": "watch individual changes to a list of PodSchedulingContext. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1alpha3NamespacedPodSchedulingContextList", "produces": [ "application/json", "application/yaml", @@ -74980,98 +74724,13 @@ "https" ], "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ResourceClaim", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclaimtemplates": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2NamespacedResourceClaimTemplateList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "parameters": [ @@ -75113,13 +74772,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclaimtemplates/{name}": { + "/apis/resource.k8s.io/v1alpha3/watch/namespaces/{namespace}/podschedulingcontexts/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchResourceV1alpha2NamespacedResourceClaimTemplate", + "description": "watch changes to an object of kind PodSchedulingContext. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1alpha3NamespacedPodSchedulingContext", "produces": [ "application/json", "application/yaml", @@ -75142,13 +74801,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "parameters": [ @@ -75168,7 +74827,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the ResourceClaimTemplate", + "description": "name of the PodSchedulingContext", "in": "path", "name": "name", "required": true, @@ -75198,13 +74857,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclassparameters": { + "/apis/resource.k8s.io/v1alpha3/watch/namespaces/{namespace}/resourceclaims": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ResourceClassParameters. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2NamespacedResourceClassParametersList", + "description": "watch individual changes to a list of ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1alpha3NamespacedResourceClaimList", "produces": [ "application/json", "application/yaml", @@ -75227,13 +74886,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "parameters": [ @@ -75275,13 +74934,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/namespaces/{namespace}/resourceclassparameters/{name}": { + "/apis/resource.k8s.io/v1alpha3/watch/namespaces/{namespace}/resourceclaims/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ResourceClassParameters. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchResourceV1alpha2NamespacedResourceClassParameters", + "description": "watch changes to an object of kind ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1alpha3NamespacedResourceClaim", "produces": [ "application/json", "application/yaml", @@ -75304,13 +74963,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "parameters": [ @@ -75330,7 +74989,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the ResourceClassParameters", + "description": "name of the ResourceClaim", "in": "path", "name": "name", "required": true, @@ -75360,13 +75019,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/podschedulingcontexts": { + "/apis/resource.k8s.io/v1alpha3/watch/namespaces/{namespace}/resourceclaimtemplates": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PodSchedulingContext. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2PodSchedulingContextListForAllNamespaces", + "description": "watch individual changes to a list of ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1alpha3NamespacedResourceClaimTemplateList", "produces": [ "application/json", "application/yaml", @@ -75389,13 +75048,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "PodSchedulingContext", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "parameters": [ @@ -75415,78 +75074,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceclaimparameters": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of ResourceClaimParameters. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2ResourceClaimParametersListForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimParameters", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -75508,13 +75096,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceclaims": { + "/apis/resource.k8s.io/v1alpha3/watch/namespaces/{namespace}/resourceclaimtemplates/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2ResourceClaimListForAllNamespaces", + "description": "watch changes to an object of kind ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1alpha3NamespacedResourceClaimTemplate", "produces": [ "application/json", "application/yaml", @@ -75537,13 +75125,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClaim", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "parameters": [ @@ -75563,78 +75151,15 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceclaimtemplates": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2ResourceClaimTemplateListForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "resource_v1alpha2" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "resource.k8s.io", - "kind": "ResourceClaimTemplate", - "version": "v1alpha2" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the ResourceClaimTemplate", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -75656,13 +75181,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceclasses": { + "/apis/resource.k8s.io/v1alpha3/watch/podschedulingcontexts": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ResourceClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2ResourceClassList", + "description": "watch individual changes to a list of PodSchedulingContext. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1alpha3PodSchedulingContextListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -75685,13 +75210,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "PodSchedulingContext", + "version": "v1alpha3" } }, "parameters": [ @@ -75730,13 +75255,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceclasses/{name}": { + "/apis/resource.k8s.io/v1alpha3/watch/resourceclaims": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ResourceClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchResourceV1alpha2ResourceClass", + "description": "watch individual changes to a list of ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1alpha3ResourceClaimListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -75759,13 +75284,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClass", - "version": "v1alpha2" + "kind": "ResourceClaim", + "version": "v1alpha3" } }, "parameters": [ @@ -75784,14 +75309,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the ResourceClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -75812,13 +75329,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceclassparameters": { + "/apis/resource.k8s.io/v1alpha3/watch/resourceclaimtemplates": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ResourceClassParameters. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2ResourceClassParametersListForAllNamespaces", + "description": "watch individual changes to a list of ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1alpha3ResourceClaimTemplateListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -75841,13 +75358,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", - "kind": "ResourceClassParameters", - "version": "v1alpha2" + "kind": "ResourceClaimTemplate", + "version": "v1alpha3" } }, "parameters": [ @@ -75886,13 +75403,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceslices": { + "/apis/resource.k8s.io/v1alpha3/watch/resourceslices": { "get": { "consumes": [ "*/*" ], "description": "watch individual changes to a list of ResourceSlice. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchResourceV1alpha2ResourceSliceList", + "operationId": "watchResourceV1alpha3ResourceSliceList", "produces": [ "application/json", "application/yaml", @@ -75915,13 +75432,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } }, "parameters": [ @@ -75960,13 +75477,13 @@ } ] }, - "/apis/resource.k8s.io/v1alpha2/watch/resourceslices/{name}": { + "/apis/resource.k8s.io/v1alpha3/watch/resourceslices/{name}": { "get": { "consumes": [ "*/*" ], "description": "watch changes to an object of kind ResourceSlice. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchResourceV1alpha2ResourceSlice", + "operationId": "watchResourceV1alpha3ResourceSlice", "produces": [ "application/json", "application/yaml", @@ -75989,13 +75506,13 @@ "https" ], "tags": [ - "resource_v1alpha2" + "resource_v1alpha3" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "resource.k8s.io", "kind": "ResourceSlice", - "version": "v1alpha2" + "version": "v1alpha3" } }, "parameters": [ @@ -79270,37 +78787,538 @@ "description": "Unauthorized" } }, - "schemes": [ - "https" - ], - "tags": [ - "storage_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "storage.k8s.io", - "kind": "VolumeAttachment", - "version": "v1" + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttachment", + "version": "v1" + } + } + }, + "/apis/storage.k8s.io/v1/volumeattachments/{name}/status": { + "get": { + "consumes": [ + "*/*" + ], + "description": "read status of the specified VolumeAttachment", + "operationId": "readStorageV1VolumeAttachmentStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttachment", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the VolumeAttachment", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified VolumeAttachment", + "operationId": "patchStorageV1VolumeAttachmentStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttachment", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace status of the specified VolumeAttachment", + "operationId": "replaceStorageV1VolumeAttachmentStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttachment", + "version": "v1" + } + } + }, + "/apis/storage.k8s.io/v1/watch/csidrivers": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of CSIDriver. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1CSIDriverList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "CSIDriver", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/csidrivers/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind CSIDriver. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1CSIDriver", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "CSIDriver", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the CSIDriver", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/csinodes": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of CSINode. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1CSINodeList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "CSINode", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/csinodes/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind CSINode. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1CSINode", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "CSINode", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the CSINode", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/storage.k8s.io/v1/volumeattachments/{name}/status": { + "/apis/storage.k8s.io/v1/watch/csistoragecapacities": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified VolumeAttachment", - "operationId": "readStorageV1VolumeAttachmentStatus", + "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1CSIStorageCapacityListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -79313,76 +79331,68 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "CSIStorageCapacity", "version": "v1" } }, "parameters": [ { - "description": "name of the VolumeAttachment", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified VolumeAttachment", - "operationId": "patchStorageV1VolumeAttachmentStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1NamespacedCSIStorageCapacityList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -79395,62 +79405,71 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "CSIStorageCapacity", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified VolumeAttachment", - "operationId": "replaceStorageV1VolumeAttachmentStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" - } - }, - { - "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", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch changes to an object of kind CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1NamespacedCSIStorageCapacity", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -79463,21 +79482,67 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "CSIStorageCapacity", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the CSIStorageCapacity", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/storage.k8s.io/v1/watch/csidrivers": { + "/apis/storage.k8s.io/v1/watch/storageclasses": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CSIDriver. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1CSIDriverList", + "description": "watch individual changes to a list of StorageClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1StorageClassList", "produces": [ "application/json", "application/yaml", @@ -79505,7 +79570,7 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "StorageClass", "version": "v1" } }, @@ -79545,13 +79610,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/csidrivers/{name}": { + "/apis/storage.k8s.io/v1/watch/storageclasses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind CSIDriver. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1CSIDriver", + "description": "watch changes to an object of kind StorageClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1StorageClass", "produces": [ "application/json", "application/yaml", @@ -79579,7 +79644,7 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "StorageClass", "version": "v1" } }, @@ -79600,7 +79665,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the CSIDriver", + "description": "name of the StorageClass", "in": "path", "name": "name", "required": true, @@ -79627,13 +79692,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/csinodes": { + "/apis/storage.k8s.io/v1/watch/volumeattachments": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CSINode. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1CSINodeList", + "description": "watch individual changes to a list of VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1VolumeAttachmentList", "produces": [ "application/json", "application/yaml", @@ -79661,7 +79726,7 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "VolumeAttachment", "version": "v1" } }, @@ -79701,13 +79766,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/csinodes/{name}": { + "/apis/storage.k8s.io/v1/watch/volumeattachments/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind CSINode. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1CSINode", + "description": "watch changes to an object of kind VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1VolumeAttachment", "produces": [ "application/json", "application/yaml", @@ -79735,7 +79800,7 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "VolumeAttachment", "version": "v1" } }, @@ -79756,7 +79821,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the CSINode", + "description": "name of the VolumeAttachment", "in": "path", "name": "name", "required": true, @@ -79783,25 +79848,249 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/csistoragecapacities": { + "/apis/storage.k8s.io/v1alpha1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getStorageV1alpha1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1alpha1" + ] + } + }, + "/apis/storage.k8s.io/v1alpha1/volumeattributesclasses": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of VolumeAttributesClass", + "operationId": "deleteStorageV1alpha1CollectionVolumeAttributesClass", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1alpha1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttributesClass", + "version": "v1alpha1" + } + }, "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1CSIStorageCapacityListForAllNamespaces", + "description": "list or watch objects of kind VolumeAttributesClass", + "operationId": "listStorageV1alpha1VolumeAttributesClass", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClassList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1alpha1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttributesClass", + "version": "v1alpha1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a VolumeAttributesClass", + "operationId": "createStorageV1alpha1VolumeAttributesClass", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" } }, "401": { @@ -79812,70 +80101,60 @@ "https" ], "tags": [ - "storage_v1" + "storage_v1alpha1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "kind": "VolumeAttributesClass", + "version": "v1alpha1" } - ] + } }, - "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities": { - "get": { + "/apis/storage.k8s.io/v1alpha1/volumeattributesclasses/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1NamespacedCSIStorageCapacityList", + "description": "delete a VolumeAttributesClass", + "operationId": "deleteStorageV1alpha1VolumeAttributesClass", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" } }, "401": { @@ -79886,73 +80165,31 @@ "https" ], "tags": [ - "storage_v1" + "storage_v1alpha1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", - "version": "v1" + "kind": "VolumeAttributesClass", + "version": "v1alpha1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1NamespacedCSIStorageCapacity", + "description": "read the specified VolumeAttributesClass", + "operationId": "readStorageV1alpha1VolumeAttributesClass", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" } }, "401": { @@ -79963,81 +80200,78 @@ "https" ], "tags": [ - "storage_v1" + "storage_v1alpha1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", - "version": "v1" + "kind": "VolumeAttributesClass", + "version": "v1alpha1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the CSIStorageCapacity", + "description": "name of the VolumeAttributesClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/storage.k8s.io/v1/watch/storageclasses": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified VolumeAttributesClass", + "operationId": "patchStorageV1alpha1VolumeAttributesClass", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of StorageClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1StorageClassList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" } }, "401": { @@ -80048,70 +80282,64 @@ "https" ], "tags": [ - "storage_v1" + "storage_v1alpha1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", - "version": "v1" + "kind": "VolumeAttributesClass", + "version": "v1alpha1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/storage.k8s.io/v1/watch/storageclasses/{name}": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind StorageClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1StorageClass", + "description": "replace the specified VolumeAttributesClass", + "operationId": "replaceStorageV1alpha1VolumeAttributesClass", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + } + }, + { + "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", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" } }, "401": { @@ -80122,66 +80350,23 @@ "https" ], "tags": [ - "storage_v1" + "storage_v1alpha1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the StorageClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "kind": "VolumeAttributesClass", + "version": "v1alpha1" } - ] + } }, - "/apis/storage.k8s.io/v1/watch/volumeattachments": { + "/apis/storage.k8s.io/v1alpha1/watch/volumeattributesclasses": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1VolumeAttachmentList", + "description": "watch individual changes to a list of VolumeAttributesClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1alpha1VolumeAttributesClassList", "produces": [ "application/json", "application/yaml", @@ -80204,13 +80389,13 @@ "https" ], "tags": [ - "storage_v1" + "storage_v1alpha1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", - "version": "v1" + "kind": "VolumeAttributesClass", + "version": "v1alpha1" } }, "parameters": [ @@ -80249,13 +80434,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/volumeattachments/{name}": { + "/apis/storage.k8s.io/v1alpha1/watch/volumeattributesclasses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1VolumeAttachment", + "description": "watch changes to an object of kind VolumeAttributesClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1alpha1VolumeAttributesClass", "produces": [ "application/json", "application/yaml", @@ -80278,13 +80463,13 @@ "https" ], "tags": [ - "storage_v1" + "storage_v1alpha1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", - "version": "v1" + "kind": "VolumeAttributesClass", + "version": "v1alpha1" } }, "parameters": [ @@ -80304,7 +80489,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the VolumeAttachment", + "description": "name of the VolumeAttributesClass", "in": "path", "name": "name", "required": true, @@ -80331,7 +80516,7 @@ } ] }, - "/apis/storage.k8s.io/v1alpha1/": { + "/apis/storage.k8s.io/v1beta1/": { "get": { "consumes": [ "application/json", @@ -80339,7 +80524,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getStorageV1alpha1APIResources", + "operationId": "getStorageV1beta1APIResources", "produces": [ "application/json", "application/yaml", @@ -80360,17 +80545,17 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ] } }, - "/apis/storage.k8s.io/v1alpha1/volumeattributesclasses": { + "/apis/storage.k8s.io/v1beta1/volumeattributesclasses": { "delete": { "consumes": [ "*/*" ], "description": "delete collection of VolumeAttributesClass", - "operationId": "deleteStorageV1alpha1CollectionVolumeAttributesClass", + "operationId": "deleteStorageV1beta1CollectionVolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -80436,13 +80621,13 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } }, "get": { @@ -80450,7 +80635,7 @@ "*/*" ], "description": "list or watch objects of kind VolumeAttributesClass", - "operationId": "listStorageV1alpha1VolumeAttributesClass", + "operationId": "listStorageV1beta1VolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -80494,7 +80679,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClassList" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClassList" } }, "401": { @@ -80505,13 +80690,13 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } }, "parameters": [ @@ -80524,14 +80709,14 @@ "*/*" ], "description": "create a VolumeAttributesClass", - "operationId": "createStorageV1alpha1VolumeAttributesClass", + "operationId": "createStorageV1beta1VolumeAttributesClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, { @@ -80561,19 +80746,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "401": { @@ -80584,23 +80769,23 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } } }, - "/apis/storage.k8s.io/v1alpha1/volumeattributesclasses/{name}": { + "/apis/storage.k8s.io/v1beta1/volumeattributesclasses/{name}": { "delete": { "consumes": [ "*/*" ], "description": "delete a VolumeAttributesClass", - "operationId": "deleteStorageV1alpha1VolumeAttributesClass", + "operationId": "deleteStorageV1beta1VolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -80631,13 +80816,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "401": { @@ -80648,13 +80833,13 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } }, "get": { @@ -80662,7 +80847,7 @@ "*/*" ], "description": "read the specified VolumeAttributesClass", - "operationId": "readStorageV1alpha1VolumeAttributesClass", + "operationId": "readStorageV1beta1VolumeAttributesClass", "produces": [ "application/json", "application/yaml", @@ -80672,7 +80857,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "401": { @@ -80683,13 +80868,13 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } }, "parameters": [ @@ -80713,7 +80898,7 @@ "application/apply-patch+yaml" ], "description": "partially update the specified VolumeAttributesClass", - "operationId": "patchStorageV1alpha1VolumeAttributesClass", + "operationId": "patchStorageV1beta1VolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -80748,13 +80933,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "401": { @@ -80765,13 +80950,13 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } }, "put": { @@ -80779,14 +80964,14 @@ "*/*" ], "description": "replace the specified VolumeAttributesClass", - "operationId": "replaceStorageV1alpha1VolumeAttributesClass", + "operationId": "replaceStorageV1beta1VolumeAttributesClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, { @@ -80816,13 +81001,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1alpha1.VolumeAttributesClass" + "$ref": "#/definitions/io.k8s.api.storage.v1beta1.VolumeAttributesClass" } }, "401": { @@ -80833,23 +81018,23 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } } }, - "/apis/storage.k8s.io/v1alpha1/watch/volumeattributesclasses": { + "/apis/storage.k8s.io/v1beta1/watch/volumeattributesclasses": { "get": { "consumes": [ "*/*" ], "description": "watch individual changes to a list of VolumeAttributesClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1alpha1VolumeAttributesClassList", + "operationId": "watchStorageV1beta1VolumeAttributesClassList", "produces": [ "application/json", "application/yaml", @@ -80872,13 +81057,13 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } }, "parameters": [ @@ -80917,13 +81102,13 @@ } ] }, - "/apis/storage.k8s.io/v1alpha1/watch/volumeattributesclasses/{name}": { + "/apis/storage.k8s.io/v1beta1/watch/volumeattributesclasses/{name}": { "get": { "consumes": [ "*/*" ], "description": "watch changes to an object of kind VolumeAttributesClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1alpha1VolumeAttributesClass", + "operationId": "watchStorageV1beta1VolumeAttributesClass", "produces": [ "application/json", "application/yaml", @@ -80946,13 +81131,13 @@ "https" ], "tags": [ - "storage_v1alpha1" + "storage_v1beta1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "VolumeAttributesClass", - "version": "v1alpha1" + "version": "v1beta1" } }, "parameters": [ diff --git a/k8s-pb-codegen/openapi/transformed.json b/k8s-pb-codegen/openapi/transformed.json index 8043572..d399c37 100644 --- a/k8s-pb-codegen/openapi/transformed.json +++ b/k8s-pb-codegen/openapi/transformed.json @@ -1087,6 +1087,40 @@ ], "subresources": [] }, + "api.coordination.v1alpha1.LeaseCandidate": { + "name": "leasecandidates", + "namespaced": true, + "apiVersion": "coordination.k8s.io/v1alpha1", + "group": "coordination.k8s.io", + "version": "v1alpha1", + "kind": "LeaseCandidate", + "proto": "api.coordination.v1alpha1.LeaseCandidate", + "rust": "api::coordination::v1alpha1::LeaseCandidate", + "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", + "spec": "api::coordination::v1alpha1::LeaseCandidateSpec", + "status": null, + "condition": null, + "scopedVerbs": { + "all": [ + "list" + ], + "namespaced": [ + "create", + "delete", + "deletecollection", + "get", + "list", + "patch", + "update" + ] + }, + "paths": [ + "/apis/coordination.k8s.io/v1alpha1/leasecandidates", + "/apis/coordination.k8s.io/v1alpha1/namespaces/{namespace}/leasecandidates", + "/apis/coordination.k8s.io/v1alpha1/namespaces/{namespace}/leasecandidates/{name}" + ], + "subresources": [] + }, "api.core.v1.Binding": { "name": "bindings", "namespaced": true, @@ -2251,17 +2285,17 @@ ], "subresources": [] }, - "api.networking.v1alpha1.IPAddress": { + "api.networking.v1beta1.IPAddress": { "name": "ipaddresses", "namespaced": false, - "apiVersion": "networking.k8s.io/v1alpha1", + "apiVersion": "networking.k8s.io/v1beta1", "group": "networking.k8s.io", - "version": "v1alpha1", + "version": "v1beta1", "kind": "IPAddress", - "proto": "api.networking.v1alpha1.IPAddress", - "rust": "api::networking::v1alpha1::IPAddress", + "proto": "api.networking.v1beta1.IPAddress", + "rust": "api::networking::v1beta1::IPAddress", "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": "api::networking::v1alpha1::IPAddressSpec", + "spec": "api::networking::v1beta1::IPAddressSpec", "status": null, "condition": null, "scopedVerbs": { @@ -2276,23 +2310,23 @@ ] }, "paths": [ - "/apis/networking.k8s.io/v1alpha1/ipaddresses", - "/apis/networking.k8s.io/v1alpha1/ipaddresses/{name}" + "/apis/networking.k8s.io/v1beta1/ipaddresses", + "/apis/networking.k8s.io/v1beta1/ipaddresses/{name}" ], "subresources": [] }, - "api.networking.v1alpha1.ServiceCIDR": { + "api.networking.v1beta1.ServiceCIDR": { "name": "servicecidrs", "namespaced": false, - "apiVersion": "networking.k8s.io/v1alpha1", + "apiVersion": "networking.k8s.io/v1beta1", "group": "networking.k8s.io", - "version": "v1alpha1", + "version": "v1beta1", "kind": "ServiceCIDR", - "proto": "api.networking.v1alpha1.ServiceCIDR", - "rust": "api::networking::v1alpha1::ServiceCIDR", + "proto": "api.networking.v1beta1.ServiceCIDR", + "rust": "api::networking::v1beta1::ServiceCIDR", "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": "api::networking::v1alpha1::ServiceCIDRSpec", - "status": "api::networking::v1alpha1::ServiceCIDRStatus", + "spec": "api::networking::v1beta1::ServiceCIDRSpec", + "status": "api::networking::v1beta1::ServiceCIDRStatus", "condition": "apimachinery::pkg::apis::meta::v1::Condition", "scopedVerbs": { "all": [ @@ -2306,8 +2340,8 @@ ] }, "paths": [ - "/apis/networking.k8s.io/v1alpha1/servicecidrs", - "/apis/networking.k8s.io/v1alpha1/servicecidrs/{name}" + "/apis/networking.k8s.io/v1beta1/servicecidrs", + "/apis/networking.k8s.io/v1beta1/servicecidrs/{name}" ], "subresources": [ { @@ -2320,7 +2354,7 @@ ] }, "paths": [ - "/apis/networking.k8s.io/v1alpha1/servicecidrs/{name}/status" + "/apis/networking.k8s.io/v1beta1/servicecidrs/{name}/status" ] } ] @@ -2531,18 +2565,48 @@ ], "subresources": [] }, - "api.resource.v1alpha2.PodSchedulingContext": { + "api.resource.v1alpha3.DeviceClass": { + "name": "deviceclasses", + "namespaced": false, + "apiVersion": "resource.k8s.io/v1alpha3", + "group": "resource.k8s.io", + "version": "v1alpha3", + "kind": "DeviceClass", + "proto": "api.resource.v1alpha3.DeviceClass", + "rust": "api::resource::v1alpha3::DeviceClass", + "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", + "spec": "api::resource::v1alpha3::DeviceClassSpec", + "status": null, + "condition": null, + "scopedVerbs": { + "all": [ + "create", + "delete", + "deletecollection", + "get", + "list", + "patch", + "update" + ] + }, + "paths": [ + "/apis/resource.k8s.io/v1alpha3/deviceclasses", + "/apis/resource.k8s.io/v1alpha3/deviceclasses/{name}" + ], + "subresources": [] + }, + "api.resource.v1alpha3.PodSchedulingContext": { "name": "podschedulingcontexts", "namespaced": true, - "apiVersion": "resource.k8s.io/v1alpha2", + "apiVersion": "resource.k8s.io/v1alpha3", "group": "resource.k8s.io", - "version": "v1alpha2", + "version": "v1alpha3", "kind": "PodSchedulingContext", - "proto": "api.resource.v1alpha2.PodSchedulingContext", - "rust": "api::resource::v1alpha2::PodSchedulingContext", + "proto": "api.resource.v1alpha3.PodSchedulingContext", + "rust": "api::resource::v1alpha3::PodSchedulingContext", "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": "api::resource::v1alpha2::PodSchedulingContextSpec", - "status": "api::resource::v1alpha2::PodSchedulingContextStatus", + "spec": "api::resource::v1alpha3::PodSchedulingContextSpec", + "status": "api::resource::v1alpha3::PodSchedulingContextStatus", "condition": null, "scopedVerbs": { "all": [ @@ -2559,9 +2623,9 @@ ] }, "paths": [ - "/apis/resource.k8s.io/v1alpha2/podschedulingcontexts", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}" + "/apis/resource.k8s.io/v1alpha3/podschedulingcontexts", + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/podschedulingcontexts", + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/podschedulingcontexts/{name}" ], "subresources": [ { @@ -2574,23 +2638,23 @@ ] }, "paths": [ - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/podschedulingcontexts/{name}/status" + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/podschedulingcontexts/{name}/status" ] } ] }, - "api.resource.v1alpha2.ResourceClaim": { + "api.resource.v1alpha3.ResourceClaim": { "name": "resourceclaims", "namespaced": true, - "apiVersion": "resource.k8s.io/v1alpha2", + "apiVersion": "resource.k8s.io/v1alpha3", "group": "resource.k8s.io", - "version": "v1alpha2", + "version": "v1alpha3", "kind": "ResourceClaim", - "proto": "api.resource.v1alpha2.ResourceClaim", - "rust": "api::resource::v1alpha2::ResourceClaim", + "proto": "api.resource.v1alpha3.ResourceClaim", + "rust": "api::resource::v1alpha3::ResourceClaim", "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": "api::resource::v1alpha2::ResourceClaimSpec", - "status": "api::resource::v1alpha2::ResourceClaimStatus", + "spec": "api::resource::v1alpha3::ResourceClaimSpec", + "status": "api::resource::v1alpha3::ResourceClaimStatus", "condition": null, "scopedVerbs": { "all": [ @@ -2607,9 +2671,9 @@ ] }, "paths": [ - "/apis/resource.k8s.io/v1alpha2/resourceclaims", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaims", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaims/{name}" + "/apis/resource.k8s.io/v1alpha3/resourceclaims", + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaims", + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaims/{name}" ], "subresources": [ { @@ -2622,56 +2686,22 @@ ] }, "paths": [ - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaims/{name}/status" + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaims/{name}/status" ] } ] }, - "api.resource.v1alpha2.ResourceClaimParameters": { - "name": "resourceclaimparameters", - "namespaced": true, - "apiVersion": "resource.k8s.io/v1alpha2", - "group": "resource.k8s.io", - "version": "v1alpha2", - "kind": "ResourceClaimParameters", - "proto": "api.resource.v1alpha2.ResourceClaimParameters", - "rust": "api::resource::v1alpha2::ResourceClaimParameters", - "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": null, - "status": null, - "condition": null, - "scopedVerbs": { - "all": [ - "list" - ], - "namespaced": [ - "create", - "delete", - "deletecollection", - "get", - "list", - "patch", - "update" - ] - }, - "paths": [ - "/apis/resource.k8s.io/v1alpha2/resourceclaimparameters", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimparameters", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimparameters/{name}" - ], - "subresources": [] - }, - "api.resource.v1alpha2.ResourceClaimTemplate": { + "api.resource.v1alpha3.ResourceClaimTemplate": { "name": "resourceclaimtemplates", "namespaced": true, - "apiVersion": "resource.k8s.io/v1alpha2", + "apiVersion": "resource.k8s.io/v1alpha3", "group": "resource.k8s.io", - "version": "v1alpha2", + "version": "v1alpha3", "kind": "ResourceClaimTemplate", - "proto": "api.resource.v1alpha2.ResourceClaimTemplate", - "rust": "api::resource::v1alpha2::ResourceClaimTemplate", + "proto": "api.resource.v1alpha3.ResourceClaimTemplate", + "rust": "api::resource::v1alpha3::ResourceClaimTemplate", "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": "api::resource::v1alpha2::ResourceClaimTemplateSpec", + "spec": "api::resource::v1alpha3::ResourceClaimTemplateSpec", "status": null, "condition": null, "scopedVerbs": { @@ -2689,87 +2719,23 @@ ] }, "paths": [ - "/apis/resource.k8s.io/v1alpha2/resourceclaimtemplates", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimtemplates", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclaimtemplates/{name}" - ], - "subresources": [] - }, - "api.resource.v1alpha2.ResourceClass": { - "name": "resourceclasses", - "namespaced": false, - "apiVersion": "resource.k8s.io/v1alpha2", - "group": "resource.k8s.io", - "version": "v1alpha2", - "kind": "ResourceClass", - "proto": "api.resource.v1alpha2.ResourceClass", - "rust": "api::resource::v1alpha2::ResourceClass", - "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": null, - "status": null, - "condition": null, - "scopedVerbs": { - "all": [ - "create", - "delete", - "deletecollection", - "get", - "list", - "patch", - "update" - ] - }, - "paths": [ - "/apis/resource.k8s.io/v1alpha2/resourceclasses", - "/apis/resource.k8s.io/v1alpha2/resourceclasses/{name}" + "/apis/resource.k8s.io/v1alpha3/resourceclaimtemplates", + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaimtemplates", + "/apis/resource.k8s.io/v1alpha3/namespaces/{namespace}/resourceclaimtemplates/{name}" ], "subresources": [] }, - "api.resource.v1alpha2.ResourceClassParameters": { - "name": "resourceclassparameters", - "namespaced": true, - "apiVersion": "resource.k8s.io/v1alpha2", - "group": "resource.k8s.io", - "version": "v1alpha2", - "kind": "ResourceClassParameters", - "proto": "api.resource.v1alpha2.ResourceClassParameters", - "rust": "api::resource::v1alpha2::ResourceClassParameters", - "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": null, - "status": null, - "condition": null, - "scopedVerbs": { - "all": [ - "list" - ], - "namespaced": [ - "create", - "delete", - "deletecollection", - "get", - "list", - "patch", - "update" - ] - }, - "paths": [ - "/apis/resource.k8s.io/v1alpha2/resourceclassparameters", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclassparameters", - "/apis/resource.k8s.io/v1alpha2/namespaces/{namespace}/resourceclassparameters/{name}" - ], - "subresources": [] - }, - "api.resource.v1alpha2.ResourceSlice": { + "api.resource.v1alpha3.ResourceSlice": { "name": "resourceslices", "namespaced": false, - "apiVersion": "resource.k8s.io/v1alpha2", + "apiVersion": "resource.k8s.io/v1alpha3", "group": "resource.k8s.io", - "version": "v1alpha2", + "version": "v1alpha3", "kind": "ResourceSlice", - "proto": "api.resource.v1alpha2.ResourceSlice", - "rust": "api::resource::v1alpha2::ResourceSlice", + "proto": "api.resource.v1alpha3.ResourceSlice", + "rust": "api::resource::v1alpha3::ResourceSlice", "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", - "spec": null, + "spec": "api::resource::v1alpha3::ResourceSliceSpec", "status": null, "condition": null, "scopedVerbs": { @@ -2784,8 +2750,8 @@ ] }, "paths": [ - "/apis/resource.k8s.io/v1alpha2/resourceslices", - "/apis/resource.k8s.io/v1alpha2/resourceslices/{name}" + "/apis/resource.k8s.io/v1alpha3/resourceslices", + "/apis/resource.k8s.io/v1alpha3/resourceslices/{name}" ], "subresources": [] }, @@ -3017,6 +2983,36 @@ ], "subresources": [] }, + "api.storage.v1beta1.VolumeAttributesClass": { + "name": "volumeattributesclasses", + "namespaced": false, + "apiVersion": "storage.k8s.io/v1beta1", + "group": "storage.k8s.io", + "version": "v1beta1", + "kind": "VolumeAttributesClass", + "proto": "api.storage.v1beta1.VolumeAttributesClass", + "rust": "api::storage::v1beta1::VolumeAttributesClass", + "metadata": "apimachinery::pkg::apis::meta::v1::ObjectMeta", + "spec": null, + "status": null, + "condition": null, + "scopedVerbs": { + "all": [ + "create", + "delete", + "deletecollection", + "get", + "list", + "patch", + "update" + ] + }, + "paths": [ + "/apis/storage.k8s.io/v1beta1/volumeattributesclasses", + "/apis/storage.k8s.io/v1beta1/volumeattributesclasses/{name}" + ], + "subresources": [] + }, "api.storagemigration.v1alpha1.StorageVersionMigration": { "name": "storageversionmigrations", "namespaced": false, diff --git a/k8s-pb-codegen/protos.list b/k8s-pb-codegen/protos.list index a5cbf43..64199e4 100644 --- a/k8s-pb-codegen/protos.list +++ b/k8s-pb-codegen/protos.list @@ -23,6 +23,7 @@ protos/api/batch/v1/generated.proto protos/api/certificates/v1alpha1/generated.proto protos/api/certificates/v1beta1/generated.proto protos/api/certificates/v1/generated.proto +protos/api/coordination/v1alpha1/generated.proto protos/api/coordination/v1beta1/generated.proto protos/api/coordination/v1/generated.proto protos/api/core/v1/generated.proto @@ -56,7 +57,7 @@ protos/api/policy/v1/generated.proto protos/api/rbac/v1alpha1/generated.proto protos/api/rbac/v1beta1/generated.proto protos/api/rbac/v1/generated.proto -protos/api/resource/v1alpha2/generated.proto +protos/api/resource/v1alpha3/generated.proto protos/api/scheduling/v1alpha1/generated.proto protos/api/scheduling/v1beta1/generated.proto protos/api/scheduling/v1/generated.proto diff --git a/k8s-pb-codegen/protos/api/admission/v1/generated.proto b/k8s-pb-codegen/protos/api/admission/v1/generated.proto index c2a0889..eac991c 100644 --- a/k8s-pb-codegen/protos/api/admission/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/admission/v1/generated.proto @@ -38,10 +38,10 @@ message AdmissionRequest { optional string uid = 1; // Kind is the fully-qualified type of object being submitted (for example, v1.Pod or autoscaling.v1.Scale) - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind kind = 2; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind kind = 2; // Resource is the fully-qualified resource being requested (for example, v1.pods) - optional apimachinery.pkg.apis.meta.v1.GroupVersionResource resource = 3; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionResource resource = 3; // SubResource is the subresource being requested, if any (for example, "status" or "scale") // +optional @@ -58,7 +58,7 @@ message AdmissionRequest { // // See documentation for the "matchPolicy" field in the webhook configuration type for more details. // +optional - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind requestKind = 13; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind requestKind = 13; // RequestResource is the fully-qualified resource of the original API request (for example, v1.pods). // If this is specified and differs from the value in "resource", an equivalent match and conversion was performed. @@ -71,7 +71,7 @@ message AdmissionRequest { // // See documentation for the "matchPolicy" field in the webhook configuration type. // +optional - optional apimachinery.pkg.apis.meta.v1.GroupVersionResource requestResource = 14; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionResource requestResource = 14; // RequestSubResource is the name of the subresource of the original API request, if any (for example, "status" or "scale") // If this is specified and differs from the value in "subResource", an equivalent match and conversion was performed. @@ -93,15 +93,15 @@ message AdmissionRequest { optional string operation = 7; // UserInfo is information about the requesting user - optional api.authentication.v1.UserInfo userInfo = 8; + optional .api.authentication.v1.UserInfo userInfo = 8; // Object is the object from the incoming request. // +optional - optional apimachinery.pkg.runtime.RawExtension object = 9; + optional .apimachinery.pkg.runtime.RawExtension object = 9; // OldObject is the existing object. Only populated for DELETE and UPDATE requests. // +optional - optional apimachinery.pkg.runtime.RawExtension oldObject = 10; + optional .apimachinery.pkg.runtime.RawExtension oldObject = 10; // DryRun indicates that modifications will definitely not be persisted for this request. // Defaults to false. @@ -114,7 +114,7 @@ message AdmissionRequest { // Operation might be a CREATE, in which case the Options will a // `meta.k8s.io/v1.CreateOptions` even though the caller provided `meta.k8s.io/v1.PatchOptions`. // +optional - optional apimachinery.pkg.runtime.RawExtension options = 12; + optional .apimachinery.pkg.runtime.RawExtension options = 12; } // AdmissionResponse describes an admission response. @@ -129,7 +129,7 @@ message AdmissionResponse { // Result contains extra details into why an admission request was denied. // This field IS NOT consulted in any way if "Allowed" is "true". // +optional - optional apimachinery.pkg.apis.meta.v1.Status status = 3; + optional .apimachinery.pkg.apis.meta.v1.Status status = 3; // The patch body. Currently we only support "JSONPatch" which implements RFC 6902. // +optional diff --git a/k8s-pb-codegen/protos/api/admission/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/admission/v1beta1/generated.proto index abea64b..a368b7e 100644 --- a/k8s-pb-codegen/protos/api/admission/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/admission/v1beta1/generated.proto @@ -38,10 +38,10 @@ message AdmissionRequest { optional string uid = 1; // Kind is the fully-qualified type of object being submitted (for example, v1.Pod or autoscaling.v1.Scale) - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind kind = 2; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind kind = 2; // Resource is the fully-qualified resource being requested (for example, v1.pods) - optional apimachinery.pkg.apis.meta.v1.GroupVersionResource resource = 3; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionResource resource = 3; // SubResource is the subresource being requested, if any (for example, "status" or "scale") // +optional @@ -58,7 +58,7 @@ message AdmissionRequest { // // See documentation for the "matchPolicy" field in the webhook configuration type for more details. // +optional - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind requestKind = 13; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind requestKind = 13; // RequestResource is the fully-qualified resource of the original API request (for example, v1.pods). // If this is specified and differs from the value in "resource", an equivalent match and conversion was performed. @@ -71,7 +71,7 @@ message AdmissionRequest { // // See documentation for the "matchPolicy" field in the webhook configuration type. // +optional - optional apimachinery.pkg.apis.meta.v1.GroupVersionResource requestResource = 14; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionResource requestResource = 14; // RequestSubResource is the name of the subresource of the original API request, if any (for example, "status" or "scale") // If this is specified and differs from the value in "subResource", an equivalent match and conversion was performed. @@ -93,15 +93,15 @@ message AdmissionRequest { optional string operation = 7; // UserInfo is information about the requesting user - optional api.authentication.v1.UserInfo userInfo = 8; + optional .api.authentication.v1.UserInfo userInfo = 8; // Object is the object from the incoming request. // +optional - optional apimachinery.pkg.runtime.RawExtension object = 9; + optional .apimachinery.pkg.runtime.RawExtension object = 9; // OldObject is the existing object. Only populated for DELETE and UPDATE requests. // +optional - optional apimachinery.pkg.runtime.RawExtension oldObject = 10; + optional .apimachinery.pkg.runtime.RawExtension oldObject = 10; // DryRun indicates that modifications will definitely not be persisted for this request. // Defaults to false. @@ -114,7 +114,7 @@ message AdmissionRequest { // Operation might be a CREATE, in which case the Options will a // `meta.k8s.io/v1.CreateOptions` even though the caller provided `meta.k8s.io/v1.PatchOptions`. // +optional - optional apimachinery.pkg.runtime.RawExtension options = 12; + optional .apimachinery.pkg.runtime.RawExtension options = 12; } // AdmissionResponse describes an admission response. @@ -129,7 +129,7 @@ message AdmissionResponse { // Result contains extra details into why an admission request was denied. // This field IS NOT consulted in any way if "Allowed" is "true". // +optional - optional apimachinery.pkg.apis.meta.v1.Status status = 3; + optional .apimachinery.pkg.apis.meta.v1.Status status = 3; // The patch body. Currently we only support "JSONPatch" which implements RFC 6902. // +optional diff --git a/k8s-pb-codegen/protos/api/admissionregistration/v1/generated.proto b/k8s-pb-codegen/protos/api/admissionregistration/v1/generated.proto index 8689693..2382a8e 100644 --- a/k8s-pb-codegen/protos/api/admissionregistration/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/admissionregistration/v1/generated.proto @@ -156,7 +156,7 @@ message MatchResources { // // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1; // ObjectSelector decides whether to run the validation based on if the // object has matching labels. objectSelector is evaluated against both @@ -170,7 +170,7 @@ message MatchResources { // users may skip the admission webhook by setting the labels. // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2; // ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. // The policy cares about an operation if it matches _any_ Rule. @@ -290,7 +290,7 @@ message MutatingWebhook { // // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; // ObjectSelector decides whether to run the webhook based on if the // object has matching labels. objectSelector is evaluated against both @@ -304,7 +304,7 @@ message MutatingWebhook { // users may skip the admission webhook by setting the labels. // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 11; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 11; // SideEffects states whether this webhook has side effects. // Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown). @@ -374,7 +374,7 @@ message MutatingWebhook { message MutatingWebhookConfiguration { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Webhooks is a list of webhooks and the affected resources and operations. // +optional @@ -390,7 +390,7 @@ message MutatingWebhookConfigurationList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of MutatingWebhookConfiguration. repeated MutatingWebhookConfiguration items = 2; @@ -463,7 +463,7 @@ message ParamRef { // mutually exclusive properties. If one is set, the other must be unset. // // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; // `parameterNotFoundAction` controls the behavior of the binding when the resource // exists, and name or selector is valid, but there are no parameters @@ -570,16 +570,11 @@ message TypeChecking { repeated ExpressionWarning expressionWarnings = 1; } -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// +genclient -// +genclient:nonNamespaced -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// +k8s:prerelease-lifecycle-gen:introduced=1.30 // ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it. message ValidatingAdmissionPolicy { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the ValidatingAdmissionPolicy. optional ValidatingAdmissionPolicySpec spec = 2; @@ -606,7 +601,7 @@ message ValidatingAdmissionPolicy { message ValidatingAdmissionPolicyBinding { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding. optional ValidatingAdmissionPolicyBindingSpec spec = 2; @@ -617,7 +612,7 @@ message ValidatingAdmissionPolicyBindingList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of PolicyBinding. repeated ValidatingAdmissionPolicyBinding items = 2; @@ -688,14 +683,12 @@ message ValidatingAdmissionPolicyBindingSpec { repeated string validationActions = 4; } -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// +k8s:prerelease-lifecycle-gen:introduced=1.30 // ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy. message ValidatingAdmissionPolicyList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ValidatingAdmissionPolicy. repeated ValidatingAdmissionPolicy items = 2; @@ -800,7 +793,7 @@ message ValidatingAdmissionPolicyStatus { // +optional // +listType=map // +listMapKey=type - repeated apimachinery.pkg.apis.meta.v1.Condition conditions = 3; + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 3; } // ValidatingWebhook describes an admission webhook and the resources and operations it applies to. @@ -891,7 +884,7 @@ message ValidatingWebhook { // // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; // ObjectSelector decides whether to run the webhook based on if the // object has matching labels. objectSelector is evaluated against both @@ -905,7 +898,7 @@ message ValidatingWebhook { // users may skip the admission webhook by setting the labels. // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 10; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 10; // SideEffects states whether this webhook has side effects. // Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown). @@ -957,7 +950,7 @@ message ValidatingWebhook { message ValidatingWebhookConfiguration { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Webhooks is a list of webhooks and the affected resources and operations. // +optional @@ -973,7 +966,7 @@ message ValidatingWebhookConfigurationList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ValidatingWebhookConfiguration. repeated ValidatingWebhookConfiguration items = 2; diff --git a/k8s-pb-codegen/protos/api/admissionregistration/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/admissionregistration/v1alpha1/generated.proto index 452fc6a..28a956a 100644 --- a/k8s-pb-codegen/protos/api/admissionregistration/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/admissionregistration/v1alpha1/generated.proto @@ -156,7 +156,7 @@ message MatchResources { // // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1; // ObjectSelector decides whether to run the validation based on if the // object has matching labels. objectSelector is evaluated against both @@ -170,7 +170,7 @@ message MatchResources { // users may skip the admission webhook by setting the labels. // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2; // ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. // The policy cares about an operation if it matches _any_ Rule. @@ -211,7 +211,7 @@ message NamedRuleWithOperations { repeated string resourceNames = 1; // RuleWithOperations is a tuple of Operations and Resources. - optional api.admissionregistration.v1.RuleWithOperations ruleWithOperations = 2; + optional .api.admissionregistration.v1.RuleWithOperations ruleWithOperations = 2; } // ParamKind is a tuple of Group Kind and Version. @@ -267,7 +267,7 @@ message ParamRef { // mutually exclusive properties. If one is set, the other must be unset. // // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; // `parameterNotFoundAction` controls the behavior of the binding when the resource // exists, and name or selector is valid, but there are no parameters @@ -295,7 +295,7 @@ message TypeChecking { message ValidatingAdmissionPolicy { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the ValidatingAdmissionPolicy. optional ValidatingAdmissionPolicySpec spec = 2; @@ -322,7 +322,7 @@ message ValidatingAdmissionPolicy { message ValidatingAdmissionPolicyBinding { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding. optional ValidatingAdmissionPolicyBindingSpec spec = 2; @@ -333,7 +333,7 @@ message ValidatingAdmissionPolicyBindingList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of PolicyBinding. repeated ValidatingAdmissionPolicyBinding items = 2; @@ -409,7 +409,7 @@ message ValidatingAdmissionPolicyList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ValidatingAdmissionPolicy. repeated ValidatingAdmissionPolicy items = 2; @@ -514,7 +514,7 @@ message ValidatingAdmissionPolicyStatus { // +optional // +listType=map // +listMapKey=type - repeated apimachinery.pkg.apis.meta.v1.Condition conditions = 3; + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 3; } // Validation specifies the CEL expression which is used to apply the validation. diff --git a/k8s-pb-codegen/protos/api/admissionregistration/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/admissionregistration/v1beta1/generated.proto index 2a1c66a..52ddef0 100644 --- a/k8s-pb-codegen/protos/api/admissionregistration/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/admissionregistration/v1beta1/generated.proto @@ -157,7 +157,7 @@ message MatchResources { // // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 1; // ObjectSelector decides whether to run the validation based on if the // object has matching labels. objectSelector is evaluated against both @@ -171,7 +171,7 @@ message MatchResources { // users may skip the admission webhook by setting the labels. // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 2; // ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. // The policy cares about an operation if it matches _any_ Rule. @@ -223,7 +223,7 @@ message MutatingWebhook { // disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called // on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects. // +listType=atomic - repeated api.admissionregistration.v1.RuleWithOperations rules = 3; + repeated .api.admissionregistration.v1.RuleWithOperations rules = 3; // FailurePolicy defines how unrecognized errors from the admission endpoint are handled - // allowed values are Ignore or Fail. Defaults to Ignore. @@ -291,7 +291,7 @@ message MutatingWebhook { // // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; // ObjectSelector decides whether to run the webhook based on if the // object has matching labels. objectSelector is evaluated against both @@ -305,7 +305,7 @@ message MutatingWebhook { // users may skip the admission webhook by setting the labels. // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 11; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 11; // SideEffects states whether this webhook has side effects. // Acceptable values are: Unknown, None, Some, NoneOnDryRun @@ -379,7 +379,7 @@ message MutatingWebhook { message MutatingWebhookConfiguration { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Webhooks is a list of webhooks and the affected resources and operations. // +optional @@ -395,7 +395,7 @@ message MutatingWebhookConfigurationList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of MutatingWebhookConfiguration. repeated MutatingWebhookConfiguration items = 2; @@ -410,7 +410,7 @@ message NamedRuleWithOperations { repeated string resourceNames = 1; // RuleWithOperations is a tuple of Operations and Resources. - optional api.admissionregistration.v1.RuleWithOperations ruleWithOperations = 2; + optional .api.admissionregistration.v1.RuleWithOperations ruleWithOperations = 2; } // ParamKind is a tuple of Group Kind and Version. @@ -468,7 +468,7 @@ message ParamRef { // mutually exclusive properties. If one is set, the other must be unset. // // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; // `parameterNotFoundAction` controls the behavior of the binding when the resource // exists, and name or selector is valid, but there are no parameters @@ -523,7 +523,7 @@ message TypeChecking { message ValidatingAdmissionPolicy { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the ValidatingAdmissionPolicy. optional ValidatingAdmissionPolicySpec spec = 2; @@ -550,7 +550,7 @@ message ValidatingAdmissionPolicy { message ValidatingAdmissionPolicyBinding { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the ValidatingAdmissionPolicyBinding. optional ValidatingAdmissionPolicyBindingSpec spec = 2; @@ -561,7 +561,7 @@ message ValidatingAdmissionPolicyBindingList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of PolicyBinding. repeated ValidatingAdmissionPolicyBinding items = 2; @@ -639,7 +639,7 @@ message ValidatingAdmissionPolicyList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ValidatingAdmissionPolicy. repeated ValidatingAdmissionPolicy items = 2; @@ -744,7 +744,7 @@ message ValidatingAdmissionPolicyStatus { // +optional // +listType=map // +listMapKey=type - repeated apimachinery.pkg.apis.meta.v1.Condition conditions = 3; + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 3; } // ValidatingWebhook describes an admission webhook and the resources and operations it applies to. @@ -767,7 +767,7 @@ message ValidatingWebhook { // disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called // on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects. // +listType=atomic - repeated api.admissionregistration.v1.RuleWithOperations rules = 3; + repeated .api.admissionregistration.v1.RuleWithOperations rules = 3; // FailurePolicy defines how unrecognized errors from the admission endpoint are handled - // allowed values are Ignore or Fail. Defaults to Ignore. @@ -835,7 +835,7 @@ message ValidatingWebhook { // // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 5; // ObjectSelector decides whether to run the webhook based on if the // object has matching labels. objectSelector is evaluated against both @@ -849,7 +849,7 @@ message ValidatingWebhook { // users may skip the admission webhook by setting the labels. // Default to the empty LabelSelector, which matches everything. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 10; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector objectSelector = 10; // SideEffects states whether this webhook has side effects. // Acceptable values are: Unknown, None, Some, NoneOnDryRun @@ -906,7 +906,7 @@ message ValidatingWebhook { message ValidatingWebhookConfiguration { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Webhooks is a list of webhooks and the affected resources and operations. // +optional @@ -922,7 +922,7 @@ message ValidatingWebhookConfigurationList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ValidatingWebhookConfiguration. repeated ValidatingWebhookConfiguration items = 2; diff --git a/k8s-pb-codegen/protos/api/apidiscovery/v2/generated.proto b/k8s-pb-codegen/protos/api/apidiscovery/v2/generated.proto index 0de6e32..e799474 100644 --- a/k8s-pb-codegen/protos/api/apidiscovery/v2/generated.proto +++ b/k8s-pb-codegen/protos/api/apidiscovery/v2/generated.proto @@ -38,7 +38,7 @@ message APIGroupDiscovery { // name is allowed to be "" to represent the legacy, ungroupified resources. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // versions are the versions supported in this group. They are sorted in descending order of preference, // with the preferred version being the first entry. @@ -55,7 +55,7 @@ message APIGroupDiscoveryList { // ResourceVersion will not be set, because this does not have a replayable ordering among multiple apiservers. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of groups for discovery. The groups are listed in priority order. repeated APIGroupDiscovery items = 2; @@ -72,7 +72,7 @@ message APIResourceDiscovery { // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns. // APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior. // This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; // scope indicates the scope of a resource, either Cluster or Namespaced optional string scope = 3; @@ -112,7 +112,7 @@ message APISubresourceDiscovery { // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns. // Some subresources do not return normal resources, these will have null or empty return types. - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; // acceptedTypes describes the kinds that this endpoint accepts. // Subresources may accept the standard content types or define @@ -122,7 +122,7 @@ message APISubresourceDiscovery { // +listMapKey=group // +listMapKey=version // +listMapKey=kind - repeated apimachinery.pkg.apis.meta.v1.GroupVersionKind acceptedTypes = 3; + repeated .apimachinery.pkg.apis.meta.v1.GroupVersionKind acceptedTypes = 3; // verbs is a list of supported API operation types (this includes // but is not limited to get, list, watch, create, update, patch, diff --git a/k8s-pb-codegen/protos/api/apidiscovery/v2beta1/generated.proto b/k8s-pb-codegen/protos/api/apidiscovery/v2beta1/generated.proto index 9346668..9661660 100644 --- a/k8s-pb-codegen/protos/api/apidiscovery/v2beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/apidiscovery/v2beta1/generated.proto @@ -38,7 +38,7 @@ message APIGroupDiscovery { // name is allowed to be "" to represent the legacy, ungroupified resources. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // versions are the versions supported in this group. They are sorted in descending order of preference, // with the preferred version being the first entry. @@ -55,7 +55,7 @@ message APIGroupDiscoveryList { // ResourceVersion will not be set, because this does not have a replayable ordering among multiple apiservers. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of groups for discovery. The groups are listed in priority order. repeated APIGroupDiscovery items = 2; @@ -72,7 +72,7 @@ message APIResourceDiscovery { // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns. // APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior. // This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; // scope indicates the scope of a resource, either Cluster or Namespaced optional string scope = 3; @@ -112,7 +112,7 @@ message APISubresourceDiscovery { // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns. // Some subresources do not return normal resources, these will have null or empty return types. - optional apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; + optional .apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2; // acceptedTypes describes the kinds that this endpoint accepts. // Subresources may accept the standard content types or define @@ -122,7 +122,7 @@ message APISubresourceDiscovery { // +listMapKey=group // +listMapKey=version // +listMapKey=kind - repeated apimachinery.pkg.apis.meta.v1.GroupVersionKind acceptedTypes = 3; + repeated .apimachinery.pkg.apis.meta.v1.GroupVersionKind acceptedTypes = 3; // verbs is a list of supported API operation types (this includes // but is not limited to get, list, watch, create, update, patch, diff --git a/k8s-pb-codegen/protos/api/apiserverinternal/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/apiserverinternal/v1alpha1/generated.proto index eed6821..6df74ee 100644 --- a/k8s-pb-codegen/protos/api/apiserverinternal/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/apiserverinternal/v1alpha1/generated.proto @@ -52,7 +52,7 @@ message ServerStorageVersion { // Storage version of a specific resource. message StorageVersion { // The name is .. - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec is an empty spec. It is here to comply with Kubernetes API style. optional StorageVersionSpec spec = 2; @@ -77,7 +77,7 @@ message StorageVersionCondition { optional int64 observedGeneration = 3; // Last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // The reason for the condition's last transition. // +required @@ -93,7 +93,7 @@ message StorageVersionList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items holds a list of StorageVersion repeated StorageVersion items = 2; diff --git a/k8s-pb-codegen/protos/api/apps/v1/generated.proto b/k8s-pb-codegen/protos/api/apps/v1/generated.proto index 65061b7..1e9a8e9 100644 --- a/k8s-pb-codegen/protos/api/apps/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/apps/v1/generated.proto @@ -43,10 +43,10 @@ message ControllerRevision { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Data is the serialized representation of the state. - optional apimachinery.pkg.runtime.RawExtension data = 2; + optional .apimachinery.pkg.runtime.RawExtension data = 2; // Revision indicates the revision of the state represented by Data. optional int64 revision = 3; @@ -56,7 +56,7 @@ message ControllerRevision { message ControllerRevisionList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of ControllerRevisions repeated ControllerRevision items = 2; @@ -67,7 +67,7 @@ message DaemonSet { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The desired behavior of this daemon set. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -93,7 +93,7 @@ message DaemonSetCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -109,7 +109,7 @@ message DaemonSetList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // A list of daemon sets. repeated DaemonSet items = 2; @@ -121,7 +121,7 @@ message DaemonSetSpec { // Must match in order to be controlled. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1; // An object that describes the pod that will be created. // The DaemonSet will create exactly one copy of this pod on every node @@ -129,7 +129,7 @@ message DaemonSetSpec { // selector is specified). // The only allowed template.spec.restartPolicy value is "Always". // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template - optional api.core.v1.PodTemplateSpec template = 2; + optional .api.core.v1.PodTemplateSpec template = 2; // An update strategy to replace existing DaemonSet pods with new pods. // +optional @@ -225,7 +225,7 @@ message Deployment { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the Deployment. // +optional @@ -245,10 +245,10 @@ message DeploymentCondition { optional string status = 2; // The last time this condition was updated. - optional apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; + optional .apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; // Last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; // The reason for the condition's last transition. optional string reason = 4; @@ -261,7 +261,7 @@ message DeploymentCondition { message DeploymentList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Deployments. repeated Deployment items = 2; @@ -277,11 +277,11 @@ message DeploymentSpec { // Label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // It must match the pod template's labels. - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template describes the pods that will be created. // The only allowed template.spec.restartPolicy value is "Always". - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; // The deployment strategy to use to replace existing pods with new ones. // +optional @@ -376,7 +376,7 @@ message ReplicaSet { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the specification of the desired behavior of the ReplicaSet. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -402,7 +402,7 @@ message ReplicaSetCondition { // The last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -418,7 +418,7 @@ message ReplicaSetList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ReplicaSets. // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller @@ -444,13 +444,13 @@ message ReplicaSetSpec { // Label keys and values that must match in order to be controlled by this replica set. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template is the object that describes the pod that will be created if // insufficient replicas are detected. // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template // +optional - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; } // ReplicaSetStatus represents the current status of a ReplicaSet. @@ -501,7 +501,7 @@ message RollingUpdateDaemonSet { // 70% of original number of DaemonSet pods are available at all times during // the update. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; // The maximum number of nodes with an existing available DaemonSet pod that // can have an updated DaemonSet pod during during an update. @@ -522,7 +522,7 @@ message RollingUpdateDaemonSet { // so resource intensive daemonsets should take into account that they may // cause evictions during disruption. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; } // Spec to control the desired behavior of rolling update. @@ -538,7 +538,7 @@ message RollingUpdateDeployment { // that the total number of pods available at all times during the update is at // least 70% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; // The maximum number of pods that can be scheduled above the desired number of // pods. @@ -552,7 +552,7 @@ message RollingUpdateDeployment { // new ReplicaSet can be scaled up further, ensuring that total number of pods running // at any time during the update is at most 130% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; } // RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType. @@ -572,7 +572,7 @@ message RollingUpdateStatefulSetStrategy { // Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it // will be counted towards MaxUnavailable. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 2; } // StatefulSet represents a set of pods with consistent identities. @@ -586,7 +586,7 @@ message StatefulSet { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the desired identities of pods in this set. // +optional @@ -608,7 +608,7 @@ message StatefulSetCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -624,7 +624,7 @@ message StatefulSetList { // Standard list's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of stateful sets. repeated StatefulSet items = 2; @@ -675,7 +675,7 @@ message StatefulSetSpec { // selector is a label query over pods that should match the replica count. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // template is the object that describes the pod that will be created if // insufficient replicas are detected. Each pod stamped out by the StatefulSet @@ -684,7 +684,7 @@ message StatefulSetSpec { // -. For example, a pod in a StatefulSet named // "web" with index number "3" would be named "web-3". // The only allowed template.spec.restartPolicy value is "Always". - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; // volumeClaimTemplates is a list of claims that pods are allowed to reference. // The StatefulSet controller is responsible for mapping network identities to @@ -695,7 +695,7 @@ message StatefulSetSpec { // TODO: Define the behavior if a claim already exists with the same name. // +optional // +listType=atomic - repeated api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4; + repeated .api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4; // serviceName is the name of the service that governs this StatefulSet. // This service must exist before the StatefulSet, and is responsible for @@ -738,14 +738,13 @@ message StatefulSetSpec { // policy allows the lifecycle to be altered, for example by deleting persistent // volume claims when their stateful set is deleted, or when their pod is scaled // down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, - // which is alpha. +optional + // which is beta. + // +optional optional StatefulSetPersistentVolumeClaimRetentionPolicy persistentVolumeClaimRetentionPolicy = 10; // ordinals controls the numbering of replica indices in a StatefulSet. The // default ordinals behavior assigns a "0" index to the first replica and - // increments the index by one for each additional replica requested. Using - // the ordinals field requires the StatefulSetStartOrdinal feature gate to be - // enabled, which is beta. + // increments the index by one for each additional replica requested. // +optional optional StatefulSetOrdinals ordinals = 11; } diff --git a/k8s-pb-codegen/protos/api/apps/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/apps/v1beta1/generated.proto index 0f2b021..b0cbe31 100644 --- a/k8s-pb-codegen/protos/api/apps/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/apps/v1beta1/generated.proto @@ -45,10 +45,10 @@ message ControllerRevision { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // data is the serialized representation of the state. - optional apimachinery.pkg.runtime.RawExtension data = 2; + optional .apimachinery.pkg.runtime.RawExtension data = 2; // revision indicates the revision of the state represented by Data. optional int64 revision = 3; @@ -58,7 +58,7 @@ message ControllerRevision { message ControllerRevisionList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of ControllerRevisions repeated ControllerRevision items = 2; @@ -70,7 +70,7 @@ message ControllerRevisionList { message Deployment { // Standard object metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the Deployment. // +optional @@ -90,10 +90,10 @@ message DeploymentCondition { optional string status = 2; // The last time this condition was updated. - optional apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; + optional .apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; // Last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; // The reason for the condition's last transition. optional string reason = 4; @@ -106,7 +106,7 @@ message DeploymentCondition { message DeploymentList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Deployments. repeated Deployment items = 2; @@ -136,11 +136,11 @@ message DeploymentSpec { // selector is the label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template describes the pods that will be created. // The only allowed template.spec.restartPolicy value is "Always". - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; // The deployment strategy to use to replace existing pods with new ones. // +optional @@ -254,7 +254,7 @@ message RollingUpdateDeployment { // that the total number of pods available at all times during the update is at // least 70% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; // The maximum number of pods that can be scheduled above the desired number of // pods. @@ -268,7 +268,7 @@ message RollingUpdateDeployment { // new ReplicaSet can be scaled up further, ensuring that total number of pods running // at any time during the update is at most 130% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; } // RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType. @@ -287,14 +287,14 @@ message RollingUpdateStatefulSetStrategy { // Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it // will be counted towards MaxUnavailable. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 2; } // Scale represents a scaling request for a resource. message Scale { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. // +optional @@ -342,7 +342,7 @@ message ScaleStatus { // map to the same storage identity. message StatefulSet { // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the desired identities of pods in this set. // +optional @@ -364,7 +364,7 @@ message StatefulSetCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -378,7 +378,7 @@ message StatefulSetCondition { // StatefulSetList is a collection of StatefulSets. message StatefulSetList { // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; repeated StatefulSet items = 2; } @@ -429,7 +429,7 @@ message StatefulSetSpec { // If empty, defaulted to labels on the pod template. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // template is the object that describes the pod that will be created if // insufficient replicas are detected. Each pod stamped out by the StatefulSet @@ -437,7 +437,7 @@ message StatefulSetSpec { // of the StatefulSet. Each pod will be named with the format // -. For example, a pod in a StatefulSet named // "web" with index number "3" would be named "web-3". - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; // volumeClaimTemplates is a list of claims that pods are allowed to reference. // The StatefulSet controller is responsible for mapping network identities to @@ -448,7 +448,7 @@ message StatefulSetSpec { // TODO: Define the behavior if a claim already exists with the same name. // +optional // +listType=atomic - repeated api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4; + repeated .api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4; // serviceName is the name of the service that governs this StatefulSet. // This service must exist before the StatefulSet, and is responsible for @@ -493,9 +493,7 @@ message StatefulSetSpec { // ordinals controls the numbering of replica indices in a StatefulSet. The // default ordinals behavior assigns a "0" index to the first replica and - // increments the index by one for each additional replica requested. Using - // the ordinals field requires the StatefulSetStartOrdinal feature gate to be - // enabled, which is beta. + // increments the index by one for each additional replica requested. // +optional optional StatefulSetOrdinals ordinals = 11; } diff --git a/k8s-pb-codegen/protos/api/apps/v1beta2/generated.proto b/k8s-pb-codegen/protos/api/apps/v1beta2/generated.proto index e4c362c..3410342 100644 --- a/k8s-pb-codegen/protos/api/apps/v1beta2/generated.proto +++ b/k8s-pb-codegen/protos/api/apps/v1beta2/generated.proto @@ -45,10 +45,10 @@ message ControllerRevision { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Data is the serialized representation of the state. - optional apimachinery.pkg.runtime.RawExtension data = 2; + optional .apimachinery.pkg.runtime.RawExtension data = 2; // Revision indicates the revision of the state represented by Data. optional int64 revision = 3; @@ -58,7 +58,7 @@ message ControllerRevision { message ControllerRevisionList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of ControllerRevisions repeated ControllerRevision items = 2; @@ -71,7 +71,7 @@ message DaemonSet { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The desired behavior of this daemon set. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -97,7 +97,7 @@ message DaemonSetCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -113,7 +113,7 @@ message DaemonSetList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // A list of daemon sets. repeated DaemonSet items = 2; @@ -125,7 +125,7 @@ message DaemonSetSpec { // Must match in order to be controlled. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1; // An object that describes the pod that will be created. // The DaemonSet will create exactly one copy of this pod on every node @@ -133,7 +133,7 @@ message DaemonSetSpec { // selector is specified). // The only allowed template.spec.restartPolicy value is "Always". // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template - optional api.core.v1.PodTemplateSpec template = 2; + optional .api.core.v1.PodTemplateSpec template = 2; // An update strategy to replace existing DaemonSet pods with new pods. // +optional @@ -230,7 +230,7 @@ message DaemonSetUpdateStrategy { message Deployment { // Standard object metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the Deployment. // +optional @@ -250,10 +250,10 @@ message DeploymentCondition { optional string status = 2; // The last time this condition was updated. - optional apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; + optional .apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; // Last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; // The reason for the condition's last transition. optional string reason = 4; @@ -266,7 +266,7 @@ message DeploymentCondition { message DeploymentList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Deployments. repeated Deployment items = 2; @@ -282,11 +282,11 @@ message DeploymentSpec { // Label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // It must match the pod template's labels. - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template describes the pods that will be created. // The only allowed template.spec.restartPolicy value is "Always". - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; // The deployment strategy to use to replace existing pods with new ones. // +optional @@ -382,7 +382,7 @@ message ReplicaSet { // be the same as the Pod(s) that the ReplicaSet manages. // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the specification of the desired behavior of the ReplicaSet. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -408,7 +408,7 @@ message ReplicaSetCondition { // The last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -424,7 +424,7 @@ message ReplicaSetList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ReplicaSets. // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller @@ -450,13 +450,13 @@ message ReplicaSetSpec { // Label keys and values that must match in order to be controlled by this replica set. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template is the object that describes the pod that will be created if // insufficient replicas are detected. // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template // +optional - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; } // ReplicaSetStatus represents the current status of a ReplicaSet. @@ -507,7 +507,7 @@ message RollingUpdateDaemonSet { // 70% of original number of DaemonSet pods are available at all times during // the update. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; // The maximum number of nodes with an existing available DaemonSet pod that // can have an updated DaemonSet pod during during an update. @@ -528,7 +528,7 @@ message RollingUpdateDaemonSet { // so resource intensive daemonsets should take into account that they may // cause evictions during disruption. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; } // Spec to control the desired behavior of rolling update. @@ -544,7 +544,7 @@ message RollingUpdateDeployment { // that the total number of pods available at all times during the update is at // least 70% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; // The maximum number of pods that can be scheduled above the desired number of // pods. @@ -558,7 +558,7 @@ message RollingUpdateDeployment { // new ReplicaSet can be scaled up further, ensuring that total number of pods running // at any time during the update is at most 130% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; } // RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType. @@ -578,14 +578,14 @@ message RollingUpdateStatefulSetStrategy { // Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it // will be counted towards MaxUnavailable. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 2; } // Scale represents a scaling request for a resource. message Scale { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. // +optional @@ -634,7 +634,7 @@ message ScaleStatus { // map to the same storage identity. message StatefulSet { // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the desired identities of pods in this set. // +optional @@ -656,7 +656,7 @@ message StatefulSetCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -670,7 +670,7 @@ message StatefulSetCondition { // StatefulSetList is a collection of StatefulSets. message StatefulSetList { // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; repeated StatefulSet items = 2; } @@ -720,7 +720,7 @@ message StatefulSetSpec { // selector is a label query over pods that should match the replica count. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // template is the object that describes the pod that will be created if // insufficient replicas are detected. Each pod stamped out by the StatefulSet @@ -729,7 +729,7 @@ message StatefulSetSpec { // -. For example, a pod in a StatefulSet named // "web" with index number "3" would be named "web-3". // The only allowed template.spec.restartPolicy value is "Always". - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; // volumeClaimTemplates is a list of claims that pods are allowed to reference. // The StatefulSet controller is responsible for mapping network identities to @@ -740,7 +740,7 @@ message StatefulSetSpec { // TODO: Define the behavior if a claim already exists with the same name. // +optional // +listType=atomic - repeated api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4; + repeated .api.core.v1.PersistentVolumeClaim volumeClaimTemplates = 4; // serviceName is the name of the service that governs this StatefulSet. // This service must exist before the StatefulSet, and is responsible for @@ -785,9 +785,7 @@ message StatefulSetSpec { // ordinals controls the numbering of replica indices in a StatefulSet. The // default ordinals behavior assigns a "0" index to the first replica and - // increments the index by one for each additional replica requested. Using - // the ordinals field requires the StatefulSetStartOrdinal feature gate to be - // enabled, which is beta. + // increments the index by one for each additional replica requested. // +optional optional StatefulSetOrdinals ordinals = 11; } diff --git a/k8s-pb-codegen/protos/api/authentication/v1/generated.proto b/k8s-pb-codegen/protos/api/authentication/v1/generated.proto index 73d3d5e..9a5062f 100644 --- a/k8s-pb-codegen/protos/api/authentication/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/authentication/v1/generated.proto @@ -63,7 +63,7 @@ message SelfSubjectReview { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Status is filled in by the server with the user attributes. optional SelfSubjectReviewStatus status = 2; @@ -81,7 +81,7 @@ message TokenRequest { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated optional TokenRequestSpec spec = 2; @@ -123,7 +123,7 @@ message TokenRequestStatus { optional string token = 1; // ExpirationTimestamp is the time of expiration of the returned token. - optional apimachinery.pkg.apis.meta.v1.Time expirationTimestamp = 2; + optional .apimachinery.pkg.apis.meta.v1.Time expirationTimestamp = 2; } // TokenReview attempts to authenticate a token to a known user. @@ -133,7 +133,7 @@ message TokenReview { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated optional TokenReviewSpec spec = 2; diff --git a/k8s-pb-codegen/protos/api/authentication/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/authentication/v1alpha1/generated.proto index da22e24..16f380a 100644 --- a/k8s-pb-codegen/protos/api/authentication/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/authentication/v1alpha1/generated.proto @@ -36,7 +36,7 @@ message SelfSubjectReview { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Status is filled in by the server with the user attributes. optional SelfSubjectReviewStatus status = 2; @@ -46,6 +46,6 @@ message SelfSubjectReview { message SelfSubjectReviewStatus { // User attributes of the user making this request. // +optional - optional api.authentication.v1.UserInfo userInfo = 1; + optional .api.authentication.v1.UserInfo userInfo = 1; } diff --git a/k8s-pb-codegen/protos/api/authentication/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/authentication/v1beta1/generated.proto index 43f8120..c197738 100644 --- a/k8s-pb-codegen/protos/api/authentication/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/authentication/v1beta1/generated.proto @@ -45,7 +45,7 @@ message SelfSubjectReview { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Status is filled in by the server with the user attributes. optional SelfSubjectReviewStatus status = 2; @@ -55,7 +55,7 @@ message SelfSubjectReview { message SelfSubjectReviewStatus { // User attributes of the user making this request. // +optional - optional api.authentication.v1.UserInfo userInfo = 1; + optional .api.authentication.v1.UserInfo userInfo = 1; } // TokenReview attempts to authenticate a token to a known user. @@ -65,7 +65,7 @@ message TokenReview { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated optional TokenReviewSpec spec = 2; diff --git a/k8s-pb-codegen/protos/api/authorization/v1/generated.proto b/k8s-pb-codegen/protos/api/authorization/v1/generated.proto index 3f47f50..08e0d72 100644 --- a/k8s-pb-codegen/protos/api/authorization/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/authorization/v1/generated.proto @@ -37,6 +37,60 @@ message ExtraValue { repeated string items = 1; } +// FieldSelectorAttributes indicates a field limited access. +// Webhook authors are encouraged to +// * ensure rawSelector and requirements are not both set +// * consider the requirements field if set +// * not try to parse or consider the rawSelector field if set. This is to avoid another CVE-2022-2880 (i.e. getting different systems to agree on how exactly to parse a query is not something we want), see https://www.oxeye.io/resources/golang-parameter-smuggling-attack for more details. +// For the *SubjectAccessReview endpoints of the kube-apiserver: +// * If rawSelector is empty and requirements are empty, the request is not limited. +// * If rawSelector is present and requirements are empty, the rawSelector will be parsed and limited if the parsing succeeds. +// * If rawSelector is empty and requirements are present, the requirements should be honored +// * If rawSelector is present and requirements are present, the request is invalid. +message FieldSelectorAttributes { + // rawSelector is the serialization of a field selector that would be included in a query parameter. + // Webhook implementations are encouraged to ignore rawSelector. + // The kube-apiserver's *SubjectAccessReview will parse the rawSelector as long as the requirements are not present. + // +optional + optional string rawSelector = 1; + + // requirements is the parsed interpretation of a field selector. + // All requirements must be met for a resource instance to match the selector. + // Webhook implementations should handle requirements, but how to handle them is up to the webhook. + // Since requirements can only limit the request, it is safe to authorize as unlimited request if the requirements + // are not understood. + // +optional + // +listType=atomic + repeated .apimachinery.pkg.apis.meta.v1.FieldSelectorRequirement requirements = 2; +} + +// LabelSelectorAttributes indicates a label limited access. +// Webhook authors are encouraged to +// * ensure rawSelector and requirements are not both set +// * consider the requirements field if set +// * not try to parse or consider the rawSelector field if set. This is to avoid another CVE-2022-2880 (i.e. getting different systems to agree on how exactly to parse a query is not something we want), see https://www.oxeye.io/resources/golang-parameter-smuggling-attack for more details. +// For the *SubjectAccessReview endpoints of the kube-apiserver: +// * If rawSelector is empty and requirements are empty, the request is not limited. +// * If rawSelector is present and requirements are empty, the rawSelector will be parsed and limited if the parsing succeeds. +// * If rawSelector is empty and requirements are present, the requirements should be honored +// * If rawSelector is present and requirements are present, the request is invalid. +message LabelSelectorAttributes { + // rawSelector is the serialization of a field selector that would be included in a query parameter. + // Webhook implementations are encouraged to ignore rawSelector. + // The kube-apiserver's *SubjectAccessReview will parse the rawSelector as long as the requirements are not present. + // +optional + optional string rawSelector = 1; + + // requirements is the parsed interpretation of a label selector. + // All requirements must be met for a resource instance to match the selector. + // Webhook implementations should handle requirements, but how to handle them is up to the webhook. + // Since requirements can only limit the request, it is safe to authorize as unlimited request if the requirements + // are not understood. + // +optional + // +listType=atomic + repeated .apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement requirements = 2; +} + // LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. // Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions // checking. @@ -44,7 +98,7 @@ message LocalSubjectAccessReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // 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. @@ -111,6 +165,20 @@ message ResourceAttributes { // Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all. // +optional optional string name = 7; + + // fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it. + // + // This field is alpha-level. To use this field, you must enable the + // `AuthorizeWithSelectors` feature gate (disabled by default). + // +optional + optional FieldSelectorAttributes fieldSelector = 8; + + // labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it. + // + // This field is alpha-level. To use this field, you must enable the + // `AuthorizeWithSelectors` feature gate (disabled by default). + // +optional + optional LabelSelectorAttributes labelSelector = 9; } // ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, @@ -145,7 +213,7 @@ message SelfSubjectAccessReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated. user and groups must be empty optional SelfSubjectAccessReviewSpec spec = 2; @@ -177,7 +245,7 @@ message SelfSubjectRulesReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated. optional SelfSubjectRulesReviewSpec spec = 2; @@ -198,7 +266,7 @@ message SubjectAccessReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated optional SubjectAccessReviewSpec spec = 2; diff --git a/k8s-pb-codegen/protos/api/authorization/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/authorization/v1beta1/generated.proto index 1db19b4..edfee51 100644 --- a/k8s-pb-codegen/protos/api/authorization/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/authorization/v1beta1/generated.proto @@ -21,6 +21,7 @@ syntax = "proto2"; package api.authorization.v1beta1; +import "api/authorization/v1/generated.proto"; import "apimachinery/pkg/apis/meta/v1/generated.proto"; import "apimachinery/pkg/runtime/generated.proto"; import "apimachinery/pkg/runtime/schema/generated.proto"; @@ -44,7 +45,7 @@ message LocalSubjectAccessReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // 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. @@ -111,6 +112,14 @@ message ResourceAttributes { // Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all. // +optional optional string name = 7; + + // fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it. + // +optional + optional .api.authorization.v1.FieldSelectorAttributes fieldSelector = 8; + + // labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it. + // +optional + optional .api.authorization.v1.LabelSelectorAttributes labelSelector = 9; } // ResourceRule is the list of actions the subject is allowed to perform on resources. The list ordering isn't significant, @@ -145,7 +154,7 @@ message SelfSubjectAccessReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated. user and groups must be empty optional SelfSubjectAccessReviewSpec spec = 2; @@ -177,7 +186,7 @@ message SelfSubjectRulesReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated. optional SelfSubjectRulesReviewSpec spec = 2; @@ -198,7 +207,7 @@ message SubjectAccessReview { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the request being evaluated optional SubjectAccessReviewSpec spec = 2; diff --git a/k8s-pb-codegen/protos/api/autoscaling/v1/generated.proto b/k8s-pb-codegen/protos/api/autoscaling/v1/generated.proto index 6895aed..171043b 100644 --- a/k8s-pb-codegen/protos/api/autoscaling/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/autoscaling/v1/generated.proto @@ -51,7 +51,7 @@ message ContainerResourceMetricSource { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // +optional - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; // container is the name of the container in the pods of the scaling target. optional string container = 5; @@ -78,7 +78,7 @@ message ContainerResourceMetricStatus { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // It will always be set, regardless of the corresponding metric specification. - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; // container is the name of the container in the pods of the scaling taget optional string container = 4; @@ -108,17 +108,17 @@ message ExternalMetricSource { // metricSelector is used to identify a specific time series // within a given metric. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; // targetValue is the target value of the metric (as a quantity). // Mutually exclusive with TargetAverageValue. // +optional - optional apimachinery.pkg.api.resource.Quantity targetValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetValue = 3; // targetAverageValue is the target per-pod value of global metric (as a quantity). // Mutually exclusive with TargetValue. // +optional - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 4; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 4; } // ExternalMetricStatus indicates the current value of a global metric @@ -131,21 +131,21 @@ message ExternalMetricStatus { // metricSelector is used to identify a specific time series // within a given metric. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; // currentValue is the current value of the metric (as a quantity) - optional apimachinery.pkg.api.resource.Quantity currentValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentValue = 3; // currentAverageValue is the current value of metric averaged over autoscaled pods. // +optional - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 4; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 4; } // configuration of a horizontal pod autoscaler. message HorizontalPodAutoscaler { // Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec defines the behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. // +optional @@ -168,7 +168,7 @@ message HorizontalPodAutoscalerCondition { // lastTransitionTime is the last time the condition transitioned from // one status to another // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // reason is the reason for the condition's last transition. // +optional @@ -184,7 +184,7 @@ message HorizontalPodAutoscalerCondition { message HorizontalPodAutoscalerList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of horizontal pod autoscaler objects. repeated HorizontalPodAutoscaler items = 2; @@ -222,7 +222,7 @@ message HorizontalPodAutoscalerStatus { // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods; // used by the autoscaler to control how often the number of pods is changed. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; + optional .apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; // currentReplicas is the current number of replicas of pods managed by this autoscaler. optional int32 currentReplicas = 3; @@ -336,18 +336,18 @@ message ObjectMetricSource { optional string metricName = 2; // targetValue is the target value of the metric (as a quantity). - optional apimachinery.pkg.api.resource.Quantity targetValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetValue = 3; // selector is the string-encoded form of a standard kubernetes label selector for the given metric. // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // averageValue is the target value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 5; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 5; } // ObjectMetricStatus indicates the current value of a metric describing a @@ -360,18 +360,18 @@ message ObjectMetricStatus { optional string metricName = 2; // currentValue is the current value of the metric (as a quantity). - optional apimachinery.pkg.api.resource.Quantity currentValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentValue = 3; // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // averageValue is the current value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 5; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 5; } // PodsMetricSource indicates how to scale on a metric describing each pod in @@ -384,13 +384,13 @@ message PodsMetricSource { // targetAverageValue is the target value of the average of the // metric across all relevant pods (as a quantity) - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 2; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 2; // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; } // PodsMetricStatus indicates the current value of a metric describing each pod in @@ -401,13 +401,13 @@ message PodsMetricStatus { // currentAverageValue is the current value of the average of the // metric across all relevant pods (as a quantity) - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 2; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 2; // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; } // ResourceMetricSource indicates how to scale on a resource metric known to @@ -431,7 +431,7 @@ message ResourceMetricSource { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // +optional - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; } // ResourceMetricStatus indicates the current value of a resource metric known to @@ -455,14 +455,14 @@ message ResourceMetricStatus { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // It will always be set, regardless of the corresponding metric specification. - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; } // Scale represents a scaling request for a resource. message Scale { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. // +optional diff --git a/k8s-pb-codegen/protos/api/autoscaling/v2/generated.proto b/k8s-pb-codegen/protos/api/autoscaling/v2/generated.proto index 8acf937..f5fa433 100644 --- a/k8s-pb-codegen/protos/api/autoscaling/v2/generated.proto +++ b/k8s-pb-codegen/protos/api/autoscaling/v2/generated.proto @@ -147,7 +147,7 @@ message HorizontalPodAutoscaler { // metadata is the standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the specification for the behaviour of the autoscaler. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. @@ -190,7 +190,7 @@ message HorizontalPodAutoscalerCondition { // lastTransitionTime is the last time the condition transitioned from // one status to another // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // reason is the reason for the condition's last transition. // +optional @@ -206,7 +206,7 @@ message HorizontalPodAutoscalerCondition { message HorizontalPodAutoscalerList { // metadata is the standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of horizontal pod autoscaler objects. repeated HorizontalPodAutoscaler items = 2; @@ -258,7 +258,7 @@ message HorizontalPodAutoscalerStatus { // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods, // used by the autoscaler to control how often the number of pods is changed. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; + optional .apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; // currentReplicas is current number of replicas of pods managed by this autoscaler, // as last seen by the autoscaler. @@ -293,7 +293,7 @@ message MetricIdentifier { // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; } // MetricSpec specifies how to scale based on a single metric @@ -393,12 +393,12 @@ message MetricTarget { // value is the target value of the metric (as a quantity). // +optional - optional apimachinery.pkg.api.resource.Quantity value = 2; + optional .apimachinery.pkg.api.resource.Quantity value = 2; // averageValue is the target value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 3; // averageUtilization is the target value of the average of the // resource metric across all relevant pods, represented as a percentage of @@ -412,12 +412,12 @@ message MetricTarget { message MetricValueStatus { // value is the current value of the metric (as a quantity). // +optional - optional apimachinery.pkg.api.resource.Quantity value = 1; + optional .apimachinery.pkg.api.resource.Quantity value = 1; // averageValue is the current value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 2; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 2; // currentAverageUtilization is the current value of the average of the // resource metric across all relevant pods, represented as a percentage of diff --git a/k8s-pb-codegen/protos/api/autoscaling/v2beta1/generated.proto b/k8s-pb-codegen/protos/api/autoscaling/v2beta1/generated.proto index 33e9380..078cb0d 100644 --- a/k8s-pb-codegen/protos/api/autoscaling/v2beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/autoscaling/v2beta1/generated.proto @@ -51,7 +51,7 @@ message ContainerResourceMetricSource { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // +optional - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; // container is the name of the container in the pods of the scaling target optional string container = 4; @@ -78,7 +78,7 @@ message ContainerResourceMetricStatus { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // It will always be set, regardless of the corresponding metric specification. - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; // container is the name of the container in the pods of the scaling target optional string container = 4; @@ -108,17 +108,17 @@ message ExternalMetricSource { // metricSelector is used to identify a specific time series // within a given metric. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; // targetValue is the target value of the metric (as a quantity). // Mutually exclusive with TargetAverageValue. // +optional - optional apimachinery.pkg.api.resource.Quantity targetValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetValue = 3; // targetAverageValue is the target per-pod value of global metric (as a quantity). // Mutually exclusive with TargetValue. // +optional - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 4; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 4; } // ExternalMetricStatus indicates the current value of a global metric @@ -131,14 +131,14 @@ message ExternalMetricStatus { // metricSelector is used to identify a specific time series // within a given metric. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; // currentValue is the current value of the metric (as a quantity) - optional apimachinery.pkg.api.resource.Quantity currentValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentValue = 3; // currentAverageValue is the current value of metric averaged over autoscaled pods. // +optional - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 4; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 4; } // HorizontalPodAutoscaler is the configuration for a horizontal pod @@ -148,7 +148,7 @@ message HorizontalPodAutoscaler { // metadata is the standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the specification for the behaviour of the autoscaler. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. @@ -172,7 +172,7 @@ message HorizontalPodAutoscalerCondition { // lastTransitionTime is the last time the condition transitioned from // one status to another // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // reason is the reason for the condition's last transition. // +optional @@ -188,7 +188,7 @@ message HorizontalPodAutoscalerCondition { message HorizontalPodAutoscalerList { // metadata is the standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of horizontal pod autoscaler objects. repeated HorizontalPodAutoscaler items = 2; @@ -233,7 +233,7 @@ message HorizontalPodAutoscalerStatus { // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods, // used by the autoscaler to control how often the number of pods is changed. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; + optional .apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; // currentReplicas is current number of replicas of pods managed by this autoscaler, // as last seen by the autoscaler. @@ -355,18 +355,18 @@ message ObjectMetricSource { optional string metricName = 2; // targetValue is the target value of the metric (as a quantity). - optional apimachinery.pkg.api.resource.Quantity targetValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetValue = 3; // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // averageValue is the target value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 5; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 5; } // ObjectMetricStatus indicates the current value of a metric describing a @@ -379,18 +379,18 @@ message ObjectMetricStatus { optional string metricName = 2; // currentValue is the current value of the metric (as a quantity). - optional apimachinery.pkg.api.resource.Quantity currentValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentValue = 3; // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // averageValue is the current value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 5; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 5; } // PodsMetricSource indicates how to scale on a metric describing each pod in @@ -403,13 +403,13 @@ message PodsMetricSource { // targetAverageValue is the target value of the average of the // metric across all relevant pods (as a quantity) - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 2; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 2; // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; } // PodsMetricStatus indicates the current value of a metric describing each pod in @@ -420,13 +420,13 @@ message PodsMetricStatus { // currentAverageValue is the current value of the average of the // metric across all relevant pods (as a quantity) - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 2; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 2; // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3; } // ResourceMetricSource indicates how to scale on a resource metric known to @@ -450,7 +450,7 @@ message ResourceMetricSource { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // +optional - optional apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity targetAverageValue = 3; } // ResourceMetricStatus indicates the current value of a resource metric known to @@ -474,6 +474,6 @@ message ResourceMetricStatus { // resource metric across all relevant pods, as a raw value (instead of as // a percentage of the request), similar to the "pods" metric source type. // It will always be set, regardless of the corresponding metric specification. - optional apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity currentAverageValue = 3; } diff --git a/k8s-pb-codegen/protos/api/autoscaling/v2beta2/generated.proto b/k8s-pb-codegen/protos/api/autoscaling/v2beta2/generated.proto index 83d1ee5..21aeb02 100644 --- a/k8s-pb-codegen/protos/api/autoscaling/v2beta2/generated.proto +++ b/k8s-pb-codegen/protos/api/autoscaling/v2beta2/generated.proto @@ -147,7 +147,7 @@ message HorizontalPodAutoscaler { // metadata is the standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the specification for the behaviour of the autoscaler. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. @@ -190,7 +190,7 @@ message HorizontalPodAutoscalerCondition { // lastTransitionTime is the last time the condition transitioned from // one status to another // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // reason is the reason for the condition's last transition. // +optional @@ -206,7 +206,7 @@ message HorizontalPodAutoscalerCondition { message HorizontalPodAutoscalerList { // metadata is the standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of horizontal pod autoscaler objects. repeated HorizontalPodAutoscaler items = 2; @@ -258,7 +258,7 @@ message HorizontalPodAutoscalerStatus { // lastScaleTime is the last time the HorizontalPodAutoscaler scaled the number of pods, // used by the autoscaler to control how often the number of pods is changed. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; + optional .apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; // currentReplicas is current number of replicas of pods managed by this autoscaler, // as last seen by the autoscaler. @@ -289,7 +289,7 @@ message MetricIdentifier { // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. // When unset, just the metricName will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; } // MetricSpec specifies how to scale based on a single metric @@ -389,12 +389,12 @@ message MetricTarget { // value is the target value of the metric (as a quantity). // +optional - optional apimachinery.pkg.api.resource.Quantity value = 2; + optional .apimachinery.pkg.api.resource.Quantity value = 2; // averageValue is the target value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 3; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 3; // averageUtilization is the target value of the average of the // resource metric across all relevant pods, represented as a percentage of @@ -408,12 +408,12 @@ message MetricTarget { message MetricValueStatus { // value is the current value of the metric (as a quantity). // +optional - optional apimachinery.pkg.api.resource.Quantity value = 1; + optional .apimachinery.pkg.api.resource.Quantity value = 1; // averageValue is the current value of the average of the // metric across all relevant pods (as a quantity) // +optional - optional apimachinery.pkg.api.resource.Quantity averageValue = 2; + optional .apimachinery.pkg.api.resource.Quantity averageValue = 2; // averageUtilization is the current value of the average of the // resource metric across all relevant pods, represented as a percentage of diff --git a/k8s-pb-codegen/protos/api/batch/v1/generated.proto b/k8s-pb-codegen/protos/api/batch/v1/generated.proto index 7487394..0cc1e63 100644 --- a/k8s-pb-codegen/protos/api/batch/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/batch/v1/generated.proto @@ -34,7 +34,7 @@ message CronJob { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of a cron job, including the schedule. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -52,7 +52,7 @@ message CronJobList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CronJobs. repeated CronJob items = 2; @@ -113,15 +113,15 @@ message CronJobStatus { // A list of pointers to currently running jobs. // +optional // +listType=atomic - repeated api.core.v1.ObjectReference active = 1; + repeated .api.core.v1.ObjectReference active = 1; // Information when was the last time the job was successfully scheduled. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastScheduleTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastScheduleTime = 4; // Information when was the last time the job successfully completed. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastSuccessfulTime = 5; + optional .apimachinery.pkg.apis.meta.v1.Time lastSuccessfulTime = 5; } // Job represents the configuration of a single job. @@ -129,7 +129,7 @@ message Job { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of a job. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -152,11 +152,11 @@ message JobCondition { // Last time the condition was checked. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // Last time the condition transit from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // (brief) reason for the condition's last transition. // +optional @@ -172,7 +172,7 @@ message JobList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of Jobs. repeated Job items = 2; @@ -213,8 +213,6 @@ message JobSpec { // checked against the backoffLimit. This field cannot be used in combination // with restartPolicy=OnFailure. // - // This field is beta-level. It can be used when the `JobPodFailurePolicy` - // feature gate is enabled (enabled by default). // +optional optional PodFailurePolicy podFailurePolicy = 11; @@ -224,8 +222,8 @@ message JobSpec { // When the field is specified, it must be immutable and works only for the Indexed Jobs. // Once the Job meets the SuccessPolicy, the lingering pods are terminated. // - // This field is alpha-level. To use this field, you must enable the - // `JobSuccessPolicy` feature gate (disabled by default). + // This field is beta-level. To use this field, you must enable the + // `JobSuccessPolicy` feature gate (enabled by default). // +optional optional SuccessPolicy successPolicy = 16; @@ -262,7 +260,7 @@ message JobSpec { // Normally, the system sets this field for you. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // manualSelector controls generation of pod labels and pod selectors. // Leave `manualSelector` unset unless you are certain what you are doing. @@ -280,7 +278,7 @@ message JobSpec { // Describes the pod that will be created when executing a job. // The only allowed template.spec.restartPolicy values are "Never" or "OnFailure". // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ - optional api.core.v1.PodTemplateSpec template = 6; + optional .api.core.v1.PodTemplateSpec template = 6; // ttlSecondsAfterFinished limits the lifetime of a Job that has finished // execution (either Complete or Failed). If this field is set, @@ -349,7 +347,8 @@ message JobSpec { // The value must be a valid domain-prefixed path (e.g. acme.io/foo) - // all characters before the first "/" must be a valid subdomain as defined // by RFC 1123. All characters trailing the first "/" must be valid HTTP Path - // characters as defined by RFC 3986. The value cannot exceed 64 characters. + // characters as defined by RFC 3986. The value cannot exceed 63 characters. + // This field is immutable. // // This field is alpha-level. The job controller accepts setting the field // when the feature gate JobManagedBy is enabled (disabled by default). @@ -387,7 +386,7 @@ message JobStatus { // The field cannot be modified while the job is unsuspended or finished. // // +optional - optional apimachinery.pkg.apis.meta.v1.Time startTime = 2; + optional .apimachinery.pkg.apis.meta.v1.Time startTime = 2; // Represents time when the job was completed. It is not guaranteed to // be set in happens-before order across separate operations. @@ -396,7 +395,7 @@ message JobStatus { // The value cannot be updated or removed. The value indicates the same or // later point in time as the startTime field. // +optional - optional apimachinery.pkg.apis.meta.v1.Time completionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time completionTime = 3; // The number of pending and running pods which are not terminating (without // a deletionTimestamp). @@ -466,8 +465,8 @@ message JobStatus { // +optional optional UncountedTerminatedPods uncountedTerminatedPods = 8; - // The number of pods which have a Ready condition. - // +optional + // The number of active pods which have a Ready condition and are not + // terminating (without a deletionTimestamp). optional int32 ready = 9; } @@ -476,7 +475,7 @@ message JobTemplateSpec { // Standard object's metadata of the jobs created from this template. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the job. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status diff --git a/k8s-pb-codegen/protos/api/batch/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/batch/v1beta1/generated.proto index 5ce4356..33da02e 100644 --- a/k8s-pb-codegen/protos/api/batch/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/batch/v1beta1/generated.proto @@ -35,7 +35,7 @@ message CronJob { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of a cron job, including the schedule. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -53,7 +53,7 @@ message CronJobList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CronJobs. repeated CronJob items = 2; @@ -116,15 +116,15 @@ message CronJobStatus { // A list of pointers to currently running jobs. // +optional // +listType=atomic - repeated api.core.v1.ObjectReference active = 1; + repeated .api.core.v1.ObjectReference active = 1; // Information when was the last time the job was successfully scheduled. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastScheduleTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastScheduleTime = 4; // Information when was the last time the job successfully completed. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastSuccessfulTime = 5; + optional .apimachinery.pkg.apis.meta.v1.Time lastSuccessfulTime = 5; } // JobTemplateSpec describes the data a Job should have when created from a template @@ -132,11 +132,11 @@ message JobTemplateSpec { // Standard object's metadata of the jobs created from this template. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the job. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status // +optional - optional api.batch.v1.JobSpec spec = 2; + optional .api.batch.v1.JobSpec spec = 2; } diff --git a/k8s-pb-codegen/protos/api/certificates/v1/generated.proto b/k8s-pb-codegen/protos/api/certificates/v1/generated.proto index 2199024..75d37ba 100644 --- a/k8s-pb-codegen/protos/api/certificates/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/certificates/v1/generated.proto @@ -41,7 +41,7 @@ option go_package = "k8s.io/api/certificates/v1"; // or to obtain certificates from custom non-Kubernetes signers. message CertificateSigningRequest { // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec contains the certificate request, and is immutable after creation. // Only the request, signerName, expirationSeconds, and usages fields can be set on creation. @@ -87,19 +87,19 @@ message CertificateSigningRequestCondition { // lastUpdateTime is the time of the last update to this condition // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 4; // 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. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 5; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 5; } // CertificateSigningRequestList is a collection of CertificateSigningRequest objects message CertificateSigningRequestList { // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a collection of CertificateSigningRequest objects repeated CertificateSigningRequest items = 2; diff --git a/k8s-pb-codegen/protos/api/certificates/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/certificates/v1alpha1/generated.proto index 5b3d399..bbed716 100644 --- a/k8s-pb-codegen/protos/api/certificates/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/certificates/v1alpha1/generated.proto @@ -46,7 +46,7 @@ option go_package = "k8s.io/api/certificates/v1alpha1"; message ClusterTrustBundle { // metadata contains the object metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec contains the signer (if any) and trust anchors. optional ClusterTrustBundleSpec spec = 2; @@ -57,7 +57,7 @@ message ClusterTrustBundleList { // metadata contains the list metadata. // // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a collection of ClusterTrustBundle objects repeated ClusterTrustBundle items = 2; diff --git a/k8s-pb-codegen/protos/api/certificates/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/certificates/v1beta1/generated.proto index 8f99466..204c782 100644 --- a/k8s-pb-codegen/protos/api/certificates/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/certificates/v1beta1/generated.proto @@ -32,7 +32,7 @@ option go_package = "k8s.io/api/certificates/v1beta1"; // Describes a certificate signing request message CertificateSigningRequest { // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec contains the certificate request, and is immutable after creation. // Only the request, signerName, expirationSeconds, and usages fields can be set on creation. @@ -65,18 +65,18 @@ message CertificateSigningRequestCondition { // timestamp for the last update to this condition // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 4; // 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. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 5; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 5; } message CertificateSigningRequestList { // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; repeated CertificateSigningRequest items = 2; } diff --git a/k8s-pb-codegen/protos/api/coordination/v1/generated.proto b/k8s-pb-codegen/protos/api/coordination/v1/generated.proto index 07f69b1..c92bb73 100644 --- a/k8s-pb-codegen/protos/api/coordination/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/coordination/v1/generated.proto @@ -32,7 +32,7 @@ option go_package = "k8s.io/api/coordination/v1"; message Lease { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec contains the specification of the Lease. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -45,7 +45,7 @@ message LeaseList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated Lease items = 2; @@ -54,27 +54,43 @@ message LeaseList { // LeaseSpec is a specification of a Lease. message LeaseSpec { // holderIdentity contains the identity of the holder of a current lease. + // If Coordinated Leader Election is used, the holder identity must be + // equal to the elected LeaseCandidate.metadata.name field. // +optional optional string holderIdentity = 1; // leaseDurationSeconds is a duration that candidates for a lease need - // to wait to force acquire it. This is measure against time of last + // to wait to force acquire it. This is measured against the time of last // observed renewTime. // +optional optional int32 leaseDurationSeconds = 2; // acquireTime is a time when the current lease was acquired. // +optional - optional apimachinery.pkg.apis.meta.v1.MicroTime acquireTime = 3; + optional .apimachinery.pkg.apis.meta.v1.MicroTime acquireTime = 3; // renewTime is a time when the current holder of a lease has last // updated the lease. // +optional - optional apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 4; + optional .apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 4; // leaseTransitions is the number of transitions of a lease between // holders. // +optional optional int32 leaseTransitions = 5; + + // Strategy indicates the strategy for picking the leader for coordinated leader election. + // If the field is not specified, there is no active coordination for this lease. + // (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled. + // +featureGate=CoordinatedLeaderElection + // +optional + optional string strategy = 6; + + // PreferredHolder signals to a lease holder that the lease has a + // more optimal holder and should be given up. + // This field can only be set if Strategy is also set. + // +featureGate=CoordinatedLeaderElection + // +optional + optional string preferredHolder = 7; } diff --git a/k8s-pb-codegen/protos/api/coordination/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/coordination/v1alpha1/generated.proto new file mode 100644 index 0000000..a155ad1 --- /dev/null +++ b/k8s-pb-codegen/protos/api/coordination/v1alpha1/generated.proto @@ -0,0 +1,105 @@ +/* +Copyright 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. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = "proto2"; + +package api.coordination.v1alpha1; + +import "api/coordination/v1/generated.proto"; +import "apimachinery/pkg/apis/meta/v1/generated.proto"; +import "apimachinery/pkg/runtime/generated.proto"; +import "apimachinery/pkg/runtime/schema/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "k8s.io/api/coordination/v1alpha1"; + +// LeaseCandidate defines a candidate for a Lease object. +// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates. +message LeaseCandidate { + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec contains the specification of the Lease. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + optional LeaseCandidateSpec spec = 2; +} + +// LeaseCandidateList is a list of Lease objects. +message LeaseCandidateList { + // Standard list metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is a list of schema objects. + repeated LeaseCandidate items = 2; +} + +// LeaseCandidateSpec is a specification of a Lease. +message LeaseCandidateSpec { + // LeaseName is the name of the lease for which this candidate is contending. + // This field is immutable. + // +required + optional string leaseName = 1; + + // PingTime is the last time that the server has requested the LeaseCandidate + // to renew. It is only done during leader election to check if any + // LeaseCandidates have become ineligible. When PingTime is updated, the + // LeaseCandidate will respond by updating RenewTime. + // +optional + optional .apimachinery.pkg.apis.meta.v1.MicroTime pingTime = 2; + + // RenewTime is the time that the LeaseCandidate was last updated. + // Any time a Lease needs to do leader election, the PingTime field + // is updated to signal to the LeaseCandidate that they should update + // the RenewTime. + // Old LeaseCandidate objects are also garbage collected if it has been hours + // since the last renew. The PingTime field is updated regularly to prevent + // garbage collection for still active LeaseCandidates. + // +optional + optional .apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 3; + + // BinaryVersion is the binary version. It must be in a semver format without leading `v`. + // This field is required when strategy is "OldestEmulationVersion" + // +optional + optional string binaryVersion = 4; + + // EmulationVersion is the emulation version. It must be in a semver format without leading `v`. + // EmulationVersion must be less than or equal to BinaryVersion. + // This field is required when strategy is "OldestEmulationVersion" + // +optional + optional string emulationVersion = 5; + + // PreferredStrategies indicates the list of strategies for picking the leader for coordinated leader election. + // The list is ordered, and the first strategy supersedes all other strategies. The list is used by coordinated + // leader election to make a decision about the final election strategy. This follows as + // - If all clients have strategy X as the first element in this list, strategy X will be used. + // - If a candidate has strategy [X] and another candidate has strategy [Y, X], Y supersedes X and strategy Y + // will be used. + // - If a candidate has strategy [X, Y] and another candidate has strategy [Y, X], this is a user error and leader + // election will not operate the Lease until resolved. + // (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled. + // +featureGate=CoordinatedLeaderElection + // +listType=atomic + // +required + repeated string preferredStrategies = 6; +} + diff --git a/k8s-pb-codegen/protos/api/coordination/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/coordination/v1beta1/generated.proto index 905dd02..29ca5b0 100644 --- a/k8s-pb-codegen/protos/api/coordination/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/coordination/v1beta1/generated.proto @@ -21,6 +21,7 @@ syntax = "proto2"; package api.coordination.v1beta1; +import "api/coordination/v1/generated.proto"; import "apimachinery/pkg/apis/meta/v1/generated.proto"; import "apimachinery/pkg/runtime/generated.proto"; import "apimachinery/pkg/runtime/schema/generated.proto"; @@ -32,7 +33,7 @@ option go_package = "k8s.io/api/coordination/v1beta1"; message Lease { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec contains the specification of the Lease. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -45,7 +46,7 @@ message LeaseList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated Lease items = 2; @@ -54,6 +55,8 @@ message LeaseList { // LeaseSpec is a specification of a Lease. message LeaseSpec { // holderIdentity contains the identity of the holder of a current lease. + // If Coordinated Leader Election is used, the holder identity must be + // equal to the elected LeaseCandidate.metadata.name field. // +optional optional string holderIdentity = 1; @@ -65,16 +68,28 @@ message LeaseSpec { // acquireTime is a time when the current lease was acquired. // +optional - optional apimachinery.pkg.apis.meta.v1.MicroTime acquireTime = 3; + optional .apimachinery.pkg.apis.meta.v1.MicroTime acquireTime = 3; // renewTime is a time when the current holder of a lease has last // updated the lease. // +optional - optional apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 4; + optional .apimachinery.pkg.apis.meta.v1.MicroTime renewTime = 4; // leaseTransitions is the number of transitions of a lease between // holders. // +optional optional int32 leaseTransitions = 5; + + // Strategy indicates the strategy for picking the leader for coordinated leader election + // (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled. + // +featureGate=CoordinatedLeaderElection + // +optional + optional string strategy = 6; + + // PreferredHolder signals to a lease holder that the lease has a + // more optimal holder and should be given up. + // +featureGate=CoordinatedLeaderElection + // +optional + optional string preferredHolder = 7; } diff --git a/k8s-pb-codegen/protos/api/core/v1/generated.proto b/k8s-pb-codegen/protos/api/core/v1/generated.proto index 4a33944..137c72c 100644 --- a/k8s-pb-codegen/protos/api/core/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/core/v1/generated.proto @@ -126,20 +126,24 @@ message AzureDiskVolumeSource { // cachingMode is the Host Caching mode: None, Read Only, Read Write. // +optional + // +default=ref(AzureDataDiskCachingReadWrite) optional string cachingMode = 3; // fsType is Filesystem type to mount. // Must be a filesystem type supported by the host operating system. // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. // +optional + // +default="ext4" optional string fsType = 4; // readOnly Defaults to false (read/write). ReadOnly here will force // the ReadOnly setting in VolumeMounts. // +optional + // +default=false optional bool readOnly = 5; // kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + // +default=ref(AzureSharedBlobDisk) optional string kind = 6; } @@ -182,7 +186,7 @@ message Binding { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The target object that you want to bind to the standard object. optional ObjectReference target = 2; @@ -422,30 +426,6 @@ message CinderVolumeSource { optional LocalObjectReference secretRef = 4; } -// ClaimSource describes a reference to a ResourceClaim. -// -// Exactly one of these fields should be set. Consumers of this type must -// treat an empty object as if it has an unknown value. -message ClaimSource { - // ResourceClaimName is the name of a ResourceClaim object in the same - // namespace as this pod. - optional string resourceClaimName = 1; - - // ResourceClaimTemplateName is the name of a ResourceClaimTemplate - // object in the same namespace as this pod. - // - // The template will be used to create a new ResourceClaim, which will - // be bound to this pod. When this pod is deleted, the ResourceClaim - // will also be deleted. The pod name and resource name, along with a - // generated component, will be used to form a unique name for the - // ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses. - // - // This field is immutable and no changes will be made to the - // corresponding ResourceClaim by the control plane after creating the - // ResourceClaim. - optional string resourceClaimTemplateName = 2; -} - // ClientIPConfig represents the configurations of Client IP based session affinity. message ClientIPConfig { // timeoutSeconds specifies the seconds of ClientIP type session sticky time. @@ -475,7 +455,7 @@ message ClusterTrustBundleProjection { // interpreted as "match nothing". If set but empty, interpreted as "match // everything". // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 3; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 3; // If true, don't block pod startup if the referenced ClusterTrustBundle(s) // aren't available. If using name, then the named ClusterTrustBundle is @@ -516,7 +496,7 @@ message ComponentStatus { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // List of component conditions observed // +optional @@ -533,7 +513,7 @@ message ComponentStatusList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ComponentStatus objects. repeated ComponentStatus items = 2; @@ -544,7 +524,7 @@ message ConfigMap { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Immutable, if set to true, ensures that data stored in the ConfigMap cannot // be updated (only object metadata can be modified). @@ -604,7 +584,7 @@ message ConfigMapKeySelector { message ConfigMapList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of ConfigMaps. repeated ConfigMap items = 2; @@ -984,7 +964,7 @@ message ContainerState { message ContainerStateRunning { // Time at which the container was last (re-)started // +optional - optional apimachinery.pkg.apis.meta.v1.Time startedAt = 1; + optional .apimachinery.pkg.apis.meta.v1.Time startedAt = 1; } // ContainerStateTerminated is a terminated state of a container. @@ -1006,11 +986,11 @@ message ContainerStateTerminated { // Time at which previous execution of the container started // +optional - optional apimachinery.pkg.apis.meta.v1.Time startedAt = 5; + optional .apimachinery.pkg.apis.meta.v1.Time startedAt = 5; // Time at which the container last terminated // +optional - optional apimachinery.pkg.apis.meta.v1.Time finishedAt = 6; + optional .apimachinery.pkg.apis.meta.v1.Time finishedAt = 6; // Container's ID in the format '://' // +optional @@ -1093,7 +1073,7 @@ message ContainerStatus { // and after successfully admitting desired pod resize. // +featureGate=InPlacePodVerticalScaling // +optional - map allocatedResources = 10; + map allocatedResources = 10; // Resources represents the compute resource requests and limits that have been successfully // enacted on the running container after it has been started or has been successfully resized. @@ -1109,6 +1089,29 @@ message ContainerStatus { // +listMapKey=mountPath // +featureGate=RecursiveReadOnlyMounts repeated VolumeMountStatus volumeMounts = 12; + + // User represents user identity information initially attached to the first process of the container + // +featureGate=SupplementalGroupsPolicy + // +optional + optional ContainerUser user = 13; + + // AllocatedResourcesStatus represents the status of various resources + // allocated for this Pod. + // +featureGate=ResourceHealthStatus + // +optional + // +patchMergeKey=name + // +patchStrategy=merge + // +listType=map + // +listMapKey=name + repeated ResourceStatus allocatedResourcesStatus = 14; +} + +// ContainerUser represents user identity information +message ContainerUser { + // Linux holds user identity information initially attached to the first process of the containers in Linux. + // Note that the actual running identity can be changed if the process has enough privilege to do so. + // +optional + optional LinuxContainerUser linux = 1; } // DaemonEndpoint contains information about a single Daemon endpoint. @@ -1188,7 +1191,7 @@ message EmptyDirVolumeSource { // The default is nil which means that the limit is undefined. // More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir // +optional - optional apimachinery.pkg.api.resource.Quantity sizeLimit = 2; + optional .apimachinery.pkg.api.resource.Quantity sizeLimit = 2; } // EndpointAddress is a tuple that describes single IP address. @@ -1300,7 +1303,7 @@ message Endpoints { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The set of all endpoints is the union of all subsets. Addresses are placed into // subsets according to the IPs they share. A single address with multiple ports, @@ -1319,7 +1322,7 @@ message EndpointsList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of endpoints. repeated Endpoints items = 2; @@ -1622,7 +1625,7 @@ message EphemeralVolumeSource { message Event { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The object that this event is about. optional ObjectReference involvedObject = 2; @@ -1644,11 +1647,11 @@ message Event { // The time at which the event was first recorded. (Time of server receipt is in TypeMeta.) // +optional - optional apimachinery.pkg.apis.meta.v1.Time firstTimestamp = 6; + optional .apimachinery.pkg.apis.meta.v1.Time firstTimestamp = 6; // The time at which the most recent occurrence of this event was recorded. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTimestamp = 7; + optional .apimachinery.pkg.apis.meta.v1.Time lastTimestamp = 7; // The number of times this event has occurred. // +optional @@ -1660,7 +1663,7 @@ message Event { // Time when this Event was first observed. // +optional - optional apimachinery.pkg.apis.meta.v1.MicroTime eventTime = 10; + optional .apimachinery.pkg.apis.meta.v1.MicroTime eventTime = 10; // Data about the Event series this event represents or nil if it's a singleton Event. // +optional @@ -1688,7 +1691,7 @@ message EventList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of events repeated Event items = 2; @@ -1701,7 +1704,7 @@ message EventSeries { optional int32 count = 1; // Time of the last occurrence observed - optional apimachinery.pkg.apis.meta.v1.MicroTime lastObservedTime = 2; + optional .apimachinery.pkg.apis.meta.v1.MicroTime lastObservedTime = 2; } // EventSource contains information for an event. @@ -1954,7 +1957,7 @@ message HTTPGetAction { // Name or number of the port to access on the container. // Number must be in the range 1 to 65535. // Name must be an IANA_SVC_NAME. - optional apimachinery.pkg.util.intstr.IntOrString port = 2; + optional .apimachinery.pkg.util.intstr.IntOrString port = 2; // Host name to connect to, defaults to the pod IP. You probably want to set // "Host" in httpHeaders instead. @@ -1997,6 +2000,7 @@ message HostAlias { // HostIP represents a single IP address allocated to the host. message HostIP { // IP is the IP address assigned to the host + // +required optional string ip = 1; } @@ -2032,6 +2036,7 @@ message ISCSIPersistentVolumeSource { // iscsiInterface is the interface Name that uses an iSCSI transport. // Defaults to 'default' (tcp). // +optional + // +default="default" optional string iscsiInterface = 4; // fsType is the filesystem type of the volume that you want to mount. @@ -2089,6 +2094,7 @@ message ISCSIVolumeSource { // iscsiInterface is the interface Name that uses an iSCSI transport. // Defaults to 'default' (tcp). // +optional + // +default="default" optional string iscsiInterface = 4; // fsType is the filesystem type of the volume that you want to mount. @@ -2129,6 +2135,26 @@ message ISCSIVolumeSource { optional string initiatorName = 12; } +// ImageVolumeSource represents a image volume resource. +message ImageVolumeSource { + // Required: Image or artifact reference to be used. + // Behaves in the same way as pod.spec.containers[*].image. + // Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets. + // More info: https://kubernetes.io/docs/concepts/containers/images + // This field is optional to allow higher level config management to default or override + // container images in workload controllers like Deployments and StatefulSets. + // +optional + optional string reference = 1; + + // Policy for pulling OCI objects. Possible values are: + // Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. + // Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. + // IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. + // Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + // +optional + optional string pullPolicy = 2; +} + // Maps a string key to a path within a volume. message KeyToPath { // key is the key to project. @@ -2202,7 +2228,7 @@ message LimitRange { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the limits enforced. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -2217,23 +2243,23 @@ message LimitRangeItem { // Max usage constraints on this kind by resource name. // +optional - map max = 2; + map max = 2; // Min usage constraints on this kind by resource name. // +optional - map min = 3; + map min = 3; // Default resource requirement limit value by resource name if resource limit is omitted. // +optional - map default = 4; + map default = 4; // DefaultRequest is the default resource requirement request value by resource name if resource request is omitted. // +optional - map defaultRequest = 5; + map defaultRequest = 5; // MaxLimitRequestRatio if specified, the named resource must have a request and limit that are both non-zero where limit divided by request is less than or equal to the enumerated value; this represents the max burst for the named resource. // +optional - map maxLimitRequestRatio = 6; + map maxLimitRequestRatio = 6; } // LimitRangeList is a list of LimitRange items. @@ -2241,7 +2267,7 @@ message LimitRangeList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of LimitRange objects. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ @@ -2255,15 +2281,29 @@ message LimitRangeSpec { repeated LimitRangeItem limits = 1; } +// LinuxContainerUser represents user identity information in Linux containers +message LinuxContainerUser { + // UID is the primary uid initially attached to the first process in the container + optional int64 uid = 1; + + // GID is the primary gid initially attached to the first process in the container + optional int64 gid = 2; + + // SupplementalGroups are the supplemental groups initially attached to the first process in the container + // +optional + // +listType=atomic + repeated int64 supplementalGroups = 3; +} + // List holds a list of objects, which may not be known by the server. message List { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of objects - repeated apimachinery.pkg.runtime.RawExtension items = 2; + repeated .apimachinery.pkg.runtime.RawExtension items = 2; } // LoadBalancerIngress represents the status of a load-balancer ingress point: @@ -2377,7 +2417,7 @@ message Namespace { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the behavior of the Namespace. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -2399,7 +2439,7 @@ message NamespaceCondition { optional string status = 2; // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // +optional optional string reason = 5; @@ -2413,7 +2453,7 @@ message NamespaceList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Namespace objects in the list. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -2451,7 +2491,7 @@ message Node { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the behavior of a node. // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -2509,11 +2549,11 @@ message NodeCondition { // Last time we got an update on a given condition. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastHeartbeatTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastHeartbeatTime = 3; // Last time the condition transit from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // (brief) reason for the condition's last transition. // +optional @@ -2588,12 +2628,21 @@ message NodeDaemonEndpoints { optional DaemonEndpoint kubeletEndpoint = 1; } +// NodeFeatures describes the set of features implemented by the CRI implementation. +// The features contained in the NodeFeatures should depend only on the cri implementation +// independent of runtime handlers. +message NodeFeatures { + // SupplementalGroupsPolicy is set to true if the runtime supports SupplementalGroupsPolicy and ContainerUser. + // +optional + optional bool supplementalGroupsPolicy = 1; +} + // NodeList is the whole list of all Nodes which have been registered with master. message NodeList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of nodes repeated Node items = 2; @@ -2618,12 +2667,17 @@ message NodeRuntimeHandler { optional NodeRuntimeHandlerFeatures features = 2; } -// NodeRuntimeHandlerFeatures is a set of runtime features. +// NodeRuntimeHandlerFeatures is a set of features implemented by the runtime handler. message NodeRuntimeHandlerFeatures { // RecursiveReadOnlyMounts is set to true if the runtime handler supports RecursiveReadOnlyMounts. // +featureGate=RecursiveReadOnlyMounts // +optional optional bool recursiveReadOnlyMounts = 1; + + // UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes. + // +featureGate=UserNamespacesSupport + // +optional + optional bool userNamespaces = 2; } // A node selector represents the union of the results of one or more label queries @@ -2713,14 +2767,14 @@ message NodeSpec { // NodeStatus is information about the current status of a node. message NodeStatus { // Capacity represents the total resources of a node. - // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity + // More info: https://kubernetes.io/docs/reference/node/node-status/#capacity // +optional - map capacity = 1; + map capacity = 1; // Allocatable represents the resources of a node that are available for scheduling. // Defaults to Capacity. // +optional - map allocatable = 2; + map allocatable = 2; // NodePhase is the recently observed lifecycle phase of the node. // More info: https://kubernetes.io/docs/concepts/nodes/node/#phase @@ -2784,9 +2838,15 @@ message NodeStatus { // The available runtime handlers. // +featureGate=RecursiveReadOnlyMounts + // +featureGate=UserNamespacesSupport // +optional // +listType=atomic repeated NodeRuntimeHandler runtimeHandlers = 12; + + // Features describes the set of features implemented by the CRI implementation. + // +featureGate=SupplementalGroupsPolicy + // +optional + optional NodeFeatures features = 13; } // NodeSystemInfo is a set of ids/uuids to uniquely identify the node. @@ -2816,7 +2876,7 @@ message NodeSystemInfo { // Kubelet Version reported by the node. optional string kubeletVersion = 7; - // KubeProxy Version reported by the node. + // Deprecated: KubeProxy Version reported by the node. optional string kubeProxyVersion = 8; // The Operating System reported by the node @@ -2904,7 +2964,7 @@ message PersistentVolume { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec defines a specification of a persistent volume owned by the cluster. // Provisioned by an administrator. @@ -2925,7 +2985,7 @@ message PersistentVolumeClaim { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec defines the desired characteristics of a volume requested by a pod author. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims @@ -2947,11 +3007,11 @@ message PersistentVolumeClaimCondition { // lastProbeTime is the time we probed the condition. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // lastTransitionTime is the time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // reason is a unique, this should be a short, machine understandable string that gives the reason // for condition's last transition. If it reports "Resizing" that means the underlying @@ -2969,7 +3029,7 @@ message PersistentVolumeClaimList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of persistent volume claims. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims @@ -2987,7 +3047,7 @@ message PersistentVolumeClaimSpec { // selector is a label query over volumes to consider for binding. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // resources represents the minimum resources the volume should have. // If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements @@ -3059,7 +3119,7 @@ message PersistentVolumeClaimSpec { // set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource // exists. // More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ - // (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + // (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default). // +featureGate=VolumeAttributesClass // +optional optional string volumeAttributesClassName = 9; @@ -3079,7 +3139,7 @@ message PersistentVolumeClaimStatus { // capacity represents the actual resources of the underlying volume. // +optional - map capacity = 3; + map capacity = 3; // conditions is the current Condition of persistent volume claim. If underlying persistent volume is being // resized then the Condition will be set to 'Resizing'. @@ -3114,7 +3174,7 @@ message PersistentVolumeClaimStatus { // This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. // +featureGate=RecoverVolumeExpansionFailure // +optional - map allocatedResources = 5; + map allocatedResources = 5; // allocatedResourceStatuses stores status of resource being resized for the given PVC. // Key names follow standard Kubernetes label syntax. Valid values are either: @@ -3158,14 +3218,14 @@ message PersistentVolumeClaimStatus { // currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. // When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim - // This is an alpha field and requires enabling VolumeAttributesClass feature. + // This is a beta field and requires enabling VolumeAttributesClass feature (off by default). // +featureGate=VolumeAttributesClass // +optional optional string currentVolumeAttributesClassName = 8; // ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. // When this is unset, there is no ModifyVolume operation being attempted. - // This is an alpha field and requires enabling VolumeAttributesClass feature. + // This is a beta field and requires enabling VolumeAttributesClass feature (off by default). // +featureGate=VolumeAttributesClass // +optional optional ModifyVolumeStatus modifyVolumeStatus = 9; @@ -3179,7 +3239,7 @@ message PersistentVolumeClaimTemplate { // validation. // // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The specification for the PersistentVolumeClaim. The entire content is // copied unchanged into the PVC that gets created from this @@ -3208,7 +3268,7 @@ message PersistentVolumeList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of persistent volumes. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes @@ -3327,7 +3387,7 @@ message PersistentVolumeSpec { // capacity is the description of the persistent volume's resources and capacity. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity // +optional - map capacity = 1; + map capacity = 1; // persistentVolumeSource is the actual volume backing the persistent volume. optional PersistentVolumeSource persistentVolumeSource = 2; @@ -3382,7 +3442,7 @@ message PersistentVolumeSpec { // after a volume has been updated successfully to a new class. // For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound // PersistentVolumeClaims during the binding process. - // This is an alpha field and requires enabling VolumeAttributesClass feature. + // This is a beta field and requires enabling VolumeAttributesClass feature (off by default). // +featureGate=VolumeAttributesClass // +optional optional string volumeAttributesClassName = 10; @@ -3406,10 +3466,8 @@ message PersistentVolumeStatus { // lastPhaseTransitionTime is the time the phase transitioned from one to another // and automatically resets to current time everytime a volume phase transitions. - // This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default). - // +featureGate=PersistentVolumeLastPhaseTransitionTime // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastPhaseTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastPhaseTransitionTime = 4; } // Represents a Photon Controller persistent disk resource. @@ -3429,7 +3487,7 @@ message Pod { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the pod. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -3482,7 +3540,7 @@ message PodAffinityTerm { // A label query over a set of resources, in this case pods. // If it's null, this PodAffinityTerm matches with no Pods. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 1; // namespaces specifies a static list of namespace names that the term applies to. // The term is applied to the union of the namespaces listed in this field @@ -3505,7 +3563,7 @@ message PodAffinityTerm { // null selector and null or empty namespaces list means "this pod's namespace". // An empty selector ({}) matches all namespaces. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 4; // MatchLabelKeys is a set of pod label keys to select which pods will // be taken into consideration. The keys are used to lookup values from the @@ -3515,7 +3573,8 @@ message PodAffinityTerm { // pod labels will be ignored. The default value is empty. // The same key is forbidden to exist in both matchLabelKeys and labelSelector. // Also, matchLabelKeys cannot be set when labelSelector isn't set. - // This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + // This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). + // // +listType=atomic // +optional repeated string matchLabelKeys = 5; @@ -3528,7 +3587,8 @@ message PodAffinityTerm { // pod labels will be ignored. The default value is empty. // The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. // Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - // This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + // This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). + // // +listType=atomic // +optional repeated string mismatchLabelKeys = 6; @@ -3607,11 +3667,11 @@ message PodCondition { // Last time we probed the condition. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // Unique, one-word, CamelCase reason for the condition's last transition. // +optional @@ -3693,6 +3753,7 @@ message PodExecOptions { // PodIP represents a single IP address allocated to the pod. message PodIP { // IP is the IP address assigned to the pod + // +required optional string ip = 1; } @@ -3701,7 +3762,7 @@ message PodList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of pods. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md @@ -3734,7 +3795,7 @@ message PodLogOptions { // If this value is in the future, no logs will be returned. // Only one of sinceSeconds or sinceTime may be specified. // +optional - optional apimachinery.pkg.apis.meta.v1.Time sinceTime = 5; + optional .apimachinery.pkg.apis.meta.v1.Time sinceTime = 5; // If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line // of log output. Defaults to false. @@ -3798,7 +3859,10 @@ message PodReadinessGate { optional string conditionType = 1; } -// PodResourceClaim references exactly one ResourceClaim through a ClaimSource. +// PodResourceClaim references exactly one ResourceClaim, either directly +// or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim +// for the pod. +// // It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. // Containers that need access to the ResourceClaim reference it with this name. message PodResourceClaim { @@ -3806,8 +3870,29 @@ message PodResourceClaim { // This must be a DNS_LABEL. optional string name = 1; - // Source describes where to find the ResourceClaim. - optional ClaimSource source = 2; + // ResourceClaimName is the name of a ResourceClaim object in the same + // namespace as this pod. + // + // Exactly one of ResourceClaimName and ResourceClaimTemplateName must + // be set. + optional string resourceClaimName = 3; + + // ResourceClaimTemplateName is the name of a ResourceClaimTemplate + // object in the same namespace as this pod. + // + // The template will be used to create a new ResourceClaim, which will + // be bound to this pod. When this pod is deleted, the ResourceClaim + // will also be deleted. The pod name and resource name, along with a + // generated component, will be used to form a unique name for the + // ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses. + // + // This field is immutable and no changes will be made to the + // corresponding ResourceClaim by the control plane after creating the + // ResourceClaim. + // + // Exactly one of ResourceClaimName and ResourceClaimTemplateName must + // be set. + optional string resourceClaimTemplateName = 4; } // PodResourceClaimStatus is stored in the PodStatus for each PodResourceClaim @@ -3820,7 +3905,7 @@ message PodResourceClaimStatus { optional string name = 1; // ResourceClaimName is the name of the ResourceClaim that was - // generated for the Pod in the namespace of the Pod. It this is + // generated for the Pod in the namespace of the Pod. If this is // unset, then generating a ResourceClaim was not necessary. The // pod.spec.resourceClaims entry can be ignored in this case. // @@ -3882,17 +3967,29 @@ message PodSecurityContext { // +optional optional bool runAsNonRoot = 3; - // A list of groups applied to the first process run in each container, in addition - // to the container's primary GID, the fsGroup (if specified), and group memberships - // defined in the container image for the uid of the container process. If unspecified, - // no additional groups are added to any container. Note that group memberships - // defined in the container image for the uid of the container process are still effective, - // even if they are not included in this list. + // A list of groups applied to the first process run in each container, in + // addition to the container's primary GID and fsGroup (if specified). If + // the SupplementalGroupsPolicy feature is enabled, the + // supplementalGroupsPolicy field determines whether these are in addition + // to or instead of any group memberships defined in the container image. + // If unspecified, no additional groups are added, though group memberships + // defined in the container image may still be used, depending on the + // supplementalGroupsPolicy field. // Note that this field cannot be set when spec.os.name is windows. // +optional // +listType=atomic repeated int64 supplementalGroups = 4; + // Defines how supplemental groups of the first container processes are calculated. + // Valid values are "Merge" and "Strict". If not specified, "Merge" is used. + // (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled + // and the container runtime must implement support for this feature. + // Note that this field cannot be set when spec.os.name is windows. + // TODO: update the default value to "Merge" when spec.os.name is not windows in v1.34 + // +featureGate=SupplementalGroupsPolicy + // +optional + optional string supplementalGroupsPolicy = 12; + // A special supplemental group that applies to all containers in a pod. // Some volume types allow the Kubelet to change the ownership of that volume // to be owned by the pod: @@ -3939,7 +4036,7 @@ message PodSecurityContext { message PodSignature { // Reference to controller whose pods should avoid this node. // +optional - optional apimachinery.pkg.apis.meta.v1.OwnerReference podController = 1; + optional .apimachinery.pkg.apis.meta.v1.OwnerReference podController = 1; } // PodSpec is a description of a pod. @@ -4048,9 +4145,11 @@ message PodSpec { // +optional optional bool automountServiceAccountToken = 21; - // NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - // the scheduler simply schedules this pod onto that node, assuming that it fits resource - // requirements. + // NodeName indicates in which node this pod is scheduled. + // If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. + // Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. + // This field should not be used to express a desire for the pod to be scheduled on a specific node. + // https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename // +optional optional string nodeName = 10; @@ -4189,7 +4288,7 @@ message PodSpec { // defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. // More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md // +optional - map overhead = 32; + map overhead = 32; // TopologySpreadConstraints describes how a group of pods ought to spread across topology // domains. Scheduler will schedule pods in a way which abides by the constraints. @@ -4230,6 +4329,7 @@ message PodSpec { // - spec.securityContext.runAsUser // - spec.securityContext.runAsGroup // - spec.securityContext.supplementalGroups + // - spec.securityContext.supplementalGroupsPolicy // - spec.containers[*].securityContext.appArmorProfile // - spec.containers[*].securityContext.seLinuxOptions // - spec.containers[*].securityContext.seccompProfile @@ -4375,7 +4475,7 @@ message PodStatus { // RFC 3339 date and time at which the object was acknowledged by the Kubelet. // This is before the Kubelet pulled the container image(s) for the pod. // +optional - optional apimachinery.pkg.apis.meta.v1.Time startTime = 7; + optional .apimachinery.pkg.apis.meta.v1.Time startTime = 7; // The list has one entry per init container in the manifest. The most recent successful // init container will have ready = true, the most recently started container will have @@ -4423,7 +4523,7 @@ message PodStatusResult { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Most recently observed status of the pod. // This data may not be up to date. @@ -4439,7 +4539,7 @@ message PodTemplate { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Template defines the pods that will be created from this pod template. // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -4452,7 +4552,7 @@ message PodTemplateList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of pod templates repeated PodTemplate items = 2; @@ -4463,7 +4563,7 @@ message PodTemplateSpec { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the pod. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -4525,7 +4625,7 @@ message PreferAvoidPodsEntry { // Time at which this entry was added to the list. // +optional - optional apimachinery.pkg.apis.meta.v1.Time evictionTime = 2; + optional .apimachinery.pkg.apis.meta.v1.Time evictionTime = 2; // (brief) reason why this entry was added to the list. // +optional @@ -4614,7 +4714,8 @@ message ProbeHandler { // Represents a projected volume source message ProjectedVolumeSource { - // sources is the list of volume projections + // sources is the list of volume projections. Each entry in this list + // handles one source. // +optional // +listType=atomic repeated VolumeProjection sources = 1; @@ -4685,18 +4786,21 @@ message RBDPersistentVolumeSource { // Default is rbd. // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // +optional + // +default="rbd" optional string pool = 4; // user is the rados user name. // Default is admin. // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // +optional + // +default="admin" optional string user = 5; // keyring is the path to key ring for RBDUser. // Default is /etc/ceph/keyring. // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // +optional + // +default="/etc/ceph/keyring" optional string keyring = 6; // secretRef is name of the authentication secret for RBDUser. If provided @@ -4737,18 +4841,21 @@ message RBDVolumeSource { // Default is rbd. // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // +optional + // +default="rbd" optional string pool = 4; // user is the rados user name. // Default is admin. // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // +optional + // +default="admin" optional string user = 5; // keyring is the path to key ring for RBDUser. // Default is /etc/ceph/keyring. // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // +optional + // +default="/etc/ceph/keyring" optional string keyring = 6; // secretRef is name of the authentication secret for RBDUser. If provided @@ -4770,7 +4877,7 @@ message RangeAllocation { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Range is string that identifies the range represented by 'data'. optional string range = 2; @@ -4785,7 +4892,7 @@ message ReplicationController { // be the same as the Pod(s) that the replication controller manages. // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the specification of the desired behavior of the replication controller. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -4811,7 +4918,7 @@ message ReplicationControllerCondition { // The last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -4827,7 +4934,7 @@ message ReplicationControllerList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of replication controllers. // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller @@ -4904,6 +5011,13 @@ message ResourceClaim { // the Pod where this field is used. It makes that resource available // inside a container. optional string name = 1; + + // Request is the name chosen for a request in the referenced claim. + // If empty, everything from the claim is made available, otherwise + // only the result of this request. + // + // +optional + optional string request = 2; } // ResourceFieldSelector represents container resources (cpu, memory) and their output format @@ -4918,7 +5032,26 @@ message ResourceFieldSelector { // Specifies the output format of the exposed resources, defaults to "1" // +optional - optional apimachinery.pkg.api.resource.Quantity divisor = 3; + optional .apimachinery.pkg.api.resource.Quantity divisor = 3; +} + +// ResourceHealth represents the health of a resource. It has the latest device health information. +// This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP. +message ResourceHealth { + // ResourceID is the unique identifier of the resource. See the ResourceID type for more information. + optional string resourceID = 1; + + // Health of the resource. + // can be one of: + // - Healthy: operates as normal + // - Unhealthy: reported unhealthy. We consider this a temporary health issue + // since we do not have a mechanism today to distinguish + // temporary and permanent issues. + // - Unknown: The status cannot be determined. + // For example, Device Plugin got unregistered and hasn't been re-registered since. + // + // In future we may want to introduce the PermanentlyUnhealthy Status. + optional string health = 2; } // ResourceQuota sets aggregate quota restrictions enforced per namespace @@ -4926,7 +5059,7 @@ message ResourceQuota { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the desired quota. // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -4944,7 +5077,7 @@ message ResourceQuotaList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ResourceQuota objects. // More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ @@ -4956,7 +5089,7 @@ message ResourceQuotaSpec { // hard is the set of desired hard limits for each named resource. // More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ // +optional - map hard = 1; + map hard = 1; // A collection of filters that must match each object tracked by a quota. // If not specified, the quota matches all objects. @@ -4976,11 +5109,11 @@ message ResourceQuotaStatus { // Hard is the set of enforced hard limits for each named resource. // More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ // +optional - map hard = 1; + map hard = 1; // Used is the current observed total usage of the resource in the namespace. // +optional - map used = 2; + map used = 2; } // ResourceRequirements describes the compute resource requirements. @@ -4988,14 +5121,14 @@ message ResourceRequirements { // Limits describes the maximum amount of compute resources allowed. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional - map limits = 1; + map limits = 1; // Requests describes the minimum amount of compute resources required. // If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, // otherwise to an implementation-defined value. Requests cannot exceed Limits. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional - map requests = 2; + map requests = 2; // Claims lists the names of resources, defined in spec.resourceClaims, // that are used by this container. @@ -5012,6 +5145,20 @@ message ResourceRequirements { repeated ResourceClaim claims = 3; } +message ResourceStatus { + // Name of the resource. Must be unique within the pod and match one of the resources from the pod spec. + // +required + optional string name = 1; + + // List of unique Resources health. Each element in the list contains an unique resource ID and resource health. + // At a minimum, ResourceID must uniquely identify the Resource + // allocated to the Pod on the Node for the lifetime of a Pod. + // See ResourceID type for it's definition. + // +listType=map + // +listMapKey=resourceID + repeated ResourceHealth resources = 2; +} + // SELinuxOptions are the labels to be applied to the container message SELinuxOptions { // User is a SELinux user label that applies to the container. @@ -5058,6 +5205,7 @@ message ScaleIOPersistentVolumeSource { // storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. // Default is ThinProvisioned. // +optional + // +default="ThinProvisioned" optional string storageMode = 7; // volumeName is the name of a volume already created in the ScaleIO system @@ -5069,6 +5217,7 @@ message ScaleIOPersistentVolumeSource { // Ex. "ext4", "xfs", "ntfs". // Default is "xfs" // +optional + // +default="xfs" optional string fsType = 9; // readOnly defaults to false (read/write). ReadOnly here will force @@ -5104,6 +5253,7 @@ message ScaleIOVolumeSource { // storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. // Default is ThinProvisioned. // +optional + // +default="ThinProvisioned" optional string storageMode = 7; // volumeName is the name of a volume already created in the ScaleIO system @@ -5115,6 +5265,7 @@ message ScaleIOVolumeSource { // Ex. "ext4", "xfs", "ntfs". // Default is "xfs". // +optional + // +default="xfs" optional string fsType = 9; // readOnly Defaults to false (read/write). ReadOnly here will force @@ -5179,7 +5330,7 @@ message Secret { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Immutable, if set to true, ensures that data stored in the Secret cannot // be updated (only object metadata can be modified). @@ -5242,7 +5393,7 @@ message SecretList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of secret objects. // More info: https://kubernetes.io/docs/concepts/configuration/secret @@ -5398,7 +5549,7 @@ message SecurityContext { optional bool allowPrivilegeEscalation = 7; // procMount denotes the type of proc mount to use for the containers. - // The default is DefaultProcMount which uses the container runtime defaults for + // The default value is Default which uses the container runtime defaults for // readonly paths and masked paths. // This requires the ProcMountType feature flag to be enabled. // Note that this field cannot be set when spec.os.name is windows. @@ -5433,7 +5584,7 @@ message Service { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the behavior of a service. // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -5456,7 +5607,7 @@ message ServiceAccount { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Secrets is a list of the secrets in the same namespace that pods running using this ServiceAccount are allowed to use. // Pods are only limited to this list if this service account has a "kubernetes.io/enforce-mountable-secrets" annotation set to "true". @@ -5489,7 +5640,7 @@ message ServiceAccountList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ServiceAccounts. // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ @@ -5527,7 +5678,7 @@ message ServiceList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of services repeated Service items = 2; @@ -5579,7 +5730,7 @@ message ServicePort { // omitted or set equal to the 'port' field. // More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service // +optional - optional apimachinery.pkg.util.intstr.IntOrString targetPort = 4; + optional .apimachinery.pkg.util.intstr.IntOrString targetPort = 4; // The port on each node on which this service is exposed when type is // NodePort or LoadBalancer. Usually assigned by the system. If a value is @@ -5864,7 +6015,7 @@ message ServiceStatus { // +patchStrategy=merge // +listType=map // +listMapKey=type - repeated apimachinery.pkg.apis.meta.v1.Condition conditions = 2; + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 2; } // SessionAffinityConfig represents the configurations of session affinity. @@ -5958,7 +6109,7 @@ message TCPSocketAction { // Number or name of the port to access on the container. // Number must be in the range 1 to 65535. // Name must be an IANA_SVC_NAME. - optional apimachinery.pkg.util.intstr.IntOrString port = 1; + optional .apimachinery.pkg.util.intstr.IntOrString port = 1; // Optional: Host name to connect to, defaults to the pod IP. // +optional @@ -5983,7 +6134,7 @@ message Taint { // TimeAdded represents the time at which the taint was added. // It is only written for NoExecute taints. // +optional - optional apimachinery.pkg.apis.meta.v1.Time timeAdded = 4; + optional .apimachinery.pkg.apis.meta.v1.Time timeAdded = 4; } // The pod this Toleration is attached to tolerates any taint that matches @@ -6107,7 +6258,7 @@ message TopologySpreadConstraint { // Pods that match this label selector are counted to determine the number of pods // in their corresponding topology domain. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 4; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 4; // MinDomains indicates a minimum number of eligible domains. // When the number of eligible domains with matching topology keys is less than minDomains, @@ -6313,7 +6464,8 @@ message VolumeNodeAffinity { optional NodeSelector required = 1; } -// Projection that may be projected along with other supported volume types +// Projection that may be projected along with other supported volume types. +// Exactly one of these fields must be set. message VolumeProjection { // secret information about the secret data to project // +optional @@ -6355,14 +6507,14 @@ message VolumeResourceRequirements { // Limits describes the maximum amount of compute resources allowed. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional - map limits = 1; + map limits = 1; // Requests describes the minimum amount of compute resources required. // If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, // otherwise to an implementation-defined value. Requests cannot exceed Limits. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional - map requests = 2; + map requests = 2; } // Represents the source of a volume to mount. @@ -6530,6 +6682,24 @@ message VolumeSource { // // +optional optional EphemeralVolumeSource ephemeral = 29; + + // image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. + // The volume is resolved at pod startup depending on which PullPolicy value is provided: + // + // - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. + // - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. + // - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. + // + // The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. + // A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. + // The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. + // The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. + // The volume will be mounted read-only (ro) and non-executable files (noexec). + // Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). + // The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. + // +featureGate=ImageVolume + // +optional + optional ImageVolumeSource image = 30; } // Represents a vSphere volume resource. diff --git a/k8s-pb-codegen/protos/api/discovery/v1/generated.proto b/k8s-pb-codegen/protos/api/discovery/v1/generated.proto index 2d293db..4bbfb31 100644 --- a/k8s-pb-codegen/protos/api/discovery/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/discovery/v1/generated.proto @@ -54,7 +54,7 @@ message Endpoint { // targetRef is a reference to a Kubernetes object that represents this // endpoint. // +optional - optional api.core.v1.ObjectReference targetRef = 4; + optional .api.core.v1.ObjectReference targetRef = 4; // deprecatedTopology contains topology information part of the v1beta1 // API. This field is deprecated, and will be removed when the v1beta1 @@ -161,7 +161,7 @@ message EndpointPort { message EndpointSlice { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // addressType specifies the type of address carried by this EndpointSlice. // All addresses in this slice must be the same type. This field is @@ -191,7 +191,7 @@ message EndpointSlice { message EndpointSliceList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of endpoint slices repeated EndpointSlice items = 2; diff --git a/k8s-pb-codegen/protos/api/discovery/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/discovery/v1beta1/generated.proto index 1dcdc65..f75c6fc 100644 --- a/k8s-pb-codegen/protos/api/discovery/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/discovery/v1beta1/generated.proto @@ -54,7 +54,7 @@ message Endpoint { // targetRef is a reference to a Kubernetes object that represents this // endpoint. // +optional - optional api.core.v1.ObjectReference targetRef = 4; + optional .api.core.v1.ObjectReference targetRef = 4; // topology contains arbitrary topology information associated with the // endpoint. These key/value pairs must conform with the label format. @@ -153,7 +153,7 @@ message EndpointPort { message EndpointSlice { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // addressType specifies the type of address carried by this EndpointSlice. // All addresses in this slice must be the same type. This field is @@ -183,7 +183,7 @@ message EndpointSlice { message EndpointSliceList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of endpoint slices repeated EndpointSlice items = 2; diff --git a/k8s-pb-codegen/protos/api/events/v1/generated.proto b/k8s-pb-codegen/protos/api/events/v1/generated.proto index 40e9eeb..26a93f1 100644 --- a/k8s-pb-codegen/protos/api/events/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/events/v1/generated.proto @@ -39,10 +39,10 @@ message Event { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // eventTime is the time when this Event was first observed. It is required. - optional apimachinery.pkg.apis.meta.v1.MicroTime eventTime = 2; + optional .apimachinery.pkg.apis.meta.v1.MicroTime eventTime = 2; // series is data about the Event series this event represents or nil if it's a singleton Event. // +optional @@ -68,12 +68,12 @@ message Event { // implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because // it acts on some changes in a ReplicaSet object. // +optional - optional api.core.v1.ObjectReference regarding = 8; + optional .api.core.v1.ObjectReference regarding = 8; // related is the optional secondary object for more complex actions. E.g. when regarding object triggers // a creation or deletion of related object. // +optional - optional api.core.v1.ObjectReference related = 9; + optional .api.core.v1.ObjectReference related = 9; // note is a human-readable description of the status of this operation. // Maximal length of the note is 1kB, but libraries should be prepared to @@ -88,15 +88,15 @@ message Event { // deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional - optional api.core.v1.EventSource deprecatedSource = 12; + optional .api.core.v1.EventSource deprecatedSource = 12; // deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional - optional apimachinery.pkg.apis.meta.v1.Time deprecatedFirstTimestamp = 13; + optional .apimachinery.pkg.apis.meta.v1.Time deprecatedFirstTimestamp = 13; // deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional - optional apimachinery.pkg.apis.meta.v1.Time deprecatedLastTimestamp = 14; + optional .apimachinery.pkg.apis.meta.v1.Time deprecatedLastTimestamp = 14; // deprecatedCount is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional @@ -108,7 +108,7 @@ message EventList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated Event items = 2; @@ -123,6 +123,6 @@ message EventSeries { optional int32 count = 1; // lastObservedTime is the time when last Event from the series was seen before last heartbeat. - optional apimachinery.pkg.apis.meta.v1.MicroTime lastObservedTime = 2; + optional .apimachinery.pkg.apis.meta.v1.MicroTime lastObservedTime = 2; } diff --git a/k8s-pb-codegen/protos/api/events/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/events/v1beta1/generated.proto index e68d740..cb47ac8 100644 --- a/k8s-pb-codegen/protos/api/events/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/events/v1beta1/generated.proto @@ -39,10 +39,10 @@ message Event { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // eventTime is the time when this Event was first observed. It is required. - optional apimachinery.pkg.apis.meta.v1.MicroTime eventTime = 2; + optional .apimachinery.pkg.apis.meta.v1.MicroTime eventTime = 2; // series is data about the Event series this event represents or nil if it's a singleton Event. // +optional @@ -72,12 +72,12 @@ message Event { // implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because // it acts on some changes in a ReplicaSet object. // +optional - optional api.core.v1.ObjectReference regarding = 8; + optional .api.core.v1.ObjectReference regarding = 8; // related is the optional secondary object for more complex actions. E.g. when regarding object triggers // a creation or deletion of related object. // +optional - optional api.core.v1.ObjectReference related = 9; + optional .api.core.v1.ObjectReference related = 9; // note is a human-readable description of the status of this operation. // Maximal length of the note is 1kB, but libraries should be prepared to @@ -92,15 +92,15 @@ message Event { // deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional - optional api.core.v1.EventSource deprecatedSource = 12; + optional .api.core.v1.EventSource deprecatedSource = 12; // deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional - optional apimachinery.pkg.apis.meta.v1.Time deprecatedFirstTimestamp = 13; + optional .apimachinery.pkg.apis.meta.v1.Time deprecatedFirstTimestamp = 13; // deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional - optional apimachinery.pkg.apis.meta.v1.Time deprecatedLastTimestamp = 14; + optional .apimachinery.pkg.apis.meta.v1.Time deprecatedLastTimestamp = 14; // deprecatedCount is the deprecated field assuring backward compatibility with core.v1 Event type. // +optional @@ -112,7 +112,7 @@ message EventList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated Event items = 2; @@ -125,6 +125,6 @@ message EventSeries { optional int32 count = 1; // lastObservedTime is the time when last Event from the series was seen before last heartbeat. - optional apimachinery.pkg.apis.meta.v1.MicroTime lastObservedTime = 2; + optional .apimachinery.pkg.apis.meta.v1.MicroTime lastObservedTime = 2; } diff --git a/k8s-pb-codegen/protos/api/extensions/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/extensions/v1beta1/generated.proto index e60bcb6..463f3b9 100644 --- a/k8s-pb-codegen/protos/api/extensions/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/extensions/v1beta1/generated.proto @@ -37,7 +37,7 @@ message DaemonSet { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The desired behavior of this daemon set. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -63,7 +63,7 @@ message DaemonSetCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -79,7 +79,7 @@ message DaemonSetList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // A list of daemon sets. repeated DaemonSet items = 2; @@ -92,14 +92,14 @@ message DaemonSetSpec { // If empty, defaulted to labels on Pod template. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1; // An object that describes the pod that will be created. // The DaemonSet will create exactly one copy of this pod on every node // that matches the template's node selector (or on every node if no node // selector is specified). // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template - optional api.core.v1.PodTemplateSpec template = 2; + optional .api.core.v1.PodTemplateSpec template = 2; // An update strategy to replace existing DaemonSet pods with new pods. // +optional @@ -205,7 +205,7 @@ message DaemonSetUpdateStrategy { message Deployment { // Standard object metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the Deployment. // +optional @@ -225,10 +225,10 @@ message DeploymentCondition { optional string status = 2; // The last time this condition was updated. - optional apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; + optional .apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; // Last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; // The reason for the condition's last transition. optional string reason = 4; @@ -241,7 +241,7 @@ message DeploymentCondition { message DeploymentList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Deployments. repeated Deployment items = 2; @@ -271,10 +271,10 @@ message DeploymentSpec { // Label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template describes the pods that will be created. - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; // The deployment strategy to use to replace existing pods with new ones. // +optional @@ -440,7 +440,7 @@ message Ingress { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec is the desired state of the Ingress. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -461,13 +461,13 @@ message IngressBackend { // Specifies the port of the referenced service. // +optional - optional apimachinery.pkg.util.intstr.IntOrString servicePort = 2; + optional .apimachinery.pkg.util.intstr.IntOrString servicePort = 2; // Resource is an ObjectRef to another Kubernetes resource in the namespace // of the Ingress object. If resource is specified, serviceName and servicePort // must not be specified. // +optional - optional api.core.v1.TypedLocalObjectReference resource = 3; + optional .api.core.v1.TypedLocalObjectReference resource = 3; } // IngressList is a collection of Ingress. @@ -475,7 +475,7 @@ message IngressList { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Ingress. repeated Ingress items = 2; @@ -651,7 +651,7 @@ message NetworkPolicy { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior for this NetworkPolicy. // +optional @@ -710,7 +710,7 @@ message NetworkPolicyList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of schema objects. repeated NetworkPolicy items = 2; @@ -725,7 +725,7 @@ message NetworkPolicyPeer { // the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. // Otherwise it selects the Pods matching PodSelector in the policy's own Namespace. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; // Selects Namespaces using cluster-scoped labels. This field follows standard label // selector semantics; if present but empty, it selects all namespaces. @@ -734,7 +734,7 @@ message NetworkPolicyPeer { // the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. // Otherwise it selects all Pods in the Namespaces selected by NamespaceSelector. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 2; // IPBlock defines policy on a particular IPBlock. If this field is set then // neither of the other fields can be. @@ -754,7 +754,7 @@ message NetworkPolicyPort { // numbers. // If present, only traffic on the specified protocol AND port will be matched. // +optional - optional apimachinery.pkg.util.intstr.IntOrString port = 2; + optional .apimachinery.pkg.util.intstr.IntOrString port = 2; // If set, indicates that the range of ports from port to endPort, inclusive, // should be allowed by the policy. This field cannot be defined if the port field @@ -771,7 +771,7 @@ message NetworkPolicySpec { // same set of pods. In this case, the ingress rules for each are combined additively. // This field is NOT optional and follows standard label selector semantics. // An empty podSelector matches all pods in this namespace. - optional apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; // List of ingress rules to be applied to the selected pods. // Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod @@ -818,7 +818,7 @@ message ReplicaSet { // be the same as the Pod(s) that the ReplicaSet manages. // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec defines the specification of the desired behavior of the ReplicaSet. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -844,7 +844,7 @@ message ReplicaSetCondition { // The last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -860,7 +860,7 @@ message ReplicaSetList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ReplicaSets. // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller @@ -887,13 +887,13 @@ message ReplicaSetSpec { // Label keys and values that must match in order to be controlled by this replica set. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template is the object that describes the pod that will be created if // insufficient replicas are detected. // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template // +optional - optional api.core.v1.PodTemplateSpec template = 3; + optional .api.core.v1.PodTemplateSpec template = 3; } // ReplicaSetStatus represents the current status of a ReplicaSet. @@ -951,7 +951,7 @@ message RollingUpdateDaemonSet { // 70% of original number of DaemonSet pods are available at all times during // the update. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; // The maximum number of nodes with an existing available DaemonSet pod that // can have an updated DaemonSet pod during during an update. @@ -973,7 +973,7 @@ message RollingUpdateDaemonSet { // cause evictions during disruption. // This is an alpha field and requires enabling DaemonSetUpdateSurge feature gate. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; } // Spec to control the desired behavior of rolling update. @@ -989,7 +989,7 @@ message RollingUpdateDeployment { // that the total number of pods available at all times during the update is at // least 70% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1; // The maximum number of pods that can be scheduled above the desired number of // pods. @@ -1003,14 +1003,14 @@ message RollingUpdateDeployment { // new RC can be scaled up further, ensuring that total number of pods running // at any time during the update is at most 130% of desired pods. // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; + optional .apimachinery.pkg.util.intstr.IntOrString maxSurge = 2; } // represents a scaling request for a resource. message Scale { // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. // +optional diff --git a/k8s-pb-codegen/protos/api/flowcontrol/v1/generated.proto b/k8s-pb-codegen/protos/api/flowcontrol/v1/generated.proto index 865e95d..d3ff990 100644 --- a/k8s-pb-codegen/protos/api/flowcontrol/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/flowcontrol/v1/generated.proto @@ -76,7 +76,7 @@ message FlowSchema { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a FlowSchema. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -101,7 +101,7 @@ message FlowSchemaCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -115,7 +115,7 @@ message FlowSchemaList { // `metadata` is the standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of FlowSchemas. repeated FlowSchema items = 2; @@ -302,7 +302,7 @@ message PriorityLevelConfiguration { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a "request-priority". // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -327,7 +327,7 @@ message PriorityLevelConfigurationCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -341,7 +341,7 @@ message PriorityLevelConfigurationList { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of request-priorities. repeated PriorityLevelConfiguration items = 2; diff --git a/k8s-pb-codegen/protos/api/flowcontrol/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/flowcontrol/v1beta1/generated.proto index 3100ce1..770a389 100644 --- a/k8s-pb-codegen/protos/api/flowcontrol/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/flowcontrol/v1beta1/generated.proto @@ -76,7 +76,7 @@ message FlowSchema { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a FlowSchema. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -101,7 +101,7 @@ message FlowSchemaCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -115,7 +115,7 @@ message FlowSchemaList { // `metadata` is the standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of FlowSchemas. repeated FlowSchema items = 2; @@ -295,7 +295,7 @@ message PriorityLevelConfiguration { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a "request-priority". // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -320,7 +320,7 @@ message PriorityLevelConfigurationCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -334,7 +334,7 @@ message PriorityLevelConfigurationList { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of request-priorities. repeated PriorityLevelConfiguration items = 2; diff --git a/k8s-pb-codegen/protos/api/flowcontrol/v1beta2/generated.proto b/k8s-pb-codegen/protos/api/flowcontrol/v1beta2/generated.proto index 72060b9..10972e0 100644 --- a/k8s-pb-codegen/protos/api/flowcontrol/v1beta2/generated.proto +++ b/k8s-pb-codegen/protos/api/flowcontrol/v1beta2/generated.proto @@ -76,7 +76,7 @@ message FlowSchema { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a FlowSchema. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -101,7 +101,7 @@ message FlowSchemaCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -115,7 +115,7 @@ message FlowSchemaList { // `metadata` is the standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of FlowSchemas. repeated FlowSchema items = 2; @@ -295,7 +295,7 @@ message PriorityLevelConfiguration { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a "request-priority". // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -320,7 +320,7 @@ message PriorityLevelConfigurationCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -334,7 +334,7 @@ message PriorityLevelConfigurationList { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of request-priorities. repeated PriorityLevelConfiguration items = 2; diff --git a/k8s-pb-codegen/protos/api/flowcontrol/v1beta3/generated.proto b/k8s-pb-codegen/protos/api/flowcontrol/v1beta3/generated.proto index 81d80b0..ffa4f6b 100644 --- a/k8s-pb-codegen/protos/api/flowcontrol/v1beta3/generated.proto +++ b/k8s-pb-codegen/protos/api/flowcontrol/v1beta3/generated.proto @@ -76,7 +76,7 @@ message FlowSchema { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a FlowSchema. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -101,7 +101,7 @@ message FlowSchemaCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -115,7 +115,7 @@ message FlowSchemaList { // `metadata` is the standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of FlowSchemas. repeated FlowSchema items = 2; @@ -297,7 +297,7 @@ message PriorityLevelConfiguration { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // `spec` is the specification of the desired behavior of a "request-priority". // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -322,7 +322,7 @@ message PriorityLevelConfigurationCondition { optional string status = 2; // `lastTransitionTime` is the last time the condition transitioned from one status to another. - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // `reason` is a unique, one-word, CamelCase reason for the condition's last transition. optional string reason = 4; @@ -336,7 +336,7 @@ message PriorityLevelConfigurationList { // `metadata` is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // `items` is a list of request-priorities. repeated PriorityLevelConfiguration items = 2; diff --git a/k8s-pb-codegen/protos/api/imagepolicy/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/imagepolicy/v1alpha1/generated.proto index 0874671..5e706d5 100644 --- a/k8s-pb-codegen/protos/api/imagepolicy/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/imagepolicy/v1alpha1/generated.proto @@ -33,7 +33,7 @@ message ImageReview { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec holds information about the pod being evaluated optional ImageReviewSpec spec = 2; diff --git a/k8s-pb-codegen/protos/api/networking/v1/generated.proto b/k8s-pb-codegen/protos/api/networking/v1/generated.proto index 440511c..14e5d09 100644 --- a/k8s-pb-codegen/protos/api/networking/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/networking/v1/generated.proto @@ -96,7 +96,7 @@ message Ingress { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the desired state of the Ingress. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -121,7 +121,7 @@ message IngressBackend { // service.Port must not be specified. // This is a mutually exclusive setting with "Service". // +optional - optional api.core.v1.TypedLocalObjectReference resource = 3; + optional .api.core.v1.TypedLocalObjectReference resource = 3; } // IngressClass represents the class of the Ingress, referenced by the Ingress @@ -133,7 +133,7 @@ message IngressClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the desired state of the IngressClass. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -145,7 +145,7 @@ message IngressClass { message IngressClassList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of IngressClasses. repeated IngressClass items = 2; @@ -200,7 +200,7 @@ message IngressList { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of Ingress. repeated Ingress items = 2; @@ -381,7 +381,7 @@ message NetworkPolicy { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec represents the specification of the desired behavior for this NetworkPolicy. // +optional @@ -438,7 +438,7 @@ message NetworkPolicyList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated NetworkPolicy items = 2; @@ -454,7 +454,7 @@ message NetworkPolicyPeer { // the pods matching podSelector in the Namespaces selected by NamespaceSelector. // Otherwise it selects the pods matching podSelector in the policy's own namespace. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; // namespaceSelector selects namespaces using cluster-scoped labels. This field follows // standard label selector semantics; if present but empty, it selects all namespaces. @@ -463,7 +463,7 @@ message NetworkPolicyPeer { // the pods matching podSelector in the namespaces selected by namespaceSelector. // Otherwise it selects all pods in the namespaces selected by namespaceSelector. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 2; // ipBlock defines policy on a particular IPBlock. If this field is set then // neither of the other fields can be. @@ -483,7 +483,7 @@ message NetworkPolicyPort { // numbers. // If present, only traffic on the specified protocol AND port will be matched. // +optional - optional apimachinery.pkg.util.intstr.IntOrString port = 2; + optional .apimachinery.pkg.util.intstr.IntOrString port = 2; // endPort indicates that the range of ports from port to endPort if set, inclusive, // should be allowed by the policy. This field cannot be defined if the port field @@ -501,7 +501,7 @@ message NetworkPolicySpec { // the ingress rules for each are combined additively. // This field is NOT optional and follows standard label selector semantics. // An empty podSelector matches all pods in this namespace. - optional apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; // ingress is a list of ingress rules to be applied to the selected pods. // Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod @@ -541,6 +541,7 @@ message NetworkPolicySpec { } // ServiceBackendPort is the service port being referenced. +// +structType=atomic message ServiceBackendPort { // name is the name of the port on the Service. // This is a mutually exclusive setting with "Number". diff --git a/k8s-pb-codegen/protos/api/networking/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/networking/v1alpha1/generated.proto index 147a3bd..af3f352 100644 --- a/k8s-pb-codegen/protos/api/networking/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/networking/v1alpha1/generated.proto @@ -39,7 +39,7 @@ message IPAddress { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the desired state of the IPAddress. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -52,7 +52,7 @@ message IPAddressList { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of IPAddresses. repeated IPAddress items = 2; @@ -91,7 +91,7 @@ message ServiceCIDR { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the desired state of the ServiceCIDR. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -109,7 +109,7 @@ message ServiceCIDRList { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of ServiceCIDRs. repeated ServiceCIDR items = 2; @@ -119,6 +119,9 @@ message ServiceCIDRList { message ServiceCIDRSpec { // CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64") // from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. + // The network address of each CIDR, the address that identifies the subnet of a host, is reserved + // and will not be allocated. The broadcast address for IPv4 CIDRs is also reserved and will not be + // allocated. // This field is immutable. // +optional // +listType=atomic @@ -134,6 +137,6 @@ message ServiceCIDRStatus { // +patchStrategy=merge // +listType=map // +listMapKey=type - repeated apimachinery.pkg.apis.meta.v1.Condition conditions = 1; + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 1; } diff --git a/k8s-pb-codegen/protos/api/networking/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/networking/v1beta1/generated.proto index a436323..9b907b5 100644 --- a/k8s-pb-codegen/protos/api/networking/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/networking/v1beta1/generated.proto @@ -73,6 +73,44 @@ message HTTPIngressRuleValue { repeated HTTPIngressPath paths = 1; } +// IPAddress represents a single IP of a single IP Family. The object is designed to be used by APIs +// that operate on IP addresses. The object is used by the Service core API for allocation of IP addresses. +// An IP address can be represented in different formats, to guarantee the uniqueness of the IP, +// the name of the object is the IP address in canonical format, four decimal digits separated +// by dots suppressing leading zeros for IPv4 and the representation defined by RFC 5952 for IPv6. +// Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1 +// Invalid: 10.01.2.3 or 2001:db8:0:0:0::1 +message IPAddress { + // Standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec is the desired state of the IPAddress. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + optional IPAddressSpec spec = 2; +} + +// IPAddressList contains a list of IPAddress. +message IPAddressList { + // Standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is the list of IPAddresses. + repeated IPAddress items = 2; +} + +// IPAddressSpec describe the attributes in an IP Address. +message IPAddressSpec { + // ParentRef references the resource that an IPAddress is attached to. + // An IPAddress must reference a parent object. + // +required + optional ParentReference parentRef = 1; +} + // Ingress is a collection of rules that allow inbound connections to reach the // endpoints defined by a backend. An Ingress can be configured to give services // externally-reachable urls, load balance traffic, terminate SSL, offer name @@ -81,7 +119,7 @@ message Ingress { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the desired state of the Ingress. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -102,13 +140,13 @@ message IngressBackend { // servicePort Specifies the port of the referenced service. // +optional - optional apimachinery.pkg.util.intstr.IntOrString servicePort = 2; + optional .apimachinery.pkg.util.intstr.IntOrString servicePort = 2; // resource is an ObjectRef to another Kubernetes resource in the namespace // of the Ingress object. If resource is specified, serviceName and servicePort // must not be specified. // +optional - optional api.core.v1.TypedLocalObjectReference resource = 3; + optional .api.core.v1.TypedLocalObjectReference resource = 3; } // IngressClass represents the class of the Ingress, referenced by the Ingress @@ -120,7 +158,7 @@ message IngressClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the desired state of the IngressClass. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -132,7 +170,7 @@ message IngressClass { message IngressClassList { // Standard list metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of IngressClasses. repeated IngressClass items = 2; @@ -186,7 +224,7 @@ message IngressList { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of Ingress. repeated Ingress items = 2; @@ -351,3 +389,74 @@ message IngressTLS { optional string secretName = 2; } +// ParentReference describes a reference to a parent object. +message ParentReference { + // Group is the group of the object being referenced. + // +optional + optional string group = 1; + + // Resource is the resource of the object being referenced. + // +required + optional string resource = 2; + + // Namespace is the namespace of the object being referenced. + // +optional + optional string namespace = 3; + + // Name is the name of the object being referenced. + // +required + optional string name = 4; +} + +// ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64). +// This range is used to allocate ClusterIPs to Service objects. +message ServiceCIDR { + // Standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec is the desired state of the ServiceCIDR. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + optional ServiceCIDRSpec spec = 2; + + // status represents the current state of the ServiceCIDR. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + optional ServiceCIDRStatus status = 3; +} + +// ServiceCIDRList contains a list of ServiceCIDR objects. +message ServiceCIDRList { + // Standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is the list of ServiceCIDRs. + repeated ServiceCIDR items = 2; +} + +// ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services. +message ServiceCIDRSpec { + // CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64") + // from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. + // This field is immutable. + // +optional + // +listType=atomic + repeated string cidrs = 1; +} + +// ServiceCIDRStatus describes the current state of the ServiceCIDR. +message ServiceCIDRStatus { + // conditions holds an array of metav1.Condition that describe the state of the ServiceCIDR. + // Current service state + // +optional + // +patchMergeKey=type + // +patchStrategy=merge + // +listType=map + // +listMapKey=type + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 1; +} + diff --git a/k8s-pb-codegen/protos/api/node/v1/generated.proto b/k8s-pb-codegen/protos/api/node/v1/generated.proto index 50e06e0..bce4c14 100644 --- a/k8s-pb-codegen/protos/api/node/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/node/v1/generated.proto @@ -34,7 +34,7 @@ option go_package = "k8s.io/api/node/v1"; message Overhead { // podFixed represents the fixed resource overhead associated with running a pod. // +optional - map podFixed = 1; + map podFixed = 1; } // RuntimeClass defines a class of container runtime supported in the cluster. @@ -47,7 +47,7 @@ message Overhead { message RuntimeClass { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // handler specifies the underlying runtime and configuration that the CRI // implementation will use to handle pods of this class. The possible values @@ -80,7 +80,7 @@ message RuntimeClassList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated RuntimeClass items = 2; @@ -103,6 +103,6 @@ message Scheduling { // tolerated by the pod and the RuntimeClass. // +optional // +listType=atomic - repeated api.core.v1.Toleration tolerations = 2; + repeated .api.core.v1.Toleration tolerations = 2; } diff --git a/k8s-pb-codegen/protos/api/node/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/node/v1alpha1/generated.proto index 29aa00c..25d6371 100644 --- a/k8s-pb-codegen/protos/api/node/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/node/v1alpha1/generated.proto @@ -34,7 +34,7 @@ option go_package = "k8s.io/api/node/v1alpha1"; message Overhead { // podFixed represents the fixed resource overhead associated with running a pod. // +optional - map podFixed = 1; + map podFixed = 1; } // RuntimeClass defines a class of container runtime supported in the cluster. @@ -47,7 +47,7 @@ message Overhead { message RuntimeClass { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec represents specification of the RuntimeClass // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -59,7 +59,7 @@ message RuntimeClassList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated RuntimeClass items = 2; @@ -113,6 +113,6 @@ message Scheduling { // tolerated by the pod and the RuntimeClass. // +optional // +listType=atomic - repeated api.core.v1.Toleration tolerations = 2; + repeated .api.core.v1.Toleration tolerations = 2; } diff --git a/k8s-pb-codegen/protos/api/node/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/node/v1beta1/generated.proto index c613496..f06809c 100644 --- a/k8s-pb-codegen/protos/api/node/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/node/v1beta1/generated.proto @@ -34,7 +34,7 @@ option go_package = "k8s.io/api/node/v1beta1"; message Overhead { // podFixed represents the fixed resource overhead associated with running a pod. // +optional - map podFixed = 1; + map podFixed = 1; } // RuntimeClass defines a class of container runtime supported in the cluster. @@ -47,7 +47,7 @@ message Overhead { message RuntimeClass { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // handler specifies the underlying runtime and configuration that the CRI // implementation will use to handle pods of this class. The possible values @@ -80,7 +80,7 @@ message RuntimeClassList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is a list of schema objects. repeated RuntimeClass items = 2; @@ -103,6 +103,6 @@ message Scheduling { // tolerated by the pod and the RuntimeClass. // +optional // +listType=atomic - repeated api.core.v1.Toleration tolerations = 2; + repeated .api.core.v1.Toleration tolerations = 2; } diff --git a/k8s-pb-codegen/protos/api/policy/v1/generated.proto b/k8s-pb-codegen/protos/api/policy/v1/generated.proto index 97ea141..c4bec16 100644 --- a/k8s-pb-codegen/protos/api/policy/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/policy/v1/generated.proto @@ -35,11 +35,11 @@ option go_package = "k8s.io/api/policy/v1"; message Eviction { // ObjectMeta describes the pod that is being evicted. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // DeleteOptions may be provided // +optional - optional apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2; + optional .apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2; } // PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods @@ -47,7 +47,7 @@ message PodDisruptionBudget { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the PodDisruptionBudget. // +optional @@ -63,7 +63,7 @@ message PodDisruptionBudgetList { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of PodDisruptionBudgets repeated PodDisruptionBudget items = 2; @@ -76,7 +76,7 @@ message PodDisruptionBudgetSpec { // absence of the evicted pod. So for example you can prevent all voluntary // evictions by specifying "100%". // +optional - optional apimachinery.pkg.util.intstr.IntOrString minAvailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString minAvailable = 1; // Label query over pods whose evictions are managed by the disruption // budget. @@ -84,14 +84,14 @@ message PodDisruptionBudgetSpec { // all pods within the namespace. // +patchStrategy=replace // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // 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". // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 3; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 3; // UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods // should be considered for eviction. Current implementation considers healthy pods, @@ -142,7 +142,7 @@ message PodDisruptionBudgetStatus { // 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. // +optional - map disruptedPods = 2; + map disruptedPods = 2; // Number of pod disruptions that are currently allowed. optional int32 disruptionsAllowed = 3; @@ -174,6 +174,6 @@ message PodDisruptionBudgetStatus { // +patchStrategy=merge // +listType=map // +listMapKey=type - repeated apimachinery.pkg.apis.meta.v1.Condition conditions = 7; + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 7; } diff --git a/k8s-pb-codegen/protos/api/policy/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/policy/v1beta1/generated.proto index a4e5835..ae9e174 100644 --- a/k8s-pb-codegen/protos/api/policy/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/policy/v1beta1/generated.proto @@ -35,11 +35,11 @@ option go_package = "k8s.io/api/policy/v1beta1"; message Eviction { // ObjectMeta describes the pod that is being evicted. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // DeleteOptions may be provided // +optional - optional apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2; + optional .apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2; } // PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods @@ -47,7 +47,7 @@ message PodDisruptionBudget { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the PodDisruptionBudget. // +optional @@ -63,7 +63,7 @@ message PodDisruptionBudgetList { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items list individual PodDisruptionBudget objects repeated PodDisruptionBudget items = 2; @@ -76,7 +76,7 @@ message PodDisruptionBudgetSpec { // absence of the evicted pod. So for example you can prevent all voluntary // evictions by specifying "100%". // +optional - optional apimachinery.pkg.util.intstr.IntOrString minAvailable = 1; + optional .apimachinery.pkg.util.intstr.IntOrString minAvailable = 1; // Label query over pods whose evictions are managed by the disruption // budget. @@ -84,14 +84,14 @@ message PodDisruptionBudgetSpec { // An empty selector ({}) also selects no pods, which differs from standard behavior of selecting all pods. // In policy/v1, an empty selector will select all pods in the namespace. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // 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". // +optional - optional apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 3; + optional .apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 3; // UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods // should be considered for eviction. Current implementation considers healthy pods, @@ -142,7 +142,7 @@ message PodDisruptionBudgetStatus { // 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. // +optional - map disruptedPods = 2; + map disruptedPods = 2; // Number of pod disruptions that are currently allowed. optional int32 disruptionsAllowed = 3; @@ -174,6 +174,6 @@ message PodDisruptionBudgetStatus { // +patchStrategy=merge // +listType=map // +listMapKey=type - repeated apimachinery.pkg.apis.meta.v1.Condition conditions = 7; + repeated .apimachinery.pkg.apis.meta.v1.Condition conditions = 7; } diff --git a/k8s-pb-codegen/protos/api/rbac/v1/generated.proto b/k8s-pb-codegen/protos/api/rbac/v1/generated.proto index 1c8bb3d..7c949f5 100644 --- a/k8s-pb-codegen/protos/api/rbac/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/rbac/v1/generated.proto @@ -34,14 +34,14 @@ message AggregationRule { // If any of the selectors match, then the ClusterRole's permissions will be added // +optional // +listType=atomic - repeated apimachinery.pkg.apis.meta.v1.LabelSelector clusterRoleSelectors = 1; + repeated .apimachinery.pkg.apis.meta.v1.LabelSelector clusterRoleSelectors = 1; } // ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding. message ClusterRole { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Rules holds all the PolicyRules for this ClusterRole // +optional @@ -60,7 +60,7 @@ message ClusterRole { message ClusterRoleBinding { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Subjects holds references to the objects the role applies to. // +optional @@ -77,7 +77,7 @@ message ClusterRoleBinding { message ClusterRoleBindingList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoleBindings repeated ClusterRoleBinding items = 2; @@ -87,7 +87,7 @@ message ClusterRoleBindingList { message ClusterRoleList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoles repeated ClusterRole items = 2; @@ -128,7 +128,7 @@ message PolicyRule { message Role { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Rules holds all the PolicyRules for this Role // +optional @@ -142,7 +142,7 @@ message Role { message RoleBinding { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Subjects holds references to the objects the role applies to. // +optional @@ -159,7 +159,7 @@ message RoleBinding { message RoleBindingList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of RoleBindings repeated RoleBinding items = 2; @@ -169,7 +169,7 @@ message RoleBindingList { message RoleList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of Roles repeated Role items = 2; diff --git a/k8s-pb-codegen/protos/api/rbac/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/rbac/v1alpha1/generated.proto index 1c70081..1a62d93 100644 --- a/k8s-pb-codegen/protos/api/rbac/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/rbac/v1alpha1/generated.proto @@ -34,7 +34,7 @@ message AggregationRule { // If any of the selectors match, then the ClusterRole's permissions will be added // +optional // +listType=atomic - repeated apimachinery.pkg.apis.meta.v1.LabelSelector clusterRoleSelectors = 1; + repeated .apimachinery.pkg.apis.meta.v1.LabelSelector clusterRoleSelectors = 1; } // ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding. @@ -42,7 +42,7 @@ message AggregationRule { message ClusterRole { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Rules holds all the PolicyRules for this ClusterRole // +optional @@ -62,7 +62,7 @@ message ClusterRole { message ClusterRoleBinding { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Subjects holds references to the objects the role applies to. // +optional @@ -79,7 +79,7 @@ message ClusterRoleBinding { message ClusterRoleBindingList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoleBindings repeated ClusterRoleBinding items = 2; @@ -90,7 +90,7 @@ message ClusterRoleBindingList { message ClusterRoleList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoles repeated ClusterRole items = 2; @@ -132,7 +132,7 @@ message PolicyRule { message Role { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Rules holds all the PolicyRules for this Role // +optional @@ -147,7 +147,7 @@ message Role { message RoleBinding { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Subjects holds references to the objects the role applies to. // +optional @@ -164,7 +164,7 @@ message RoleBinding { message RoleBindingList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of RoleBindings repeated RoleBinding items = 2; @@ -175,7 +175,7 @@ message RoleBindingList { message RoleList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of Roles repeated Role items = 2; diff --git a/k8s-pb-codegen/protos/api/rbac/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/rbac/v1beta1/generated.proto index 7bd2682..1cafb50 100644 --- a/k8s-pb-codegen/protos/api/rbac/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/rbac/v1beta1/generated.proto @@ -34,7 +34,7 @@ message AggregationRule { // If any of the selectors match, then the ClusterRole's permissions will be added // +optional // +listType=atomic - repeated apimachinery.pkg.apis.meta.v1.LabelSelector clusterRoleSelectors = 1; + repeated .apimachinery.pkg.apis.meta.v1.LabelSelector clusterRoleSelectors = 1; } // ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding. @@ -42,7 +42,7 @@ message AggregationRule { message ClusterRole { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Rules holds all the PolicyRules for this ClusterRole // +optional @@ -62,7 +62,7 @@ message ClusterRole { message ClusterRoleBinding { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Subjects holds references to the objects the role applies to. // +optional @@ -79,7 +79,7 @@ message ClusterRoleBinding { message ClusterRoleBindingList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoleBindings repeated ClusterRoleBinding items = 2; @@ -90,7 +90,7 @@ message ClusterRoleBindingList { message ClusterRoleList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoles repeated ClusterRole items = 2; @@ -133,7 +133,7 @@ message PolicyRule { message Role { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Rules holds all the PolicyRules for this Role // +optional @@ -148,7 +148,7 @@ message Role { message RoleBinding { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Subjects holds references to the objects the role applies to. // +optional @@ -165,7 +165,7 @@ message RoleBinding { message RoleBindingList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of RoleBindings repeated RoleBinding items = 2; @@ -176,7 +176,7 @@ message RoleBindingList { message RoleList { // Standard object's metadata. // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of Roles repeated Role items = 2; diff --git a/k8s-pb-codegen/protos/api/resource/v1alpha2/generated.proto b/k8s-pb-codegen/protos/api/resource/v1alpha2/generated.proto deleted file mode 100644 index 3338558..0000000 --- a/k8s-pb-codegen/protos/api/resource/v1alpha2/generated.proto +++ /dev/null @@ -1,749 +0,0 @@ -/* -Copyright 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. -*/ - - -// This file was autogenerated by go-to-protobuf. Do not edit it manually! - -syntax = "proto2"; - -package api.resource.v1alpha2; - -import "api/core/v1/generated.proto"; -import "apimachinery/pkg/api/resource/generated.proto"; -import "apimachinery/pkg/apis/meta/v1/generated.proto"; -import "apimachinery/pkg/runtime/generated.proto"; -import "apimachinery/pkg/runtime/schema/generated.proto"; - -// Package-wide variables from generator "generated". -option go_package = "k8s.io/api/resource/v1alpha2"; - -// AllocationResult contains attributes of an allocated resource. -message AllocationResult { - // ResourceHandles contain the state associated with an allocation that - // should be maintained throughout the lifetime of a claim. Each - // ResourceHandle contains data that should be passed to a specific kubelet - // plugin once it lands on a node. This data is returned by the driver - // after a successful allocation and is opaque to Kubernetes. Driver - // documentation may explain to users how to interpret this data if needed. - // - // Setting this field is optional. It has a maximum size of 32 entries. - // If null (or empty), it is assumed this allocation will be processed by a - // single kubelet plugin with no ResourceHandle data attached. The name of - // the kubelet plugin invoked will match the DriverName set in the - // ResourceClaimStatus this AllocationResult is embedded in. - // - // +listType=atomic - // +optional - repeated ResourceHandle resourceHandles = 1; - - // This field will get set by the resource driver after it has allocated - // the resource to inform the scheduler where it can schedule Pods using - // the ResourceClaim. - // - // Setting this field is optional. If null, the resource is available - // everywhere. - // +optional - optional api.core.v1.NodeSelector availableOnNodes = 2; - - // Shareable determines whether the resource supports more - // than one consumer at a time. - // +optional - optional bool shareable = 3; -} - -// AllocationResultModel must have one and only one field set. -message AllocationResultModel { - // NamedResources describes the allocation result when using the named resources model. - // - // +optional - optional NamedResourcesAllocationResult namedResources = 1; -} - -// DriverAllocationResult contains vendor parameters and the allocation result for -// one request. -message DriverAllocationResult { - // VendorRequestParameters are the per-request configuration parameters - // from the time that the claim was allocated. - // - // +optional - optional apimachinery.pkg.runtime.RawExtension vendorRequestParameters = 1; - - optional AllocationResultModel allocationResultModel = 2; -} - -// DriverRequests describes all resources that are needed from one particular driver. -message DriverRequests { - // DriverName is the name used by the DRA driver kubelet plugin. - optional string driverName = 1; - - // VendorParameters are arbitrary setup parameters for all requests of the - // claim. They are ignored while allocating the claim. - // - // +optional - optional apimachinery.pkg.runtime.RawExtension vendorParameters = 2; - - // Requests describes all resources that are needed from the driver. - // +listType=atomic - repeated ResourceRequest requests = 3; -} - -// NamedResourcesAllocationResult is used in AllocationResultModel. -message NamedResourcesAllocationResult { - // Name is the name of the selected resource instance. - optional string name = 1; -} - -// NamedResourcesAttribute is a combination of an attribute name and its value. -message NamedResourcesAttribute { - // Name is unique identifier among all resource instances managed by - // the driver on the node. It must be a DNS subdomain. - optional string name = 1; - - optional NamedResourcesAttributeValue attributeValue = 2; -} - -// NamedResourcesAttributeValue must have one and only one field set. -message NamedResourcesAttributeValue { - // QuantityValue is a quantity. - optional apimachinery.pkg.api.resource.Quantity quantity = 6; - - // BoolValue is a true/false value. - optional bool bool = 2; - - // IntValue is a 64-bit integer. - optional int64 int = 7; - - // IntSliceValue is an array of 64-bit integers. - optional NamedResourcesIntSlice intSlice = 8; - - // StringValue is a string. - optional string string = 5; - - // StringSliceValue is an array of strings. - optional NamedResourcesStringSlice stringSlice = 9; - - // VersionValue is a semantic version according to semver.org spec 2.0.0. - optional string version = 10; -} - -// NamedResourcesFilter is used in ResourceFilterModel. -message NamedResourcesFilter { - // Selector is a CEL expression which must evaluate to true if a - // resource instance is suitable. The language is as defined in - // https://kubernetes.io/docs/reference/using-api/cel/ - // - // In addition, for each type NamedResourcesin AttributeValue there is a map that - // resolves to the corresponding value of the instance under evaluation. - // For example: - // - // attributes.quantity["a"].isGreaterThan(quantity("0")) && - // attributes.stringslice["b"].isSorted() - optional string selector = 1; -} - -// NamedResourcesInstance represents one individual hardware instance that can be selected based -// on its attributes. -message NamedResourcesInstance { - // Name is unique identifier among all resource instances managed by - // the driver on the node. It must be a DNS subdomain. - optional string name = 1; - - // Attributes defines the attributes of this resource instance. - // The name of each attribute must be unique. - // - // +listType=atomic - // +optional - repeated NamedResourcesAttribute attributes = 2; -} - -// NamedResourcesIntSlice contains a slice of 64-bit integers. -message NamedResourcesIntSlice { - // Ints is the slice of 64-bit integers. - // - // +listType=atomic - repeated int64 ints = 1; -} - -// NamedResourcesRequest is used in ResourceRequestModel. -message NamedResourcesRequest { - // Selector is a CEL expression which must evaluate to true if a - // resource instance is suitable. The language is as defined in - // https://kubernetes.io/docs/reference/using-api/cel/ - // - // In addition, for each type NamedResourcesin AttributeValue there is a map that - // resolves to the corresponding value of the instance under evaluation. - // For example: - // - // attributes.quantity["a"].isGreaterThan(quantity("0")) && - // attributes.stringslice["b"].isSorted() - optional string selector = 1; -} - -// NamedResourcesResources is used in ResourceModel. -message NamedResourcesResources { - // The list of all individual resources instances currently available. - // - // +listType=atomic - repeated NamedResourcesInstance instances = 1; -} - -// NamedResourcesStringSlice contains a slice of strings. -message NamedResourcesStringSlice { - // Strings is the slice of strings. - // - // +listType=atomic - repeated string strings = 1; -} - -// PodSchedulingContext objects hold information that is needed to schedule -// a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation -// mode. -// -// This is an alpha type and requires enabling the DynamicResourceAllocation -// feature gate. -message PodSchedulingContext { - // Standard object metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // Spec describes where resources for the Pod are needed. - optional PodSchedulingContextSpec spec = 2; - - // Status describes where resources for the Pod can be allocated. - // +optional - optional PodSchedulingContextStatus status = 3; -} - -// PodSchedulingContextList is a collection of Pod scheduling objects. -message PodSchedulingContextList { - // Standard list metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - - // Items is the list of PodSchedulingContext objects. - repeated PodSchedulingContext items = 2; -} - -// PodSchedulingContextSpec describes where resources for the Pod are needed. -message PodSchedulingContextSpec { - // SelectedNode is the node for which allocation of ResourceClaims that - // are referenced by the Pod and that use "WaitForFirstConsumer" - // allocation is to be attempted. - // +optional - optional string selectedNode = 1; - - // PotentialNodes lists nodes where the Pod might be able to run. - // - // The size of this field is limited to 128. This is large enough for - // many clusters. Larger clusters may need more attempts to find a node - // that suits all pending resources. This may get increased in the - // future, but not reduced. - // - // +listType=atomic - // +optional - repeated string potentialNodes = 2; -} - -// PodSchedulingContextStatus describes where resources for the Pod can be allocated. -message PodSchedulingContextStatus { - // ResourceClaims describes resource availability for each - // pod.spec.resourceClaim entry where the corresponding ResourceClaim - // uses "WaitForFirstConsumer" allocation mode. - // - // +listType=map - // +listMapKey=name - // +optional - repeated ResourceClaimSchedulingStatus resourceClaims = 1; -} - -// ResourceClaim describes which resources are needed by a resource consumer. -// Its status tracks whether the resource has been allocated and what the -// resulting attributes are. -// -// This is an alpha type and requires enabling the DynamicResourceAllocation -// feature gate. -message ResourceClaim { - // Standard object metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // Spec describes the desired attributes of a resource that then needs - // to be allocated. It can only be set once when creating the - // ResourceClaim. - optional ResourceClaimSpec spec = 2; - - // Status describes whether the resource is available and with which - // attributes. - // +optional - optional ResourceClaimStatus status = 3; -} - -// ResourceClaimConsumerReference contains enough information to let you -// locate the consumer of a ResourceClaim. The user must be a resource in the same -// namespace as the ResourceClaim. -message ResourceClaimConsumerReference { - // APIGroup is the group for the resource being referenced. It is - // empty for the core API. This matches the group in the APIVersion - // that is used when creating the resources. - // +optional - optional string apiGroup = 1; - - // Resource is the type of resource being referenced, for example "pods". - optional string resource = 3; - - // Name is the name of resource being referenced. - optional string name = 4; - - // UID identifies exactly one incarnation of the resource. - optional string uid = 5; -} - -// ResourceClaimList is a collection of claims. -message ResourceClaimList { - // Standard list metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - - // Items is the list of resource claims. - repeated ResourceClaim items = 2; -} - -// ResourceClaimParameters defines resource requests for a ResourceClaim in an -// in-tree format understood by Kubernetes. -message ResourceClaimParameters { - // Standard object metadata - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // If this object was created from some other resource, then this links - // back to that resource. This field is used to find the in-tree representation - // of the claim parameters when the parameter reference of the claim refers - // to some unknown type. - // +optional - optional ResourceClaimParametersReference generatedFrom = 2; - - // Shareable indicates whether the allocated claim is meant to be shareable - // by multiple consumers at the same time. - // +optional - optional bool shareable = 3; - - // DriverRequests describes all resources that are needed for the - // allocated claim. A single claim may use resources coming from - // different drivers. For each driver, this array has at most one - // entry which then may have one or more per-driver requests. - // - // May be empty, in which case the claim can always be allocated. - // - // +listType=atomic - repeated DriverRequests driverRequests = 4; -} - -// ResourceClaimParametersList is a collection of ResourceClaimParameters. -message ResourceClaimParametersList { - // Standard list metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - - // Items is the list of node resource capacity objects. - repeated ResourceClaimParameters items = 2; -} - -// ResourceClaimParametersReference contains enough information to let you -// locate the parameters for a ResourceClaim. The object must be in the same -// namespace as the ResourceClaim. -message ResourceClaimParametersReference { - // APIGroup is the group for the resource being referenced. It is - // empty for the core API. This matches the group in the APIVersion - // that is used when creating the resources. - // +optional - optional string apiGroup = 1; - - // Kind is the type of resource being referenced. This is the same - // value as in the parameter object's metadata, for example "ConfigMap". - optional string kind = 2; - - // Name is the name of resource being referenced. - optional string name = 3; -} - -// ResourceClaimSchedulingStatus contains information about one particular -// ResourceClaim with "WaitForFirstConsumer" allocation mode. -message ResourceClaimSchedulingStatus { - // Name matches the pod.spec.resourceClaims[*].Name field. - // +optional - optional string name = 1; - - // UnsuitableNodes lists nodes that the ResourceClaim cannot be - // allocated for. - // - // The size of this field is limited to 128, the same as for - // PodSchedulingSpec.PotentialNodes. This may get increased in the - // future, but not reduced. - // - // +listType=atomic - // +optional - repeated string unsuitableNodes = 2; -} - -// ResourceClaimSpec defines how a resource is to be allocated. -message ResourceClaimSpec { - // ResourceClassName references the driver and additional parameters - // via the name of a ResourceClass that was created as part of the - // driver deployment. - optional string resourceClassName = 1; - - // ParametersRef references a separate object with arbitrary parameters - // that will be used by the driver when allocating a resource for the - // claim. - // - // The object must be in the same namespace as the ResourceClaim. - // +optional - optional ResourceClaimParametersReference parametersRef = 2; - - // Allocation can start immediately or when a Pod wants to use the - // resource. "WaitForFirstConsumer" is the default. - // +optional - optional string allocationMode = 3; -} - -// ResourceClaimStatus tracks whether the resource has been allocated and what -// the resulting attributes are. -message ResourceClaimStatus { - // DriverName is a copy of the driver name from the ResourceClass at - // the time when allocation started. - // +optional - optional string driverName = 1; - - // Allocation is set by the resource driver once a resource or set of - // resources has been allocated successfully. If this is not specified, the - // resources have not been allocated yet. - // +optional - optional AllocationResult allocation = 2; - - // ReservedFor indicates which entities are currently allowed to use - // the claim. A Pod which references a ResourceClaim which is not - // reserved for that Pod will not be started. - // - // There can be at most 32 such reservations. This may get increased in - // the future, but not reduced. - // - // +listType=map - // +listMapKey=uid - // +patchStrategy=merge - // +patchMergeKey=uid - // +optional - repeated ResourceClaimConsumerReference reservedFor = 3; - - // DeallocationRequested indicates that a ResourceClaim is to be - // deallocated. - // - // The driver then must deallocate this claim and reset the field - // together with clearing the Allocation field. - // - // While DeallocationRequested is set, no new consumers may be added to - // ReservedFor. - // +optional - optional bool deallocationRequested = 4; -} - -// ResourceClaimTemplate is used to produce ResourceClaim objects. -message ResourceClaimTemplate { - // Standard object metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // Describes the ResourceClaim that is to be generated. - // - // This field is immutable. A ResourceClaim will get created by the - // control plane for a Pod when needed and then not get updated - // anymore. - optional ResourceClaimTemplateSpec spec = 2; -} - -// ResourceClaimTemplateList is a collection of claim templates. -message ResourceClaimTemplateList { - // Standard list metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - - // Items is the list of resource claim templates. - repeated ResourceClaimTemplate items = 2; -} - -// ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim. -message ResourceClaimTemplateSpec { - // ObjectMeta may contain labels and annotations that will be copied into the PVC - // when creating it. No other fields are allowed and will be rejected during - // validation. - // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // Spec for the ResourceClaim. The entire content is copied unchanged - // into the ResourceClaim that gets created from this template. The - // same fields as in a ResourceClaim are also valid here. - optional ResourceClaimSpec spec = 2; -} - -// ResourceClass is used by administrators to influence how resources -// are allocated. -// -// This is an alpha type and requires enabling the DynamicResourceAllocation -// feature gate. -message ResourceClass { - // Standard object metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // DriverName defines the name of the dynamic resource driver that is - // used for allocation of a ResourceClaim that uses this class. - // - // Resource drivers have a unique name in forward domain order - // (acme.example.com). - optional string driverName = 2; - - // ParametersRef references an arbitrary separate object that may hold - // parameters that will be used by the driver when allocating a - // resource that uses this class. A dynamic resource driver can - // distinguish between parameters stored here and and those stored in - // ResourceClaimSpec. - // +optional - optional ResourceClassParametersReference parametersRef = 3; - - // Only nodes matching the selector will be considered by the scheduler - // when trying to find a Node that fits a Pod when that Pod uses - // a ResourceClaim that has not been allocated yet. - // - // Setting this field is optional. If null, all nodes are candidates. - // +optional - optional api.core.v1.NodeSelector suitableNodes = 4; - - // If and only if allocation of claims using this class is handled - // via structured parameters, then StructuredParameters must be set to true. - // +optional - optional bool structuredParameters = 5; -} - -// ResourceClassList is a collection of classes. -message ResourceClassList { - // Standard list metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - - // Items is the list of resource classes. - repeated ResourceClass items = 2; -} - -// ResourceClassParameters defines resource requests for a ResourceClass in an -// in-tree format understood by Kubernetes. -message ResourceClassParameters { - // Standard object metadata - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // If this object was created from some other resource, then this links - // back to that resource. This field is used to find the in-tree representation - // of the class parameters when the parameter reference of the class refers - // to some unknown type. - // +optional - optional ResourceClassParametersReference generatedFrom = 2; - - // VendorParameters are arbitrary setup parameters for all claims using - // this class. They are ignored while allocating the claim. There must - // not be more than one entry per driver. - // - // +listType=atomic - // +optional - repeated VendorParameters vendorParameters = 3; - - // Filters describes additional contraints that must be met when using the class. - // - // +listType=atomic - repeated ResourceFilter filters = 4; -} - -// ResourceClassParametersList is a collection of ResourceClassParameters. -message ResourceClassParametersList { - // Standard list metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - - // Items is the list of node resource capacity objects. - repeated ResourceClassParameters items = 2; -} - -// ResourceClassParametersReference contains enough information to let you -// locate the parameters for a ResourceClass. -message ResourceClassParametersReference { - // APIGroup is the group for the resource being referenced. It is - // empty for the core API. This matches the group in the APIVersion - // that is used when creating the resources. - // +optional - optional string apiGroup = 1; - - // Kind is the type of resource being referenced. This is the same - // value as in the parameter object's metadata. - optional string kind = 2; - - // Name is the name of resource being referenced. - optional string name = 3; - - // Namespace that contains the referenced resource. Must be empty - // for cluster-scoped resources and non-empty for namespaced - // resources. - // +optional - optional string namespace = 4; -} - -// ResourceFilter is a filter for resources from one particular driver. -message ResourceFilter { - // DriverName is the name used by the DRA driver kubelet plugin. - optional string driverName = 1; - - optional ResourceFilterModel resourceFilterModel = 2; -} - -// ResourceFilterModel must have one and only one field set. -message ResourceFilterModel { - // NamedResources describes a resource filter using the named resources model. - // - // +optional - optional NamedResourcesFilter namedResources = 1; -} - -// ResourceHandle holds opaque resource data for processing by a specific kubelet plugin. -message ResourceHandle { - // DriverName specifies the name of the resource driver whose kubelet - // plugin should be invoked to process this ResourceHandle's data once it - // lands on a node. This may differ from the DriverName set in - // ResourceClaimStatus this ResourceHandle is embedded in. - optional string driverName = 1; - - // Data contains the opaque data associated with this ResourceHandle. It is - // set by the controller component of the resource driver whose name - // matches the DriverName set in the ResourceClaimStatus this - // ResourceHandle is embedded in. It is set at allocation time and is - // intended for processing by the kubelet plugin whose name matches - // the DriverName set in this ResourceHandle. - // - // The maximum size of this field is 16KiB. This may get increased in the - // future, but not reduced. - // +optional - optional string data = 2; - - // If StructuredData is set, then it needs to be used instead of Data. - // - // +optional - optional StructuredResourceHandle structuredData = 5; -} - -// ResourceModel must have one and only one field set. -message ResourceModel { - // NamedResources describes available resources using the named resources model. - // - // +optional - optional NamedResourcesResources namedResources = 1; -} - -// ResourceRequest is a request for resources from one particular driver. -message ResourceRequest { - // VendorParameters are arbitrary setup parameters for the requested - // resource. They are ignored while allocating a claim. - // - // +optional - optional apimachinery.pkg.runtime.RawExtension vendorParameters = 1; - - optional ResourceRequestModel resourceRequestModel = 2; -} - -// ResourceRequestModel must have one and only one field set. -message ResourceRequestModel { - // NamedResources describes a request for resources with the named resources model. - // - // +optional - optional NamedResourcesRequest namedResources = 1; -} - -// ResourceSlice provides information about available -// resources on individual nodes. -message ResourceSlice { - // Standard object metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - - // NodeName identifies the node which provides the resources - // if they are local to a node. - // - // A field selector can be used to list only ResourceSlice - // objects with a certain node name. - // - // +optional - optional string nodeName = 2; - - // DriverName identifies the DRA driver providing the capacity information. - // A field selector can be used to list only ResourceSlice - // objects with a certain driver name. - optional string driverName = 3; - - optional ResourceModel resourceModel = 4; -} - -// ResourceSliceList is a collection of ResourceSlices. -message ResourceSliceList { - // Standard list metadata - // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - - // Items is the list of node resource capacity objects. - repeated ResourceSlice items = 2; -} - -// StructuredResourceHandle is the in-tree representation of the allocation result. -message StructuredResourceHandle { - // VendorClassParameters are the per-claim configuration parameters - // from the resource class at the time that the claim was allocated. - // - // +optional - optional apimachinery.pkg.runtime.RawExtension vendorClassParameters = 1; - - // VendorClaimParameters are the per-claim configuration parameters - // from the resource claim parameters at the time that the claim was - // allocated. - // - // +optional - optional apimachinery.pkg.runtime.RawExtension vendorClaimParameters = 2; - - // NodeName is the name of the node providing the necessary resources - // if the resources are local to a node. - // - // +optional - optional string nodeName = 4; - - // Results lists all allocated driver resources. - // - // +listType=atomic - repeated DriverAllocationResult results = 5; -} - -// VendorParameters are opaque parameters for one particular driver. -message VendorParameters { - // DriverName is the name used by the DRA driver kubelet plugin. - optional string driverName = 1; - - // Parameters can be arbitrary setup parameters. They are ignored while - // allocating a claim. - // - // +optional - optional apimachinery.pkg.runtime.RawExtension parameters = 2; -} - diff --git a/k8s-pb-codegen/protos/api/resource/v1alpha3/generated.proto b/k8s-pb-codegen/protos/api/resource/v1alpha3/generated.proto new file mode 100644 index 0000000..6d65d65 --- /dev/null +++ b/k8s-pb-codegen/protos/api/resource/v1alpha3/generated.proto @@ -0,0 +1,912 @@ +/* +Copyright 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. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = "proto2"; + +package api.resource.v1alpha3; + +import "api/core/v1/generated.proto"; +import "apimachinery/pkg/api/resource/generated.proto"; +import "apimachinery/pkg/apis/meta/v1/generated.proto"; +import "apimachinery/pkg/runtime/generated.proto"; +import "apimachinery/pkg/runtime/schema/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "k8s.io/api/resource/v1alpha3"; + +// AllocationResult contains attributes of an allocated resource. +message AllocationResult { + // Devices is the result of allocating devices. + // + // +optional + optional DeviceAllocationResult devices = 1; + + // NodeSelector defines where the allocated resources are available. If + // unset, they are available everywhere. + // + // +optional + optional .api.core.v1.NodeSelector nodeSelector = 3; + + // Controller is the name of the DRA driver which handled the + // allocation. That driver is also responsible for deallocating the + // claim. It is empty when the claim can be deallocated without + // involving a driver. + // + // A driver may allocate devices provided by other drivers, so this + // driver name here can be different from the driver names listed for + // the results. + // + // This is an alpha field and requires enabling the DRAControlPlaneController + // feature gate. + // + // +optional + // +featureGate=DRAControlPlaneController + optional string controller = 4; +} + +// BasicDevice defines one device instance. +message BasicDevice { + // Attributes defines the set of attributes for this device. + // The name of each attribute must be unique in that set. + // + // The maximum number of attributes and capacities combined is 32. + // + // +optional + map attributes = 1; + + // Capacity defines the set of capacities for this device. + // The name of each capacity must be unique in that set. + // + // The maximum number of attributes and capacities combined is 32. + // + // +optional + map capacity = 2; +} + +// CELDeviceSelector contains a CEL expression for selecting a device. +message CELDeviceSelector { + // Expression is a CEL expression which evaluates a single device. It + // must evaluate to true when the device under consideration satisfies + // the desired criteria, and false when it does not. Any other result + // is an error and causes allocation of devices to abort. + // + // The expression's input is an object named "device", which carries + // the following properties: + // - driver (string): the name of the driver which defines this device. + // - attributes (map[string]object): the device's attributes, grouped by prefix + // (e.g. device.attributes["dra.example.com"] evaluates to an object with all + // of the attributes which were prefixed by "dra.example.com". + // - capacity (map[string]object): the device's capacities, grouped by prefix. + // + // Example: Consider a device with driver="dra.example.com", which exposes + // two attributes named "model" and "ext.example.com/family" and which + // exposes one capacity named "modules". This input to this expression + // would have the following fields: + // + // device.driver + // device.attributes["dra.example.com"].model + // device.attributes["ext.example.com"].family + // device.capacity["dra.example.com"].modules + // + // The device.driver field can be used to check for a specific driver, + // either as a high-level precondition (i.e. you only want to consider + // devices from this driver) or as part of a multi-clause expression + // that is meant to consider devices from different drivers. + // + // The value type of each attribute is defined by the device + // definition, and users who write these expressions must consult the + // documentation for their specific drivers. The value type of each + // capacity is Quantity. + // + // If an unknown prefix is used as a lookup in either device.attributes + // or device.capacity, an empty map will be returned. Any reference to + // an unknown field will cause an evaluation error and allocation to + // abort. + // + // A robust expression should check for the existence of attributes + // before referencing them. + // + // For ease of use, the cel.bind() function is enabled, and can be used + // to simplify expressions that access multiple attributes with the + // same domain. For example: + // + // cel.bind(dra, device.attributes["dra.example.com"], dra.someBool && dra.anotherBool) + // + // +required + optional string expression = 1; +} + +// Device represents one individual hardware instance that can be selected based +// on its attributes. Besides the name, exactly one field must be set. +message Device { + // Name is unique identifier among all devices managed by + // the driver in the pool. It must be a DNS label. + // + // +required + optional string name = 1; + + // Basic defines one device instance. + // + // +optional + // +oneOf=deviceType + optional BasicDevice basic = 2; +} + +// DeviceAllocationConfiguration gets embedded in an AllocationResult. +message DeviceAllocationConfiguration { + // Source records whether the configuration comes from a class and thus + // is not something that a normal user would have been able to set + // or from a claim. + // + // +required + optional string source = 1; + + // Requests lists the names of requests where the configuration applies. + // If empty, its applies to all requests. + // + // +optional + // +listType=atomic + repeated string requests = 2; + + optional DeviceConfiguration deviceConfiguration = 3; +} + +// DeviceAllocationResult is the result of allocating devices. +message DeviceAllocationResult { + // Results lists all allocated devices. + // + // +optional + // +listType=atomic + repeated DeviceRequestAllocationResult results = 1; + + // This field is a combination of all the claim and class configuration parameters. + // Drivers can distinguish between those based on a flag. + // + // This includes configuration parameters for drivers which have no allocated + // devices in the result because it is up to the drivers which configuration + // parameters they support. They can silently ignore unknown configuration + // parameters. + // + // +optional + // +listType=atomic + repeated DeviceAllocationConfiguration config = 2; +} + +// DeviceAttribute must have exactly one field set. +message DeviceAttribute { + // IntValue is a number. + // + // +optional + // +oneOf=ValueType + optional int64 int = 2; + + // BoolValue is a true/false value. + // + // +optional + // +oneOf=ValueType + optional bool bool = 3; + + // StringValue is a string. Must not be longer than 64 characters. + // + // +optional + // +oneOf=ValueType + optional string string = 4; + + // VersionValue is a semantic version according to semver.org spec 2.0.0. + // Must not be longer than 64 characters. + // + // +optional + // +oneOf=ValueType + optional string version = 5; +} + +// DeviceClaim defines how to request devices with a ResourceClaim. +message DeviceClaim { + // Requests represent individual requests for distinct devices which + // must all be satisfied. If empty, nothing needs to be allocated. + // + // +optional + // +listType=atomic + repeated DeviceRequest requests = 1; + + // These constraints must be satisfied by the set of devices that get + // allocated for the claim. + // + // +optional + // +listType=atomic + repeated DeviceConstraint constraints = 2; + + // This field holds configuration for multiple potential drivers which + // could satisfy requests in this claim. It is ignored while allocating + // the claim. + // + // +optional + // +listType=atomic + repeated DeviceClaimConfiguration config = 3; +} + +// DeviceClaimConfiguration is used for configuration parameters in DeviceClaim. +message DeviceClaimConfiguration { + // Requests lists the names of requests where the configuration applies. + // If empty, it applies to all requests. + // + // +optional + // +listType=atomic + repeated string requests = 1; + + optional DeviceConfiguration deviceConfiguration = 2; +} + +// DeviceClass is a vendor- or admin-provided resource that contains +// device configuration and selectors. It can be referenced in +// the device requests of a claim to apply these presets. +// Cluster scoped. +// +// This is an alpha type and requires enabling the DynamicResourceAllocation +// feature gate. +message DeviceClass { + // Standard object metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec defines what can be allocated and how to configure it. + // + // This is mutable. Consumers have to be prepared for classes changing + // at any time, either because they get updated or replaced. Claim + // allocations are done once based on whatever was set in classes at + // the time of allocation. + // + // Changing the spec automatically increments the metadata.generation number. + optional DeviceClassSpec spec = 2; +} + +// DeviceClassConfiguration is used in DeviceClass. +message DeviceClassConfiguration { + optional DeviceConfiguration deviceConfiguration = 1; +} + +// DeviceClassList is a collection of classes. +message DeviceClassList { + // Standard list metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of resource classes. + repeated DeviceClass items = 2; +} + +// DeviceClassSpec is used in a [DeviceClass] to define what can be allocated +// and how to configure it. +message DeviceClassSpec { + // Each selector must be satisfied by a device which is claimed via this class. + // + // +optional + // +listType=atomic + repeated DeviceSelector selectors = 1; + + // Config defines configuration parameters that apply to each device that is claimed via this class. + // Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor + // configuration applies to exactly one driver. + // + // They are passed to the driver, but are not considered while allocating the claim. + // + // +optional + // +listType=atomic + repeated DeviceClassConfiguration config = 2; + + // Only nodes matching the selector will be considered by the scheduler + // when trying to find a Node that fits a Pod when that Pod uses + // a claim that has not been allocated yet *and* that claim + // gets allocated through a control plane controller. It is ignored + // when the claim does not use a control plane controller + // for allocation. + // + // Setting this field is optional. If unset, all Nodes are candidates. + // + // This is an alpha field and requires enabling the DRAControlPlaneController + // feature gate. + // + // +optional + // +featureGate=DRAControlPlaneController + optional .api.core.v1.NodeSelector suitableNodes = 3; +} + +// DeviceConfiguration must have exactly one field set. It gets embedded +// inline in some other structs which have other fields, so field names must +// not conflict with those. +message DeviceConfiguration { + // Opaque provides driver-specific configuration parameters. + // + // +optional + // +oneOf=ConfigurationType + optional OpaqueDeviceConfiguration opaque = 1; +} + +// DeviceConstraint must have exactly one field set besides Requests. +message DeviceConstraint { + // Requests is a list of the one or more requests in this claim which + // must co-satisfy this constraint. If a request is fulfilled by + // multiple devices, then all of the devices must satisfy the + // constraint. If this is not specified, this constraint applies to all + // requests in this claim. + // + // +optional + // +listType=atomic + repeated string requests = 1; + + // MatchAttribute requires that all devices in question have this + // attribute and that its type and value are the same across those + // devices. + // + // For example, if you specified "dra.example.com/numa" (a hypothetical example!), + // then only devices in the same NUMA node will be chosen. A device which + // does not have that attribute will not be chosen. All devices should + // use a value of the same type for this attribute because that is part of + // its specification, but if one device doesn't, then it also will not be + // chosen. + // + // Must include the domain qualifier. + // + // +optional + // +oneOf=ConstraintType + optional string matchAttribute = 2; +} + +// DeviceRequest is a request for devices required for a claim. +// This is typically a request for a single resource like a device, but can +// also ask for several identical devices. +// +// A DeviceClassName is currently required. Clients must check that it is +// indeed set. It's absence indicates that something changed in a way that +// is not supported by the client yet, in which case it must refuse to +// handle the request. +message DeviceRequest { + // Name can be used to reference this request in a pod.spec.containers[].resources.claims + // entry and in a constraint of the claim. + // + // Must be a DNS label. + // + // +required + optional string name = 1; + + // DeviceClassName references a specific DeviceClass, which can define + // additional configuration and selectors to be inherited by this + // request. + // + // A class is required. Which classes are available depends on the cluster. + // + // Administrators may use this to restrict which devices may get + // requested by only installing classes with selectors for permitted + // devices. If users are free to request anything without restrictions, + // then administrators can create an empty DeviceClass for users + // to reference. + // + // +required + optional string deviceClassName = 2; + + // Selectors define criteria which must be satisfied by a specific + // device in order for that device to be considered for this + // request. All selectors must be satisfied for a device to be + // considered. + // + // +optional + // +listType=atomic + repeated DeviceSelector selectors = 3; + + // AllocationMode and its related fields define how devices are allocated + // to satisfy this request. Supported values are: + // + // - ExactCount: This request is for a specific number of devices. + // This is the default. The exact number is provided in the + // count field. + // + // - All: This request is for all of the matching devices in a pool. + // Allocation will fail if some devices are already allocated, + // unless adminAccess is requested. + // + // If AlloctionMode is not specified, the default mode is ExactCount. If + // the mode is ExactCount and count is not specified, the default count is + // one. Any other requests must specify this field. + // + // More modes may get added in the future. Clients must refuse to handle + // requests with unknown modes. + // + // +optional + optional string allocationMode = 4; + + // Count is used only when the count mode is "ExactCount". Must be greater than zero. + // If AllocationMode is ExactCount and this field is not specified, the default is one. + // + // +optional + // +oneOf=AllocationMode + optional int64 count = 5; + + // AdminAccess indicates that this is a claim for administrative access + // to the device(s). Claims with AdminAccess are expected to be used for + // monitoring or other management services for a device. They ignore + // all ordinary claims to the device with respect to access modes and + // any resource allocations. + // + // +optional + // +default=false + optional bool adminAccess = 6; +} + +// DeviceRequestAllocationResult contains the allocation result for one request. +message DeviceRequestAllocationResult { + // Request is the name of the request in the claim which caused this + // device to be allocated. Multiple devices may have been allocated + // per request. + // + // +required + optional string request = 1; + + // Driver specifies the name of the DRA driver whose kubelet + // plugin should be invoked to process the allocation once the claim is + // needed on a node. + // + // Must be a DNS subdomain and should end with a DNS domain owned by the + // vendor of the driver. + // + // +required + optional string driver = 2; + + // This name together with the driver name and the device name field + // identify which device was allocated (`//`). + // + // Must not be longer than 253 characters and may contain one or more + // DNS sub-domains separated by slashes. + // + // +required + optional string pool = 3; + + // Device references one device instance via its name in the driver's + // resource pool. It must be a DNS label. + // + // +required + optional string device = 4; +} + +// DeviceSelector must have exactly one field set. +message DeviceSelector { + // CEL contains a CEL expression for selecting a device. + // + // +optional + // +oneOf=SelectorType + optional CELDeviceSelector cel = 1; +} + +// OpaqueDeviceConfiguration contains configuration parameters for a driver +// in a format defined by the driver vendor. +message OpaqueDeviceConfiguration { + // Driver is used to determine which kubelet plugin needs + // to be passed these configuration parameters. + // + // An admission policy provided by the driver developer could use this + // to decide whether it needs to validate them. + // + // Must be a DNS subdomain and should end with a DNS domain owned by the + // vendor of the driver. + // + // +required + optional string driver = 1; + + // Parameters can contain arbitrary data. It is the responsibility of + // the driver developer to handle validation and versioning. Typically this + // includes self-identification and a version ("kind" + "apiVersion" for + // Kubernetes types), with conversion between different versions. + // + // +required + optional .apimachinery.pkg.runtime.RawExtension parameters = 2; +} + +// PodSchedulingContext objects hold information that is needed to schedule +// a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation +// mode. +// +// This is an alpha type and requires enabling the DRAControlPlaneController +// feature gate. +message PodSchedulingContext { + // Standard object metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec describes where resources for the Pod are needed. + optional PodSchedulingContextSpec spec = 2; + + // Status describes where resources for the Pod can be allocated. + // + // +optional + optional PodSchedulingContextStatus status = 3; +} + +// PodSchedulingContextList is a collection of Pod scheduling objects. +message PodSchedulingContextList { + // Standard list metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of PodSchedulingContext objects. + repeated PodSchedulingContext items = 2; +} + +// PodSchedulingContextSpec describes where resources for the Pod are needed. +message PodSchedulingContextSpec { + // SelectedNode is the node for which allocation of ResourceClaims that + // are referenced by the Pod and that use "WaitForFirstConsumer" + // allocation is to be attempted. + // + // +optional + optional string selectedNode = 1; + + // PotentialNodes lists nodes where the Pod might be able to run. + // + // The size of this field is limited to 128. This is large enough for + // many clusters. Larger clusters may need more attempts to find a node + // that suits all pending resources. This may get increased in the + // future, but not reduced. + // + // +optional + // +listType=atomic + repeated string potentialNodes = 2; +} + +// PodSchedulingContextStatus describes where resources for the Pod can be allocated. +message PodSchedulingContextStatus { + // ResourceClaims describes resource availability for each + // pod.spec.resourceClaim entry where the corresponding ResourceClaim + // uses "WaitForFirstConsumer" allocation mode. + // + // +listType=map + // +listMapKey=name + // +optional + repeated ResourceClaimSchedulingStatus resourceClaims = 1; +} + +// ResourceClaim describes a request for access to resources in the cluster, +// for use by workloads. For example, if a workload needs an accelerator device +// with specific properties, this is how that request is expressed. The status +// stanza tracks whether this claim has been satisfied and what specific +// resources have been allocated. +// +// This is an alpha type and requires enabling the DynamicResourceAllocation +// feature gate. +message ResourceClaim { + // Standard object metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec describes what is being requested and how to configure it. + // The spec is immutable. + optional ResourceClaimSpec spec = 2; + + // Status describes whether the claim is ready to use and what has been allocated. + // +optional + optional ResourceClaimStatus status = 3; +} + +// ResourceClaimConsumerReference contains enough information to let you +// locate the consumer of a ResourceClaim. The user must be a resource in the same +// namespace as the ResourceClaim. +message ResourceClaimConsumerReference { + // APIGroup is the group for the resource being referenced. It is + // empty for the core API. This matches the group in the APIVersion + // that is used when creating the resources. + // +optional + optional string apiGroup = 1; + + // Resource is the type of resource being referenced, for example "pods". + // +required + optional string resource = 3; + + // Name is the name of resource being referenced. + // +required + optional string name = 4; + + // UID identifies exactly one incarnation of the resource. + // +required + optional string uid = 5; +} + +// ResourceClaimList is a collection of claims. +message ResourceClaimList { + // Standard list metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of resource claims. + repeated ResourceClaim items = 2; +} + +// ResourceClaimSchedulingStatus contains information about one particular +// ResourceClaim with "WaitForFirstConsumer" allocation mode. +message ResourceClaimSchedulingStatus { + // Name matches the pod.spec.resourceClaims[*].Name field. + // + // +required + optional string name = 1; + + // UnsuitableNodes lists nodes that the ResourceClaim cannot be + // allocated for. + // + // The size of this field is limited to 128, the same as for + // PodSchedulingSpec.PotentialNodes. This may get increased in the + // future, but not reduced. + // + // +optional + // +listType=atomic + repeated string unsuitableNodes = 2; +} + +// ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it. +message ResourceClaimSpec { + // Devices defines how to request devices. + // + // +optional + optional DeviceClaim devices = 1; + + // Controller is the name of the DRA driver that is meant + // to handle allocation of this claim. If empty, allocation is handled + // by the scheduler while scheduling a pod. + // + // Must be a DNS subdomain and should end with a DNS domain owned by the + // vendor of the driver. + // + // This is an alpha field and requires enabling the DRAControlPlaneController + // feature gate. + // + // +optional + // +featureGate=DRAControlPlaneController + optional string controller = 2; +} + +// ResourceClaimStatus tracks whether the resource has been allocated and what +// the result of that was. +message ResourceClaimStatus { + // Allocation is set once the claim has been allocated successfully. + // + // +optional + optional AllocationResult allocation = 1; + + // ReservedFor indicates which entities are currently allowed to use + // the claim. A Pod which references a ResourceClaim which is not + // reserved for that Pod will not be started. A claim that is in + // use or might be in use because it has been reserved must not get + // deallocated. + // + // In a cluster with multiple scheduler instances, two pods might get + // scheduled concurrently by different schedulers. When they reference + // the same ResourceClaim which already has reached its maximum number + // of consumers, only one pod can be scheduled. + // + // Both schedulers try to add their pod to the claim.status.reservedFor + // field, but only the update that reaches the API server first gets + // stored. The other one fails with an error and the scheduler + // which issued it knows that it must put the pod back into the queue, + // waiting for the ResourceClaim to become usable again. + // + // There can be at most 32 such reservations. This may get increased in + // the future, but not reduced. + // + // +optional + // +listType=map + // +listMapKey=uid + // +patchStrategy=merge + // +patchMergeKey=uid + repeated ResourceClaimConsumerReference reservedFor = 2; + + // Indicates that a claim is to be deallocated. While this is set, + // no new consumers may be added to ReservedFor. + // + // This is only used if the claim needs to be deallocated by a DRA driver. + // That driver then must deallocate this claim and reset the field + // together with clearing the Allocation field. + // + // This is an alpha field and requires enabling the DRAControlPlaneController + // feature gate. + // + // +optional + // +featureGate=DRAControlPlaneController + optional bool deallocationRequested = 3; +} + +// ResourceClaimTemplate is used to produce ResourceClaim objects. +// +// This is an alpha type and requires enabling the DynamicResourceAllocation +// feature gate. +message ResourceClaimTemplate { + // Standard object metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Describes the ResourceClaim that is to be generated. + // + // This field is immutable. A ResourceClaim will get created by the + // control plane for a Pod when needed and then not get updated + // anymore. + optional ResourceClaimTemplateSpec spec = 2; +} + +// ResourceClaimTemplateList is a collection of claim templates. +message ResourceClaimTemplateList { + // Standard list metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of resource claim templates. + repeated ResourceClaimTemplate items = 2; +} + +// ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim. +message ResourceClaimTemplateSpec { + // ObjectMeta may contain labels and annotations that will be copied into the PVC + // when creating it. No other fields are allowed and will be rejected during + // validation. + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec for the ResourceClaim. The entire content is copied unchanged + // into the ResourceClaim that gets created from this template. The + // same fields as in a ResourceClaim are also valid here. + optional ResourceClaimSpec spec = 2; +} + +// ResourcePool describes the pool that ResourceSlices belong to. +message ResourcePool { + // Name is used to identify the pool. For node-local devices, this + // is often the node name, but this is not required. + // + // It must not be longer than 253 characters and must consist of one or more DNS sub-domains + // separated by slashes. This field is immutable. + // + // +required + optional string name = 1; + + // Generation tracks the change in a pool over time. Whenever a driver + // changes something about one or more of the resources in a pool, it + // must change the generation in all ResourceSlices which are part of + // that pool. Consumers of ResourceSlices should only consider + // resources from the pool with the highest generation number. The + // generation may be reset by drivers, which should be fine for + // consumers, assuming that all ResourceSlices in a pool are updated to + // match or deleted. + // + // Combined with ResourceSliceCount, this mechanism enables consumers to + // detect pools which are comprised of multiple ResourceSlices and are + // in an incomplete state. + // + // +required + optional int64 generation = 2; + + // ResourceSliceCount is the total number of ResourceSlices in the pool at this + // generation number. Must be greater than zero. + // + // Consumers can use this to check whether they have seen all ResourceSlices + // belonging to the same pool. + // + // +required + optional int64 resourceSliceCount = 3; +} + +// ResourceSlice represents one or more resources in a pool of similar resources, +// managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many +// ResourceSlices comprise a pool is determined by the driver. +// +// At the moment, the only supported resources are devices with attributes and capacities. +// Each device in a given pool, regardless of how many ResourceSlices, must have a unique name. +// The ResourceSlice in which a device gets published may change over time. The unique identifier +// for a device is the tuple , , . +// +// Whenever a driver needs to update a pool, it increments the pool.Spec.Pool.Generation number +// and updates all ResourceSlices with that new number and new resource definitions. A consumer +// must only use ResourceSlices with the highest generation number and ignore all others. +// +// When allocating all resources in a pool matching certain criteria or when +// looking for the best solution among several different alternatives, a +// consumer should check the number of ResourceSlices in a pool (included in +// each ResourceSlice) to determine whether its view of a pool is complete and +// if not, should wait until the driver has completed updating the pool. +// +// For resources that are not local to a node, the node name is not set. Instead, +// the driver may use a node selector to specify where the devices are available. +// +// This is an alpha type and requires enabling the DynamicResourceAllocation +// feature gate. +message ResourceSlice { + // Standard object metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Contains the information published by the driver. + // + // Changing the spec automatically increments the metadata.generation number. + optional ResourceSliceSpec spec = 2; +} + +// ResourceSliceList is a collection of ResourceSlices. +message ResourceSliceList { + // Standard list metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of resource ResourceSlices. + repeated ResourceSlice items = 2; +} + +// ResourceSliceSpec contains the information published by the driver in one ResourceSlice. +message ResourceSliceSpec { + // Driver identifies the DRA driver providing the capacity information. + // A field selector can be used to list only ResourceSlice + // objects with a certain driver name. + // + // Must be a DNS subdomain and should end with a DNS domain owned by the + // vendor of the driver. This field is immutable. + // + // +required + optional string driver = 1; + + // Pool describes the pool that this ResourceSlice belongs to. + // + // +required + optional ResourcePool pool = 2; + + // NodeName identifies the node which provides the resources in this pool. + // A field selector can be used to list only ResourceSlice + // objects belonging to a certain node. + // + // This field can be used to limit access from nodes to ResourceSlices with + // the same node name. It also indicates to autoscalers that adding + // new nodes of the same type as some old node might also make new + // resources available. + // + // Exactly one of NodeName, NodeSelector and AllNodes must be set. + // This field is immutable. + // + // +optional + // +oneOf=NodeSelection + optional string nodeName = 3; + + // NodeSelector defines which nodes have access to the resources in the pool, + // when that pool is not limited to a single node. + // + // Must use exactly one term. + // + // Exactly one of NodeName, NodeSelector and AllNodes must be set. + // + // +optional + // +oneOf=NodeSelection + optional .api.core.v1.NodeSelector nodeSelector = 4; + + // AllNodes indicates that all nodes have access to the resources in the pool. + // + // Exactly one of NodeName, NodeSelector and AllNodes must be set. + // + // +optional + // +oneOf=NodeSelection + optional bool allNodes = 5; + + // Devices lists some or all of the devices in this pool. + // + // Must not have more than 128 entries. + // + // +optional + // +listType=atomic + repeated Device devices = 6; +} + diff --git a/k8s-pb-codegen/protos/api/scheduling/v1/generated.proto b/k8s-pb-codegen/protos/api/scheduling/v1/generated.proto index 4b2abc8..39f1fd5 100644 --- a/k8s-pb-codegen/protos/api/scheduling/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/scheduling/v1/generated.proto @@ -35,7 +35,7 @@ message PriorityClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // value represents the integer value of this priority class. This is the actual priority that pods // receive when they have the name of this class in their pod spec. @@ -66,7 +66,7 @@ message PriorityClassList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of PriorityClasses repeated PriorityClass items = 2; diff --git a/k8s-pb-codegen/protos/api/scheduling/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/scheduling/v1alpha1/generated.proto index 194be46..9adf562 100644 --- a/k8s-pb-codegen/protos/api/scheduling/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/scheduling/v1alpha1/generated.proto @@ -36,7 +36,7 @@ message PriorityClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // value represents the integer value of this priority class. This is the actual priority that pods // receive when they have the name of this class in their pod spec. @@ -67,7 +67,7 @@ message PriorityClassList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of PriorityClasses repeated PriorityClass items = 2; diff --git a/k8s-pb-codegen/protos/api/scheduling/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/scheduling/v1beta1/generated.proto index d7fd527..860b899 100644 --- a/k8s-pb-codegen/protos/api/scheduling/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/scheduling/v1beta1/generated.proto @@ -36,7 +36,7 @@ message PriorityClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // value represents the integer value of this priority class. This is the actual priority that pods // receive when they have the name of this class in their pod spec. @@ -67,7 +67,7 @@ message PriorityClassList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of PriorityClasses repeated PriorityClass items = 2; diff --git a/k8s-pb-codegen/protos/api/storage/v1/generated.proto b/k8s-pb-codegen/protos/api/storage/v1/generated.proto index faf4330..096aeb5 100644 --- a/k8s-pb-codegen/protos/api/storage/v1/generated.proto +++ b/k8s-pb-codegen/protos/api/storage/v1/generated.proto @@ -44,7 +44,7 @@ message CSIDriver { // an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and // alphanumerics between. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec represents the specification of the CSI Driver. optional CSIDriverSpec spec = 2; @@ -55,7 +55,7 @@ message CSIDriverList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CSIDriver repeated CSIDriver items = 2; @@ -226,7 +226,7 @@ message CSIDriverSpec { message CSINode { // Standard object's metadata. // metadata.name must be the Kubernetes node name. - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the specification of CSINode optional CSINodeSpec spec = 2; @@ -275,7 +275,7 @@ message CSINodeList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CSINode repeated CSINode items = 2; @@ -327,7 +327,7 @@ message CSIStorageCapacity { // // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // nodeTopology defines which nodes have access to the storage // for which capacity was reported. If not set, the storage is @@ -336,7 +336,7 @@ message CSIStorageCapacity { // immutable. // // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector nodeTopology = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector nodeTopology = 2; // storageClassName represents the name of the StorageClass that the reported capacity applies to. // It must meet the same requirements as the name of a StorageClass @@ -356,7 +356,7 @@ message CSIStorageCapacity { // unavailable. // // +optional - optional apimachinery.pkg.api.resource.Quantity capacity = 4; + optional .apimachinery.pkg.api.resource.Quantity capacity = 4; // maximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse // for a GetCapacityRequest with topology and parameters that match the @@ -370,7 +370,7 @@ message CSIStorageCapacity { // API is ResourceRequirements.Requests in a volume claim. // // +optional - optional apimachinery.pkg.api.resource.Quantity maximumVolumeSize = 5; + optional .apimachinery.pkg.api.resource.Quantity maximumVolumeSize = 5; } // CSIStorageCapacityList is a collection of CSIStorageCapacity objects. @@ -378,7 +378,7 @@ message CSIStorageCapacityList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CSIStorageCapacity objects. repeated CSIStorageCapacity items = 2; @@ -393,7 +393,7 @@ message StorageClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // provisioner indicates the type of the provisioner. optional string provisioner = 2; @@ -431,7 +431,7 @@ message StorageClass { // This field is only honored by servers that enable the VolumeScheduling feature. // +optional // +listType=atomic - repeated api.core.v1.TopologySelectorTerm allowedTopologies = 8; + repeated .api.core.v1.TopologySelectorTerm allowedTopologies = 8; } // StorageClassList is a collection of storage classes. @@ -439,7 +439,7 @@ message StorageClassList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of StorageClasses repeated StorageClass items = 2; @@ -466,7 +466,7 @@ message VolumeAttachment { // Standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec represents specification of the desired attach/detach volume behavior. // Populated by the Kubernetes system. @@ -484,7 +484,7 @@ message VolumeAttachmentList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of VolumeAttachments repeated VolumeAttachment items = 2; @@ -506,7 +506,7 @@ message VolumeAttachmentSource { // PersistentVolumeSpec. This field is beta-level and is only // honored by servers that enabled the CSIMigration feature. // +optional - optional api.core.v1.PersistentVolumeSpec inlineVolumeSpec = 2; + optional .api.core.v1.PersistentVolumeSpec inlineVolumeSpec = 2; } // VolumeAttachmentSpec is the specification of a VolumeAttachment request. @@ -554,7 +554,7 @@ message VolumeAttachmentStatus { message VolumeError { // time represents the time the error was encountered. // +optional - optional apimachinery.pkg.apis.meta.v1.Time time = 1; + optional .apimachinery.pkg.apis.meta.v1.Time time = 1; // message represents the error encountered during Attach or Detach operation. // This string may be logged, so it should not contain sensitive diff --git a/k8s-pb-codegen/protos/api/storage/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/storage/v1alpha1/generated.proto index 331ae3a..aaab033 100644 --- a/k8s-pb-codegen/protos/api/storage/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/storage/v1alpha1/generated.proto @@ -65,7 +65,7 @@ message CSIStorageCapacity { // // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // nodeTopology defines which nodes have access to the storage // for which capacity was reported. If not set, the storage is @@ -74,7 +74,7 @@ message CSIStorageCapacity { // immutable. // // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector nodeTopology = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector nodeTopology = 2; // storageClassName represents the name of the StorageClass that the reported capacity applies to. // It must meet the same requirements as the name of a StorageClass @@ -94,7 +94,7 @@ message CSIStorageCapacity { // unavailable. // // +optional - optional apimachinery.pkg.api.resource.Quantity capacity = 4; + optional .apimachinery.pkg.api.resource.Quantity capacity = 4; // maximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse // for a GetCapacityRequest with topology and parameters that match the @@ -108,7 +108,7 @@ message CSIStorageCapacity { // API is ResourceRequirements.Requests in a volume claim. // // +optional - optional apimachinery.pkg.api.resource.Quantity maximumVolumeSize = 5; + optional .apimachinery.pkg.api.resource.Quantity maximumVolumeSize = 5; } // CSIStorageCapacityList is a collection of CSIStorageCapacity objects. @@ -116,7 +116,7 @@ message CSIStorageCapacityList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CSIStorageCapacity objects. repeated CSIStorageCapacity items = 2; @@ -130,7 +130,7 @@ message VolumeAttachment { // Standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec represents specification of the desired attach/detach volume behavior. // Populated by the Kubernetes system. @@ -148,7 +148,7 @@ message VolumeAttachmentList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of VolumeAttachments repeated VolumeAttachment items = 2; @@ -170,7 +170,7 @@ message VolumeAttachmentSource { // PersistentVolumeSpec. This field is alpha-level and is only // honored by servers that enabled the CSIMigration feature. // +optional - optional api.core.v1.PersistentVolumeSpec inlineVolumeSpec = 2; + optional .api.core.v1.PersistentVolumeSpec inlineVolumeSpec = 2; } // VolumeAttachmentSpec is the specification of a VolumeAttachment request. @@ -221,7 +221,7 @@ message VolumeAttributesClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Name of the CSI driver // This field is immutable. @@ -248,7 +248,7 @@ message VolumeAttributesClassList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of VolumeAttributesClass objects. repeated VolumeAttributesClass items = 2; @@ -258,7 +258,7 @@ message VolumeAttributesClassList { message VolumeError { // time represents the time the error was encountered. // +optional - optional apimachinery.pkg.apis.meta.v1.Time time = 1; + optional .apimachinery.pkg.apis.meta.v1.Time time = 1; // message represents the error encountered during Attach or Detach operation. // This string maybe logged, so it should not contain sensitive diff --git a/k8s-pb-codegen/protos/api/storage/v1beta1/generated.proto b/k8s-pb-codegen/protos/api/storage/v1beta1/generated.proto index 13532f1..eb3bfd1 100644 --- a/k8s-pb-codegen/protos/api/storage/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/api/storage/v1beta1/generated.proto @@ -47,7 +47,7 @@ message CSIDriver { // an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and // alphanumerics between. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec represents the specification of the CSI Driver. optional CSIDriverSpec spec = 2; @@ -58,7 +58,7 @@ message CSIDriverList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CSIDriver repeated CSIDriver items = 2; @@ -229,7 +229,7 @@ message CSIDriverSpec { // CSINode has an OwnerReference that points to the corresponding node object. message CSINode { // metadata.name must be the Kubernetes node name. - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the specification of CSINode optional CSINodeSpec spec = 2; @@ -277,7 +277,7 @@ message CSINodeList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CSINode repeated CSINode items = 2; @@ -329,7 +329,7 @@ message CSIStorageCapacity { // // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // nodeTopology defines which nodes have access to the storage // for which capacity was reported. If not set, the storage is @@ -338,7 +338,7 @@ message CSIStorageCapacity { // immutable. // // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector nodeTopology = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector nodeTopology = 2; // storageClassName represents the name of the StorageClass that the reported capacity applies to. // It must meet the same requirements as the name of a StorageClass @@ -358,7 +358,7 @@ message CSIStorageCapacity { // unavailable. // // +optional - optional apimachinery.pkg.api.resource.Quantity capacity = 4; + optional .apimachinery.pkg.api.resource.Quantity capacity = 4; // maximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse // for a GetCapacityRequest with topology and parameters that match the @@ -372,7 +372,7 @@ message CSIStorageCapacity { // API is ResourceRequirements.Requests in a volume claim. // // +optional - optional apimachinery.pkg.api.resource.Quantity maximumVolumeSize = 5; + optional .apimachinery.pkg.api.resource.Quantity maximumVolumeSize = 5; } // CSIStorageCapacityList is a collection of CSIStorageCapacity objects. @@ -380,7 +380,7 @@ message CSIStorageCapacityList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of CSIStorageCapacity objects. repeated CSIStorageCapacity items = 2; @@ -395,7 +395,7 @@ message StorageClass { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // provisioner indicates the type of the provisioner. optional string provisioner = 2; @@ -433,7 +433,7 @@ message StorageClass { // This field is only honored by servers that enable the VolumeScheduling feature. // +optional // +listType=atomic - repeated api.core.v1.TopologySelectorTerm allowedTopologies = 8; + repeated .api.core.v1.TopologySelectorTerm allowedTopologies = 8; } // StorageClassList is a collection of storage classes. @@ -441,7 +441,7 @@ message StorageClassList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of StorageClasses repeated StorageClass items = 2; @@ -468,7 +468,7 @@ message VolumeAttachment { // Standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec represents specification of the desired attach/detach volume behavior. // Populated by the Kubernetes system. @@ -486,7 +486,7 @@ message VolumeAttachmentList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items is the list of VolumeAttachments repeated VolumeAttachment items = 2; @@ -508,7 +508,7 @@ message VolumeAttachmentSource { // PersistentVolumeSpec. This field is beta-level and is only // honored by servers that enabled the CSIMigration feature. // +optional - optional api.core.v1.PersistentVolumeSpec inlineVolumeSpec = 2; + optional .api.core.v1.PersistentVolumeSpec inlineVolumeSpec = 2; } // VolumeAttachmentSpec is the specification of a VolumeAttachment request. @@ -552,11 +552,51 @@ message VolumeAttachmentStatus { optional VolumeError detachError = 4; } +// VolumeAttributesClass represents a specification of mutable volume attributes +// defined by the CSI driver. The class can be specified during dynamic provisioning +// of PersistentVolumeClaims, and changed in the PersistentVolumeClaim spec after provisioning. +message VolumeAttributesClass { + // Standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Name of the CSI driver + // This field is immutable. + optional string driverName = 2; + + // parameters hold volume attributes defined by the CSI driver. These values + // are opaque to the Kubernetes and are passed directly to the CSI driver. + // The underlying storage provider supports changing these attributes on an + // existing volume, however the parameters field itself is immutable. To + // invoke a volume update, a new VolumeAttributesClass should be created with + // new parameters, and the PersistentVolumeClaim should be updated to reference + // the new VolumeAttributesClass. + // + // This field is required and must contain at least one key/value pair. + // The keys cannot be empty, and the maximum number of parameters is 512, with + // a cumulative max size of 256K. If the CSI driver rejects invalid parameters, + // the target PersistentVolumeClaim will be set to an "Infeasible" state in the + // modifyVolumeStatus field. + map parameters = 3; +} + +// VolumeAttributesClassList is a collection of VolumeAttributesClass objects. +message VolumeAttributesClassList { + // Standard list metadata + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + // +optional + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is the list of VolumeAttributesClass objects. + repeated VolumeAttributesClass items = 2; +} + // VolumeError captures an error encountered during a volume operation. message VolumeError { // time represents the time the error was encountered. // +optional - optional apimachinery.pkg.apis.meta.v1.Time time = 1; + optional .apimachinery.pkg.apis.meta.v1.Time time = 1; // message represents the error encountered during Attach or Detach operation. // This string may be logged, so it should not contain sensitive diff --git a/k8s-pb-codegen/protos/api/storagemigration/v1alpha1/generated.proto b/k8s-pb-codegen/protos/api/storagemigration/v1alpha1/generated.proto index 70a24ed..ee5c418 100644 --- a/k8s-pb-codegen/protos/api/storagemigration/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/api/storagemigration/v1alpha1/generated.proto @@ -51,7 +51,7 @@ message MigrationCondition { // The last time this condition was updated. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3; // The reason for the condition's last transition. // +optional @@ -68,7 +68,7 @@ message StorageVersionMigration { // Standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the migration. // +optional @@ -84,7 +84,7 @@ message StorageVersionMigrationList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of StorageVersionMigration // +patchMergeKey=type diff --git a/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto b/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto index dac65ac..6428aca 100644 --- a/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto +++ b/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto @@ -41,7 +41,7 @@ message ConversionRequest { // objects is the list of custom resource objects to be converted. // +listType=atomic - repeated apimachinery.pkg.runtime.RawExtension objects = 3; + repeated .apimachinery.pkg.runtime.RawExtension objects = 3; } // ConversionResponse describes a conversion response. @@ -55,14 +55,14 @@ message ConversionResponse { // must also have the same size as the input list with the same objects in the same order (equal kind, metadata.uid, metadata.name and metadata.namespace). // The webhook is allowed to mutate labels and annotations. Any other change to the metadata is silently ignored. // +listType=atomic - repeated apimachinery.pkg.runtime.RawExtension convertedObjects = 2; + repeated .apimachinery.pkg.runtime.RawExtension convertedObjects = 2; // result contains the result of conversion with extra details if the conversion failed. `result.status` determines if // the conversion failed or succeeded. The `result.status` field is required and represents the success or failure of the // conversion. A successful conversion must set `result.status` to `Success`. A failed conversion must set // `result.status` to `Failure` and provide more details in `result.message` and return http status 200. The `result.message` // will be used to construct an error message for the end user. - optional apimachinery.pkg.apis.meta.v1.Status result = 3; + optional .apimachinery.pkg.apis.meta.v1.Status result = 3; } // ConversionReview describes a conversion request/response. @@ -125,7 +125,7 @@ message CustomResourceDefinition { // Standard object's metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec describes how the user wants the resources to appear optional CustomResourceDefinitionSpec spec = 2; @@ -146,7 +146,7 @@ message CustomResourceDefinitionCondition { // lastTransitionTime last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // reason is a unique, one-word, CamelCase reason for the condition's last transition. // +optional @@ -162,7 +162,7 @@ message CustomResourceDefinitionList { // Standard object's metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items list individual CustomResourceDefinition objects repeated CustomResourceDefinition items = 2; @@ -573,7 +573,6 @@ message JSONSchemaProps { optional string xKubernetesMapType = 43; // x-kubernetes-validations describes a list of validation rules written in the CEL expression language. - // This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled. // +patchMergeKey=rule // +patchStrategy=merge // +listType=map diff --git a/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto b/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto index 9de80f9..d7e1fe7 100644 --- a/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto @@ -41,7 +41,7 @@ message ConversionRequest { // objects is the list of custom resource objects to be converted. // +listType=atomic - repeated apimachinery.pkg.runtime.RawExtension objects = 3; + repeated .apimachinery.pkg.runtime.RawExtension objects = 3; } // ConversionResponse describes a conversion response. @@ -55,14 +55,14 @@ message ConversionResponse { // must also have the same size as the input list with the same objects in the same order (equal kind, metadata.uid, metadata.name and metadata.namespace). // The webhook is allowed to mutate labels and annotations. Any other change to the metadata is silently ignored. // +listType=atomic - repeated apimachinery.pkg.runtime.RawExtension convertedObjects = 2; + repeated .apimachinery.pkg.runtime.RawExtension convertedObjects = 2; // result contains the result of conversion with extra details if the conversion failed. `result.status` determines if // the conversion failed or succeeded. The `result.status` field is required and represents the success or failure of the // conversion. A successful conversion must set `result.status` to `Success`. A failed conversion must set // `result.status` to `Failure` and provide more details in `result.message` and return http status 200. The `result.message` // will be used to construct an error message for the end user. - optional apimachinery.pkg.apis.meta.v1.Status result = 3; + optional .apimachinery.pkg.apis.meta.v1.Status result = 3; } // ConversionReview describes a conversion request/response. @@ -138,7 +138,7 @@ message CustomResourceDefinition { // Standard object's metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec describes how the user wants the resources to appear optional CustomResourceDefinitionSpec spec = 2; @@ -159,7 +159,7 @@ message CustomResourceDefinitionCondition { // lastTransitionTime last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // reason is a unique, one-word, CamelCase reason for the condition's last transition. // +optional @@ -175,7 +175,7 @@ message CustomResourceDefinitionList { // Standard object's metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // items list individual CustomResourceDefinition objects repeated CustomResourceDefinition items = 2; @@ -634,7 +634,6 @@ message JSONSchemaProps { optional string xKubernetesMapType = 43; // x-kubernetes-validations describes a list of validation rules written in the CEL expression language. - // This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled. // +patchMergeKey=rule // +patchStrategy=merge // +listType=map diff --git a/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1/generated.proto b/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1/generated.proto index cca20a5..28121b6 100644 --- a/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1/generated.proto @@ -324,6 +324,25 @@ message Duration { optional int64 duration = 1; } +// FieldSelectorRequirement is a selector that contains values, a key, and an operator that +// relates the key and values. +message FieldSelectorRequirement { + // key is the field selector key that the requirement applies to. + optional string key = 1; + + // operator represents a key's relationship to a set of values. + // Valid operators are In, NotIn, Exists, DoesNotExist. + // The list of operators may grow in the future. + optional string operator = 2; + + // values is an array of string values. + // If the operator is In or NotIn, the values array must be non-empty. + // If the operator is Exists or DoesNotExist, the values array must be empty. + // +optional + // +listType=atomic + repeated string values = 3; +} + // FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format. // // Each key is either a '.' representing the field itself, and will always map to an empty set, @@ -460,7 +479,7 @@ message List { optional ListMeta metadata = 1; // List of objects - repeated apimachinery.pkg.runtime.RawExtension items = 2; + repeated .apimachinery.pkg.runtime.RawExtension items = 2; } // ListMeta describes metadata that synthetic resources must have, including lists and @@ -1209,6 +1228,6 @@ message WatchEvent { // * If Type is Deleted: the state of the object immediately before deletion. // * If Type is Error: *Status is recommended; other types may make sense // depending on context. - optional apimachinery.pkg.runtime.RawExtension object = 2; + optional .apimachinery.pkg.runtime.RawExtension object = 2; } diff --git a/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1beta1/generated.proto b/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1beta1/generated.proto index f87dd3b..878a57c 100644 --- a/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/apimachinery/pkg/apis/meta/v1beta1/generated.proto @@ -33,9 +33,9 @@ message PartialObjectMetadataList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 2; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 2; // items contains each of the included items. - repeated apimachinery.pkg.apis.meta.v1.PartialObjectMetadata items = 1; + repeated .apimachinery.pkg.apis.meta.v1.PartialObjectMetadata items = 1; } diff --git a/k8s-pb-codegen/protos/apimachinery/pkg/apis/testapigroup/v1/generated.proto b/k8s-pb-codegen/protos/apimachinery/pkg/apis/testapigroup/v1/generated.proto index f2a4f6c..6c00389 100644 --- a/k8s-pb-codegen/protos/apimachinery/pkg/apis/testapigroup/v1/generated.proto +++ b/k8s-pb-codegen/protos/apimachinery/pkg/apis/testapigroup/v1/generated.proto @@ -33,7 +33,7 @@ message Carp { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the carp. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status @@ -62,11 +62,11 @@ message CarpCondition { // Last time we probed the condition. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // Unique, one-word, CamelCase reason for the condition's last transition. // +optional @@ -82,7 +82,7 @@ message CarpList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of carps. // More info: http://kubernetes.io/docs/user-guide/carps @@ -206,6 +206,6 @@ message CarpStatus { // RFC 3339 date and time at which the object was acknowledged by the Kubelet. // This is before the Kubelet pulled the container image(s) for the carp. // +optional - optional apimachinery.pkg.apis.meta.v1.Time startTime = 7; + optional .apimachinery.pkg.apis.meta.v1.Time startTime = 7; } diff --git a/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1/generated.proto b/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1/generated.proto index 014f6e7..5f58b6d 100644 --- a/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1/generated.proto +++ b/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1/generated.proto @@ -34,7 +34,7 @@ message APIService { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec contains information for locating and communicating with a server optional APIServiceSpec spec = 2; @@ -54,7 +54,7 @@ message APIServiceCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // Unique, one-word, CamelCase reason for the condition's last transition. // +optional @@ -70,7 +70,7 @@ message APIServiceList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of APIService repeated APIService items = 2; diff --git a/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1beta1/generated.proto b/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1beta1/generated.proto index 31a1992..90a1ab4 100644 --- a/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/kube-aggregator/pkg/apis/apiregistration/v1beta1/generated.proto @@ -34,7 +34,7 @@ message APIService { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Spec contains information for locating and communicating with a server optional APIServiceSpec spec = 2; @@ -54,7 +54,7 @@ message APIServiceCondition { // Last time the condition transitioned from one status to another. // +optional - optional apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional .apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // Unique, one-word, CamelCase reason for the condition's last transition. // +optional @@ -70,7 +70,7 @@ message APIServiceList { // Standard list metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of APIService repeated APIService items = 2; diff --git a/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta1/generated.proto b/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta1/generated.proto index 5e42fa4..50e6fae 100644 --- a/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta1/generated.proto @@ -45,13 +45,13 @@ message MetricListOptions { // MetricValue is a metric value for some object message MetricValue { // a reference to the described object - optional api.core.v1.ObjectReference describedObject = 1; + optional .api.core.v1.ObjectReference describedObject = 1; // the name of the metric optional string metricName = 2; // indicates the time at which the metrics were produced - optional apimachinery.pkg.apis.meta.v1.Time timestamp = 3; + optional .apimachinery.pkg.apis.meta.v1.Time timestamp = 3; // indicates the window ([Timestamp-Window, Timestamp]) from // which these metrics were calculated, when returning rate @@ -60,19 +60,19 @@ message MetricValue { optional int64 window = 4; // the value of the metric for this - optional apimachinery.pkg.api.resource.Quantity value = 5; + optional .apimachinery.pkg.api.resource.Quantity value = 5; // selector represents the label selector that could be used to select // this metric, and will generally just be the selector passed in to // the query used to fetch this metric. // When left blank, only the metric's Name will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 6; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 6; } // MetricValueList is a list of values for a given metric for some set of objects message MetricValueList { - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // the value of the metric across the described objects repeated MetricValue items = 2; diff --git a/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto b/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto index 945dc32..0bb5ab9 100644 --- a/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto +++ b/k8s-pb-codegen/protos/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto @@ -40,7 +40,7 @@ message MetricIdentifier { // the query used to fetch this metric. // When left blank, only the metric's Name will be used to gather metrics. // +optional - optional apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + optional .apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; } // MetricListOptions is used to select metrics by their label selectors @@ -58,12 +58,12 @@ message MetricListOptions { // MetricValue is the metric value for some object message MetricValue { // a reference to the described object - optional api.core.v1.ObjectReference describedObject = 1; + optional .api.core.v1.ObjectReference describedObject = 1; optional MetricIdentifier metric = 2; // indicates the time at which the metrics were produced - optional apimachinery.pkg.apis.meta.v1.Time timestamp = 3; + optional .apimachinery.pkg.apis.meta.v1.Time timestamp = 3; // indicates the window ([Timestamp-Window, Timestamp]) from // which these metrics were calculated, when returning rate @@ -72,12 +72,12 @@ message MetricValue { optional int64 windowSeconds = 4; // the value of the metric for this - optional apimachinery.pkg.api.resource.Quantity value = 5; + optional .apimachinery.pkg.api.resource.Quantity value = 5; } // MetricValueList is a list of values for a given metric for some set of objects message MetricValueList { - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // the value of the metric across the described objects repeated MetricValue items = 2; diff --git a/k8s-pb-codegen/protos/metrics/pkg/apis/external_metrics/v1beta1/generated.proto b/k8s-pb-codegen/protos/metrics/pkg/apis/external_metrics/v1beta1/generated.proto index 5299f2a..108211c 100644 --- a/k8s-pb-codegen/protos/metrics/pkg/apis/external_metrics/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/metrics/pkg/apis/external_metrics/v1beta1/generated.proto @@ -40,7 +40,7 @@ message ExternalMetricValue { map metricLabels = 2; // indicates the time at which the metrics were produced - optional apimachinery.pkg.apis.meta.v1.Time timestamp = 3; + optional .apimachinery.pkg.apis.meta.v1.Time timestamp = 3; // indicates the window ([Timestamp-Window, Timestamp]) from // which these metrics were calculated, when returning rate @@ -49,12 +49,12 @@ message ExternalMetricValue { optional int64 window = 4; // the value of the metric - optional apimachinery.pkg.api.resource.Quantity value = 5; + optional .apimachinery.pkg.api.resource.Quantity value = 5; } // ExternalMetricValueList is a list of values for a given metric for some set labels message ExternalMetricValueList { - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // value of the metric matching a given set of labels repeated ExternalMetricValue items = 2; diff --git a/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1alpha1/generated.proto b/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1alpha1/generated.proto index 3d3c0e6..9dc7675 100644 --- a/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1alpha1/generated.proto +++ b/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1alpha1/generated.proto @@ -36,7 +36,7 @@ message ContainerMetrics { optional string name = 1; // The memory usage is the memory working set. - map usage = 2; + map usage = 2; } // NodeMetrics sets resource usage metrics of a node. @@ -44,23 +44,23 @@ message NodeMetrics { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The following fields define time interval from which metrics were // collected from the interval [Timestamp-Window, Timestamp]. - optional apimachinery.pkg.apis.meta.v1.Time timestamp = 2; + optional .apimachinery.pkg.apis.meta.v1.Time timestamp = 2; - optional apimachinery.pkg.apis.meta.v1.Duration window = 3; + optional .apimachinery.pkg.apis.meta.v1.Duration window = 3; // The memory usage is the memory working set. - map usage = 4; + map usage = 4; } // NodeMetricsList is a list of NodeMetrics. message NodeMetricsList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of node metrics. repeated NodeMetrics items = 2; @@ -71,13 +71,13 @@ message PodMetrics { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The following fields define time interval from which metrics were // collected from the interval [Timestamp-Window, Timestamp]. - optional apimachinery.pkg.apis.meta.v1.Time timestamp = 2; + optional .apimachinery.pkg.apis.meta.v1.Time timestamp = 2; - optional apimachinery.pkg.apis.meta.v1.Duration window = 3; + optional .apimachinery.pkg.apis.meta.v1.Duration window = 3; // Metrics for all containers are collected within the same time window. // +listType=atomic @@ -88,7 +88,7 @@ message PodMetrics { message PodMetricsList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of pod metrics. repeated PodMetrics items = 2; diff --git a/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1beta1/generated.proto b/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1beta1/generated.proto index 0508e93..ed6af1d 100644 --- a/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1beta1/generated.proto +++ b/k8s-pb-codegen/protos/metrics/pkg/apis/metrics/v1beta1/generated.proto @@ -36,7 +36,7 @@ message ContainerMetrics { optional string name = 1; // The memory usage is the memory working set. - map usage = 2; + map usage = 2; } // NodeMetrics sets resource usage metrics of a node. @@ -44,23 +44,23 @@ message NodeMetrics { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The following fields define time interval from which metrics were // collected from the interval [Timestamp-Window, Timestamp]. - optional apimachinery.pkg.apis.meta.v1.Time timestamp = 2; + optional .apimachinery.pkg.apis.meta.v1.Time timestamp = 2; - optional apimachinery.pkg.apis.meta.v1.Duration window = 3; + optional .apimachinery.pkg.apis.meta.v1.Duration window = 3; // The memory usage is the memory working set. - map usage = 4; + map usage = 4; } // NodeMetricsList is a list of NodeMetrics. message NodeMetricsList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of node metrics. repeated NodeMetrics items = 2; @@ -71,13 +71,13 @@ message PodMetrics { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - optional apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // The following fields define time interval from which metrics were // collected from the interval [Timestamp-Window, Timestamp]. - optional apimachinery.pkg.apis.meta.v1.Time timestamp = 2; + optional .apimachinery.pkg.apis.meta.v1.Time timestamp = 2; - optional apimachinery.pkg.apis.meta.v1.Duration window = 3; + optional .apimachinery.pkg.apis.meta.v1.Duration window = 3; // Metrics for all containers are collected within the same time window. // +listType=atomic @@ -88,7 +88,7 @@ message PodMetrics { message PodMetricsList { // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - optional apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + optional .apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of pod metrics. repeated PodMetrics items = 2; diff --git a/k8s-pb/src/api/admissionregistration/v1/mod.rs b/k8s-pb/src/api/admissionregistration/v1/mod.rs index 0079253..f3069a8 100644 --- a/k8s-pb/src/api/admissionregistration/v1/mod.rs +++ b/k8s-pb/src/api/admissionregistration/v1/mod.rs @@ -560,11 +560,6 @@ pub struct TypeChecking { #[prost(message, repeated, tag = "1")] pub expression_warnings: ::prost::alloc::vec::Vec, } -/// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -/// +genclient -/// +genclient:nonNamespaced -/// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -/// +k8s:prerelease-lifecycle-gen:introduced=1.30 /// ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ValidatingAdmissionPolicy { @@ -682,8 +677,6 @@ pub struct ValidatingAdmissionPolicyBindingSpec { #[prost(string, repeated, tag = "4")] pub validation_actions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -/// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -/// +k8s:prerelease-lifecycle-gen:introduced=1.30 /// ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ValidatingAdmissionPolicyList { diff --git a/k8s-pb/src/api/apps/v1/mod.rs b/k8s-pb/src/api/apps/v1/mod.rs index a878364..10a978e 100644 --- a/k8s-pb/src/api/apps/v1/mod.rs +++ b/k8s-pb/src/api/apps/v1/mod.rs @@ -747,15 +747,14 @@ pub struct StatefulSetSpec { /// policy allows the lifecycle to be altered, for example by deleting persistent /// volume claims when their stateful set is deleted, or when their pod is scaled /// down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, - /// which is alpha. +optional + /// which is beta. + /// +optional #[prost(message, optional, tag = "10")] pub persistent_volume_claim_retention_policy: ::core::option::Option, /// ordinals controls the numbering of replica indices in a StatefulSet. The /// default ordinals behavior assigns a "0" index to the first replica and - /// increments the index by one for each additional replica requested. Using - /// the ordinals field requires the StatefulSetStartOrdinal feature gate to be - /// enabled, which is beta. + /// increments the index by one for each additional replica requested. /// +optional #[prost(message, optional, tag = "11")] pub ordinals: ::core::option::Option, diff --git a/k8s-pb/src/api/apps/v1beta1/mod.rs b/k8s-pb/src/api/apps/v1beta1/mod.rs index cce9219..2bc5675 100644 --- a/k8s-pb/src/api/apps/v1beta1/mod.rs +++ b/k8s-pb/src/api/apps/v1beta1/mod.rs @@ -492,9 +492,7 @@ pub struct StatefulSetSpec { ::core::option::Option, /// ordinals controls the numbering of replica indices in a StatefulSet. The /// default ordinals behavior assigns a "0" index to the first replica and - /// increments the index by one for each additional replica requested. Using - /// the ordinals field requires the StatefulSetStartOrdinal feature gate to be - /// enabled, which is beta. + /// increments the index by one for each additional replica requested. /// +optional #[prost(message, optional, tag = "11")] pub ordinals: ::core::option::Option, diff --git a/k8s-pb/src/api/apps/v1beta2/mod.rs b/k8s-pb/src/api/apps/v1beta2/mod.rs index b355427..b0feccd 100644 --- a/k8s-pb/src/api/apps/v1beta2/mod.rs +++ b/k8s-pb/src/api/apps/v1beta2/mod.rs @@ -798,9 +798,7 @@ pub struct StatefulSetSpec { ::core::option::Option, /// ordinals controls the numbering of replica indices in a StatefulSet. The /// default ordinals behavior assigns a "0" index to the first replica and - /// increments the index by one for each additional replica requested. Using - /// the ordinals field requires the StatefulSetStartOrdinal feature gate to be - /// enabled, which is beta. + /// increments the index by one for each additional replica requested. /// +optional #[prost(message, optional, tag = "11")] pub ordinals: ::core::option::Option, diff --git a/k8s-pb/src/api/authorization/v1/mod.rs b/k8s-pb/src/api/authorization/v1/mod.rs index 03a9baa..201caa9 100644 --- a/k8s-pb/src/api/authorization/v1/mod.rs +++ b/k8s-pb/src/api/authorization/v1/mod.rs @@ -9,6 +9,66 @@ pub struct ExtraValue { #[prost(string, repeated, tag = "1")] pub items: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +/// FieldSelectorAttributes indicates a field limited access. +/// Webhook authors are encouraged to +/// * ensure rawSelector and requirements are not both set +/// * consider the requirements field if set +/// * not try to parse or consider the rawSelector field if set. This is to avoid another CVE-2022-2880 (i.e. getting different systems to agree on how exactly to parse a query is not something we want), see for more details. +/// For the *SubjectAccessReview endpoints of the kube-apiserver: +/// * If rawSelector is empty and requirements are empty, the request is not limited. +/// * If rawSelector is present and requirements are empty, the rawSelector will be parsed and limited if the parsing succeeds. +/// * If rawSelector is empty and requirements are present, the requirements should be honored +/// * If rawSelector is present and requirements are present, the request is invalid. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FieldSelectorAttributes { + /// rawSelector is the serialization of a field selector that would be included in a query parameter. + /// Webhook implementations are encouraged to ignore rawSelector. + /// The kube-apiserver's *SubjectAccessReview will parse the rawSelector as long as the requirements are not present. + /// +optional + #[prost(string, optional, tag = "1")] + pub raw_selector: ::core::option::Option<::prost::alloc::string::String>, + /// requirements is the parsed interpretation of a field selector. + /// All requirements must be met for a resource instance to match the selector. + /// Webhook implementations should handle requirements, but how to handle them is up to the webhook. + /// Since requirements can only limit the request, it is safe to authorize as unlimited request if the requirements + /// are not understood. + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "2")] + pub requirements: ::prost::alloc::vec::Vec< + super::super::super::apimachinery::pkg::apis::meta::v1::FieldSelectorRequirement, + >, +} +/// LabelSelectorAttributes indicates a label limited access. +/// Webhook authors are encouraged to +/// * ensure rawSelector and requirements are not both set +/// * consider the requirements field if set +/// * not try to parse or consider the rawSelector field if set. This is to avoid another CVE-2022-2880 (i.e. getting different systems to agree on how exactly to parse a query is not something we want), see for more details. +/// For the *SubjectAccessReview endpoints of the kube-apiserver: +/// * If rawSelector is empty and requirements are empty, the request is not limited. +/// * If rawSelector is present and requirements are empty, the rawSelector will be parsed and limited if the parsing succeeds. +/// * If rawSelector is empty and requirements are present, the requirements should be honored +/// * If rawSelector is present and requirements are present, the request is invalid. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LabelSelectorAttributes { + /// rawSelector is the serialization of a field selector that would be included in a query parameter. + /// Webhook implementations are encouraged to ignore rawSelector. + /// The kube-apiserver's *SubjectAccessReview will parse the rawSelector as long as the requirements are not present. + /// +optional + #[prost(string, optional, tag = "1")] + pub raw_selector: ::core::option::Option<::prost::alloc::string::String>, + /// requirements is the parsed interpretation of a label selector. + /// All requirements must be met for a resource instance to match the selector. + /// Webhook implementations should handle requirements, but how to handle them is up to the webhook. + /// Since requirements can only limit the request, it is safe to authorize as unlimited request if the requirements + /// are not understood. + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "2")] + pub requirements: ::prost::alloc::vec::Vec< + super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelectorRequirement, + >, +} /// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. /// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions /// checking. @@ -88,6 +148,20 @@ pub struct ResourceAttributes { /// +optional #[prost(string, optional, tag = "7")] pub name: ::core::option::Option<::prost::alloc::string::String>, + /// fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it. + /// + /// This field is alpha-level. To use this field, you must enable the + /// `AuthorizeWithSelectors` feature gate (disabled by default). + /// +optional + #[prost(message, optional, tag = "8")] + pub field_selector: ::core::option::Option, + /// labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it. + /// + /// This field is alpha-level. To use this field, you must enable the + /// `AuthorizeWithSelectors` feature gate (disabled by default). + /// +optional + #[prost(message, optional, tag = "9")] + pub label_selector: ::core::option::Option, } /// ResourceRule 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. diff --git a/k8s-pb/src/api/authorization/v1beta1/mod.rs b/k8s-pb/src/api/authorization/v1beta1/mod.rs index abbc0ee..747cc55 100644 --- a/k8s-pb/src/api/authorization/v1beta1/mod.rs +++ b/k8s-pb/src/api/authorization/v1beta1/mod.rs @@ -88,6 +88,14 @@ pub struct ResourceAttributes { /// +optional #[prost(string, optional, tag = "7")] pub name: ::core::option::Option<::prost::alloc::string::String>, + /// fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it. + /// +optional + #[prost(message, optional, tag = "8")] + pub field_selector: ::core::option::Option, + /// labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it. + /// +optional + #[prost(message, optional, tag = "9")] + pub label_selector: ::core::option::Option, } /// ResourceRule 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. diff --git a/k8s-pb/src/api/batch/v1/mod.rs b/k8s-pb/src/api/batch/v1/mod.rs index 60de2a1..92ba65e 100644 --- a/k8s-pb/src/api/batch/v1/mod.rs +++ b/k8s-pb/src/api/batch/v1/mod.rs @@ -194,8 +194,6 @@ pub struct JobSpec { /// checked against the backoffLimit. This field cannot be used in combination /// with restartPolicy=OnFailure. /// - /// This field is beta-level. It can be used when the `JobPodFailurePolicy` - /// feature gate is enabled (enabled by default). /// +optional #[prost(message, optional, tag = "11")] pub pod_failure_policy: ::core::option::Option, @@ -205,8 +203,8 @@ pub struct JobSpec { /// When the field is specified, it must be immutable and works only for the Indexed Jobs. /// Once the Job meets the SuccessPolicy, the lingering pods are terminated. /// - /// This field is alpha-level. To use this field, you must enable the - /// `JobSuccessPolicy` feature gate (disabled by default). + /// This field is beta-level. To use this field, you must enable the + /// `JobSuccessPolicy` feature gate (enabled by default). /// +optional #[prost(message, optional, tag = "16")] pub success_policy: ::core::option::Option, @@ -331,7 +329,8 @@ pub struct JobSpec { /// The value must be a valid domain-prefixed path (e.g. acme.io/foo) - /// all characters before the first "/" must be a valid subdomain as defined /// by RFC 1123. All characters trailing the first "/" must be valid HTTP Path - /// characters as defined by RFC 3986. The value cannot exceed 64 characters. + /// characters as defined by RFC 3986. The value cannot exceed 63 characters. + /// This field is immutable. /// /// This field is alpha-level. The job controller accepts setting the field /// when the feature gate JobManagedBy is enabled (disabled by default). @@ -449,8 +448,8 @@ pub struct JobStatus { /// +optional #[prost(message, optional, tag = "8")] pub uncounted_terminated_pods: ::core::option::Option, - /// The number of pods which have a Ready condition. - /// +optional + /// The number of active pods which have a Ready condition and are not + /// terminating (without a deletionTimestamp). #[prost(int32, optional, tag = "9")] pub ready: ::core::option::Option, } diff --git a/k8s-pb/src/api/coordination/mod.rs b/k8s-pb/src/api/coordination/mod.rs index 517ec85..5a1e260 100644 --- a/k8s-pb/src/api/coordination/mod.rs +++ b/k8s-pb/src/api/coordination/mod.rs @@ -1,2 +1,3 @@ pub mod v1; +pub mod v1alpha1; pub mod v1beta1; diff --git a/k8s-pb/src/api/coordination/v1/mod.rs b/k8s-pb/src/api/coordination/v1/mod.rs index 5ded6fa..395b8e5 100644 --- a/k8s-pb/src/api/coordination/v1/mod.rs +++ b/k8s-pb/src/api/coordination/v1/mod.rs @@ -28,11 +28,13 @@ pub struct LeaseList { #[derive(Clone, PartialEq, ::prost::Message)] pub struct LeaseSpec { /// holderIdentity contains the identity of the holder of a current lease. + /// If Coordinated Leader Election is used, the holder identity must be + /// equal to the elected LeaseCandidate.metadata.name field. /// +optional #[prost(string, optional, tag = "1")] pub holder_identity: ::core::option::Option<::prost::alloc::string::String>, /// leaseDurationSeconds is a duration that candidates for a lease need - /// to wait to force acquire it. This is measure against time of last + /// to wait to force acquire it. This is measured against the time of last /// observed renewTime. /// +optional #[prost(int32, optional, tag = "2")] @@ -52,6 +54,20 @@ pub struct LeaseSpec { /// +optional #[prost(int32, optional, tag = "5")] pub lease_transitions: ::core::option::Option, + /// Strategy indicates the strategy for picking the leader for coordinated leader election. + /// If the field is not specified, there is no active coordination for this lease. + /// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled. + /// +featureGate=CoordinatedLeaderElection + /// +optional + #[prost(string, optional, tag = "6")] + pub strategy: ::core::option::Option<::prost::alloc::string::String>, + /// PreferredHolder signals to a lease holder that the lease has a + /// more optimal holder and should be given up. + /// This field can only be set if Strategy is also set. + /// +featureGate=CoordinatedLeaderElection + /// +optional + #[prost(string, optional, tag = "7")] + pub preferred_holder: ::core::option::Option<::prost::alloc::string::String>, } impl crate::Resource for Lease { diff --git a/k8s-pb/src/api/coordination/v1alpha1/mod.rs b/k8s-pb/src/api/coordination/v1alpha1/mod.rs new file mode 100644 index 0000000..de35fe6 --- /dev/null +++ b/k8s-pb/src/api/coordination/v1alpha1/mod.rs @@ -0,0 +1,105 @@ +// This file is @generated by prost-build. +/// LeaseCandidate defines a candidate for a Lease object. +/// Candidates are created such that coordinated leader election will pick the best leader from the list of candidates. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LeaseCandidate { + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// spec contains the specification of the Lease. + /// More info: + /// +optional + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, +} +/// LeaseCandidateList is a list of Lease objects. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LeaseCandidateList { + /// Standard list metadata. + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// items is a list of schema objects. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// LeaseCandidateSpec is a specification of a Lease. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LeaseCandidateSpec { + /// LeaseName is the name of the lease for which this candidate is contending. + /// This field is immutable. + /// +required + #[prost(string, optional, tag = "1")] + pub lease_name: ::core::option::Option<::prost::alloc::string::String>, + /// PingTime is the last time that the server has requested the LeaseCandidate + /// to renew. It is only done during leader election to check if any + /// LeaseCandidates have become ineligible. When PingTime is updated, the + /// LeaseCandidate will respond by updating RenewTime. + /// +optional + #[prost(message, optional, tag = "2")] + pub ping_time: ::core::option::Option, + /// RenewTime is the time that the LeaseCandidate was last updated. + /// Any time a Lease needs to do leader election, the PingTime field + /// is updated to signal to the LeaseCandidate that they should update + /// the RenewTime. + /// Old LeaseCandidate objects are also garbage collected if it has been hours + /// since the last renew. The PingTime field is updated regularly to prevent + /// garbage collection for still active LeaseCandidates. + /// +optional + #[prost(message, optional, tag = "3")] + pub renew_time: ::core::option::Option, + /// BinaryVersion is the binary version. It must be in a semver format without leading `v`. + /// This field is required when strategy is "OldestEmulationVersion" + /// +optional + #[prost(string, optional, tag = "4")] + pub binary_version: ::core::option::Option<::prost::alloc::string::String>, + /// EmulationVersion is the emulation version. It must be in a semver format without leading `v`. + /// EmulationVersion must be less than or equal to BinaryVersion. + /// This field is required when strategy is "OldestEmulationVersion" + /// +optional + #[prost(string, optional, tag = "5")] + pub emulation_version: ::core::option::Option<::prost::alloc::string::String>, + /// PreferredStrategies indicates the list of strategies for picking the leader for coordinated leader election. + /// The list is ordered, and the first strategy supersedes all other strategies. The list is used by coordinated + /// leader election to make a decision about the final election strategy. This follows as + /// - If all clients have strategy X as the first element in this list, strategy X will be used. + /// - If a candidate has strategy \[X\] and another candidate has strategy \[Y, X\], Y supersedes X and strategy Y + /// will be used. + /// - If a candidate has strategy \[X, Y\] and another candidate has strategy \[Y, X\], this is a user error and leader + /// election will not operate the Lease until resolved. + /// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled. + /// +featureGate=CoordinatedLeaderElection + /// +listType=atomic + /// +required + #[prost(string, repeated, tag = "6")] + pub preferred_strategies: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} + +impl crate::Resource for LeaseCandidate { + const API_VERSION: &'static str = "coordination.k8s.io/v1alpha1"; + const GROUP: &'static str = "coordination.k8s.io"; + const VERSION: &'static str = "v1alpha1"; + const KIND: &'static str = "LeaseCandidate"; + const URL_PATH_SEGMENT: &'static str = "leasecandidates"; + type Scope = crate::NamespaceResourceScope; +} +impl crate::HasMetadata for LeaseCandidate { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for LeaseCandidate { + type Spec = crate::api::coordination::v1alpha1::LeaseCandidateSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} diff --git a/k8s-pb/src/api/coordination/v1beta1/mod.rs b/k8s-pb/src/api/coordination/v1beta1/mod.rs index 742d82b..8ea5567 100644 --- a/k8s-pb/src/api/coordination/v1beta1/mod.rs +++ b/k8s-pb/src/api/coordination/v1beta1/mod.rs @@ -28,6 +28,8 @@ pub struct LeaseList { #[derive(Clone, PartialEq, ::prost::Message)] pub struct LeaseSpec { /// holderIdentity contains the identity of the holder of a current lease. + /// If Coordinated Leader Election is used, the holder identity must be + /// equal to the elected LeaseCandidate.metadata.name field. /// +optional #[prost(string, optional, tag = "1")] pub holder_identity: ::core::option::Option<::prost::alloc::string::String>, @@ -52,4 +54,16 @@ pub struct LeaseSpec { /// +optional #[prost(int32, optional, tag = "5")] pub lease_transitions: ::core::option::Option, + /// Strategy indicates the strategy for picking the leader for coordinated leader election + /// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled. + /// +featureGate=CoordinatedLeaderElection + /// +optional + #[prost(string, optional, tag = "6")] + pub strategy: ::core::option::Option<::prost::alloc::string::String>, + /// PreferredHolder signals to a lease holder that the lease has a + /// more optimal holder and should be given up. + /// +featureGate=CoordinatedLeaderElection + /// +optional + #[prost(string, optional, tag = "7")] + pub preferred_holder: ::core::option::Option<::prost::alloc::string::String>, } diff --git a/k8s-pb/src/api/core/v1/mod.rs b/k8s-pb/src/api/core/v1/mod.rs index 3c1dcae..5004d98 100644 --- a/k8s-pb/src/api/core/v1/mod.rs +++ b/k8s-pb/src/api/core/v1/mod.rs @@ -101,20 +101,24 @@ pub struct AzureDiskVolumeSource { pub disk_uri: ::core::option::Option<::prost::alloc::string::String>, /// cachingMode is the Host Caching mode: None, Read Only, Read Write. /// +optional + /// +default=ref(AzureDataDiskCachingReadWrite) #[prost(string, optional, tag = "3")] pub caching_mode: ::core::option::Option<::prost::alloc::string::String>, /// fsType is Filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. /// +optional + /// +default="ext4" #[prost(string, optional, tag = "4")] pub fs_type: ::core::option::Option<::prost::alloc::string::String>, /// readOnly Defaults to false (read/write). ReadOnly here will force /// the ReadOnly setting in VolumeMounts. /// +optional + /// +default=false #[prost(bool, optional, tag = "5")] pub read_only: ::core::option::Option, /// kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + /// +default=ref(AzureSharedBlobDisk) #[prost(string, optional, tag = "6")] pub kind: ::core::option::Option<::prost::alloc::string::String>, } @@ -409,31 +413,6 @@ pub struct CinderVolumeSource { #[prost(message, optional, tag = "4")] pub secret_ref: ::core::option::Option, } -/// ClaimSource describes a reference to a ResourceClaim. -/// -/// Exactly one of these fields should be set. Consumers of this type must -/// treat an empty object as if it has an unknown value. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClaimSource { - /// ResourceClaimName is the name of a ResourceClaim object in the same - /// namespace as this pod. - #[prost(string, optional, tag = "1")] - pub resource_claim_name: ::core::option::Option<::prost::alloc::string::String>, - /// ResourceClaimTemplateName is the name of a ResourceClaimTemplate - /// object in the same namespace as this pod. - /// - /// The template will be used to create a new ResourceClaim, which will - /// be bound to this pod. When this pod is deleted, the ResourceClaim - /// will also be deleted. The pod name and resource name, along with a - /// generated component, will be used to form a unique name for the - /// ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses. - /// - /// This field is immutable and no changes will be made to the - /// corresponding ResourceClaim by the control plane after creating the - /// ResourceClaim. - #[prost(string, optional, tag = "2")] - pub resource_claim_template_name: ::core::option::Option<::prost::alloc::string::String>, -} /// ClientIPConfig represents the configurations of Client IP based session affinity. #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct ClientIpConfig { @@ -1124,6 +1103,30 @@ pub struct ContainerStatus { /// +featureGate=RecursiveReadOnlyMounts #[prost(message, repeated, tag = "12")] pub volume_mounts: ::prost::alloc::vec::Vec, + /// User represents user identity information initially attached to the first process of the container + /// +featureGate=SupplementalGroupsPolicy + /// +optional + #[prost(message, optional, tag = "13")] + pub user: ::core::option::Option, + /// AllocatedResourcesStatus represents the status of various resources + /// allocated for this Pod. + /// +featureGate=ResourceHealthStatus + /// +optional + /// +patchMergeKey=name + /// +patchStrategy=merge + /// +listType=map + /// +listMapKey=name + #[prost(message, repeated, tag = "14")] + pub allocated_resources_status: ::prost::alloc::vec::Vec, +} +/// ContainerUser represents user identity information +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ContainerUser { + /// Linux holds user identity information initially attached to the first process of the containers in Linux. + /// Note that the actual running identity can be changed if the process has enough privilege to do so. + /// +optional + #[prost(message, optional, tag = "1")] + pub linux: ::core::option::Option, } /// DaemonEndpoint contains information about a single Daemon endpoint. #[derive(Clone, Copy, PartialEq, ::prost::Message)] @@ -2046,6 +2049,7 @@ pub struct HostAlias { #[derive(Clone, PartialEq, ::prost::Message)] pub struct HostIp { /// IP is the IP address assigned to the host + /// +required #[prost(string, optional, tag = "1")] pub ip: ::core::option::Option<::prost::alloc::string::String>, } @@ -2083,6 +2087,7 @@ pub struct IscsiPersistentVolumeSource { /// iscsiInterface is the interface Name that uses an iSCSI transport. /// Defaults to 'default' (tcp). /// +optional + /// +default="default" #[prost(string, optional, tag = "4")] pub iscsi_interface: ::core::option::Option<::prost::alloc::string::String>, /// fsType is the filesystem type of the volume that you want to mount. @@ -2141,6 +2146,7 @@ pub struct IscsiVolumeSource { /// iscsiInterface is the interface Name that uses an iSCSI transport. /// Defaults to 'default' (tcp). /// +optional + /// +default="default" #[prost(string, optional, tag = "4")] pub iscsi_interface: ::core::option::Option<::prost::alloc::string::String>, /// fsType is the filesystem type of the volume that you want to mount. @@ -2181,6 +2187,27 @@ pub struct IscsiVolumeSource { #[prost(string, optional, tag = "12")] pub initiator_name: ::core::option::Option<::prost::alloc::string::String>, } +/// ImageVolumeSource represents a image volume resource. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ImageVolumeSource { + /// Required: Image or artifact reference to be used. + /// Behaves in the same way as pod.spec.containers\[*\].image. + /// Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets. + /// More info: + /// This field is optional to allow higher level config management to default or override + /// container images in workload controllers like Deployments and StatefulSets. + /// +optional + #[prost(string, optional, tag = "1")] + pub reference: ::core::option::Option<::prost::alloc::string::String>, + /// Policy for pulling OCI objects. Possible values are: + /// Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. + /// Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. + /// IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. + /// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + /// +optional + #[prost(string, optional, tag = "2")] + pub pull_policy: ::core::option::Option<::prost::alloc::string::String>, +} /// Maps a string key to a path within a volume. #[derive(Clone, PartialEq, ::prost::Message)] pub struct KeyToPath { @@ -2329,6 +2356,21 @@ pub struct LimitRangeSpec { #[prost(message, repeated, tag = "1")] pub limits: ::prost::alloc::vec::Vec, } +/// LinuxContainerUser represents user identity information in Linux containers +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LinuxContainerUser { + /// UID is the primary uid initially attached to the first process in the container + #[prost(int64, optional, tag = "1")] + pub uid: ::core::option::Option, + /// GID is the primary gid initially attached to the first process in the container + #[prost(int64, optional, tag = "2")] + pub gid: ::core::option::Option, + /// SupplementalGroups are the supplemental groups initially attached to the first process in the container + /// +optional + /// +listType=atomic + #[prost(int64, repeated, packed = "false", tag = "3")] + pub supplemental_groups: ::prost::alloc::vec::Vec, +} /// List holds a list of objects, which may not be known by the server. #[derive(Clone, PartialEq, ::prost::Message)] pub struct List { @@ -2685,6 +2727,16 @@ pub struct NodeDaemonEndpoints { #[prost(message, optional, tag = "1")] pub kubelet_endpoint: ::core::option::Option, } +/// NodeFeatures describes the set of features implemented by the CRI implementation. +/// The features contained in the NodeFeatures should depend only on the cri implementation +/// independent of runtime handlers. +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct NodeFeatures { + /// SupplementalGroupsPolicy is set to true if the runtime supports SupplementalGroupsPolicy and ContainerUser. + /// +optional + #[prost(bool, optional, tag = "1")] + pub supplemental_groups_policy: ::core::option::Option, +} /// NodeList is the whole list of all Nodes which have been registered with master. #[derive(Clone, PartialEq, ::prost::Message)] pub struct NodeList { @@ -2718,7 +2770,7 @@ pub struct NodeRuntimeHandler { #[prost(message, optional, tag = "2")] pub features: ::core::option::Option, } -/// NodeRuntimeHandlerFeatures is a set of runtime features. +/// NodeRuntimeHandlerFeatures is a set of features implemented by the runtime handler. #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct NodeRuntimeHandlerFeatures { /// RecursiveReadOnlyMounts is set to true if the runtime handler supports RecursiveReadOnlyMounts. @@ -2726,6 +2778,11 @@ pub struct NodeRuntimeHandlerFeatures { /// +optional #[prost(bool, optional, tag = "1")] pub recursive_read_only_mounts: ::core::option::Option, + /// UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes. + /// +featureGate=UserNamespacesSupport + /// +optional + #[prost(bool, optional, tag = "2")] + pub user_namespaces: ::core::option::Option, } /// A node selector represents the union of the results of one or more label queries /// over a set of nodes; that is, it represents the OR of the selectors represented @@ -2819,7 +2876,7 @@ pub struct NodeSpec { #[derive(Clone, PartialEq, ::prost::Message)] pub struct NodeStatus { /// Capacity represents the total resources of a node. - /// More info: + /// More info: /// +optional #[prost(map = "string, message", tag = "1")] pub capacity: ::std::collections::HashMap< @@ -2896,10 +2953,16 @@ pub struct NodeStatus { pub config: ::core::option::Option, /// The available runtime handlers. /// +featureGate=RecursiveReadOnlyMounts + /// +featureGate=UserNamespacesSupport /// +optional /// +listType=atomic #[prost(message, repeated, tag = "12")] pub runtime_handlers: ::prost::alloc::vec::Vec, + /// Features describes the set of features implemented by the CRI implementation. + /// +featureGate=SupplementalGroupsPolicy + /// +optional + #[prost(message, optional, tag = "13")] + pub features: ::core::option::Option, } /// NodeSystemInfo is a set of ids/uuids to uniquely identify the node. #[derive(Clone, PartialEq, ::prost::Message)] @@ -2929,7 +2992,7 @@ pub struct NodeSystemInfo { /// Kubelet Version reported by the node. #[prost(string, optional, tag = "7")] pub kubelet_version: ::core::option::Option<::prost::alloc::string::String>, - /// KubeProxy Version reported by the node. + /// Deprecated: KubeProxy Version reported by the node. #[prost(string, optional, tag = "8")] pub kube_proxy_version: ::core::option::Option<::prost::alloc::string::String>, /// The Operating System reported by the node @@ -3181,7 +3244,7 @@ pub struct PersistentVolumeClaimSpec { /// set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource /// exists. /// More info: - /// (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + /// (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default). /// +featureGate=VolumeAttributesClass /// +optional #[prost(string, optional, tag = "9")] @@ -3288,14 +3351,14 @@ pub struct PersistentVolumeClaimStatus { ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, /// currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. /// When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim - /// This is an alpha field and requires enabling VolumeAttributesClass feature. + /// This is a beta field and requires enabling VolumeAttributesClass feature (off by default). /// +featureGate=VolumeAttributesClass /// +optional #[prost(string, optional, tag = "8")] pub current_volume_attributes_class_name: ::core::option::Option<::prost::alloc::string::String>, /// ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. /// When this is unset, there is no ModifyVolume operation being attempted. - /// This is an alpha field and requires enabling VolumeAttributesClass feature. + /// This is a beta field and requires enabling VolumeAttributesClass feature (off by default). /// +featureGate=VolumeAttributesClass /// +optional #[prost(message, optional, tag = "9")] @@ -3520,7 +3583,7 @@ pub struct PersistentVolumeSpec { /// after a volume has been updated successfully to a new class. /// For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound /// PersistentVolumeClaims during the binding process. - /// This is an alpha field and requires enabling VolumeAttributesClass feature. + /// This is a beta field and requires enabling VolumeAttributesClass feature (off by default). /// +featureGate=VolumeAttributesClass /// +optional #[prost(string, optional, tag = "10")] @@ -3545,8 +3608,6 @@ pub struct PersistentVolumeStatus { pub reason: ::core::option::Option<::prost::alloc::string::String>, /// lastPhaseTransitionTime is the time the phase transitioned from one to another /// and automatically resets to current time everytime a volume phase transitions. - /// This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default). - /// +featureGate=PersistentVolumeLastPhaseTransitionTime /// +optional #[prost(message, optional, tag = "4")] pub last_phase_transition_time: @@ -3662,7 +3723,8 @@ pub struct PodAffinityTerm { /// pod labels will be ignored. The default value is empty. /// The same key is forbidden to exist in both matchLabelKeys and labelSelector. /// Also, matchLabelKeys cannot be set when labelSelector isn't set. - /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). + /// /// +listType=atomic /// +optional #[prost(string, repeated, tag = "5")] @@ -3675,7 +3737,8 @@ pub struct PodAffinityTerm { /// pod labels will be ignored. The default value is empty. /// The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. /// Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). + /// /// +listType=atomic /// +optional #[prost(string, repeated, tag = "6")] @@ -3849,6 +3912,7 @@ pub struct PodExecOptions { #[derive(Clone, PartialEq, ::prost::Message)] pub struct PodIp { /// IP is the IP address assigned to the pod + /// +required #[prost(string, optional, tag = "1")] pub ip: ::core::option::Option<::prost::alloc::string::String>, } @@ -3960,7 +4024,10 @@ pub struct PodReadinessGate { #[prost(string, optional, tag = "1")] pub condition_type: ::core::option::Option<::prost::alloc::string::String>, } -/// PodResourceClaim references exactly one ResourceClaim through a ClaimSource. +/// PodResourceClaim references exactly one ResourceClaim, either directly +/// or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim +/// for the pod. +/// /// It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. /// Containers that need access to the ResourceClaim reference it with this name. #[derive(Clone, PartialEq, ::prost::Message)] @@ -3969,9 +4036,30 @@ pub struct PodResourceClaim { /// This must be a DNS_LABEL. #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, - /// Source describes where to find the ResourceClaim. - #[prost(message, optional, tag = "2")] - pub source: ::core::option::Option, + /// ResourceClaimName is the name of a ResourceClaim object in the same + /// namespace as this pod. + /// + /// Exactly one of ResourceClaimName and ResourceClaimTemplateName must + /// be set. + #[prost(string, optional, tag = "3")] + pub resource_claim_name: ::core::option::Option<::prost::alloc::string::String>, + /// ResourceClaimTemplateName is the name of a ResourceClaimTemplate + /// object in the same namespace as this pod. + /// + /// The template will be used to create a new ResourceClaim, which will + /// be bound to this pod. When this pod is deleted, the ResourceClaim + /// will also be deleted. The pod name and resource name, along with a + /// generated component, will be used to form a unique name for the + /// ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses. + /// + /// This field is immutable and no changes will be made to the + /// corresponding ResourceClaim by the control plane after creating the + /// ResourceClaim. + /// + /// Exactly one of ResourceClaimName and ResourceClaimTemplateName must + /// be set. + #[prost(string, optional, tag = "4")] + pub resource_claim_template_name: ::core::option::Option<::prost::alloc::string::String>, } /// PodResourceClaimStatus is stored in the PodStatus for each PodResourceClaim /// which references a ResourceClaimTemplate. It stores the generated name for @@ -3984,7 +4072,7 @@ pub struct PodResourceClaimStatus { #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, /// ResourceClaimName is the name of the ResourceClaim that was - /// generated for the Pod in the namespace of the Pod. It this is + /// generated for the Pod in the namespace of the Pod. If this is /// unset, then generating a ResourceClaim was not necessary. The /// pod.spec.resourceClaims entry can be ignored in this case. /// @@ -4048,17 +4136,29 @@ pub struct PodSecurityContext { /// +optional #[prost(bool, optional, tag = "3")] pub run_as_non_root: ::core::option::Option, - /// A list of groups applied to the first process run in each container, in addition - /// to the container's primary GID, the fsGroup (if specified), and group memberships - /// defined in the container image for the uid of the container process. If unspecified, - /// no additional groups are added to any container. Note that group memberships - /// defined in the container image for the uid of the container process are still effective, - /// even if they are not included in this list. + /// A list of groups applied to the first process run in each container, in + /// addition to the container's primary GID and fsGroup (if specified). If + /// the SupplementalGroupsPolicy feature is enabled, the + /// supplementalGroupsPolicy field determines whether these are in addition + /// to or instead of any group memberships defined in the container image. + /// If unspecified, no additional groups are added, though group memberships + /// defined in the container image may still be used, depending on the + /// supplementalGroupsPolicy field. /// Note that this field cannot be set when spec.os.name is windows. /// +optional /// +listType=atomic #[prost(int64, repeated, packed = "false", tag = "4")] pub supplemental_groups: ::prost::alloc::vec::Vec, + /// Defines how supplemental groups of the first container processes are calculated. + /// Valid values are "Merge" and "Strict". If not specified, "Merge" is used. + /// (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled + /// and the container runtime must implement support for this feature. + /// Note that this field cannot be set when spec.os.name is windows. + /// TODO: update the default value to "Merge" when spec.os.name is not windows in v1.34 + /// +featureGate=SupplementalGroupsPolicy + /// +optional + #[prost(string, optional, tag = "12")] + pub supplemental_groups_policy: ::core::option::Option<::prost::alloc::string::String>, /// A special supplemental group that applies to all containers in a pod. /// Some volume types allow the Kubelet to change the ownership of that volume /// to be owned by the pod: @@ -4218,9 +4318,11 @@ pub struct PodSpec { /// +optional #[prost(bool, optional, tag = "21")] pub automount_service_account_token: ::core::option::Option, - /// NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - /// the scheduler simply schedules this pod onto that node, assuming that it fits resource - /// requirements. + /// NodeName indicates in which node this pod is scheduled. + /// If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. + /// Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. + /// This field should not be used to express a desire for the pod to be scheduled on a specific node. + /// /// +optional #[prost(string, optional, tag = "10")] pub node_name: ::core::option::Option<::prost::alloc::string::String>, @@ -4403,6 +4505,7 @@ pub struct PodSpec { /// - spec.securityContext.runAsUser /// - spec.securityContext.runAsGroup /// - spec.securityContext.supplementalGroups + /// - spec.securityContext.supplementalGroupsPolicy /// - spec.containers\[*\].securityContext.appArmorProfile /// - spec.containers\[*\].securityContext.seLinuxOptions /// - spec.containers\[*\].securityContext.seccompProfile @@ -4800,7 +4903,8 @@ pub struct ProbeHandler { /// Represents a projected volume source #[derive(Clone, PartialEq, ::prost::Message)] pub struct ProjectedVolumeSource { - /// sources is the list of volume projections + /// sources is the list of volume projections. Each entry in this list + /// handles one source. /// +optional /// +listType=atomic #[prost(message, repeated, tag = "1")] @@ -4873,18 +4977,21 @@ pub struct RbdPersistentVolumeSource { /// Default is rbd. /// More info: /// +optional + /// +default="rbd" #[prost(string, optional, tag = "4")] pub pool: ::core::option::Option<::prost::alloc::string::String>, /// user is the rados user name. /// Default is admin. /// More info: /// +optional + /// +default="admin" #[prost(string, optional, tag = "5")] pub user: ::core::option::Option<::prost::alloc::string::String>, /// keyring is the path to key ring for RBDUser. /// Default is /etc/ceph/keyring. /// More info: /// +optional + /// +default="/etc/ceph/keyring" #[prost(string, optional, tag = "6")] pub keyring: ::core::option::Option<::prost::alloc::string::String>, /// secretRef is name of the authentication secret for RBDUser. If provided @@ -4926,18 +5033,21 @@ pub struct RbdVolumeSource { /// Default is rbd. /// More info: /// +optional + /// +default="rbd" #[prost(string, optional, tag = "4")] pub pool: ::core::option::Option<::prost::alloc::string::String>, /// user is the rados user name. /// Default is admin. /// More info: /// +optional + /// +default="admin" #[prost(string, optional, tag = "5")] pub user: ::core::option::Option<::prost::alloc::string::String>, /// keyring is the path to key ring for RBDUser. /// Default is /etc/ceph/keyring. /// More info: /// +optional + /// +default="/etc/ceph/keyring" #[prost(string, optional, tag = "6")] pub keyring: ::core::option::Option<::prost::alloc::string::String>, /// secretRef is name of the authentication secret for RBDUser. If provided @@ -5102,6 +5212,13 @@ pub struct ResourceClaim { /// inside a container. #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, + /// Request is the name chosen for a request in the referenced claim. + /// If empty, everything from the claim is made available, otherwise + /// only the result of this request. + /// + /// +optional + #[prost(string, optional, tag = "2")] + pub request: ::core::option::Option<::prost::alloc::string::String>, } /// ResourceFieldSelector represents container resources (cpu, memory) and their output format /// +structType=atomic @@ -5119,6 +5236,26 @@ pub struct ResourceFieldSelector { #[prost(message, optional, tag = "3")] pub divisor: ::core::option::Option, } +/// ResourceHealth represents the health of a resource. It has the latest device health information. +/// This is a part of KEP and historical health changes are planned to be added in future iterations of a KEP. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceHealth { + /// ResourceID is the unique identifier of the resource. See the ResourceID type for more information. + #[prost(string, optional, tag = "1")] + pub resource_id: ::core::option::Option<::prost::alloc::string::String>, + /// Health of the resource. + /// can be one of: + /// - Healthy: operates as normal + /// - Unhealthy: reported unhealthy. We consider this a temporary health issue + /// since we do not have a mechanism today to distinguish + /// temporary and permanent issues. + /// - Unknown: The status cannot be determined. + /// For example, Device Plugin got unregistered and hasn't been re-registered since. + /// + /// In future we may want to introduce the PermanentlyUnhealthy Status. + #[prost(string, optional, tag = "2")] + pub health: ::core::option::Option<::prost::alloc::string::String>, +} /// ResourceQuota sets aggregate quota restrictions enforced per namespace #[derive(Clone, PartialEq, ::prost::Message)] pub struct ResourceQuota { @@ -5230,6 +5367,21 @@ pub struct ResourceRequirements { #[prost(message, repeated, tag = "3")] pub claims: ::prost::alloc::vec::Vec, } +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceStatus { + /// Name of the resource. Must be unique within the pod and match one of the resources from the pod spec. + /// +required + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// List of unique Resources health. Each element in the list contains an unique resource ID and resource health. + /// At a minimum, ResourceID must uniquely identify the Resource + /// allocated to the Pod on the Node for the lifetime of a Pod. + /// See ResourceID type for it's definition. + /// +listType=map + /// +listMapKey=resourceID + #[prost(message, repeated, tag = "2")] + pub resources: ::prost::alloc::vec::Vec, +} /// SELinuxOptions are the labels to be applied to the container #[derive(Clone, PartialEq, ::prost::Message)] pub struct SeLinuxOptions { @@ -5278,6 +5430,7 @@ pub struct ScaleIoPersistentVolumeSource { /// storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. /// Default is ThinProvisioned. /// +optional + /// +default="ThinProvisioned" #[prost(string, optional, tag = "7")] pub storage_mode: ::core::option::Option<::prost::alloc::string::String>, /// volumeName is the name of a volume already created in the ScaleIO system @@ -5289,6 +5442,7 @@ pub struct ScaleIoPersistentVolumeSource { /// Ex. "ext4", "xfs", "ntfs". /// Default is "xfs" /// +optional + /// +default="xfs" #[prost(string, optional, tag = "9")] pub fs_type: ::core::option::Option<::prost::alloc::string::String>, /// readOnly defaults to false (read/write). ReadOnly here will force @@ -5325,6 +5479,7 @@ pub struct ScaleIoVolumeSource { /// storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. /// Default is ThinProvisioned. /// +optional + /// +default="ThinProvisioned" #[prost(string, optional, tag = "7")] pub storage_mode: ::core::option::Option<::prost::alloc::string::String>, /// volumeName is the name of a volume already created in the ScaleIO system @@ -5336,6 +5491,7 @@ pub struct ScaleIoVolumeSource { /// Ex. "ext4", "xfs", "ntfs". /// Default is "xfs". /// +optional + /// +default="xfs" #[prost(string, optional, tag = "9")] pub fs_type: ::core::option::Option<::prost::alloc::string::String>, /// readOnly Defaults to false (read/write). ReadOnly here will force @@ -5631,7 +5787,7 @@ pub struct SecurityContext { #[prost(bool, optional, tag = "7")] pub allow_privilege_escalation: ::core::option::Option, /// procMount denotes the type of proc mount to use for the containers. - /// The default is DefaultProcMount which uses the container runtime defaults for + /// The default value is Default which uses the container runtime defaults for /// readonly paths and masked paths. /// This requires the ProcMountType feature flag to be enabled. /// Note that this field cannot be set when spec.os.name is windows. @@ -6577,7 +6733,8 @@ pub struct VolumeNodeAffinity { #[prost(message, optional, tag = "1")] pub required: ::core::option::Option, } -/// Projection that may be projected along with other supported volume types +/// Projection that may be projected along with other supported volume types. +/// Exactly one of these fields must be set. #[derive(Clone, PartialEq, ::prost::Message)] pub struct VolumeProjection { /// secret information about the secret data to project @@ -6804,6 +6961,24 @@ pub struct VolumeSource { /// +optional #[prost(message, optional, tag = "29")] pub ephemeral: ::core::option::Option, + /// image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. + /// The volume is resolved at pod startup depending on which PullPolicy value is provided: + /// + /// - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. + /// - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. + /// - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. + /// + /// The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. + /// A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. + /// The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. + /// The OCI object gets mounted in a single directory (spec.containers\[*\].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. + /// The volume will be mounted read-only (ro) and non-executable files (noexec). + /// Sub path mounts for containers are not supported (spec.containers\[*\].volumeMounts.subpath). + /// The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. + /// +featureGate=ImageVolume + /// +optional + #[prost(message, optional, tag = "30")] + pub image: ::core::option::Option, } /// Represents a vSphere volume resource. #[derive(Clone, PartialEq, ::prost::Message)] diff --git a/k8s-pb/src/api/networking/v1/mod.rs b/k8s-pb/src/api/networking/v1/mod.rs index 0b0e2ef..76e1c88 100644 --- a/k8s-pb/src/api/networking/v1/mod.rs +++ b/k8s-pb/src/api/networking/v1/mod.rs @@ -539,6 +539,7 @@ pub struct NetworkPolicySpec { pub policy_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } /// ServiceBackendPort is the service port being referenced. +/// +structType=atomic #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServiceBackendPort { /// name is the name of the port on the Service. diff --git a/k8s-pb/src/api/networking/v1alpha1/mod.rs b/k8s-pb/src/api/networking/v1alpha1/mod.rs index 5094546..fdc34c2 100644 --- a/k8s-pb/src/api/networking/v1alpha1/mod.rs +++ b/k8s-pb/src/api/networking/v1alpha1/mod.rs @@ -97,6 +97,9 @@ pub struct ServiceCidrList { pub struct ServiceCidrSpec { /// CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64") /// from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. + /// The network address of each CIDR, the address that identifies the subnet of a host, is reserved + /// and will not be allocated. The broadcast address for IPv4 CIDRs is also reserved and will not be + /// allocated. /// This field is immutable. /// +optional /// +listType=atomic @@ -117,75 +120,3 @@ pub struct ServiceCidrStatus { pub conditions: ::prost::alloc::vec::Vec, } - -impl crate::Resource for IpAddress { - const API_VERSION: &'static str = "networking.k8s.io/v1alpha1"; - const GROUP: &'static str = "networking.k8s.io"; - const VERSION: &'static str = "v1alpha1"; - const KIND: &'static str = "IPAddress"; - const URL_PATH_SEGMENT: &'static str = "ipaddresses"; - type Scope = crate::ClusterResourceScope; -} -impl crate::HasMetadata for IpAddress { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} -impl crate::HasSpec for IpAddress { - type Spec = crate::api::networking::v1alpha1::IpAddressSpec; - fn spec(&self) -> Option<&::Spec> { - self.spec.as_ref() - } - fn spec_mut(&mut self) -> Option<&mut ::Spec> { - self.spec.as_mut() - } -} - -impl crate::Resource for ServiceCidr { - const API_VERSION: &'static str = "networking.k8s.io/v1alpha1"; - const GROUP: &'static str = "networking.k8s.io"; - const VERSION: &'static str = "v1alpha1"; - const KIND: &'static str = "ServiceCIDR"; - const URL_PATH_SEGMENT: &'static str = "servicecidrs"; - type Scope = crate::ClusterResourceScope; -} -impl crate::HasMetadata for ServiceCidr { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} -impl crate::HasSpec for ServiceCidr { - type Spec = crate::api::networking::v1alpha1::ServiceCidrSpec; - fn spec(&self) -> Option<&::Spec> { - self.spec.as_ref() - } - fn spec_mut(&mut self) -> Option<&mut ::Spec> { - self.spec.as_mut() - } -} -impl crate::HasStatus for ServiceCidr { - type Status = crate::api::networking::v1alpha1::ServiceCidrStatus; - fn status(&self) -> Option<&::Status> { - self.status.as_ref() - } - fn status_mut(&mut self) -> Option<&mut ::Status> { - self.status.as_mut() - } -} -impl crate::HasConditions for ServiceCidr { - type Condition = crate::apimachinery::pkg::apis::meta::v1::Condition; - fn conditions(&self) -> Option<&[::Condition]> { - self.status.as_ref().map(|s| s.conditions.as_slice()) - } - fn conditions_mut(&mut self) -> Option<&mut Vec<::Condition>> { - self.status.as_mut().and_then(|s| Some(s.conditions.as_mut())) - } -} diff --git a/k8s-pb/src/api/networking/v1beta1/mod.rs b/k8s-pb/src/api/networking/v1beta1/mod.rs index 28afc3e..93a4be6 100644 --- a/k8s-pb/src/api/networking/v1beta1/mod.rs +++ b/k8s-pb/src/api/networking/v1beta1/mod.rs @@ -44,6 +44,47 @@ pub struct HttpIngressRuleValue { #[prost(message, repeated, tag = "1")] pub paths: ::prost::alloc::vec::Vec, } +/// IPAddress represents a single IP of a single IP Family. The object is designed to be used by APIs +/// that operate on IP addresses. The object is used by the Service core API for allocation of IP addresses. +/// An IP address can be represented in different formats, to guarantee the uniqueness of the IP, +/// the name of the object is the IP address in canonical format, four decimal digits separated +/// by dots suppressing leading zeros for IPv4 and the representation defined by RFC 5952 for IPv6. +/// Valid: 192.168.1.5 or 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1 +/// Invalid: 10.01.2.3 or 2001:db8:0:0:0::1 +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IpAddress { + /// Standard object's metadata. + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// spec is the desired state of the IPAddress. + /// More info: + /// +optional + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, +} +/// IPAddressList contains a list of IPAddress. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IpAddressList { + /// Standard object's metadata. + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// items is the list of IPAddresses. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// IPAddressSpec describe the attributes in an IP Address. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IpAddressSpec { + /// ParentRef references the resource that an IPAddress is attached to. + /// An IPAddress must reference a parent object. + /// +required + #[prost(message, optional, tag = "1")] + pub parent_ref: ::core::option::Option, +} /// Ingress is a collection of rules that allow inbound connections to reach the /// endpoints defined by a backend. An Ingress can be configured to give services /// externally-reachable urls, load balance traffic, terminate SSL, offer name @@ -338,3 +379,152 @@ pub struct IngressTls { #[prost(string, optional, tag = "2")] pub secret_name: ::core::option::Option<::prost::alloc::string::String>, } +/// ParentReference describes a reference to a parent object. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ParentReference { + /// Group is the group of the object being referenced. + /// +optional + #[prost(string, optional, tag = "1")] + pub group: ::core::option::Option<::prost::alloc::string::String>, + /// Resource is the resource of the object being referenced. + /// +required + #[prost(string, optional, tag = "2")] + pub resource: ::core::option::Option<::prost::alloc::string::String>, + /// Namespace is the namespace of the object being referenced. + /// +optional + #[prost(string, optional, tag = "3")] + pub namespace: ::core::option::Option<::prost::alloc::string::String>, + /// Name is the name of the object being referenced. + /// +required + #[prost(string, optional, tag = "4")] + pub name: ::core::option::Option<::prost::alloc::string::String>, +} +/// ServiceCIDR defines a range of IP addresses using CIDR format (e.g. 192.168.0.0/24 or 2001:db2::/64). +/// This range is used to allocate ClusterIPs to Service objects. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServiceCidr { + /// Standard object's metadata. + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// spec is the desired state of the ServiceCIDR. + /// More info: + /// +optional + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, + /// status represents the current state of the ServiceCIDR. + /// More info: + /// +optional + #[prost(message, optional, tag = "3")] + pub status: ::core::option::Option, +} +/// ServiceCIDRList contains a list of ServiceCIDR objects. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServiceCidrList { + /// Standard object's metadata. + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// items is the list of ServiceCIDRs. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServiceCidrSpec { + /// CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or "2001:db8::/64") + /// from which to assign service cluster IPs. Max of two CIDRs is allowed, one of each IP family. + /// This field is immutable. + /// +optional + /// +listType=atomic + #[prost(string, repeated, tag = "1")] + pub cidrs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// ServiceCIDRStatus describes the current state of the ServiceCIDR. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServiceCidrStatus { + /// conditions holds an array of metav1.Condition that describe the state of the ServiceCIDR. + /// Current service state + /// +optional + /// +patchMergeKey=type + /// +patchStrategy=merge + /// +listType=map + /// +listMapKey=type + #[prost(message, repeated, tag = "1")] + pub conditions: + ::prost::alloc::vec::Vec, +} + +impl crate::Resource for IpAddress { + const API_VERSION: &'static str = "networking.k8s.io/v1beta1"; + const GROUP: &'static str = "networking.k8s.io"; + const VERSION: &'static str = "v1beta1"; + const KIND: &'static str = "IPAddress"; + const URL_PATH_SEGMENT: &'static str = "ipaddresses"; + type Scope = crate::ClusterResourceScope; +} +impl crate::HasMetadata for IpAddress { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for IpAddress { + type Spec = crate::api::networking::v1beta1::IpAddressSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} + +impl crate::Resource for ServiceCidr { + const API_VERSION: &'static str = "networking.k8s.io/v1beta1"; + const GROUP: &'static str = "networking.k8s.io"; + const VERSION: &'static str = "v1beta1"; + const KIND: &'static str = "ServiceCIDR"; + const URL_PATH_SEGMENT: &'static str = "servicecidrs"; + type Scope = crate::ClusterResourceScope; +} +impl crate::HasMetadata for ServiceCidr { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for ServiceCidr { + type Spec = crate::api::networking::v1beta1::ServiceCidrSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} +impl crate::HasStatus for ServiceCidr { + type Status = crate::api::networking::v1beta1::ServiceCidrStatus; + fn status(&self) -> Option<&::Status> { + self.status.as_ref() + } + fn status_mut(&mut self) -> Option<&mut ::Status> { + self.status.as_mut() + } +} +impl crate::HasConditions for ServiceCidr { + type Condition = crate::apimachinery::pkg::apis::meta::v1::Condition; + fn conditions(&self) -> Option<&[::Condition]> { + self.status.as_ref().map(|s| s.conditions.as_slice()) + } + fn conditions_mut(&mut self) -> Option<&mut Vec<::Condition>> { + self.status.as_mut().and_then(|s| Some(s.conditions.as_mut())) + } +} diff --git a/k8s-pb/src/api/resource/mod.rs b/k8s-pb/src/api/resource/mod.rs index dda13c1..91adce9 100644 --- a/k8s-pb/src/api/resource/mod.rs +++ b/k8s-pb/src/api/resource/mod.rs @@ -1 +1 @@ -pub mod v1alpha2; +pub mod v1alpha3; diff --git a/k8s-pb/src/api/resource/v1alpha2/mod.rs b/k8s-pb/src/api/resource/v1alpha2/mod.rs deleted file mode 100644 index ba9a4e5..0000000 --- a/k8s-pb/src/api/resource/v1alpha2/mod.rs +++ /dev/null @@ -1,938 +0,0 @@ -// This file is @generated by prost-build. -/// AllocationResult contains attributes of an allocated resource. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AllocationResult { - /// ResourceHandles contain the state associated with an allocation that - /// should be maintained throughout the lifetime of a claim. Each - /// ResourceHandle contains data that should be passed to a specific kubelet - /// plugin once it lands on a node. This data is returned by the driver - /// after a successful allocation and is opaque to Kubernetes. Driver - /// documentation may explain to users how to interpret this data if needed. - /// - /// Setting this field is optional. It has a maximum size of 32 entries. - /// If null (or empty), it is assumed this allocation will be processed by a - /// single kubelet plugin with no ResourceHandle data attached. The name of - /// the kubelet plugin invoked will match the DriverName set in the - /// ResourceClaimStatus this AllocationResult is embedded in. - /// - /// +listType=atomic - /// +optional - #[prost(message, repeated, tag = "1")] - pub resource_handles: ::prost::alloc::vec::Vec, - /// This field will get set by the resource driver after it has allocated - /// the resource to inform the scheduler where it can schedule Pods using - /// the ResourceClaim. - /// - /// Setting this field is optional. If null, the resource is available - /// everywhere. - /// +optional - #[prost(message, optional, tag = "2")] - pub available_on_nodes: ::core::option::Option, - /// Shareable determines whether the resource supports more - /// than one consumer at a time. - /// +optional - #[prost(bool, optional, tag = "3")] - pub shareable: ::core::option::Option, -} -/// AllocationResultModel must have one and only one field set. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AllocationResultModel { - /// NamedResources describes the allocation result when using the named resources model. - /// - /// +optional - #[prost(message, optional, tag = "1")] - pub named_resources: ::core::option::Option, -} -/// DriverAllocationResult contains vendor parameters and the allocation result for -/// one request. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DriverAllocationResult { - /// VendorRequestParameters are the per-request configuration parameters - /// from the time that the claim was allocated. - /// - /// +optional - #[prost(message, optional, tag = "1")] - pub vendor_request_parameters: - ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub allocation_result_model: ::core::option::Option, -} -/// DriverRequests describes all resources that are needed from one particular driver. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DriverRequests { - /// DriverName is the name used by the DRA driver kubelet plugin. - #[prost(string, optional, tag = "1")] - pub driver_name: ::core::option::Option<::prost::alloc::string::String>, - /// VendorParameters are arbitrary setup parameters for all requests of the - /// claim. They are ignored while allocating the claim. - /// - /// +optional - #[prost(message, optional, tag = "2")] - pub vendor_parameters: - ::core::option::Option, - /// Requests describes all resources that are needed from the driver. - /// +listType=atomic - #[prost(message, repeated, tag = "3")] - pub requests: ::prost::alloc::vec::Vec, -} -/// NamedResourcesAllocationResult is used in AllocationResultModel. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesAllocationResult { - /// Name is the name of the selected resource instance. - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, -} -/// NamedResourcesAttribute is a combination of an attribute name and its value. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesAttribute { - /// Name is unique identifier among all resource instances managed by - /// the driver on the node. It must be a DNS subdomain. - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub attribute_value: ::core::option::Option, -} -/// NamedResourcesAttributeValue must have one and only one field set. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesAttributeValue { - /// QuantityValue is a quantity. - #[prost(message, optional, tag = "6")] - pub quantity: ::core::option::Option, - /// BoolValue is a true/false value. - #[prost(bool, optional, tag = "2")] - pub bool: ::core::option::Option, - /// IntValue is a 64-bit integer. - #[prost(int64, optional, tag = "7")] - pub int: ::core::option::Option, - /// IntSliceValue is an array of 64-bit integers. - #[prost(message, optional, tag = "8")] - pub int_slice: ::core::option::Option, - /// StringValue is a string. - #[prost(string, optional, tag = "5")] - pub string: ::core::option::Option<::prost::alloc::string::String>, - /// StringSliceValue is an array of strings. - #[prost(message, optional, tag = "9")] - pub string_slice: ::core::option::Option, - /// VersionValue is a semantic version according to semver.org spec 2.0.0. - #[prost(string, optional, tag = "10")] - pub version: ::core::option::Option<::prost::alloc::string::String>, -} -/// NamedResourcesFilter is used in ResourceFilterModel. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesFilter { - /// Selector is a CEL expression which must evaluate to true if a - /// resource instance is suitable. The language is as defined in - /// - /// - /// In addition, for each type NamedResourcesin AttributeValue there is a map that - /// resolves to the corresponding value of the instance under evaluation. - /// For example: - /// - /// attributes.quantity\["a"\].isGreaterThan(quantity("0")) && - /// attributes.stringslice\["b"\].isSorted() - #[prost(string, optional, tag = "1")] - pub selector: ::core::option::Option<::prost::alloc::string::String>, -} -/// NamedResourcesInstance represents one individual hardware instance that can be selected based -/// on its attributes. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesInstance { - /// Name is unique identifier among all resource instances managed by - /// the driver on the node. It must be a DNS subdomain. - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - /// Attributes defines the attributes of this resource instance. - /// The name of each attribute must be unique. - /// - /// +listType=atomic - /// +optional - #[prost(message, repeated, tag = "2")] - pub attributes: ::prost::alloc::vec::Vec, -} -/// NamedResourcesIntSlice contains a slice of 64-bit integers. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesIntSlice { - /// Ints is the slice of 64-bit integers. - /// - /// +listType=atomic - #[prost(int64, repeated, packed = "false", tag = "1")] - pub ints: ::prost::alloc::vec::Vec, -} -/// NamedResourcesRequest is used in ResourceRequestModel. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesRequest { - /// Selector is a CEL expression which must evaluate to true if a - /// resource instance is suitable. The language is as defined in - /// - /// - /// In addition, for each type NamedResourcesin AttributeValue there is a map that - /// resolves to the corresponding value of the instance under evaluation. - /// For example: - /// - /// attributes.quantity\["a"\].isGreaterThan(quantity("0")) && - /// attributes.stringslice\["b"\].isSorted() - #[prost(string, optional, tag = "1")] - pub selector: ::core::option::Option<::prost::alloc::string::String>, -} -/// NamedResourcesResources is used in ResourceModel. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesResources { - /// The list of all individual resources instances currently available. - /// - /// +listType=atomic - #[prost(message, repeated, tag = "1")] - pub instances: ::prost::alloc::vec::Vec, -} -/// NamedResourcesStringSlice contains a slice of strings. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NamedResourcesStringSlice { - /// Strings is the slice of strings. - /// - /// +listType=atomic - #[prost(string, repeated, tag = "1")] - pub strings: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// PodSchedulingContext objects hold information that is needed to schedule -/// a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation -/// mode. -/// -/// This is an alpha type and requires enabling the DynamicResourceAllocation -/// feature gate. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PodSchedulingContext { - /// Standard object metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Spec describes where resources for the Pod are needed. - #[prost(message, optional, tag = "2")] - pub spec: ::core::option::Option, - /// Status describes where resources for the Pod can be allocated. - /// +optional - #[prost(message, optional, tag = "3")] - pub status: ::core::option::Option, -} -/// PodSchedulingContextList is a collection of Pod scheduling objects. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PodSchedulingContextList { - /// Standard list metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Items is the list of PodSchedulingContext objects. - #[prost(message, repeated, tag = "2")] - pub items: ::prost::alloc::vec::Vec, -} -/// PodSchedulingContextSpec describes where resources for the Pod are needed. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PodSchedulingContextSpec { - /// SelectedNode is the node for which allocation of ResourceClaims that - /// are referenced by the Pod and that use "WaitForFirstConsumer" - /// allocation is to be attempted. - /// +optional - #[prost(string, optional, tag = "1")] - pub selected_node: ::core::option::Option<::prost::alloc::string::String>, - /// PotentialNodes lists nodes where the Pod might be able to run. - /// - /// The size of this field is limited to 128. This is large enough for - /// many clusters. Larger clusters may need more attempts to find a node - /// that suits all pending resources. This may get increased in the - /// future, but not reduced. - /// - /// +listType=atomic - /// +optional - #[prost(string, repeated, tag = "2")] - pub potential_nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// PodSchedulingContextStatus describes where resources for the Pod can be allocated. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PodSchedulingContextStatus { - /// ResourceClaims describes resource availability for each - /// pod.spec.resourceClaim entry where the corresponding ResourceClaim - /// uses "WaitForFirstConsumer" allocation mode. - /// - /// +listType=map - /// +listMapKey=name - /// +optional - #[prost(message, repeated, tag = "1")] - pub resource_claims: ::prost::alloc::vec::Vec, -} -/// ResourceClaim describes which resources are needed by a resource consumer. -/// Its status tracks whether the resource has been allocated and what the -/// resulting attributes are. -/// -/// This is an alpha type and requires enabling the DynamicResourceAllocation -/// feature gate. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaim { - /// Standard object metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Spec describes the desired attributes of a resource that then needs - /// to be allocated. It can only be set once when creating the - /// ResourceClaim. - #[prost(message, optional, tag = "2")] - pub spec: ::core::option::Option, - /// Status describes whether the resource is available and with which - /// attributes. - /// +optional - #[prost(message, optional, tag = "3")] - pub status: ::core::option::Option, -} -/// ResourceClaimConsumerReference contains enough information to let you -/// locate the consumer of a ResourceClaim. The user must be a resource in the same -/// namespace as the ResourceClaim. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimConsumerReference { - /// APIGroup is the group for the resource being referenced. It is - /// empty for the core API. This matches the group in the APIVersion - /// that is used when creating the resources. - /// +optional - #[prost(string, optional, tag = "1")] - pub api_group: ::core::option::Option<::prost::alloc::string::String>, - /// Resource is the type of resource being referenced, for example "pods". - #[prost(string, optional, tag = "3")] - pub resource: ::core::option::Option<::prost::alloc::string::String>, - /// Name is the name of resource being referenced. - #[prost(string, optional, tag = "4")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - /// UID identifies exactly one incarnation of the resource. - #[prost(string, optional, tag = "5")] - pub uid: ::core::option::Option<::prost::alloc::string::String>, -} -/// ResourceClaimList is a collection of claims. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimList { - /// Standard list metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Items is the list of resource claims. - #[prost(message, repeated, tag = "2")] - pub items: ::prost::alloc::vec::Vec, -} -/// ResourceClaimParameters defines resource requests for a ResourceClaim in an -/// in-tree format understood by Kubernetes. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimParameters { - /// Standard object metadata - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// If this object was created from some other resource, then this links - /// back to that resource. This field is used to find the in-tree representation - /// of the claim parameters when the parameter reference of the claim refers - /// to some unknown type. - /// +optional - #[prost(message, optional, tag = "2")] - pub generated_from: ::core::option::Option, - /// Shareable indicates whether the allocated claim is meant to be shareable - /// by multiple consumers at the same time. - /// +optional - #[prost(bool, optional, tag = "3")] - pub shareable: ::core::option::Option, - /// DriverRequests describes all resources that are needed for the - /// allocated claim. A single claim may use resources coming from - /// different drivers. For each driver, this array has at most one - /// entry which then may have one or more per-driver requests. - /// - /// May be empty, in which case the claim can always be allocated. - /// - /// +listType=atomic - #[prost(message, repeated, tag = "4")] - pub driver_requests: ::prost::alloc::vec::Vec, -} -/// ResourceClaimParametersList is a collection of ResourceClaimParameters. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimParametersList { - /// Standard list metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Items is the list of node resource capacity objects. - #[prost(message, repeated, tag = "2")] - pub items: ::prost::alloc::vec::Vec, -} -/// ResourceClaimParametersReference contains enough information to let you -/// locate the parameters for a ResourceClaim. The object must be in the same -/// namespace as the ResourceClaim. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimParametersReference { - /// APIGroup is the group for the resource being referenced. It is - /// empty for the core API. This matches the group in the APIVersion - /// that is used when creating the resources. - /// +optional - #[prost(string, optional, tag = "1")] - pub api_group: ::core::option::Option<::prost::alloc::string::String>, - /// Kind is the type of resource being referenced. This is the same - /// value as in the parameter object's metadata, for example "ConfigMap". - #[prost(string, optional, tag = "2")] - pub kind: ::core::option::Option<::prost::alloc::string::String>, - /// Name is the name of resource being referenced. - #[prost(string, optional, tag = "3")] - pub name: ::core::option::Option<::prost::alloc::string::String>, -} -/// ResourceClaimSchedulingStatus contains information about one particular -/// ResourceClaim with "WaitForFirstConsumer" allocation mode. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimSchedulingStatus { - /// Name matches the pod.spec.resourceClaims\[*\].Name field. - /// +optional - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - /// UnsuitableNodes lists nodes that the ResourceClaim cannot be - /// allocated for. - /// - /// The size of this field is limited to 128, the same as for - /// PodSchedulingSpec.PotentialNodes. This may get increased in the - /// future, but not reduced. - /// - /// +listType=atomic - /// +optional - #[prost(string, repeated, tag = "2")] - pub unsuitable_nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// ResourceClaimSpec defines how a resource is to be allocated. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimSpec { - /// ResourceClassName references the driver and additional parameters - /// via the name of a ResourceClass that was created as part of the - /// driver deployment. - #[prost(string, optional, tag = "1")] - pub resource_class_name: ::core::option::Option<::prost::alloc::string::String>, - /// ParametersRef references a separate object with arbitrary parameters - /// that will be used by the driver when allocating a resource for the - /// claim. - /// - /// The object must be in the same namespace as the ResourceClaim. - /// +optional - #[prost(message, optional, tag = "2")] - pub parameters_ref: ::core::option::Option, - /// Allocation can start immediately or when a Pod wants to use the - /// resource. "WaitForFirstConsumer" is the default. - /// +optional - #[prost(string, optional, tag = "3")] - pub allocation_mode: ::core::option::Option<::prost::alloc::string::String>, -} -/// ResourceClaimStatus tracks whether the resource has been allocated and what -/// the resulting attributes are. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimStatus { - /// DriverName is a copy of the driver name from the ResourceClass at - /// the time when allocation started. - /// +optional - #[prost(string, optional, tag = "1")] - pub driver_name: ::core::option::Option<::prost::alloc::string::String>, - /// Allocation is set by the resource driver once a resource or set of - /// resources has been allocated successfully. If this is not specified, the - /// resources have not been allocated yet. - /// +optional - #[prost(message, optional, tag = "2")] - pub allocation: ::core::option::Option, - /// ReservedFor indicates which entities are currently allowed to use - /// the claim. A Pod which references a ResourceClaim which is not - /// reserved for that Pod will not be started. - /// - /// There can be at most 32 such reservations. This may get increased in - /// the future, but not reduced. - /// - /// +listType=map - /// +listMapKey=uid - /// +patchStrategy=merge - /// +patchMergeKey=uid - /// +optional - #[prost(message, repeated, tag = "3")] - pub reserved_for: ::prost::alloc::vec::Vec, - /// DeallocationRequested indicates that a ResourceClaim is to be - /// deallocated. - /// - /// The driver then must deallocate this claim and reset the field - /// together with clearing the Allocation field. - /// - /// While DeallocationRequested is set, no new consumers may be added to - /// ReservedFor. - /// +optional - #[prost(bool, optional, tag = "4")] - pub deallocation_requested: ::core::option::Option, -} -/// ResourceClaimTemplate is used to produce ResourceClaim objects. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimTemplate { - /// Standard object metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Describes the ResourceClaim that is to be generated. - /// - /// This field is immutable. A ResourceClaim will get created by the - /// control plane for a Pod when needed and then not get updated - /// anymore. - #[prost(message, optional, tag = "2")] - pub spec: ::core::option::Option, -} -/// ResourceClaimTemplateList is a collection of claim templates. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimTemplateList { - /// Standard list metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Items is the list of resource claim templates. - #[prost(message, repeated, tag = "2")] - pub items: ::prost::alloc::vec::Vec, -} -/// ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClaimTemplateSpec { - /// ObjectMeta may contain labels and annotations that will be copied into the PVC - /// when creating it. No other fields are allowed and will be rejected during - /// validation. - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Spec for the ResourceClaim. The entire content is copied unchanged - /// into the ResourceClaim that gets created from this template. The - /// same fields as in a ResourceClaim are also valid here. - #[prost(message, optional, tag = "2")] - pub spec: ::core::option::Option, -} -/// ResourceClass is used by administrators to influence how resources -/// are allocated. -/// -/// This is an alpha type and requires enabling the DynamicResourceAllocation -/// feature gate. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClass { - /// Standard object metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// DriverName defines the name of the dynamic resource driver that is - /// used for allocation of a ResourceClaim that uses this class. - /// - /// Resource drivers have a unique name in forward domain order - /// (acme.example.com). - #[prost(string, optional, tag = "2")] - pub driver_name: ::core::option::Option<::prost::alloc::string::String>, - /// ParametersRef references an arbitrary separate object that may hold - /// parameters that will be used by the driver when allocating a - /// resource that uses this class. A dynamic resource driver can - /// distinguish between parameters stored here and and those stored in - /// ResourceClaimSpec. - /// +optional - #[prost(message, optional, tag = "3")] - pub parameters_ref: ::core::option::Option, - /// Only nodes matching the selector will be considered by the scheduler - /// when trying to find a Node that fits a Pod when that Pod uses - /// a ResourceClaim that has not been allocated yet. - /// - /// Setting this field is optional. If null, all nodes are candidates. - /// +optional - #[prost(message, optional, tag = "4")] - pub suitable_nodes: ::core::option::Option, - /// If and only if allocation of claims using this class is handled - /// via structured parameters, then StructuredParameters must be set to true. - /// +optional - #[prost(bool, optional, tag = "5")] - pub structured_parameters: ::core::option::Option, -} -/// ResourceClassList is a collection of classes. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClassList { - /// Standard list metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Items is the list of resource classes. - #[prost(message, repeated, tag = "2")] - pub items: ::prost::alloc::vec::Vec, -} -/// ResourceClassParameters defines resource requests for a ResourceClass in an -/// in-tree format understood by Kubernetes. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClassParameters { - /// Standard object metadata - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// If this object was created from some other resource, then this links - /// back to that resource. This field is used to find the in-tree representation - /// of the class parameters when the parameter reference of the class refers - /// to some unknown type. - /// +optional - #[prost(message, optional, tag = "2")] - pub generated_from: ::core::option::Option, - /// VendorParameters are arbitrary setup parameters for all claims using - /// this class. They are ignored while allocating the claim. There must - /// not be more than one entry per driver. - /// - /// +listType=atomic - /// +optional - #[prost(message, repeated, tag = "3")] - pub vendor_parameters: ::prost::alloc::vec::Vec, - /// Filters describes additional contraints that must be met when using the class. - /// - /// +listType=atomic - #[prost(message, repeated, tag = "4")] - pub filters: ::prost::alloc::vec::Vec, -} -/// ResourceClassParametersList is a collection of ResourceClassParameters. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClassParametersList { - /// Standard list metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Items is the list of node resource capacity objects. - #[prost(message, repeated, tag = "2")] - pub items: ::prost::alloc::vec::Vec, -} -/// ResourceClassParametersReference contains enough information to let you -/// locate the parameters for a ResourceClass. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceClassParametersReference { - /// APIGroup is the group for the resource being referenced. It is - /// empty for the core API. This matches the group in the APIVersion - /// that is used when creating the resources. - /// +optional - #[prost(string, optional, tag = "1")] - pub api_group: ::core::option::Option<::prost::alloc::string::String>, - /// Kind is the type of resource being referenced. This is the same - /// value as in the parameter object's metadata. - #[prost(string, optional, tag = "2")] - pub kind: ::core::option::Option<::prost::alloc::string::String>, - /// Name is the name of resource being referenced. - #[prost(string, optional, tag = "3")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - /// Namespace that contains the referenced resource. Must be empty - /// for cluster-scoped resources and non-empty for namespaced - /// resources. - /// +optional - #[prost(string, optional, tag = "4")] - pub namespace: ::core::option::Option<::prost::alloc::string::String>, -} -/// ResourceFilter is a filter for resources from one particular driver. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceFilter { - /// DriverName is the name used by the DRA driver kubelet plugin. - #[prost(string, optional, tag = "1")] - pub driver_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub resource_filter_model: ::core::option::Option, -} -/// ResourceFilterModel must have one and only one field set. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceFilterModel { - /// NamedResources describes a resource filter using the named resources model. - /// - /// +optional - #[prost(message, optional, tag = "1")] - pub named_resources: ::core::option::Option, -} -/// ResourceHandle holds opaque resource data for processing by a specific kubelet plugin. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceHandle { - /// DriverName specifies the name of the resource driver whose kubelet - /// plugin should be invoked to process this ResourceHandle's data once it - /// lands on a node. This may differ from the DriverName set in - /// ResourceClaimStatus this ResourceHandle is embedded in. - #[prost(string, optional, tag = "1")] - pub driver_name: ::core::option::Option<::prost::alloc::string::String>, - /// Data contains the opaque data associated with this ResourceHandle. It is - /// set by the controller component of the resource driver whose name - /// matches the DriverName set in the ResourceClaimStatus this - /// ResourceHandle is embedded in. It is set at allocation time and is - /// intended for processing by the kubelet plugin whose name matches - /// the DriverName set in this ResourceHandle. - /// - /// The maximum size of this field is 16KiB. This may get increased in the - /// future, but not reduced. - /// +optional - #[prost(string, optional, tag = "2")] - pub data: ::core::option::Option<::prost::alloc::string::String>, - /// If StructuredData is set, then it needs to be used instead of Data. - /// - /// +optional - #[prost(message, optional, tag = "5")] - pub structured_data: ::core::option::Option, -} -/// ResourceModel must have one and only one field set. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceModel { - /// NamedResources describes available resources using the named resources model. - /// - /// +optional - #[prost(message, optional, tag = "1")] - pub named_resources: ::core::option::Option, -} -/// ResourceRequest is a request for resources from one particular driver. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceRequest { - /// VendorParameters are arbitrary setup parameters for the requested - /// resource. They are ignored while allocating a claim. - /// - /// +optional - #[prost(message, optional, tag = "1")] - pub vendor_parameters: - ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub resource_request_model: ::core::option::Option, -} -/// ResourceRequestModel must have one and only one field set. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceRequestModel { - /// NamedResources describes a request for resources with the named resources model. - /// - /// +optional - #[prost(message, optional, tag = "1")] - pub named_resources: ::core::option::Option, -} -/// ResourceSlice provides information about available -/// resources on individual nodes. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceSlice { - /// Standard object metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// NodeName identifies the node which provides the resources - /// if they are local to a node. - /// - /// A field selector can be used to list only ResourceSlice - /// objects with a certain node name. - /// - /// +optional - #[prost(string, optional, tag = "2")] - pub node_name: ::core::option::Option<::prost::alloc::string::String>, - /// DriverName identifies the DRA driver providing the capacity information. - /// A field selector can be used to list only ResourceSlice - /// objects with a certain driver name. - #[prost(string, optional, tag = "3")] - pub driver_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub resource_model: ::core::option::Option, -} -/// ResourceSliceList is a collection of ResourceSlices. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceSliceList { - /// Standard list metadata - /// +optional - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, - /// Items is the list of node resource capacity objects. - #[prost(message, repeated, tag = "2")] - pub items: ::prost::alloc::vec::Vec, -} -/// StructuredResourceHandle is the in-tree representation of the allocation result. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StructuredResourceHandle { - /// VendorClassParameters are the per-claim configuration parameters - /// from the resource class at the time that the claim was allocated. - /// - /// +optional - #[prost(message, optional, tag = "1")] - pub vendor_class_parameters: - ::core::option::Option, - /// VendorClaimParameters are the per-claim configuration parameters - /// from the resource claim parameters at the time that the claim was - /// allocated. - /// - /// +optional - #[prost(message, optional, tag = "2")] - pub vendor_claim_parameters: - ::core::option::Option, - /// NodeName is the name of the node providing the necessary resources - /// if the resources are local to a node. - /// - /// +optional - #[prost(string, optional, tag = "4")] - pub node_name: ::core::option::Option<::prost::alloc::string::String>, - /// Results lists all allocated driver resources. - /// - /// +listType=atomic - #[prost(message, repeated, tag = "5")] - pub results: ::prost::alloc::vec::Vec, -} -/// VendorParameters are opaque parameters for one particular driver. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VendorParameters { - /// DriverName is the name used by the DRA driver kubelet plugin. - #[prost(string, optional, tag = "1")] - pub driver_name: ::core::option::Option<::prost::alloc::string::String>, - /// Parameters can be arbitrary setup parameters. They are ignored while - /// allocating a claim. - /// - /// +optional - #[prost(message, optional, tag = "2")] - pub parameters: ::core::option::Option, -} - -impl crate::Resource for PodSchedulingContext { - const API_VERSION: &'static str = "resource.k8s.io/v1alpha2"; - const GROUP: &'static str = "resource.k8s.io"; - const VERSION: &'static str = "v1alpha2"; - const KIND: &'static str = "PodSchedulingContext"; - const URL_PATH_SEGMENT: &'static str = "podschedulingcontexts"; - type Scope = crate::NamespaceResourceScope; -} -impl crate::HasMetadata for PodSchedulingContext { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} -impl crate::HasSpec for PodSchedulingContext { - type Spec = crate::api::resource::v1alpha2::PodSchedulingContextSpec; - fn spec(&self) -> Option<&::Spec> { - self.spec.as_ref() - } - fn spec_mut(&mut self) -> Option<&mut ::Spec> { - self.spec.as_mut() - } -} -impl crate::HasStatus for PodSchedulingContext { - type Status = crate::api::resource::v1alpha2::PodSchedulingContextStatus; - fn status(&self) -> Option<&::Status> { - self.status.as_ref() - } - fn status_mut(&mut self) -> Option<&mut ::Status> { - self.status.as_mut() - } -} - -impl crate::Resource for ResourceClaim { - const API_VERSION: &'static str = "resource.k8s.io/v1alpha2"; - const GROUP: &'static str = "resource.k8s.io"; - const VERSION: &'static str = "v1alpha2"; - const KIND: &'static str = "ResourceClaim"; - const URL_PATH_SEGMENT: &'static str = "resourceclaims"; - type Scope = crate::NamespaceResourceScope; -} -impl crate::HasMetadata for ResourceClaim { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} -impl crate::HasSpec for ResourceClaim { - type Spec = crate::api::resource::v1alpha2::ResourceClaimSpec; - fn spec(&self) -> Option<&::Spec> { - self.spec.as_ref() - } - fn spec_mut(&mut self) -> Option<&mut ::Spec> { - self.spec.as_mut() - } -} -impl crate::HasStatus for ResourceClaim { - type Status = crate::api::resource::v1alpha2::ResourceClaimStatus; - fn status(&self) -> Option<&::Status> { - self.status.as_ref() - } - fn status_mut(&mut self) -> Option<&mut ::Status> { - self.status.as_mut() - } -} - -impl crate::Resource for ResourceClaimParameters { - const API_VERSION: &'static str = "resource.k8s.io/v1alpha2"; - const GROUP: &'static str = "resource.k8s.io"; - const VERSION: &'static str = "v1alpha2"; - const KIND: &'static str = "ResourceClaimParameters"; - const URL_PATH_SEGMENT: &'static str = "resourceclaimparameters"; - type Scope = crate::NamespaceResourceScope; -} -impl crate::HasMetadata for ResourceClaimParameters { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} - -impl crate::Resource for ResourceClaimTemplate { - const API_VERSION: &'static str = "resource.k8s.io/v1alpha2"; - const GROUP: &'static str = "resource.k8s.io"; - const VERSION: &'static str = "v1alpha2"; - const KIND: &'static str = "ResourceClaimTemplate"; - const URL_PATH_SEGMENT: &'static str = "resourceclaimtemplates"; - type Scope = crate::NamespaceResourceScope; -} -impl crate::HasMetadata for ResourceClaimTemplate { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} -impl crate::HasSpec for ResourceClaimTemplate { - type Spec = crate::api::resource::v1alpha2::ResourceClaimTemplateSpec; - fn spec(&self) -> Option<&::Spec> { - self.spec.as_ref() - } - fn spec_mut(&mut self) -> Option<&mut ::Spec> { - self.spec.as_mut() - } -} - -impl crate::Resource for ResourceClass { - const API_VERSION: &'static str = "resource.k8s.io/v1alpha2"; - const GROUP: &'static str = "resource.k8s.io"; - const VERSION: &'static str = "v1alpha2"; - const KIND: &'static str = "ResourceClass"; - const URL_PATH_SEGMENT: &'static str = "resourceclasses"; - type Scope = crate::ClusterResourceScope; -} -impl crate::HasMetadata for ResourceClass { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} - -impl crate::Resource for ResourceClassParameters { - const API_VERSION: &'static str = "resource.k8s.io/v1alpha2"; - const GROUP: &'static str = "resource.k8s.io"; - const VERSION: &'static str = "v1alpha2"; - const KIND: &'static str = "ResourceClassParameters"; - const URL_PATH_SEGMENT: &'static str = "resourceclassparameters"; - type Scope = crate::NamespaceResourceScope; -} -impl crate::HasMetadata for ResourceClassParameters { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} - -impl crate::Resource for ResourceSlice { - const API_VERSION: &'static str = "resource.k8s.io/v1alpha2"; - const GROUP: &'static str = "resource.k8s.io"; - const VERSION: &'static str = "v1alpha2"; - const KIND: &'static str = "ResourceSlice"; - const URL_PATH_SEGMENT: &'static str = "resourceslices"; - type Scope = crate::ClusterResourceScope; -} -impl crate::HasMetadata for ResourceSlice { - type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; - fn metadata(&self) -> Option<&::Metadata> { - self.metadata.as_ref() - } - fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { - self.metadata.as_mut() - } -} diff --git a/k8s-pb/src/api/resource/v1alpha3/mod.rs b/k8s-pb/src/api/resource/v1alpha3/mod.rs new file mode 100644 index 0000000..4be53ed --- /dev/null +++ b/k8s-pb/src/api/resource/v1alpha3/mod.rs @@ -0,0 +1,1073 @@ +// This file is @generated by prost-build. +/// AllocationResult contains attributes of an allocated resource. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AllocationResult { + /// Devices is the result of allocating devices. + /// + /// +optional + #[prost(message, optional, tag = "1")] + pub devices: ::core::option::Option, + /// NodeSelector defines where the allocated resources are available. If + /// unset, they are available everywhere. + /// + /// +optional + #[prost(message, optional, tag = "3")] + pub node_selector: ::core::option::Option, + /// Controller is the name of the DRA driver which handled the + /// allocation. That driver is also responsible for deallocating the + /// claim. It is empty when the claim can be deallocated without + /// involving a driver. + /// + /// A driver may allocate devices provided by other drivers, so this + /// driver name here can be different from the driver names listed for + /// the results. + /// + /// This is an alpha field and requires enabling the DRAControlPlaneController + /// feature gate. + /// + /// +optional + /// +featureGate=DRAControlPlaneController + #[prost(string, optional, tag = "4")] + pub controller: ::core::option::Option<::prost::alloc::string::String>, +} +/// BasicDevice defines one device instance. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BasicDevice { + /// Attributes defines the set of attributes for this device. + /// The name of each attribute must be unique in that set. + /// + /// The maximum number of attributes and capacities combined is 32. + /// + /// +optional + #[prost(map = "string, message", tag = "1")] + pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, DeviceAttribute>, + /// Capacity defines the set of capacities for this device. + /// The name of each capacity must be unique in that set. + /// + /// The maximum number of attributes and capacities combined is 32. + /// + /// +optional + #[prost(map = "string, message", tag = "2")] + pub capacity: ::std::collections::HashMap< + ::prost::alloc::string::String, + super::super::super::apimachinery::pkg::api::resource::Quantity, + >, +} +/// CELDeviceSelector contains a CEL expression for selecting a device. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CelDeviceSelector { + /// Expression is a CEL expression which evaluates a single device. It + /// must evaluate to true when the device under consideration satisfies + /// the desired criteria, and false when it does not. Any other result + /// is an error and causes allocation of devices to abort. + /// + /// The expression's input is an object named "device", which carries + /// the following properties: + /// - driver (string): the name of the driver which defines this device. + /// - attributes (map\[string\]object): the device's attributes, grouped by prefix + /// (e.g. device.attributes\["dra.example.com"\] evaluates to an object with all + /// of the attributes which were prefixed by "dra.example.com". + /// - capacity (map\[string\]object): the device's capacities, grouped by prefix. + /// + /// Example: Consider a device with driver="dra.example.com", which exposes + /// two attributes named "model" and "ext.example.com/family" and which + /// exposes one capacity named "modules". This input to this expression + /// would have the following fields: + /// + /// device.driver + /// device.attributes\["dra.example.com"\].model + /// device.attributes\["ext.example.com"\].family + /// device.capacity\["dra.example.com"\].modules + /// + /// The device.driver field can be used to check for a specific driver, + /// either as a high-level precondition (i.e. you only want to consider + /// devices from this driver) or as part of a multi-clause expression + /// that is meant to consider devices from different drivers. + /// + /// The value type of each attribute is defined by the device + /// definition, and users who write these expressions must consult the + /// documentation for their specific drivers. The value type of each + /// capacity is Quantity. + /// + /// If an unknown prefix is used as a lookup in either device.attributes + /// or device.capacity, an empty map will be returned. Any reference to + /// an unknown field will cause an evaluation error and allocation to + /// abort. + /// + /// A robust expression should check for the existence of attributes + /// before referencing them. + /// + /// For ease of use, the cel.bind() function is enabled, and can be used + /// to simplify expressions that access multiple attributes with the + /// same domain. For example: + /// + /// cel.bind(dra, device.attributes\["dra.example.com"\], dra.someBool && dra.anotherBool) + /// + /// +required + #[prost(string, optional, tag = "1")] + pub expression: ::core::option::Option<::prost::alloc::string::String>, +} +/// Device represents one individual hardware instance that can be selected based +/// on its attributes. Besides the name, exactly one field must be set. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Device { + /// Name is unique identifier among all devices managed by + /// the driver in the pool. It must be a DNS label. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// Basic defines one device instance. + /// + /// +optional + /// +oneOf=deviceType + #[prost(message, optional, tag = "2")] + pub basic: ::core::option::Option, +} +/// DeviceAllocationConfiguration gets embedded in an AllocationResult. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceAllocationConfiguration { + /// Source records whether the configuration comes from a class and thus + /// is not something that a normal user would have been able to set + /// or from a claim. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub source: ::core::option::Option<::prost::alloc::string::String>, + /// Requests lists the names of requests where the configuration applies. + /// If empty, its applies to all requests. + /// + /// +optional + /// +listType=atomic + #[prost(string, repeated, tag = "2")] + pub requests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub device_configuration: ::core::option::Option, +} +/// DeviceAllocationResult is the result of allocating devices. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceAllocationResult { + /// Results lists all allocated devices. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "1")] + pub results: ::prost::alloc::vec::Vec, + /// This field is a combination of all the claim and class configuration parameters. + /// Drivers can distinguish between those based on a flag. + /// + /// This includes configuration parameters for drivers which have no allocated + /// devices in the result because it is up to the drivers which configuration + /// parameters they support. They can silently ignore unknown configuration + /// parameters. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "2")] + pub config: ::prost::alloc::vec::Vec, +} +/// DeviceAttribute must have exactly one field set. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceAttribute { + /// IntValue is a number. + /// + /// +optional + /// +oneOf=ValueType + #[prost(int64, optional, tag = "2")] + pub int: ::core::option::Option, + /// BoolValue is a true/false value. + /// + /// +optional + /// +oneOf=ValueType + #[prost(bool, optional, tag = "3")] + pub bool: ::core::option::Option, + /// StringValue is a string. Must not be longer than 64 characters. + /// + /// +optional + /// +oneOf=ValueType + #[prost(string, optional, tag = "4")] + pub string: ::core::option::Option<::prost::alloc::string::String>, + /// VersionValue is a semantic version according to semver.org spec 2.0.0. + /// Must not be longer than 64 characters. + /// + /// +optional + /// +oneOf=ValueType + #[prost(string, optional, tag = "5")] + pub version: ::core::option::Option<::prost::alloc::string::String>, +} +/// DeviceClaim defines how to request devices with a ResourceClaim. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceClaim { + /// Requests represent individual requests for distinct devices which + /// must all be satisfied. If empty, nothing needs to be allocated. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "1")] + pub requests: ::prost::alloc::vec::Vec, + /// These constraints must be satisfied by the set of devices that get + /// allocated for the claim. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "2")] + pub constraints: ::prost::alloc::vec::Vec, + /// This field holds configuration for multiple potential drivers which + /// could satisfy requests in this claim. It is ignored while allocating + /// the claim. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "3")] + pub config: ::prost::alloc::vec::Vec, +} +/// DeviceClaimConfiguration is used for configuration parameters in DeviceClaim. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceClaimConfiguration { + /// Requests lists the names of requests where the configuration applies. + /// If empty, it applies to all requests. + /// + /// +optional + /// +listType=atomic + #[prost(string, repeated, tag = "1")] + pub requests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub device_configuration: ::core::option::Option, +} +/// DeviceClass is a vendor- or admin-provided resource that contains +/// device configuration and selectors. It can be referenced in +/// the device requests of a claim to apply these presets. +/// Cluster scoped. +/// +/// This is an alpha type and requires enabling the DynamicResourceAllocation +/// feature gate. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceClass { + /// Standard object metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Spec defines what can be allocated and how to configure it. + /// + /// This is mutable. Consumers have to be prepared for classes changing + /// at any time, either because they get updated or replaced. Claim + /// allocations are done once based on whatever was set in classes at + /// the time of allocation. + /// + /// Changing the spec automatically increments the metadata.generation number. + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, +} +/// DeviceClassConfiguration is used in DeviceClass. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceClassConfiguration { + #[prost(message, optional, tag = "1")] + pub device_configuration: ::core::option::Option, +} +/// DeviceClassList is a collection of classes. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceClassList { + /// Standard list metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Items is the list of resource classes. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// DeviceClassSpec is used in a \[DeviceClass\] to define what can be allocated +/// and how to configure it. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceClassSpec { + /// Each selector must be satisfied by a device which is claimed via this class. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "1")] + pub selectors: ::prost::alloc::vec::Vec, + /// Config defines configuration parameters that apply to each device that is claimed via this class. + /// Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor + /// configuration applies to exactly one driver. + /// + /// They are passed to the driver, but are not considered while allocating the claim. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "2")] + pub config: ::prost::alloc::vec::Vec, + /// Only nodes matching the selector will be considered by the scheduler + /// when trying to find a Node that fits a Pod when that Pod uses + /// a claim that has not been allocated yet *and* that claim + /// gets allocated through a control plane controller. It is ignored + /// when the claim does not use a control plane controller + /// for allocation. + /// + /// Setting this field is optional. If unset, all Nodes are candidates. + /// + /// This is an alpha field and requires enabling the DRAControlPlaneController + /// feature gate. + /// + /// +optional + /// +featureGate=DRAControlPlaneController + #[prost(message, optional, tag = "3")] + pub suitable_nodes: ::core::option::Option, +} +/// DeviceConfiguration must have exactly one field set. It gets embedded +/// inline in some other structs which have other fields, so field names must +/// not conflict with those. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceConfiguration { + /// Opaque provides driver-specific configuration parameters. + /// + /// +optional + /// +oneOf=ConfigurationType + #[prost(message, optional, tag = "1")] + pub opaque: ::core::option::Option, +} +/// DeviceConstraint must have exactly one field set besides Requests. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceConstraint { + /// Requests is a list of the one or more requests in this claim which + /// must co-satisfy this constraint. If a request is fulfilled by + /// multiple devices, then all of the devices must satisfy the + /// constraint. If this is not specified, this constraint applies to all + /// requests in this claim. + /// + /// +optional + /// +listType=atomic + #[prost(string, repeated, tag = "1")] + pub requests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// MatchAttribute requires that all devices in question have this + /// attribute and that its type and value are the same across those + /// devices. + /// + /// For example, if you specified "dra.example.com/numa" (a hypothetical example!), + /// then only devices in the same NUMA node will be chosen. A device which + /// does not have that attribute will not be chosen. All devices should + /// use a value of the same type for this attribute because that is part of + /// its specification, but if one device doesn't, then it also will not be + /// chosen. + /// + /// Must include the domain qualifier. + /// + /// +optional + /// +oneOf=ConstraintType + #[prost(string, optional, tag = "2")] + pub match_attribute: ::core::option::Option<::prost::alloc::string::String>, +} +/// DeviceRequest is a request for devices required for a claim. +/// This is typically a request for a single resource like a device, but can +/// also ask for several identical devices. +/// +/// A DeviceClassName is currently required. Clients must check that it is +/// indeed set. It's absence indicates that something changed in a way that +/// is not supported by the client yet, in which case it must refuse to +/// handle the request. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceRequest { + /// Name can be used to reference this request in a pod.spec.containers\[\].resources.claims + /// entry and in a constraint of the claim. + /// + /// Must be a DNS label. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// DeviceClassName references a specific DeviceClass, which can define + /// additional configuration and selectors to be inherited by this + /// request. + /// + /// A class is required. Which classes are available depends on the cluster. + /// + /// Administrators may use this to restrict which devices may get + /// requested by only installing classes with selectors for permitted + /// devices. If users are free to request anything without restrictions, + /// then administrators can create an empty DeviceClass for users + /// to reference. + /// + /// +required + #[prost(string, optional, tag = "2")] + pub device_class_name: ::core::option::Option<::prost::alloc::string::String>, + /// Selectors define criteria which must be satisfied by a specific + /// device in order for that device to be considered for this + /// request. All selectors must be satisfied for a device to be + /// considered. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "3")] + pub selectors: ::prost::alloc::vec::Vec, + /// AllocationMode and its related fields define how devices are allocated + /// to satisfy this request. Supported values are: + /// + /// - ExactCount: This request is for a specific number of devices. + /// This is the default. The exact number is provided in the + /// count field. + /// + /// - All: This request is for all of the matching devices in a pool. + /// Allocation will fail if some devices are already allocated, + /// unless adminAccess is requested. + /// + /// If AlloctionMode is not specified, the default mode is ExactCount. If + /// the mode is ExactCount and count is not specified, the default count is + /// one. Any other requests must specify this field. + /// + /// More modes may get added in the future. Clients must refuse to handle + /// requests with unknown modes. + /// + /// +optional + #[prost(string, optional, tag = "4")] + pub allocation_mode: ::core::option::Option<::prost::alloc::string::String>, + /// Count is used only when the count mode is "ExactCount". Must be greater than zero. + /// If AllocationMode is ExactCount and this field is not specified, the default is one. + /// + /// +optional + /// +oneOf=AllocationMode + #[prost(int64, optional, tag = "5")] + pub count: ::core::option::Option, + /// AdminAccess indicates that this is a claim for administrative access + /// to the device(s). Claims with AdminAccess are expected to be used for + /// monitoring or other management services for a device. They ignore + /// all ordinary claims to the device with respect to access modes and + /// any resource allocations. + /// + /// +optional + /// +default=false + #[prost(bool, optional, tag = "6")] + pub admin_access: ::core::option::Option, +} +/// DeviceRequestAllocationResult contains the allocation result for one request. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceRequestAllocationResult { + /// Request is the name of the request in the claim which caused this + /// device to be allocated. Multiple devices may have been allocated + /// per request. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub request: ::core::option::Option<::prost::alloc::string::String>, + /// Driver specifies the name of the DRA driver whose kubelet + /// plugin should be invoked to process the allocation once the claim is + /// needed on a node. + /// + /// Must be a DNS subdomain and should end with a DNS domain owned by the + /// vendor of the driver. + /// + /// +required + #[prost(string, optional, tag = "2")] + pub driver: ::core::option::Option<::prost::alloc::string::String>, + /// This name together with the driver name and the device name field + /// identify which device was allocated (`//`). + /// + /// Must not be longer than 253 characters and may contain one or more + /// DNS sub-domains separated by slashes. + /// + /// +required + #[prost(string, optional, tag = "3")] + pub pool: ::core::option::Option<::prost::alloc::string::String>, + /// Device references one device instance via its name in the driver's + /// resource pool. It must be a DNS label. + /// + /// +required + #[prost(string, optional, tag = "4")] + pub device: ::core::option::Option<::prost::alloc::string::String>, +} +/// DeviceSelector must have exactly one field set. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceSelector { + /// CEL contains a CEL expression for selecting a device. + /// + /// +optional + /// +oneOf=SelectorType + #[prost(message, optional, tag = "1")] + pub cel: ::core::option::Option, +} +/// OpaqueDeviceConfiguration contains configuration parameters for a driver +/// in a format defined by the driver vendor. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OpaqueDeviceConfiguration { + /// Driver is used to determine which kubelet plugin needs + /// to be passed these configuration parameters. + /// + /// An admission policy provided by the driver developer could use this + /// to decide whether it needs to validate them. + /// + /// Must be a DNS subdomain and should end with a DNS domain owned by the + /// vendor of the driver. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub driver: ::core::option::Option<::prost::alloc::string::String>, + /// Parameters can contain arbitrary data. It is the responsibility of + /// the driver developer to handle validation and versioning. Typically this + /// includes self-identification and a version ("kind" + "apiVersion" for + /// Kubernetes types), with conversion between different versions. + /// + /// +required + #[prost(message, optional, tag = "2")] + pub parameters: ::core::option::Option, +} +/// PodSchedulingContext objects hold information that is needed to schedule +/// a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation +/// mode. +/// +/// This is an alpha type and requires enabling the DRAControlPlaneController +/// feature gate. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PodSchedulingContext { + /// Standard object metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Spec describes where resources for the Pod are needed. + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, + /// Status describes where resources for the Pod can be allocated. + /// + /// +optional + #[prost(message, optional, tag = "3")] + pub status: ::core::option::Option, +} +/// PodSchedulingContextList is a collection of Pod scheduling objects. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PodSchedulingContextList { + /// Standard list metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Items is the list of PodSchedulingContext objects. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// PodSchedulingContextSpec describes where resources for the Pod are needed. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PodSchedulingContextSpec { + /// SelectedNode is the node for which allocation of ResourceClaims that + /// are referenced by the Pod and that use "WaitForFirstConsumer" + /// allocation is to be attempted. + /// + /// +optional + #[prost(string, optional, tag = "1")] + pub selected_node: ::core::option::Option<::prost::alloc::string::String>, + /// PotentialNodes lists nodes where the Pod might be able to run. + /// + /// The size of this field is limited to 128. This is large enough for + /// many clusters. Larger clusters may need more attempts to find a node + /// that suits all pending resources. This may get increased in the + /// future, but not reduced. + /// + /// +optional + /// +listType=atomic + #[prost(string, repeated, tag = "2")] + pub potential_nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// PodSchedulingContextStatus describes where resources for the Pod can be allocated. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PodSchedulingContextStatus { + /// ResourceClaims describes resource availability for each + /// pod.spec.resourceClaim entry where the corresponding ResourceClaim + /// uses "WaitForFirstConsumer" allocation mode. + /// + /// +listType=map + /// +listMapKey=name + /// +optional + #[prost(message, repeated, tag = "1")] + pub resource_claims: ::prost::alloc::vec::Vec, +} +/// ResourceClaim describes a request for access to resources in the cluster, +/// for use by workloads. For example, if a workload needs an accelerator device +/// with specific properties, this is how that request is expressed. The status +/// stanza tracks whether this claim has been satisfied and what specific +/// resources have been allocated. +/// +/// This is an alpha type and requires enabling the DynamicResourceAllocation +/// feature gate. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaim { + /// Standard object metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Spec describes what is being requested and how to configure it. + /// The spec is immutable. + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, + /// Status describes whether the claim is ready to use and what has been allocated. + /// +optional + #[prost(message, optional, tag = "3")] + pub status: ::core::option::Option, +} +/// ResourceClaimConsumerReference contains enough information to let you +/// locate the consumer of a ResourceClaim. The user must be a resource in the same +/// namespace as the ResourceClaim. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimConsumerReference { + /// APIGroup is the group for the resource being referenced. It is + /// empty for the core API. This matches the group in the APIVersion + /// that is used when creating the resources. + /// +optional + #[prost(string, optional, tag = "1")] + pub api_group: ::core::option::Option<::prost::alloc::string::String>, + /// Resource is the type of resource being referenced, for example "pods". + /// +required + #[prost(string, optional, tag = "3")] + pub resource: ::core::option::Option<::prost::alloc::string::String>, + /// Name is the name of resource being referenced. + /// +required + #[prost(string, optional, tag = "4")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// UID identifies exactly one incarnation of the resource. + /// +required + #[prost(string, optional, tag = "5")] + pub uid: ::core::option::Option<::prost::alloc::string::String>, +} +/// ResourceClaimList is a collection of claims. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimList { + /// Standard list metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Items is the list of resource claims. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// ResourceClaimSchedulingStatus contains information about one particular +/// ResourceClaim with "WaitForFirstConsumer" allocation mode. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimSchedulingStatus { + /// Name matches the pod.spec.resourceClaims\[*\].Name field. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// UnsuitableNodes lists nodes that the ResourceClaim cannot be + /// allocated for. + /// + /// The size of this field is limited to 128, the same as for + /// PodSchedulingSpec.PotentialNodes. This may get increased in the + /// future, but not reduced. + /// + /// +optional + /// +listType=atomic + #[prost(string, repeated, tag = "2")] + pub unsuitable_nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimSpec { + /// Devices defines how to request devices. + /// + /// +optional + #[prost(message, optional, tag = "1")] + pub devices: ::core::option::Option, + /// Controller is the name of the DRA driver that is meant + /// to handle allocation of this claim. If empty, allocation is handled + /// by the scheduler while scheduling a pod. + /// + /// Must be a DNS subdomain and should end with a DNS domain owned by the + /// vendor of the driver. + /// + /// This is an alpha field and requires enabling the DRAControlPlaneController + /// feature gate. + /// + /// +optional + /// +featureGate=DRAControlPlaneController + #[prost(string, optional, tag = "2")] + pub controller: ::core::option::Option<::prost::alloc::string::String>, +} +/// ResourceClaimStatus tracks whether the resource has been allocated and what +/// the result of that was. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimStatus { + /// Allocation is set once the claim has been allocated successfully. + /// + /// +optional + #[prost(message, optional, tag = "1")] + pub allocation: ::core::option::Option, + /// ReservedFor indicates which entities are currently allowed to use + /// the claim. A Pod which references a ResourceClaim which is not + /// reserved for that Pod will not be started. A claim that is in + /// use or might be in use because it has been reserved must not get + /// deallocated. + /// + /// In a cluster with multiple scheduler instances, two pods might get + /// scheduled concurrently by different schedulers. When they reference + /// the same ResourceClaim which already has reached its maximum number + /// of consumers, only one pod can be scheduled. + /// + /// Both schedulers try to add their pod to the claim.status.reservedFor + /// field, but only the update that reaches the API server first gets + /// stored. The other one fails with an error and the scheduler + /// which issued it knows that it must put the pod back into the queue, + /// waiting for the ResourceClaim to become usable again. + /// + /// There can be at most 32 such reservations. This may get increased in + /// the future, but not reduced. + /// + /// +optional + /// +listType=map + /// +listMapKey=uid + /// +patchStrategy=merge + /// +patchMergeKey=uid + #[prost(message, repeated, tag = "2")] + pub reserved_for: ::prost::alloc::vec::Vec, + /// Indicates that a claim is to be deallocated. While this is set, + /// no new consumers may be added to ReservedFor. + /// + /// This is only used if the claim needs to be deallocated by a DRA driver. + /// That driver then must deallocate this claim and reset the field + /// together with clearing the Allocation field. + /// + /// This is an alpha field and requires enabling the DRAControlPlaneController + /// feature gate. + /// + /// +optional + /// +featureGate=DRAControlPlaneController + #[prost(bool, optional, tag = "3")] + pub deallocation_requested: ::core::option::Option, +} +/// ResourceClaimTemplate is used to produce ResourceClaim objects. +/// +/// This is an alpha type and requires enabling the DynamicResourceAllocation +/// feature gate. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimTemplate { + /// Standard object metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Describes the ResourceClaim that is to be generated. + /// + /// This field is immutable. A ResourceClaim will get created by the + /// control plane for a Pod when needed and then not get updated + /// anymore. + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, +} +/// ResourceClaimTemplateList is a collection of claim templates. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimTemplateList { + /// Standard list metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Items is the list of resource claim templates. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceClaimTemplateSpec { + /// ObjectMeta may contain labels and annotations that will be copied into the PVC + /// when creating it. No other fields are allowed and will be rejected during + /// validation. + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Spec for the ResourceClaim. The entire content is copied unchanged + /// into the ResourceClaim that gets created from this template. The + /// same fields as in a ResourceClaim are also valid here. + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, +} +/// ResourcePool describes the pool that ResourceSlices belong to. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourcePool { + /// Name is used to identify the pool. For node-local devices, this + /// is often the node name, but this is not required. + /// + /// It must not be longer than 253 characters and must consist of one or more DNS sub-domains + /// separated by slashes. This field is immutable. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// Generation tracks the change in a pool over time. Whenever a driver + /// changes something about one or more of the resources in a pool, it + /// must change the generation in all ResourceSlices which are part of + /// that pool. Consumers of ResourceSlices should only consider + /// resources from the pool with the highest generation number. The + /// generation may be reset by drivers, which should be fine for + /// consumers, assuming that all ResourceSlices in a pool are updated to + /// match or deleted. + /// + /// Combined with ResourceSliceCount, this mechanism enables consumers to + /// detect pools which are comprised of multiple ResourceSlices and are + /// in an incomplete state. + /// + /// +required + #[prost(int64, optional, tag = "2")] + pub generation: ::core::option::Option, + /// ResourceSliceCount is the total number of ResourceSlices in the pool at this + /// generation number. Must be greater than zero. + /// + /// Consumers can use this to check whether they have seen all ResourceSlices + /// belonging to the same pool. + /// + /// +required + #[prost(int64, optional, tag = "3")] + pub resource_slice_count: ::core::option::Option, +} +/// ResourceSlice represents one or more resources in a pool of similar resources, +/// managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many +/// ResourceSlices comprise a pool is determined by the driver. +/// +/// At the moment, the only supported resources are devices with attributes and capacities. +/// Each device in a given pool, regardless of how many ResourceSlices, must have a unique name. +/// The ResourceSlice in which a device gets published may change over time. The unique identifier +/// for a device is the tuple , , . +/// +/// Whenever a driver needs to update a pool, it increments the pool.Spec.Pool.Generation number +/// and updates all ResourceSlices with that new number and new resource definitions. A consumer +/// must only use ResourceSlices with the highest generation number and ignore all others. +/// +/// When allocating all resources in a pool matching certain criteria or when +/// looking for the best solution among several different alternatives, a +/// consumer should check the number of ResourceSlices in a pool (included in +/// each ResourceSlice) to determine whether its view of a pool is complete and +/// if not, should wait until the driver has completed updating the pool. +/// +/// For resources that are not local to a node, the node name is not set. Instead, +/// the driver may use a node selector to specify where the devices are available. +/// +/// This is an alpha type and requires enabling the DynamicResourceAllocation +/// feature gate. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceSlice { + /// Standard object metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Contains the information published by the driver. + /// + /// Changing the spec automatically increments the metadata.generation number. + #[prost(message, optional, tag = "2")] + pub spec: ::core::option::Option, +} +/// ResourceSliceList is a collection of ResourceSlices. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceSliceList { + /// Standard list metadata + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Items is the list of resource ResourceSlices. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} +/// ResourceSliceSpec contains the information published by the driver in one ResourceSlice. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResourceSliceSpec { + /// Driver identifies the DRA driver providing the capacity information. + /// A field selector can be used to list only ResourceSlice + /// objects with a certain driver name. + /// + /// Must be a DNS subdomain and should end with a DNS domain owned by the + /// vendor of the driver. This field is immutable. + /// + /// +required + #[prost(string, optional, tag = "1")] + pub driver: ::core::option::Option<::prost::alloc::string::String>, + /// Pool describes the pool that this ResourceSlice belongs to. + /// + /// +required + #[prost(message, optional, tag = "2")] + pub pool: ::core::option::Option, + /// NodeName identifies the node which provides the resources in this pool. + /// A field selector can be used to list only ResourceSlice + /// objects belonging to a certain node. + /// + /// This field can be used to limit access from nodes to ResourceSlices with + /// the same node name. It also indicates to autoscalers that adding + /// new nodes of the same type as some old node might also make new + /// resources available. + /// + /// Exactly one of NodeName, NodeSelector and AllNodes must be set. + /// This field is immutable. + /// + /// +optional + /// +oneOf=NodeSelection + #[prost(string, optional, tag = "3")] + pub node_name: ::core::option::Option<::prost::alloc::string::String>, + /// NodeSelector defines which nodes have access to the resources in the pool, + /// when that pool is not limited to a single node. + /// + /// Must use exactly one term. + /// + /// Exactly one of NodeName, NodeSelector and AllNodes must be set. + /// + /// +optional + /// +oneOf=NodeSelection + #[prost(message, optional, tag = "4")] + pub node_selector: ::core::option::Option, + /// AllNodes indicates that all nodes have access to the resources in the pool. + /// + /// Exactly one of NodeName, NodeSelector and AllNodes must be set. + /// + /// +optional + /// +oneOf=NodeSelection + #[prost(bool, optional, tag = "5")] + pub all_nodes: ::core::option::Option, + /// Devices lists some or all of the devices in this pool. + /// + /// Must not have more than 128 entries. + /// + /// +optional + /// +listType=atomic + #[prost(message, repeated, tag = "6")] + pub devices: ::prost::alloc::vec::Vec, +} + +impl crate::Resource for DeviceClass { + const API_VERSION: &'static str = "resource.k8s.io/v1alpha3"; + const GROUP: &'static str = "resource.k8s.io"; + const VERSION: &'static str = "v1alpha3"; + const KIND: &'static str = "DeviceClass"; + const URL_PATH_SEGMENT: &'static str = "deviceclasses"; + type Scope = crate::ClusterResourceScope; +} +impl crate::HasMetadata for DeviceClass { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for DeviceClass { + type Spec = crate::api::resource::v1alpha3::DeviceClassSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} + +impl crate::Resource for PodSchedulingContext { + const API_VERSION: &'static str = "resource.k8s.io/v1alpha3"; + const GROUP: &'static str = "resource.k8s.io"; + const VERSION: &'static str = "v1alpha3"; + const KIND: &'static str = "PodSchedulingContext"; + const URL_PATH_SEGMENT: &'static str = "podschedulingcontexts"; + type Scope = crate::NamespaceResourceScope; +} +impl crate::HasMetadata for PodSchedulingContext { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for PodSchedulingContext { + type Spec = crate::api::resource::v1alpha3::PodSchedulingContextSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} +impl crate::HasStatus for PodSchedulingContext { + type Status = crate::api::resource::v1alpha3::PodSchedulingContextStatus; + fn status(&self) -> Option<&::Status> { + self.status.as_ref() + } + fn status_mut(&mut self) -> Option<&mut ::Status> { + self.status.as_mut() + } +} + +impl crate::Resource for ResourceClaim { + const API_VERSION: &'static str = "resource.k8s.io/v1alpha3"; + const GROUP: &'static str = "resource.k8s.io"; + const VERSION: &'static str = "v1alpha3"; + const KIND: &'static str = "ResourceClaim"; + const URL_PATH_SEGMENT: &'static str = "resourceclaims"; + type Scope = crate::NamespaceResourceScope; +} +impl crate::HasMetadata for ResourceClaim { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for ResourceClaim { + type Spec = crate::api::resource::v1alpha3::ResourceClaimSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} +impl crate::HasStatus for ResourceClaim { + type Status = crate::api::resource::v1alpha3::ResourceClaimStatus; + fn status(&self) -> Option<&::Status> { + self.status.as_ref() + } + fn status_mut(&mut self) -> Option<&mut ::Status> { + self.status.as_mut() + } +} + +impl crate::Resource for ResourceClaimTemplate { + const API_VERSION: &'static str = "resource.k8s.io/v1alpha3"; + const GROUP: &'static str = "resource.k8s.io"; + const VERSION: &'static str = "v1alpha3"; + const KIND: &'static str = "ResourceClaimTemplate"; + const URL_PATH_SEGMENT: &'static str = "resourceclaimtemplates"; + type Scope = crate::NamespaceResourceScope; +} +impl crate::HasMetadata for ResourceClaimTemplate { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for ResourceClaimTemplate { + type Spec = crate::api::resource::v1alpha3::ResourceClaimTemplateSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} + +impl crate::Resource for ResourceSlice { + const API_VERSION: &'static str = "resource.k8s.io/v1alpha3"; + const GROUP: &'static str = "resource.k8s.io"; + const VERSION: &'static str = "v1alpha3"; + const KIND: &'static str = "ResourceSlice"; + const URL_PATH_SEGMENT: &'static str = "resourceslices"; + type Scope = crate::ClusterResourceScope; +} +impl crate::HasMetadata for ResourceSlice { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} +impl crate::HasSpec for ResourceSlice { + type Spec = crate::api::resource::v1alpha3::ResourceSliceSpec; + fn spec(&self) -> Option<&::Spec> { + self.spec.as_ref() + } + fn spec_mut(&mut self) -> Option<&mut ::Spec> { + self.spec.as_mut() + } +} diff --git a/k8s-pb/src/api/storage/v1beta1/mod.rs b/k8s-pb/src/api/storage/v1beta1/mod.rs index 84d2a25..a7b0881 100644 --- a/k8s-pb/src/api/storage/v1beta1/mod.rs +++ b/k8s-pb/src/api/storage/v1beta1/mod.rs @@ -542,6 +542,49 @@ pub struct VolumeAttachmentStatus { #[prost(message, optional, tag = "4")] pub detach_error: ::core::option::Option, } +/// VolumeAttributesClass represents a specification of mutable volume attributes +/// defined by the CSI driver. The class can be specified during dynamic provisioning +/// of PersistentVolumeClaims, and changed in the PersistentVolumeClaim spec after provisioning. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VolumeAttributesClass { + /// Standard object's metadata. + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// Name of the CSI driver + /// This field is immutable. + #[prost(string, optional, tag = "2")] + pub driver_name: ::core::option::Option<::prost::alloc::string::String>, + /// parameters hold volume attributes defined by the CSI driver. These values + /// are opaque to the Kubernetes and are passed directly to the CSI driver. + /// The underlying storage provider supports changing these attributes on an + /// existing volume, however the parameters field itself is immutable. To + /// invoke a volume update, a new VolumeAttributesClass should be created with + /// new parameters, and the PersistentVolumeClaim should be updated to reference + /// the new VolumeAttributesClass. + /// + /// This field is required and must contain at least one key/value pair. + /// The keys cannot be empty, and the maximum number of parameters is 512, with + /// a cumulative max size of 256K. If the CSI driver rejects invalid parameters, + /// the target PersistentVolumeClaim will be set to an "Infeasible" state in the + /// modifyVolumeStatus field. + #[prost(map = "string, string", tag = "3")] + pub parameters: + ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, +} +/// VolumeAttributesClassList is a collection of VolumeAttributesClass objects. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VolumeAttributesClassList { + /// Standard list metadata + /// More info: + /// +optional + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// items is the list of VolumeAttributesClass objects. + #[prost(message, repeated, tag = "2")] + pub items: ::prost::alloc::vec::Vec, +} /// VolumeError captures an error encountered during a volume operation. #[derive(Clone, PartialEq, ::prost::Message)] pub struct VolumeError { @@ -567,3 +610,21 @@ pub struct VolumeNodeResources { #[prost(int32, optional, tag = "1")] pub count: ::core::option::Option, } + +impl crate::Resource for VolumeAttributesClass { + const API_VERSION: &'static str = "storage.k8s.io/v1beta1"; + const GROUP: &'static str = "storage.k8s.io"; + const VERSION: &'static str = "v1beta1"; + const KIND: &'static str = "VolumeAttributesClass"; + const URL_PATH_SEGMENT: &'static str = "volumeattributesclasses"; + type Scope = crate::ClusterResourceScope; +} +impl crate::HasMetadata for VolumeAttributesClass { + type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta; + fn metadata(&self) -> Option<&::Metadata> { + self.metadata.as_ref() + } + fn metadata_mut(&mut self) -> Option<&mut ::Metadata> { + self.metadata.as_mut() + } +} diff --git a/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1/mod.rs b/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1/mod.rs index 82c44ee..8a7cd05 100644 --- a/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1/mod.rs +++ b/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1/mod.rs @@ -570,7 +570,6 @@ pub struct JsonSchemaProps { #[prost(string, optional, tag = "43")] pub x_kubernetes_map_type: ::core::option::Option<::prost::alloc::string::String>, /// x-kubernetes-validations describes a list of validation rules written in the CEL expression language. - /// This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled. /// +patchMergeKey=rule /// +patchStrategy=merge /// +listType=map diff --git a/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1beta1/mod.rs b/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1beta1/mod.rs index 2d5b597..eb75a14 100644 --- a/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1beta1/mod.rs +++ b/k8s-pb/src/apiextensions_apiserver/pkg/apis/apiextensions/v1beta1/mod.rs @@ -631,7 +631,6 @@ pub struct JsonSchemaProps { #[prost(string, optional, tag = "43")] pub x_kubernetes_map_type: ::core::option::Option<::prost::alloc::string::String>, /// x-kubernetes-validations describes a list of validation rules written in the CEL expression language. - /// This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled. /// +patchMergeKey=rule /// +patchStrategy=merge /// +listType=map diff --git a/k8s-pb/src/apimachinery/pkg/apis/meta/v1/mod.rs b/k8s-pb/src/apimachinery/pkg/apis/meta/v1/mod.rs index 4395771..54944d9 100644 --- a/k8s-pb/src/apimachinery/pkg/apis/meta/v1/mod.rs +++ b/k8s-pb/src/apimachinery/pkg/apis/meta/v1/mod.rs @@ -306,6 +306,26 @@ pub struct Duration { #[prost(int64, optional, tag = "1")] pub duration: ::core::option::Option, } +/// FieldSelectorRequirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FieldSelectorRequirement { + /// key is the field selector key that the requirement applies to. + #[prost(string, optional, tag = "1")] + pub key: ::core::option::Option<::prost::alloc::string::String>, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists, DoesNotExist. + /// The list of operators may grow in the future. + #[prost(string, optional, tag = "2")] + pub operator: ::core::option::Option<::prost::alloc::string::String>, + /// values is an array of string values. + /// If the operator is In or NotIn, the values array must be non-empty. + /// If the operator is Exists or DoesNotExist, the values array must be empty. + /// +optional + /// +listType=atomic + #[prost(string, repeated, tag = "3")] + pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} /// FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format. /// /// Each key is either a '.' representing the field itself, and will always map to an empty set,