@mittwald/kubernetes
Version:
Kubernetes client library
32 lines (31 loc) • 1.33 kB
TypeScript
import { MetadataObject } from "./types/meta";
import { IKubernetesRESTClient, WatchOptions } from "./client";
import { ListWatchErrorStrategy } from "./resource_listwatch_error";
import { WatchHandle } from "./watch";
import { WatchEvent } from "./types/meta/v1";
import { Counter, Gauge } from "prom-client";
export interface ListWatchOptions<R extends MetadataObject> extends WatchOptions {
onResync?: (objs: R[]) => any;
skipAddEventsOnResync?: boolean;
errorStrategy?: ListWatchErrorStrategy;
}
export interface ListWatchMetrics {
watchResyncErrorCount: Counter<"baseURL">;
watchOpenCount: Gauge<"baseURL">;
}
export declare class ListWatch<TObj extends MetadataObject> {
private readonly state;
private readonly baseURL;
private readonly resourceBaseURL;
private readonly opts;
private readonly client;
private readonly metrics;
private readonly onWatchEvent;
private readonly onWatchError;
private readonly errorStrategy;
constructor(onWatchEvent: (event: WatchEvent<TObj>) => any, onWatchError: ((error: any) => any) | undefined, client: IKubernetesRESTClient, baseURL: string, resourceBaseURL: string, opts: ListWatchOptions<TObj>, metrics: ListWatchMetrics);
private handler;
private resync;
run(): WatchHandle;
private handleWatchIterationError;
}