By using AWS re:Post, you agree to the Terms of Use
/Malformed XML when setting bucket lifecycle with Go SDK/

Malformed XML when setting bucket lifecycle with Go SDK


I have been trying to use the Go SDK to put a lifecycle configuration for a bucket but I keep getting Malformed XML errors. This is the relevant section of the code:

	rule := types.LifecycleRule{
		Status: types.ExpirationStatusDisabled,
		ID:     aws.String("testid2"),
		NoncurrentVersionExpiration: &types.NoncurrentVersionExpiration{
			NewerNoncurrentVersions: 4,
			NoncurrentDays:          1,
		Filter: filter,
	bucketConfig := types.BucketLifecycleConfiguration{
		Rules: []types.LifecycleRule{rule},
	putBucketConfigInput := &s3.PutBucketLifecycleConfigurationInput{
		Bucket:                 aws.String("beer-sample-default-default-test5"),
		LifecycleConfiguration: &bucketConfig,

	bucketLifecycleOutput, err := client.PutBucketLifecycleConfiguration(aws.BackgroundContext(),
		putBucketConfigInput, func(*s3.Options) {})

Would love to get some idea on where I'm going wrong. Thanks!

  • Hi Did you try this ?

    NoncurrentDays: aws.Int64(int64(1))

    Just to be sure .. and in 2 times : first step the NoncurrentDays then the NewerNoncurrentVersions


asked a month ago5 views
1 Answers


We need some more details on this use case. Therefore, could you please provide the following information:

1) SDK Version being used. 2) Complete Error message 3) If there are any further code level debug logs, that would help us too.

Further, you can also raise an issue directly at the Go SDK github community:

Looking forward for your response.

Thank you.

answered a month ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions