hab_rs_api_client/models/
rule.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Rule {
16 #[serde(rename = "actions", skip_serializing_if = "Option::is_none")]
17 pub actions: Option<Vec<models::Action>>,
18 #[serde(rename = "conditions", skip_serializing_if = "Option::is_none")]
19 pub conditions: Option<Vec<models::Condition>>,
20 #[serde(rename = "configuration", skip_serializing_if = "Option::is_none")]
21 pub configuration: Option<Box<models::Configuration>>,
22 #[serde(
23 rename = "configurationDescriptions",
24 skip_serializing_if = "Option::is_none"
25 )]
26 pub configuration_descriptions: Option<Vec<models::ConfigDescriptionParameter>>,
27 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
28 pub description: Option<String>,
29 #[serde(rename = "modules", skip_serializing_if = "Option::is_none")]
30 pub modules: Option<Vec<models::Module>>,
31 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
32 pub name: Option<String>,
33 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
34 pub tags: Option<Vec<String>>,
35 #[serde(rename = "templateUID", skip_serializing_if = "Option::is_none")]
36 pub template_uid: Option<String>,
37 #[serde(rename = "triggers", skip_serializing_if = "Option::is_none")]
38 pub triggers: Option<Vec<models::Trigger>>,
39 #[serde(rename = "uid", skip_serializing_if = "Option::is_none")]
40 pub uid: Option<String>,
41 #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
42 pub visibility: Option<Visibility>,
43}
44
45impl Rule {
46 pub fn new() -> Rule {
47 Rule {
48 actions: None,
49 conditions: None,
50 configuration: None,
51 configuration_descriptions: None,
52 description: None,
53 modules: None,
54 name: None,
55 tags: None,
56 template_uid: None,
57 triggers: None,
58 uid: None,
59 visibility: None,
60 }
61 }
62}
63#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
65pub enum Visibility {
66 #[serde(rename = "VISIBLE")]
67 Visible,
68 #[serde(rename = "HIDDEN")]
69 Hidden,
70 #[serde(rename = "EXPERT")]
71 Expert,
72}
73
74impl Default for Visibility {
75 fn default() -> Visibility {
76 Self::Visible
77 }
78}