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 ClusterReplicationCreateReplicationRequest {

    /// Description.
    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
    pub comment: Option<String>,

    /// Flag to disable/deactivate the entry.
    #[serde(rename = "disable", skip_serializing_if = "Option::is_none")]
    pub disable: Option<models::PveBoolean>,

    /// Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.
    #[serde(rename = "id")]
    pub id: String,

    /// Rate limit in mbps (megabytes per second) as floating point number.
    #[serde(rename = "rate", skip_serializing_if = "Option::is_none")]
    pub rate: Option<f64>,

    /// Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.
    #[serde(rename = "remove_job", skip_serializing_if = "Option::is_none")]
    pub remove_job: Option<models::PveRemoveJobEnum>,

    /// Storage replication schedule. The format is a subset of `systemd` calendar events.
    #[serde(rename = "schedule", skip_serializing_if = "Option::is_none")]
    pub schedule: Option<String>,

    /// For internal use, to detect if the guest was stolen.
    #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
    pub source: Option<String>,

    /// Target node.
    #[serde(rename = "target")]
    pub target: String,

    /// Section type.
    #[serde(rename = "type")]
    pub r#type: models::PveClusterReplicationTypeEnum,


}

impl ClusterReplicationCreateReplicationRequest {
    pub fn new(id: String, target: String, r#type: models::PveClusterReplicationTypeEnum) -> ClusterReplicationCreateReplicationRequest {
        ClusterReplicationCreateReplicationRequest {
            
            comment: None,
            
            disable: None,
            
            id,
            
            rate: None,
            
            remove_job: None,
            
            schedule: None,
            
            source: None,
            
            target,
            
            r#type,
            
        }
    }
}