Skip to main content

netbox_openapi/models/
job.rs

1/*
2 * NetBox 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: 4.6.2 (4.6)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct Job {
13    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
14    pub id: Option<i32>,
15    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
16    pub url: Option<String>,
17    #[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
18    pub display_url: Option<String>,
19    #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
20    pub display: Option<String>,
21    #[serde(rename = "object_type", skip_serializing_if = "Option::is_none")]
22    pub object_type: Option<String>,
23    #[serde(
24        rename = "object_id",
25        default,
26        with = "::serde_with::rust::double_option",
27        skip_serializing_if = "Option::is_none"
28    )]
29    pub object_id: Option<Option<i64>>,
30    #[serde(
31        rename = "object",
32        default,
33        with = "::serde_with::rust::double_option",
34        skip_serializing_if = "Option::is_none"
35    )]
36    pub object: Option<Option<serde_json::Value>>,
37    #[serde(rename = "name")]
38    pub name: String,
39    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
40    pub status: Option<Box<crate::models::BriefJobStatus>>,
41    #[serde(rename = "created", skip_serializing_if = "Option::is_none")]
42    pub created: Option<String>,
43    #[serde(
44        rename = "scheduled",
45        default,
46        with = "::serde_with::rust::double_option",
47        skip_serializing_if = "Option::is_none"
48    )]
49    pub scheduled: Option<Option<String>>,
50    /// Recurrence interval (in minutes)
51    #[serde(
52        rename = "interval",
53        default,
54        with = "::serde_with::rust::double_option",
55        skip_serializing_if = "Option::is_none"
56    )]
57    pub interval: Option<Option<i32>>,
58    #[serde(
59        rename = "started",
60        default,
61        with = "::serde_with::rust::double_option",
62        skip_serializing_if = "Option::is_none"
63    )]
64    pub started: Option<Option<String>>,
65    #[serde(
66        rename = "completed",
67        default,
68        with = "::serde_with::rust::double_option",
69        skip_serializing_if = "Option::is_none"
70    )]
71    pub completed: Option<Option<String>>,
72    #[serde(rename = "user", skip_serializing_if = "Option::is_none")]
73    pub user: Option<Box<crate::models::BriefUser>>,
74    #[serde(
75        rename = "data",
76        default,
77        with = "::serde_with::rust::double_option",
78        skip_serializing_if = "Option::is_none"
79    )]
80    pub data: Option<Option<serde_json::Value>>,
81    #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
82    pub error: Option<String>,
83    #[serde(rename = "job_id")]
84    pub job_id: uuid::Uuid,
85    /// Name of the queue in which this job was enqueued
86    #[serde(rename = "queue_name", skip_serializing_if = "Option::is_none")]
87    pub queue_name: Option<String>,
88    #[serde(rename = "notifications", skip_serializing_if = "Option::is_none")]
89    pub notifications: Option<Box<crate::models::JobNotifications>>,
90    #[serde(rename = "log_entries", skip_serializing_if = "Option::is_none")]
91    pub log_entries: Option<Vec<serde_json::Value>>,
92}
93
94impl Job {
95    pub fn new(name: String, job_id: uuid::Uuid) -> Job {
96        Job {
97            id: None,
98            url: None,
99            display_url: None,
100            display: None,
101            object_type: None,
102            object_id: None,
103            object: None,
104            name,
105            status: None,
106            created: None,
107            scheduled: None,
108            interval: None,
109            started: None,
110            completed: None,
111            user: None,
112            data: None,
113            error: None,
114            job_id,
115            queue_name: None,
116            notifications: None,
117            log_entries: None,
118        }
119    }
120}