/
acl.go
96 lines (78 loc) · 2.99 KB
/
acl.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package lib
import (
"github.com/journeymidnight/aws-sdk-go/aws"
"github.com/journeymidnight/aws-sdk-go/service/s3"
)
const (
// BucketCannedACLPrivate is a BucketCannedACL enum value
BucketCannedACLPrivate = "private"
// BucketCannedACLPublicRead is a BucketCannedACL enum value
BucketCannedACLPublicRead = "public-read"
// BucketCannedACLPublicReadWrite is a BucketCannedACL enum value
BucketCannedACLPublicReadWrite = "public-read-write"
// BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value
BucketCannedACLAuthenticatedRead = "authenticated-read"
// ObjectCannedACLPrivate is a ObjectCannedACL enum value
ObjectCannedACLPrivate = "private"
// ObjectCannedACLPublicRead is a ObjectCannedACL enum value
ObjectCannedACLPublicRead = "public-read"
// ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value
ObjectCannedACLPublicReadWrite = "public-read-write"
// ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value
ObjectCannedACLAuthenticatedRead = "authenticated-read"
// ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value
ObjectCannedACLAwsExecRead = "aws-exec-read"
// ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value
ObjectCannedACLBucketOwnerRead = "bucket-owner-read"
// ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value
ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control"
)
func (s3client *S3Client) PutBucketAcl(bucketName string, acl string) (err error) {
params := &s3.PutBucketAclInput{
Bucket: aws.String(bucketName),
ACL: aws.String(acl),
}
_, err = s3client.Client.PutBucketAcl(params)
return err
}
func (s3client *S3Client) PutBucketAclWithXml(bucketName string, acl *s3.AccessControlPolicy) (err error) {
params := &s3.PutBucketAclInput{
Bucket: aws.String(bucketName),
AccessControlPolicy: acl,
}
_, err = s3client.Client.PutBucketAcl(params)
return err
}
func (s3client *S3Client) GetBucketAcl(bucketName string) (ret string, err error) {
params := &s3.GetBucketAclInput{
Bucket: aws.String(bucketName),
}
out, err := s3client.Client.GetBucketAcl(params)
return out.String(), err
}
func (s3client *S3Client) PutObjectAcl(bucketName, objName string, acl string) (err error) {
params := &s3.PutObjectAclInput{
Bucket: aws.String(bucketName),
Key: aws.String(objName),
ACL: aws.String(acl),
}
_, err = s3client.Client.PutObjectAcl(params)
return err
}
func (s3client *S3Client) PutObjectAclWithXml(bucketName, objName string, acl *s3.AccessControlPolicy) (err error) {
params := &s3.PutObjectAclInput{
Bucket: aws.String(bucketName),
Key: aws.String(objName),
AccessControlPolicy: acl,
}
_, err = s3client.Client.PutObjectAcl(params)
return err
}
func (s3client *S3Client) GetObjectAcl(bucketName, objName string) (ret string, err error) {
params := &s3.GetObjectAclInput{
Bucket: aws.String(bucketName),
Key: aws.String(objName),
}
out, err := s3client.Client.GetObjectAcl(params)
return out.String(), err
}