k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
30 lines • 1.43 kB
TypeScript
import { Ref2_Of, Resource_Top, type Resource_Entity } from "@k8ts/instruments";
import { CDK } from "@k8ts/sample-interfaces";
import { apps } from "../../kinds/apps";
import { Pod_Template, type Pod_Props } from "../pod";
export interface Deployment_Strategy_RollingUpdate extends CDK.RollingUpdateDeployment {
type: "RollingUpdate";
}
export interface Deployment_Strategy_Recreate {
type: "Recreate";
}
export type Deployment_Strategy = Deployment_Strategy_RollingUpdate | Deployment_Strategy_Recreate;
export type Deployment_Props_Original = Omit<CDK.DeploymentSpec, "selector" | "template" | "strategy">;
export type Deployment_Props<Ports extends string> = Deployment_Props_Original & {
$template: Pod_Props<Ports>;
$strategy?: Deployment_Strategy;
};
export type Deployment_Ref<Ports extends string> = Ref2_Of<apps.v1.Deployment._> & {
__PORTS__: Ports;
};
export declare class Deployment<Name extends string, Ports extends string = string> extends Resource_Top<Name, Deployment_Props<Ports>> {
#private;
__PORTS__: Ports;
get kind(): import("@k8ts/instruments").Kind.Kind<"apps", "v1", "Deployment">;
protected __kids__(): Resource_Entity[];
protected body(): CDK.KubeDeploymentProps;
private get _strategy();
get template(): Pod_Template<Ports>;
get ports(): import("doddle").Doddle<import("@k8ts/instruments").PortSet<Ports>>;
}
//# sourceMappingURL=deployment.d.ts.map