use myko_macros::myko_item;
use serde::{Deserialize, Serialize};
use ts_rs::TS;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
pub enum VarType {
String,
Bool,
Integer,
}
myko::register_ts_export!(VarType);
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, TS)]
#[serde(rename_all = "camelCase")]
pub struct VarDef {
pub name: String,
pub var_type: VarType,
pub default: serde_json::Value,
}
myko::register_ts_export!(VarDef);
#[myko_item]
pub struct Playbook {
pub name: String,
pub description: String,
pub hosts: Vec<String>,
pub vars: Vec<VarDef>,
}