@@ -128,25 +128,27 @@ func SetBucketLifecycle(s3Client *s3.S3, bucketName string) error {
128128
129129 return err
130130}
131- func CreateBucketTaggingInput (bucketname string , backUpLocation string ) * s3.PutBucketTaggingInput {
131+
132+ func CreateBucketTaggingInput (bucketname string , tags map [string ]string ) * s3.PutBucketTaggingInput {
132133 putInput := & s3.PutBucketTaggingInput {
133134 Bucket : aws .String (bucketname ),
134135 Tagging : & s3.Tagging {
135- TagSet : []* s3.Tag {
136- {
137- Key : aws .String (bucketTagKey ),
138- Value : aws .String (backUpLocation ),
139- },
140- },
136+ TagSet : []* s3.Tag {},
141137 },
142138 }
139+ for key , value := range tags {
140+ newTag := s3.Tag {
141+ Key : aws .String (key ),
142+ Value : aws .String (value ),
143+ }
144+ putInput .Tagging .TagSet = append (putInput .Tagging .TagSet , & newTag )
145+ }
143146 return putInput
144147}
145148
146149func ClearBucketTags (s3Client * s3.S3 , bucketName string ) (err error ) {
147150 deleteInput := & s3.DeleteBucketTaggingInput {Bucket : aws .String (bucketName )}
148- result , err := s3Client .DeleteBucketTagging (deleteInput )
149- fmt .Println (result )
151+ _ , err = s3Client .DeleteBucketTagging (deleteInput )
150152 return err
151153}
152154
@@ -155,7 +157,7 @@ func TagBucket(s3Client *s3.S3, bucketName string, backUpLocation string) error
155157 if err != nil {
156158 return fmt .Errorf ("unable to clear %v bucket tags: %v" , bucketName , err )
157159 }
158- input := CreateBucketTaggingInput (bucketName , backUpLocation )
160+ input := CreateBucketTaggingInput (bucketName , map [ string ] string { bucketTagKey : backUpLocation } )
159161 _ , err = s3Client .PutBucketTagging (input )
160162 if err != nil {
161163 fmt .Println (err .Error ())
0 commit comments