import type { Resource_Props_Top } from "@k8ts/instruments" import type { K8S } from "@k8ts/sample-interfaces" import type { Pod_Props, Service_Props } from "../../.." import type { ContainerRef } from "../pod/container" import type { StatefulSet_Scope } from "./scope" export interface StatefulSet_UpdateStrategy_RollingUpdate extends K8S.RollingUpdateStatefulSetStrategy { type: "RollingUpdate" } export interface StatefulSet_UpdateStrategy_OnDelete { type: "OnDelete" } export type StatefulSet_UpdateStrategy = | StatefulSet_UpdateStrategy_RollingUpdate | StatefulSet_UpdateStrategy_OnDelete export type StatefulSet_Producer = ( scope: StatefulSet_Scope ) => Iterable> export interface StatefulSet_Props< Ports extends string, SvcPorts extends NoInfer, SvcName extends string > extends Resource_Props_Top { $replicas?: number $template: Omit, "containers$"> & { containers$: StatefulSet_Producer } $service: { name: SvcName } & Omit, "$backend" | "$frontend"> $updateStrategy?: StatefulSet_UpdateStrategy }