devops_armory/toml_parser/
models.rs

1use serde::Deserialize;
2
3#[derive(Default, Debug, Deserialize)]
4pub struct Root {
5    pub rustible: Vec<Rustible>,
6}
7
8#[derive(Default, Debug, Deserialize)]
9pub struct Rustible {
10    pub vm: Vec<Vm>,
11    pub bare_metal: Vec<BareMetal>,
12}
13
14#[derive(Default, Debug, Deserialize)]
15pub struct Vm {
16    pub ubuntu: VMSpecs,
17    pub slackware: VMSpecs,
18    pub debian: VMSpecs,
19    pub centos: VMSpecs,
20    pub fedora: VMSpecs,
21    pub opensuse: VMSpecs
22}
23
24#[derive(Default, Debug, Deserialize)]
25pub struct VMSpecs {
26    pub ip_address_list: Vec<String>,
27    pub commands: Vec<String>,
28}
29
30#[derive(Default, Debug, Deserialize)]
31pub struct BareMetal {
32    pub ubuntu: BareMetalSpecs,
33    pub debian: BareMetalSpecs,
34    pub slackware: BareMetalSpecs,
35    pub centos: BareMetalSpecs,
36    pub fedora: BareMetalSpecs,
37    pub opensuse: BareMetalSpecs
38}
39
40#[derive(Default, Debug, Deserialize)]
41pub struct BareMetalSpecs {
42    pub ip_address_list: Vec<String>,
43    pub commands: Vec<String>,
44}