tachyon-types 0.2.0

Shared myko entity and command types for the tachyon Ansible runner.
Documentation
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>,
}