harbor-api 2.0.0

These APIs provide services for manipulating Harbor project.
Documentation
/*
 * Harbor API
 *
 * These APIs provide services for manipulating Harbor project.
 *
 * The version of the OpenAPI document: 2.0
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ReplicationPolicy {
    /// The policy ID.
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i64>,
    /// The policy name.
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// The description of the policy.
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(rename = "src_registry", skip_serializing_if = "Option::is_none")]
    pub src_registry: Option<Box<models::Registry>>,
    #[serde(rename = "dest_registry", skip_serializing_if = "Option::is_none")]
    pub dest_registry: Option<Box<models::Registry>>,
    /// The destination namespace.
    #[serde(rename = "dest_namespace", skip_serializing_if = "Option::is_none")]
    pub dest_namespace: Option<String>,
    /// Specify how many path components will be replaced by the provided destination namespace. The default value is -1 in which case the legacy mode will be applied.
    #[serde(rename = "dest_namespace_replace_count", skip_serializing_if = "Option::is_none")]
    pub dest_namespace_replace_count: Option<i32>,
    #[serde(rename = "trigger", skip_serializing_if = "Option::is_none")]
    pub trigger: Option<Box<models::ReplicationTrigger>>,
    /// The replication policy filter array.
    #[serde(rename = "filters", skip_serializing_if = "Option::is_none")]
    pub filters: Option<Vec<models::ReplicationFilter>>,
    /// Whether to replicate the deletion operation.
    #[serde(rename = "replicate_deletion", skip_serializing_if = "Option::is_none")]
    pub replicate_deletion: Option<bool>,
    /// Deprecated, use \"replicate_deletion\" instead. Whether to replicate the deletion operation.
    #[serde(rename = "deletion", skip_serializing_if = "Option::is_none")]
    pub deletion: Option<bool>,
    /// Whether to override the resources on the destination registry.
    #[serde(rename = "override", skip_serializing_if = "Option::is_none")]
    pub r#override: Option<bool>,
    /// Whether the policy is enabled or not.
    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
    pub enabled: Option<bool>,
    /// The create time of the policy.
    #[serde(rename = "creation_time", skip_serializing_if = "Option::is_none")]
    pub creation_time: Option<String>,
    /// The update time of the policy.
    #[serde(rename = "update_time", skip_serializing_if = "Option::is_none")]
    pub update_time: Option<String>,
    /// speed limit for each task
    #[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
    pub speed: Option<i32>,
    /// Whether to enable copy by chunk.
    #[serde(rename = "copy_by_chunk", skip_serializing_if = "Option::is_none")]
    pub copy_by_chunk: Option<bool>,
}

impl ReplicationPolicy {
    pub fn new() -> ReplicationPolicy {
        ReplicationPolicy {
            id: None,
            name: None,
            description: None,
            src_registry: None,
            dest_registry: None,
            dest_namespace: None,
            dest_namespace_replace_count: None,
            trigger: None,
            filters: None,
            replicate_deletion: None,
            deletion: None,
            r#override: None,
            enabled: None,
            creation_time: None,
            update_time: None,
            speed: None,
            copy_by_chunk: None,
        }
    }
}