mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-08 22:33:22 +00:00
57 lines
1.4 KiB
Rust
57 lines
1.4 KiB
Rust
use super::filter::Filter;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub enum Status {
|
|
#[default]
|
|
Enabled,
|
|
Disabled,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub struct DeleteMarkerReplication {
|
|
pub status: Status,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub struct DeleteReplication {
|
|
pub status: Status,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub struct ExistingObjectReplication {
|
|
pub status: Status,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub struct Destination {
|
|
pub bucket: String,
|
|
pub storage_class: String,
|
|
pub arn: String,
|
|
}
|
|
|
|
// 定义ReplicaModifications结构体
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub struct ReplicaModifications {
|
|
status: Status,
|
|
}
|
|
|
|
// 定义SourceSelectionCriteria结构体
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub struct SourceSelectionCriteria {
|
|
replica_modifications: ReplicaModifications,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize, Serialize, Default)]
|
|
pub struct Rule {
|
|
pub id: String,
|
|
pub status: Status,
|
|
pub priority: usize,
|
|
pub delete_marker_replication: DeleteMarkerReplication,
|
|
pub delete_replication: DeleteReplication,
|
|
pub destination: Destination,
|
|
pub source_selection_criteria: SourceSelectionCriteria,
|
|
pub filter: Filter,
|
|
pub existing_object_replication: ExistingObjectReplication,
|
|
}
|