Skip to main content

nautobot_openapi/models/
export_template.rs

1/*
2 * API Documentation
3 *
4 * Source of truth and network automation platform
5 *
6 * The version of the OpenAPI document: 3.1.0 (3.1)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// ExportTemplate : Extend ValidatedModelSerializer with a `relationships` field.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct ExportTemplate {
15    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16    pub id: Option<uuid::Uuid>,
17    #[serde(rename = "object_type", skip_serializing_if = "Option::is_none")]
18    pub object_type: Option<String>,
19    /// Human friendly display value
20    #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
21    pub display: Option<String>,
22    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
23    pub url: Option<String>,
24    #[serde(rename = "natural_slug", skip_serializing_if = "Option::is_none")]
25    pub natural_slug: Option<String>,
26    #[serde(rename = "content_type")]
27    pub content_type: String,
28    #[serde(
29        rename = "owner_content_type",
30        default,
31        with = "::serde_with::rust::double_option",
32        skip_serializing_if = "Option::is_none"
33    )]
34    pub owner_content_type: Option<Option<String>>,
35    #[serde(
36        rename = "owner",
37        default,
38        with = "::serde_with::rust::double_option",
39        skip_serializing_if = "Option::is_none"
40    )]
41    pub owner: Option<Option<Box<crate::models::ExportTemplateOwner>>>,
42    #[serde(
43        rename = "owner_object_id",
44        default,
45        with = "::serde_with::rust::double_option",
46        skip_serializing_if = "Option::is_none"
47    )]
48    pub owner_object_id: Option<Option<uuid::Uuid>>,
49    #[serde(rename = "name")]
50    pub name: String,
51    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
52    pub description: Option<String>,
53    /// The list of objects being exported is passed as a context variable named <code>queryset</code>.
54    #[serde(rename = "template_code")]
55    pub template_code: String,
56    /// Defaults to <code>text/plain</code>
57    #[serde(rename = "mime_type", skip_serializing_if = "Option::is_none")]
58    pub mime_type: Option<String>,
59    /// Extension to append to the rendered filename
60    #[serde(rename = "file_extension", skip_serializing_if = "Option::is_none")]
61    pub file_extension: Option<String>,
62    #[serde(
63        rename = "created",
64        default,
65        with = "::serde_with::rust::double_option",
66        skip_serializing_if = "Option::is_none"
67    )]
68    pub created: Option<Option<String>>,
69    #[serde(
70        rename = "last_updated",
71        default,
72        with = "::serde_with::rust::double_option",
73        skip_serializing_if = "Option::is_none"
74    )]
75    pub last_updated: Option<Option<String>>,
76    #[serde(rename = "notes_url", skip_serializing_if = "Option::is_none")]
77    pub notes_url: Option<String>,
78}
79
80impl ExportTemplate {
81    /// Extend ValidatedModelSerializer with a `relationships` field.
82    pub fn new(content_type: String, name: String, template_code: String) -> ExportTemplate {
83        ExportTemplate {
84            id: None,
85            object_type: None,
86            display: None,
87            url: None,
88            natural_slug: None,
89            content_type,
90            owner_content_type: None,
91            owner: None,
92            owner_object_id: None,
93            name,
94            description: None,
95            template_code,
96            mime_type: None,
97            file_extension: None,
98            created: None,
99            last_updated: None,
100            notes_url: None,
101        }
102    }
103}