tachyon_types/
playbook.rs1use myko_macros::myko_item;
2use serde::{Deserialize, Serialize};
3use ts_rs::TS;
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)]
6#[serde(rename_all = "camelCase")]
7pub enum VarType {
8 String,
9 Bool,
10 Integer,
11}
12
13myko::register_ts_export!(VarType);
14
15#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)]
16#[serde(rename_all = "camelCase")]
17pub struct VarDef {
18 pub name: String,
19 pub var_type: VarType,
20 pub default: serde_json::Value,
21}
22
23myko::register_ts_export!(VarDef);
24
25#[myko_item]
26pub struct Playbook {
27 pub name: String,
28 pub description: String,
29 pub hosts: Vec<String>,
30 pub vars: Vec<VarDef>,
31}