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

s3/client_xapi_bucket.go   A

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 17
dl 0
loc 35
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A s3.*S3.XCreateBucketFromName 0 3 1
A s3.*S3.XExistBucket 0 3 1
A s3.*S3.XDeleteBucketFromName 0 3 1
A s3.*S3.XForceDeleteBucketFromName 0 7 2
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