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.5.9-Docker-4.0.2 (4.5)
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 = "log_entries", skip_serializing_if = "Option::is_none")]
89    pub log_entries: Option<Vec<serde_json::Value>>,
90}
91
92impl Job {
93    pub fn new(name: String, job_id: uuid::Uuid) -> Job {
94        Job {
95            id: None,
96            url: None,
97            display_url: None,
98            display: None,
99            object_type: None,
100            object_id: None,
101            object: None,
102            name,
103            status: None,
104            created: None,
105            scheduled: None,
106            interval: None,
107            started: None,
108            completed: None,
109            user: None,
110            data: None,
111            error: None,
112            job_id,
113            queue_name: None,
114            log_entries: None,
115        }
116    }
117}