UNPKG

kubernetes-fluent-client

Version:

A @kubernetes/client-node fluent API wrapper that leverages K8s Server Side Apply.

33 lines 1.47 kB
import { KubernetesObject } from "@kubernetes/client-node"; import { GenericClass } from "../types.js"; import { K8sInit } from "./types.js"; import { Filters } from "./shared-types.js"; type FinalizeOperation = "add" | "remove"; /** * Kubernetes fluent API inspired by Kubectl. Pass in a model, then call filters and actions on it. * * @param model - the model to use for the API * @param filters - (optional) filter overrides, can also be chained * @returns a fluent API for the model */ export declare function K8s<T extends GenericClass, K extends KubernetesObject = InstanceType<T>>(model: T, filters?: Filters): K8sInit<T, K>; /** * * Remove controller fields from the Kubernetes object. * This is necessary for ensuring that the object can be applied without conflicts. * * @param object - the Kubernetes object to remove controller fields from */ export declare function removeControllerFields(object: KubernetesObject): void; /** * Mutates the finalizers list based on the operation. * Throws or returns early if no update is necessary. * * @param operation - "add" or "remove" * @param finalizer - The finalizer to add/remove * @param object - The Kubernetes resource object * @returns The updated finalizers list or `null` if no update is needed */ export declare function updateFinalizersOrSkip(operation: FinalizeOperation, finalizer: string, object: KubernetesObject): string[] | null; export {}; //# sourceMappingURL=index.d.ts.map