fix: mark to skip serialization of Option when None

mark with `skip_serializing_if = "Option::is_none"`
This commit is contained in:
Gwen Lg
2026-02-04 18:30:25 +01:00
committed by Alex
parent d80096de92
commit 1ae4e5d438
4 changed files with 73 additions and 50 deletions
+21 -10
View File
@@ -91,35 +91,46 @@ pub struct LifecycleConfiguration {
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)]
pub struct LifecycleRule {
#[serde(rename = "ID")]
#[serde(rename = "ID", skip_serializing_if = "Option::is_none")]
pub id: Option<Value>,
#[serde(rename = "Status")]
pub status: Value,
#[serde(rename = "Filter", default)]
#[serde(rename = "Filter", default, skip_serializing_if = "Option::is_none")]
pub filter: Option<Filter>,
#[serde(rename = "Expiration", default)]
#[serde(
rename = "Expiration",
default,
skip_serializing_if = "Option::is_none"
)]
pub expiration: Option<Expiration>,
#[serde(rename = "AbortIncompleteMultipartUpload", default)]
#[serde(
rename = "AbortIncompleteMultipartUpload",
default,
skip_serializing_if = "Option::is_none"
)]
pub abort_incomplete_mpu: Option<AbortIncompleteMpu>,
}
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Default)]
pub struct Filter {
#[serde(rename = "And")]
#[serde(rename = "And", skip_serializing_if = "Option::is_none")]
pub and: Option<Box<Filter>>,
#[serde(rename = "Prefix")]
#[serde(rename = "Prefix", skip_serializing_if = "Option::is_none")]
pub prefix: Option<Value>,
#[serde(rename = "ObjectSizeGreaterThan")]
#[serde(
rename = "ObjectSizeGreaterThan",
skip_serializing_if = "Option::is_none"
)]
pub size_gt: Option<IntValue>,
#[serde(rename = "ObjectSizeLessThan")]
#[serde(rename = "ObjectSizeLessThan", skip_serializing_if = "Option::is_none")]
pub size_lt: Option<IntValue>,
}
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)]
pub struct Expiration {
#[serde(rename = "Days")]
#[serde(rename = "Days", skip_serializing_if = "Option::is_none")]
pub days: Option<IntValue>,
#[serde(rename = "Date")]
#[serde(rename = "Date", skip_serializing_if = "Option::is_none")]
pub at_date: Option<Value>,
}