netbox-openapi 0.6.0

low level netbox bindings (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * NetBox REST API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 4.6.2 (4.6)
 *
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ExtrasConfigTemplatesCreateRequest {
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// Any additional parameters (<https://jinja.palletsprojects.com/en/stable/api/#jinja2.Environment>) to pass when constructing the Jinja environment
    #[serde(
        rename = "environment_params",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub environment_params: Option<Option<serde_json::Value>>,
    /// Jinja template code.
    #[serde(rename = "template_code")]
    pub template_code: String,
    /// Defaults to <code>text/plain; charset=utf-8</code>
    #[serde(rename = "mime_type", skip_serializing_if = "Option::is_none")]
    pub mime_type: Option<String>,
    /// Filename to give to the rendered export file
    #[serde(rename = "file_name", skip_serializing_if = "Option::is_none")]
    pub file_name: Option<String>,
    /// Extension to append to the rendered filename
    #[serde(rename = "file_extension", skip_serializing_if = "Option::is_none")]
    pub file_extension: Option<String>,
    /// Download file as attachment
    #[serde(rename = "as_attachment", skip_serializing_if = "Option::is_none")]
    pub as_attachment: Option<bool>,
    /// Enable verbose error output when rendering this template. Not recommended for production use.
    #[serde(rename = "debug", skip_serializing_if = "Option::is_none")]
    pub debug: Option<bool>,
    #[serde(rename = "data_source", skip_serializing_if = "Option::is_none")]
    pub data_source: Option<Box<crate::models::ConfigContextProfileRequestDataSource>>,
    /// Enable automatic synchronization of data when the data file is updated
    #[serde(rename = "auto_sync_enabled", skip_serializing_if = "Option::is_none")]
    pub auto_sync_enabled: Option<bool>,
    #[serde(
        rename = "owner",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
}

impl ExtrasConfigTemplatesCreateRequest {
    pub fn new(name: String, template_code: String) -> ExtrasConfigTemplatesCreateRequest {
        ExtrasConfigTemplatesCreateRequest {
            name,
            description: None,
            environment_params: None,
            template_code,
            mime_type: None,
            file_name: None,
            file_extension: None,
            as_attachment: None,
            debug: None,
            data_source: None,
            auto_sync_enabled: None,
            owner: None,
            tags: None,
        }
    }
}