diff --git a/src/object.ts b/src/object.ts index 91efe2e9c79..36cbccdafe1 100644 --- a/src/object.ts +++ b/src/object.ts @@ -19,6 +19,16 @@ import { PatchStrategy } from './patch.js'; /** Kubernetes API verbs. */ type KubernetesApiAction = 'create' | 'delete' | 'patch' | 'read' | 'list' | 'replace'; +type KubernetesObjectHeader = Pick< + T, + 'apiVersion' | 'kind' +> & { + metadata: { + name: string; + namespace?: string; + }; +}; + interface GroupVersion { group: string; version: string; @@ -278,7 +288,7 @@ export class KubernetesObjectApi { * @return Promise containing the request response and [[KubernetesObject]]. */ public async read( - spec: T, + spec: KubernetesObjectHeader, pretty?: string, exact?: boolean, exportt?: boolean, diff --git a/src/object_test.ts b/src/object_test.ts index 0a2dd66eef2..92ed7d1933f 100644 --- a/src/object_test.ts +++ b/src/object_test.ts @@ -1725,7 +1725,7 @@ describe('KubernetesObject', () => { it('should read a custom resource', async () => { interface CustomTestResource extends KubernetesObject { - spec?: { + spec: { key: string; }; }