clientapi-pve 2026.5.24

Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
Documentation
/*
 * Proxmox Virtual Environment API
 *
 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
 *
 * The version of the OpenAPI document: 9.x
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct LxcCloneVmRequest {

    /// Override I/O bandwidth limit (in KiB/s).
    #[serde(rename = "bwlimit", skip_serializing_if = "Option::is_none")]
    pub bwlimit: Option<f64>,

    /// Description for the new CT.
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,

    /// Create a full copy of all disks. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.
    #[serde(rename = "full", skip_serializing_if = "Option::is_none")]
    pub full: Option<models::PveBoolean>,

    /// Set a hostname for the new CT.
    #[serde(rename = "hostname", skip_serializing_if = "Option::is_none")]
    pub hostname: Option<String>,

    /// VMID for the clone.
    #[serde(rename = "newid")]
    pub newid: i32,

    /// Add the new CT to the specified pool.
    #[serde(rename = "pool", skip_serializing_if = "Option::is_none")]
    pub pool: Option<String>,

    /// The name of the snapshot.
    #[serde(rename = "snapname", skip_serializing_if = "Option::is_none")]
    pub snapname: Option<String>,

    /// Target storage for full clone.
    #[serde(rename = "storage", skip_serializing_if = "Option::is_none")]
    pub storage: Option<String>,

    /// Target node. Only allowed if the original VM is on shared storage.
    #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
    pub target: Option<String>,


}

impl LxcCloneVmRequest {
    pub fn new(newid: i32) -> LxcCloneVmRequest {
        LxcCloneVmRequest {
            
            bwlimit: None,
            
            description: None,
            
            full: None,
            
            hostname: None,
            
            newid,
            
            pool: None,
            
            snapname: None,
            
            storage: None,
            
            target: None,
            
        }
    }
}