hab_rs_api_client/models/
rule.rs

1/*
2 * openHAB REST API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 8
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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///
64#[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}