Passed
Push — master ( 9a4686...8a0087 )
by eval
02:04 queued 25s
created

s3.*S3.XExistBucket   A

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nop 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
package s3
2
3
import (
4
	"context"
5
)
6
7
// XCreateBucketFromName creates a bucket of `name`.
8
func (svc *S3) XCreateBucketFromName(ctx context.Context, name string) (*CreateBucketResult, error) {
9
	return svc.CreateBucket(ctx, CreateBucketRequest{
10
		Bucket: name,
11
	})
12
}
13
14
// XDeleteBucketFromName deletes a bucket of `name`.
15
func (svc *S3) XDeleteBucketFromName(ctx context.Context, name string) error {
16
	return svc.DeleteBucket(ctx, DeleteBucketRequest{
17
		Bucket: name,
18
	})
19
}
20
21
// XExistBucket checks if the bucket already exists or not.
22
func (svc *S3) XExistBucket(ctx context.Context, name string) (bool, error) {
23
	return svc.HeadBucket(ctx, HeadBucketRequest{
24
		Bucket: name,
25
	})
26
}
27
28
// XForceDeleteBucketFromName deletes a bucket with deleting all of objects.
29
func (svc *S3) XForceDeleteBucketFromName(ctx context.Context, name string) error {
30
	_, err := svc.XDeleteAllObjects(ctx, name)
31
	if err != nil {
32
		return err
33
	}
34
35
	return svc.XDeleteBucketFromName(ctx, name)
36
}
37