init bucketmeta struct

This commit is contained in:
weisd
2024-09-27 22:00:45 +08:00
parent b4a95d20e2
commit cbaea166c4
31 changed files with 275 additions and 235 deletions
+2 -1
View File
@@ -1,7 +1,8 @@
use super::tag::Tag;
use serde::{Deserialize, Serialize};
// 定义And结构体
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct And {
prefix: Option<String>,
tags: Option<Vec<Tag>>,
+2 -1
View File
@@ -1,8 +1,9 @@
use super::and::And;
use super::tag::Tag;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct Filter {
prefix: String,
and: And,
+4 -3
View File
@@ -1,11 +1,12 @@
use rule::Rule;
mod and;
mod filter;
mod rule;
mod tag;
#[derive(Debug)]
use rule::Rule;
use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct Config {
rules: Vec<Rule>,
role_arn: String,
+10 -8
View File
@@ -1,27 +1,29 @@
use super::filter::Filter;
use serde::{Deserialize, Serialize};
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub enum Status {
#[default]
Enabled,
Disabled,
}
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct DeleteMarkerReplication {
pub status: Status,
}
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct DeleteReplication {
pub status: Status,
}
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct ExistingObjectReplication {
pub status: Status,
}
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct Destination {
pub bucket: String,
pub storage_class: String,
@@ -29,18 +31,18 @@ pub struct Destination {
}
// 定义ReplicaModifications结构体
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct ReplicaModifications {
status: Status,
}
// 定义SourceSelectionCriteria结构体
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct SourceSelectionCriteria {
replica_modifications: ReplicaModifications,
}
#[derive(Debug)]
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct Rule {
pub id: String,
pub status: Status,
+3 -1
View File
@@ -1,4 +1,6 @@
#[derive(Debug)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)]
pub struct Tag {
pub key: Option<String>,
pub value: Option<String>,