import { K8S } from "@k8ts/sample-interfaces"; import { ResourceEntity, ResourcePart, Units, type Resource_Props, type ResourceRef, type ResourceRef_HasKeys } from "@k8ts/instruments"; import { v1 } from "../../../../gvks/default"; import type { HostPath_Type } from "../../../hostpath"; import { type ContainerVolumeMount_Input, type ContainerVolumeMount_Unbound } from "../container/mounts/volume"; export interface PodVolume_Backend_Pvc = ResourceRef> extends Resource_Props { $backend: A; readOnly?: boolean; } export interface PodVolume_Backend_HostPath extends Resource_Props { $backend: { kind: "HostPath"; $noEmit?: boolean; type?: HostPath_Type; path: string; }; } export interface PodVolume_Backend_EmptyDir extends Resource_Props { $backend: { kind: "EmptyDir"; medium?: "" | "Memory"; sizeLimit?: Units.Data; }; } export interface PodVolume_Backend_ConfigMap = ResourceRef> extends Resource_Props { $backend: A; optional?: boolean; mappings?: { [K in ResourceRef_HasKeys]?: string; }; } export interface PodVolume_Backend_Secret = ResourceRef> extends Resource_Props { $backend: A; optional?: boolean; mappings?: { [K in ResourceRef_HasKeys]?: string; }; } export type PodVolume_Backend = (PodVolume_Backend_Pvc | PodVolume_Backend_ConfigMap | PodVolume_Backend_Secret | PodVolume_Backend_HostPath | PodVolume_Backend_EmptyDir) & Resource_Props; type _KeysOf = T extends { $backend: { keys: infer Ks extends string[]; }; } ? Ks[number] : string; type _Mapped = T extends { mappings: infer M; } ? { [K in _KeysOf]: K extends keyof M ? M[K] : K; }[_KeysOf] : _KeysOf; export type PodVolumeBackendKnownPaths = string & _Mapped; export declare abstract class PodVolume

extends ResourcePart

{ get kind(): import("@k8ts/instruments").Gvk_SubKind<"v1/Pod.Volume">; get namespace(): string | undefined; protected __needs__(): Record; mount(options?: ContainerVolumeMount_Input>): ContainerVolumeMount_Unbound; protected abstract __submanifest__(): K8S.Volume; } export declare class PodVolume_Pvc extends PodVolume { protected __submanifest__(): K8S.Volume; } export declare class PodVolume_ConfigMap extends PodVolume { protected __submanifest__(): K8S.Volume; } export declare class PodVolume_Secret> extends PodVolume { protected __submanifest__(): K8S.Volume; } export declare class PodVolume_HostPath extends PodVolume { protected __submanifest__(): K8S.Volume; } export declare class PodVolume_EmptyDir extends PodVolume { protected __submanifest__(): K8S.Volume; } export {}; //# sourceMappingURL=volumes.d.ts.map