use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ReplicationPolicy {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[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>>,
#[serde(rename = "dest_namespace", skip_serializing_if = "Option::is_none")]
pub dest_namespace: Option<String>,
#[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>>,
#[serde(rename = "filters", skip_serializing_if = "Option::is_none")]
pub filters: Option<Vec<models::ReplicationFilter>>,
#[serde(rename = "replicate_deletion", skip_serializing_if = "Option::is_none")]
pub replicate_deletion: Option<bool>,
#[serde(rename = "deletion", skip_serializing_if = "Option::is_none")]
pub deletion: Option<bool>,
#[serde(rename = "override", skip_serializing_if = "Option::is_none")]
pub r#override: Option<bool>,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "creation_time", skip_serializing_if = "Option::is_none")]
pub creation_time: Option<String>,
#[serde(rename = "update_time", skip_serializing_if = "Option::is_none")]
pub update_time: Option<String>,
#[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
pub speed: Option<i32>,
#[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,
}
}
}