workload_spec/
export_ts.rs1use ts_rs::{Config, TS};
14
15use crate::*;
16
17pub const HEADER: &str = "\
18// AUTO-GENERATED by `cargo run -p yah-workload-spec --bin export-ts`.
19// Source of truth: crates/yah/workload-spec/src/lib.rs.
20// Do not edit by hand. Regenerate after changing the Rust types and commit
21// the result; CI fails if this file drifts from the Rust schema.
22
23";
24
25pub fn render() -> String {
29 let cfg = Config::default();
30 let mut out = String::from(HEADER);
31
32 macro_rules! emit {
33 ($t:ty) => {
34 out.push_str("export ");
35 out.push_str(&<$t as TS>::decl(&cfg));
36 out.push_str("\n\n");
37 };
38 }
39
40 emit!(Millis);
42 emit!(MachineId);
43 emit!(MeshIdent);
44 emit!(TierTag);
45 emit!(TenantId);
46 emit!(NamespaceId);
47
48 emit!(MeshLookup);
49 emit!(EnvValue);
50 emit!(EnvVar);
51
52 emit!(SecretRef);
53 emit!(SecretTarget);
54 emit!(SecretMount);
55
56 emit!(VolumeSource);
57 emit!(VolumeMount);
58
59 emit!(ImageRef);
60 emit!(ResourceLimits);
61
62 emit!(HealthProbe);
63 emit!(Healthcheck);
64
65 emit!(BackoffPolicy);
66 emit!(RestartPolicy);
67 emit!(StopPolicy);
68
69 emit!(MeshPeer);
70 emit!(MeshExpose);
71 emit!(PublicTls);
72 emit!(PublicExpose);
73 emit!(OperatorExpose);
74 emit!(ExposeSpec);
75
76 emit!(Locality);
80 emit!(Supply);
81 emit!(Requirement);
82
83 emit!(WorkloadSpec);
84
85 emit!(ContainerMount);
88 emit!(ContainerRunConfig);
89 emit!(ContainerBuildStep);
90 emit!(ContainerBuild);
91 emit!(ContainerManifest);
92
93 emit!(BuildConfig);
94 emit!(BuildMode);
95 emit!(MesofactStaticWorkload);
96 emit!(MesofactServeBundle);
97 emit!(BundleLifecycle);
98 emit!(AlmanacFeed);
101 emit!(MesofactRevalidateReceiver);
102
103 emit!(AlmanacTarget);
104 emit!(NotReadyPolicy);
105 emit!(Cadence);
106 emit!(AlmanacManifest);
107
108 emit!(BlakeHash);
109 emit!(License);
110 emit!(FetchSource);
111 emit!(TransformSpec);
112 emit!(AssetDerive);
113 emit!(AssetEntry);
114 emit!(StaticAssetWorkload);
115
116 emit!(TenantPasswayTls);
119 emit!(TenantPasswayWorkload);
120
121 emit!(Workload);
122
123 out
124}