UNPKG

@mittwald/kubernetes

Version:

Kubernetes client library

78 lines (77 loc) 5.34 kB
import { IKubernetesRESTClient, ListOptions, MandatorySelectorOptions, WatchOptions, WatchResult } from "./client"; import { APIObject, MetadataObject } from "./types/meta"; import { DeleteOptions, WatchEvent } from "./types/meta/v1"; import { WatchHandle } from "./watch"; import { Registry } from "prom-client"; import { JSONPatch, JSONPatchElement, RecursivePartial } from "./api_patch"; export interface IResourceClient<R extends MetadataObject, K, V, O extends R = R> { list(listOptions?: ListOptions): Promise<Array<APIObject<K, V> & O>>; get(name: string): Promise<(APIObject<K, V> & O) | undefined>; apply(resource: R): Promise<APIObject<K, V> & O>; put(resource: R): Promise<APIObject<K, V> & O>; post(resource: R): Promise<APIObject<K, V> & O>; patchStrategic(resourceOrName: R | string, patch: RecursivePartial<R>): Promise<APIObject<K, V> & O>; patchMerge(resourceOrName: R | string, patch: RecursivePartial<R>): Promise<APIObject<K, V> & O>; patchJSON(resourceOrName: R | string, patch: JSONPatch): Promise<R>; delete(resourceOrName: R | string, deleteOptions?: DeleteOptions): Promise<void>; deleteMany(opts: MandatorySelectorOptions & DeleteOptions): Promise<void>; watch(handler: (event: WatchEvent<O>) => any, errorHandler?: (error: any) => any, opts?: WatchOptions): Promise<WatchResult>; listWatch(handler: (event: WatchEvent<O>) => any, errorHandler?: (error: any) => any, opts?: WatchOptions): WatchHandle; } export interface INamespacedResourceClient<R extends MetadataObject, K, V, O extends R = R> extends IResourceClient<R, K, V, O> { namespace(ns: string): INamespacedResourceClient<R, K, V, O>; allNamespaces(): INamespacedResourceClient<R, K, V, O>; } export declare class CustomResourceClient<R extends MetadataObject, K, V, O extends R = R> implements INamespacedResourceClient<R, K, V, O> { private inner; private kind; private apiVersion; constructor(inner: INamespacedResourceClient<R, K, V, O>, kind: K, apiVersion: V); list(listOptions?: ListOptions): Promise<Array<APIObject<K, V> & O>>; get(name: string): Promise<(APIObject<K, V> & O) | undefined>; apply(resource: R): Promise<APIObject<K, V> & O>; put(resource: R): Promise<APIObject<K, V> & O>; post(resource: R): Promise<APIObject<K, V> & O>; delete(resourceOrName: string | R, deleteOptions?: DeleteOptions): Promise<void>; deleteMany(opts: MandatorySelectorOptions & DeleteOptions): Promise<void>; watch(handler: (event: WatchEvent<O>) => any, errorHandler?: (error: any) => any, opts?: WatchOptions): Promise<WatchResult>; listWatch(handler: (event: WatchEvent<O>) => any, errorHandler?: (error: any) => any, opts?: WatchOptions): WatchHandle; patchJSON(resourceOrName: string | R, patch: JSONPatchElement[]): Promise<R>; patchStrategic(resourceOrName: string | R, patch: RecursivePartial<R>): Promise<APIObject<K, V> & O>; patchMerge(resourceOrName: string | R, patch: RecursivePartial<R>): Promise<APIObject<K, V> & O>; namespace(ns: string): INamespacedResourceClient<R, K, V, O>; allNamespaces(): INamespacedResourceClient<R, K, V, O>; } export declare class ResourceClient<R extends MetadataObject, K, V, O extends R = R> implements IResourceClient<R, K, V, O> { protected client: IKubernetesRESTClient; protected apiBaseURL: string; protected resourceBaseURL: string; private static watchResyncErrorCount; private static watchOpenCount; protected baseURL: string; supportsCollectionDeletion: boolean; constructor(client: IKubernetesRESTClient, apiBaseURL: string, resourceBaseURL: string, registry: Registry); protected urlForResource(r: R): string; protected urlForResourceOrName(r: R | string): string; list(opts?: ListOptions): Promise<Array<APIObject<K, V> & O>>; get(name: string): Promise<(APIObject<K, V> & O) | undefined>; watch(handler: (event: WatchEvent<O>) => any, errorHandler?: (error: any) => any, opts?: WatchOptions): Promise<WatchResult>; listWatch(handler: (event: WatchEvent<O>) => any, errorHandler?: (error: any) => any, opts?: WatchOptions): WatchHandle; apply(resource: R): Promise<APIObject<K, V> & O>; put(resource: R): Promise<APIObject<K, V> & O>; post(resource: R): Promise<APIObject<K, V> & O>; patchStrategic(resourceOrName: R | string, patch: RecursivePartial<R>): Promise<APIObject<K, V> & O>; patchMerge(resourceOrName: R | string, patch: RecursivePartial<R>): Promise<APIObject<K, V> & O>; patchJSON(resourceOrName: R | string, patch: JSONPatch): Promise<APIObject<K, V> & O>; delete(resourceOrName: R | string, deleteOptions?: DeleteOptions): Promise<void>; deleteMany(opts: MandatorySelectorOptions & DeleteOptions): Promise<any>; } export declare class NamespacedResourceClient<R extends MetadataObject, K, V, O extends R = R> extends ResourceClient<R, K, V, O> implements INamespacedResourceClient<R, K, V, O> { private registry; private ns?; constructor(client: IKubernetesRESTClient, apiBaseURL: string, resourceBaseURL: string, registry: Registry, ns?: string); protected urlForResource(r: R): string; namespace(ns: string): INamespacedResourceClient<R, K, V, O>; allNamespaces(): INamespacedResourceClient<R, K, V, O>; post(resource: R): Promise<any>; }