harbor_api/models/
replication_policy.rs

1/*
2 * Harbor API
3 *
4 * These APIs provide services for manipulating Harbor project.
5 *
6 * The version of the OpenAPI document: 2.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ReplicationPolicy {
16    /// The policy ID.
17    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
18    pub id: Option<i64>,
19    /// The policy name.
20    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
21    pub name: Option<String>,
22    /// The description of the policy.
23    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
24    pub description: Option<String>,
25    #[serde(rename = "src_registry", skip_serializing_if = "Option::is_none")]
26    pub src_registry: Option<Box<models::Registry>>,
27    #[serde(rename = "dest_registry", skip_serializing_if = "Option::is_none")]
28    pub dest_registry: Option<Box<models::Registry>>,
29    /// The destination namespace.
30    #[serde(rename = "dest_namespace", skip_serializing_if = "Option::is_none")]
31    pub dest_namespace: Option<String>,
32    /// 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.
33    #[serde(rename = "dest_namespace_replace_count", skip_serializing_if = "Option::is_none")]
34    pub dest_namespace_replace_count: Option<i32>,
35    #[serde(rename = "trigger", skip_serializing_if = "Option::is_none")]
36    pub trigger: Option<Box<models::ReplicationTrigger>>,
37    /// The replication policy filter array.
38    #[serde(rename = "filters", skip_serializing_if = "Option::is_none")]
39    pub filters: Option<Vec<models::ReplicationFilter>>,
40    /// Whether to replicate the deletion operation.
41    #[serde(rename = "replicate_deletion", skip_serializing_if = "Option::is_none")]
42    pub replicate_deletion: Option<bool>,
43    /// Deprecated, use \"replicate_deletion\" instead. Whether to replicate the deletion operation.
44    #[serde(rename = "deletion", skip_serializing_if = "Option::is_none")]
45    pub deletion: Option<bool>,
46    /// Whether to override the resources on the destination registry.
47    #[serde(rename = "override", skip_serializing_if = "Option::is_none")]
48    pub r#override: Option<bool>,
49    /// Whether the policy is enabled or not.
50    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
51    pub enabled: Option<bool>,
52    /// The create time of the policy.
53    #[serde(rename = "creation_time", skip_serializing_if = "Option::is_none")]
54    pub creation_time: Option<String>,
55    /// The update time of the policy.
56    #[serde(rename = "update_time", skip_serializing_if = "Option::is_none")]
57    pub update_time: Option<String>,
58    /// speed limit for each task
59    #[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
60    pub speed: Option<i32>,
61    /// Whether to enable copy by chunk.
62    #[serde(rename = "copy_by_chunk", skip_serializing_if = "Option::is_none")]
63    pub copy_by_chunk: Option<bool>,
64}
65
66impl ReplicationPolicy {
67    pub fn new() -> ReplicationPolicy {
68        ReplicationPolicy {
69            id: None,
70            name: None,
71            description: None,
72            src_registry: None,
73            dest_registry: None,
74            dest_namespace: None,
75            dest_namespace_replace_count: None,
76            trigger: None,
77            filters: None,
78            replicate_deletion: None,
79            deletion: None,
80            r#override: None,
81            enabled: None,
82            creation_time: None,
83            update_time: None,
84            speed: None,
85            copy_by_chunk: None,
86        }
87    }
88}
89