diff --git a/packages/core/src/common/k8s-api/kube-api.ts b/packages/core/src/common/k8s-api/kube-api.ts index 31e5c7af39..27b801a3ff 100644 --- a/packages/core/src/common/k8s-api/kube-api.ts +++ b/packages/core/src/common/k8s-api/kube-api.ts @@ -97,7 +97,7 @@ export interface DerivedKubeApiOptions { export interface KubeApiQueryParams { watch?: boolean | number; - resourceVersion?: string; + resourceVersion?: string | number; timeoutSeconds?: number; limit?: number; // doesn't work with ?watch continue?: string; // might be used with ?limit from second request @@ -272,7 +272,7 @@ export class KubeApi< public readonly objectConstructor: KubeObjectConstructor; protected readonly request: KubeJsonApi; - protected readonly resourceVersions = new Map(); + protected readonly resourceVersions = new Map(); protected readonly watchDisposer: Disposer | undefined; private watchId = 1; protected readonly doCheckPreferredVersion: boolean; @@ -385,7 +385,7 @@ export class KubeApi< } } - setResourceVersion(namespace = "", newVersion: string) { + setResourceVersion(namespace = "", newVersion: string | number) { this.resourceVersions.set(namespace, newVersion); } diff --git a/packages/kube-object/src/api-types.ts b/packages/kube-object/src/api-types.ts index cf79ccd0ea..213c092586 100644 --- a/packages/kube-object/src/api-types.ts +++ b/packages/kube-object/src/api-types.ts @@ -9,7 +9,7 @@ import type { KubeObject } from "./kube-object"; * The metadata for LIST requests to the KubeApi */ export interface KubeJsonApiListMetadata { - resourceVersion: string; + resourceVersion: string | number; selfLink?: string; } @@ -229,7 +229,7 @@ export type KubeObjectMetadata; @@ -256,7 +256,7 @@ export interface EvictionObject { orphanDependents?: boolean; propagationPolicy?: string; preconditions?: { - resourceVersion: string; + resourceVersion: string | number; uid: string; }[]; }; diff --git a/packages/kube-object/src/kube-object.ts b/packages/kube-object/src/kube-object.ts index 70d74865a2..0507357d6d 100644 --- a/packages/kube-object/src/kube-object.ts +++ b/packages/kube-object/src/kube-object.ts @@ -118,13 +118,6 @@ export class KubeObject< ); } - if (!isString(data.metadata.resourceVersion)) { - throw new KubeCreationError( - `Cannot create a KubeObject from an object without metadata.resourceVersion being a string`, - data, - ); - } - if (!isString(data.metadata.selfLink)) { throw new KubeCreationError( `Cannot create a KubeObject from an object without metadata.selfLink being a string`,