k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
30 lines • 1.33 kB
TypeScript
import { Refable, type Unit } from "@k8ts/instruments";
import { CDK } from "../../../_imports";
import { External } from "../../../external";
import { api } from "../../../kinds";
import { ManifestResource } from "../../../node/manifest-resource";
import { Access } from "../access-mode";
import type { DataMode } from "../block-mode";
import { Backend as Backend_ } from "./backend";
export type Pv<T extends DataMode = DataMode> = Pv.Pv<T>;
export declare namespace Pv {
export import Backend = Backend_;
interface Props<Mode extends DataMode = DataMode> {
$accessModes: Access;
$storageClass?: External<api.storage_.v1_.StorageClass>;
$mode?: Mode;
reclaimPolicy?: Reclaim;
$capacity: Unit.Data;
$backend?: Backend;
nodeAffinity?: CDK.VolumeNodeAffinity;
}
type Reclaim = "Retain" | "Delete" | "Recycle";
type AbsPv<Mode extends DataMode = DataMode> = Refable<api.v1_.PersistentVolume> & {
__MODE__: Mode;
};
class Pv<Mode extends DataMode = DataMode> extends ManifestResource<Props<Mode>> {
__MODE__: Mode;
readonly kind: import("@k8ts/instruments").Kind.Kind<"PersistentVolume", import("@k8ts/instruments").Kind.Version<"v1", import("@k8ts/instruments").Kind.Group<"">>>;
}
}
//# sourceMappingURL=pv.d.ts.map