@@ -78,54 +78,17 @@ func (b *Bucket) Update(ctx context.Context) error {
7878}
7979
8080func (b * Bucket ) Delete (ctx context.Context ) error {
81- listInput := s3.ListObjectsV2Input {
81+ input := s3.DeleteBucketInput {
8282 Bucket : aws .String (b .Identifier ),
8383 }
84-
85- for paginator := s3 .NewListObjectsV2Paginator (b .Client .Services .S3 , & listInput ); paginator .HasMorePages (); {
86- page , err := paginator .NextPage (ctx )
87-
88- if err != nil {
89- var e smithy.APIError
90- if errors .As (err , & e ) && e .ErrorCode () == "NoSuchBucket" {
91- b .Resource = nil
92- return nil
93- }
94- return err
95- }
96-
97- if len (page .Contents ) == 0 {
98- break
99- }
100-
101- var objects []types.ObjectIdentifier
102- for _ , object := range page .Contents {
103- objects = append (objects , types.ObjectIdentifier {
104- Key : object .Key ,
105- })
106- }
107-
108- input := s3.DeleteObjectsInput {
109- Bucket : aws .String (b .Identifier ),
110- Delete : & types.Delete {
111- Objects : objects ,
112- },
113- }
114-
115- if _ , err = b .Client .Services .S3 .DeleteObjects (ctx , & input ); err != nil {
84+
85+ if _ , err := b .Client .Services .S3 .DeleteBucket (ctx , & input ); err != nil {
86+ var e smithy.APIError
87+ if errors .As (err , & e ) && e .ErrorCode () != "NoSuchBucket" {
11688 return err
11789 }
11890 }
11991
120- deleteInput := s3.DeleteBucketInput {
121- Bucket : aws .String (b .Identifier ),
122- }
123-
124- _ , err := b .Client .Services .S3 .DeleteBucket (ctx , & deleteInput )
125- if err != nil {
126- return err
127- }
128-
12992 b .Resource = nil
13093 return nil
13194}
0 commit comments