UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

46 lines 1.73 kB
import { Ref2_Of, Resource_Top, type Resource_Ref_Full, type Unit } from "@k8ts/instruments"; import { CDK } from "@k8ts/sample-interfaces"; import { v1 } from "../../../kinds/default"; import { storage } from "../../../kinds/storage"; import { Access } from "../access-mode"; import type { Pv_VolumeMode } from "../block-mode"; export interface Pv_Backend_HostPath { type: "HostPath"; hostpathType: string; path: string; } export interface Pv_Backend_Local { type: "Local"; path: string; } export interface Pv_Backend_Nfs { type: "NFS"; server: string; path: string; } export type Pv_Backend = Pv_Backend_HostPath | Pv_Backend_Local | Pv_Backend_Nfs; export interface Pv_Props_K8ts<Mode extends Pv_VolumeMode = Pv_VolumeMode> { $accessModes: Access; $storageClass?: Resource_Ref_Full<storage.v1.StorageClass._>; $mode?: Mode; reclaimPolicy?: Reclaim; $capacity: Unit.Data; $backend?: Pv_Backend; mountOptions?: string[]; nodeAffinity?: CDK.VolumeNodeAffinity; } export type Reclaim = "Retain" | "Delete" | "Recycle"; export type Pv_Ref<Mode extends Pv_VolumeMode = Pv_VolumeMode> = Ref2_Of<v1.PersistentVolume._> & { __MODE__: Mode; }; export declare class Pv<Mode extends Pv_VolumeMode = "Filesystem", Name extends string = string> extends Resource_Top<Name, Pv_Props_K8ts<Mode>> { __MODE__: Mode; get kind(): import("@k8ts/instruments").Kind.Kind<"", "v1", "PersistentVolume">; protected __needs__(): { storageClass: Resource_Ref_Full<import("@k8ts/instruments").Kind.Kind<"storage.k8s.io", "v1", "StorageClass">> | undefined; }; protected body(): { spec: CDK.PersistentVolumeSpec; }; } //# sourceMappingURL=pv.d.ts.map