diff --git a/pkg/bucket/lifecycle/lifecycle_test.go b/pkg/bucket/lifecycle/lifecycle_test.go index ad25b8050..e4ad92dd5 100644 --- a/pkg/bucket/lifecycle/lifecycle_test.go +++ b/pkg/bucket/lifecycle/lifecycle_test.go @@ -189,6 +189,12 @@ func TestMarshalLifecycleConfig(t *testing.T) { Filter: Filter{Prefix: "prefix-1"}, Expiration: Expiration{Date: ExpirationDate(midnightTS)}, }, + { + Status: "Enabled", + Filter: Filter{Prefix: "prefix-1"}, + Expiration: Expiration{Date: ExpirationDate(midnightTS)}, + NoncurrentVersionTransition: NoncurrentVersionTransition{NoncurrentDays: 2, StorageClass: "TEST"}, + }, }, } b, err := xml.MarshalIndent(&lc, "", "\t") diff --git a/pkg/bucket/lifecycle/noncurrentversion.go b/pkg/bucket/lifecycle/noncurrentversion.go index f23c6121a..d1912cdfc 100644 --- a/pkg/bucket/lifecycle/noncurrentversion.go +++ b/pkg/bucket/lifecycle/noncurrentversion.go @@ -52,7 +52,8 @@ func (n NoncurrentVersionTransition) MarshalXML(e *xml.Encoder, start xml.StartE if n.NoncurrentDays == ExpirationDays(0) { return nil } - return e.EncodeElement(&n, start) + type noncurrentVersionTransitionWrapper NoncurrentVersionTransition + return e.EncodeElement(noncurrentVersionTransitionWrapper(n), start) } // IsDaysNull returns true if days field is null