incus-client 0.1.1

Auto-generated Rust client for the Incus container and VM manager REST API
Documentation
/*
 * Incus external REST API
 *
 * This is the REST API used by all Incus clients. Internal endpoints aren't included in this documentation.  The Incus API is available over both a local unix+http and remote https API. Authentication for local users relies on group membership and access to the unix socket. For remote users, the default authentication method is TLS client certificates.
 *
 * The version of the OpenAPI document: 1.0
 * Contact: lxc-devel@lists.linuxcontainers.org
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ImageMetadataTemplate : ImageMetadataTemplate represents a template entry in image metadata (used in image tarball)
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageMetadataTemplate {
    /// Whether to trigger only if the file is missing
    #[serde(rename = "create_only", skip_serializing_if = "Option::is_none")]
    pub create_only: Option<bool>,
    /// The file owner gid.
    #[serde(rename = "gid", skip_serializing_if = "Option::is_none")]
    pub gid: Option<String>,
    /// The file permissions.
    #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
    pub mode: Option<String>,
    /// Key/value properties to pass to the template
    #[serde(rename = "properties", skip_serializing_if = "Option::is_none")]
    pub properties: Option<std::collections::HashMap<String, String>>,
    /// The template itself as a valid pongo2 template
    #[serde(rename = "template", skip_serializing_if = "Option::is_none")]
    pub template: Option<String>,
    /// The file owner uid.
    #[serde(rename = "uid", skip_serializing_if = "Option::is_none")]
    pub uid: Option<String>,
    /// When to trigger the template (create, copy or start)
    #[serde(rename = "when", skip_serializing_if = "Option::is_none")]
    pub when: Option<Vec<String>>,
}

impl ImageMetadataTemplate {
    /// ImageMetadataTemplate represents a template entry in image metadata (used in image tarball)
    pub fn new() -> ImageMetadataTemplate {
        ImageMetadataTemplate {
            create_only: None,
            gid: None,
            mode: None,
            properties: None,
            template: None,
            uid: None,
            when: None,
        }
    }
}