aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3_constants
diff options
context:
space:
mode:
authorLHHDZ <changlin.shi@ly.com>2022-09-30 03:29:01 +0800
committerGitHub <noreply@github.com>2022-09-29 12:29:01 -0700
commit3de1e1978091e9675c9d54655dcde0c7dea9d222 (patch)
tree86d5b68876c9e964e9ff3ae6b05cef66aa62abf5 /weed/s3api/s3_constants
parent5e9039d728221b69dc30010e73c3a0a4e7c7e7e8 (diff)
downloadseaweedfs-3de1e1978091e9675c9d54655dcde0c7dea9d222.tar.xz
seaweedfs-3de1e1978091e9675c9d54655dcde0c7dea9d222.zip
s3: sync bucket info from filer (#3759)
Diffstat (limited to 'weed/s3api/s3_constants')
-rw-r--r--weed/s3api/s3_constants/acp_canned_acl.go65
-rw-r--r--weed/s3api/s3_constants/acp_grantee_group.go8
-rw-r--r--weed/s3api/s3_constants/acp_grantee_type.go7
-rw-r--r--weed/s3api/s3_constants/acp_ownership.go18
-rw-r--r--weed/s3api/s3_constants/acp_permisson.go9
-rw-r--r--weed/s3api/s3_constants/extend_key.go6
6 files changed, 113 insertions, 0 deletions
diff --git a/weed/s3api/s3_constants/acp_canned_acl.go b/weed/s3api/s3_constants/acp_canned_acl.go
new file mode 100644
index 000000000..eab497872
--- /dev/null
+++ b/weed/s3api/s3_constants/acp_canned_acl.go
@@ -0,0 +1,65 @@
+package s3_constants
+
+import (
+ "github.com/aws/aws-sdk-go/service/s3"
+)
+
+const (
+ CannedAclPrivate = "private"
+ CannedAclPublicRead = "public-read"
+ CannedAclPublicReadWrite = "public-read-write"
+ CannedAclAuthenticatedRead = "authenticated-read"
+ CannedAclLogDeliveryWrite = "log-delivery-write"
+ CannedAclBucketOwnerRead = "bucket-owner-read"
+ CannedAclBucketOwnerFullControl = "bucket-owner-full-control"
+ CannedAclAwsExecRead = "aws-exec-read"
+)
+
+var (
+ PublicRead = []*s3.Grant{
+ {
+ Grantee: &s3.Grantee{
+ Type: &GrantTypeGroup,
+ URI: &GranteeGroupAllUsers,
+ },
+ Permission: &PermissionRead,
+ },
+ }
+
+ PublicReadWrite = []*s3.Grant{
+ {
+ Grantee: &s3.Grantee{
+ Type: &GrantTypeGroup,
+ URI: &GranteeGroupAllUsers,
+ },
+ Permission: &PermissionRead,
+ },
+ {
+ Grantee: &s3.Grantee{
+ Type: &GrantTypeGroup,
+ URI: &GranteeGroupAllUsers,
+ },
+ Permission: &PermissionWrite,
+ },
+ }
+
+ AuthenticatedRead = []*s3.Grant{
+ {
+ Grantee: &s3.Grantee{
+ Type: &GrantTypeGroup,
+ URI: &GranteeGroupAuthenticatedUsers,
+ },
+ Permission: &PermissionRead,
+ },
+ }
+
+ LogDeliveryWrite = []*s3.Grant{
+ {
+ Grantee: &s3.Grantee{
+ Type: &GrantTypeGroup,
+ URI: &GranteeGroupLogDelivery,
+ },
+ Permission: &PermissionWrite,
+ },
+ }
+)
diff --git a/weed/s3api/s3_constants/acp_grantee_group.go b/weed/s3api/s3_constants/acp_grantee_group.go
new file mode 100644
index 000000000..a315fb0f7
--- /dev/null
+++ b/weed/s3api/s3_constants/acp_grantee_group.go
@@ -0,0 +1,8 @@
+package s3_constants
+
+//Amazon S3 predefined groups
+var (
+ GranteeGroupAllUsers = "http://acs.amazonaws.com/groups/global/AllUsers"
+ GranteeGroupAuthenticatedUsers = "http://acs.amazonaws.com/groups/global/AuthenticatedUsers"
+ GranteeGroupLogDelivery = "http://acs.amazonaws.com/groups/s3/LogDelivery"
+)
diff --git a/weed/s3api/s3_constants/acp_grantee_type.go b/weed/s3api/s3_constants/acp_grantee_type.go
new file mode 100644
index 000000000..7a4dfaf16
--- /dev/null
+++ b/weed/s3api/s3_constants/acp_grantee_type.go
@@ -0,0 +1,7 @@
+package s3_constants
+
+var (
+ GrantTypeCanonicalUser = "CanonicalUser"
+ GrantTypeAmazonCustomerByEmail = "AmazonCustomerByEmail"
+ GrantTypeGroup = "Group"
+)
diff --git a/weed/s3api/s3_constants/acp_ownership.go b/weed/s3api/s3_constants/acp_ownership.go
new file mode 100644
index 000000000..e11e95935
--- /dev/null
+++ b/weed/s3api/s3_constants/acp_ownership.go
@@ -0,0 +1,18 @@
+package s3_constants
+
+var (
+ OwnershipBucketOwnerPreferred = "BucketOwnerPreferred"
+ OwnershipObjectWriter = "ObjectWriter"
+ OwnershipBucketOwnerEnforced = "BucketOwnerEnforced"
+
+ DefaultOwnershipForCreate = OwnershipObjectWriter
+ DefaultOwnershipForExists = OwnershipBucketOwnerEnforced
+)
+
+func ValidateOwnership(ownership string) bool {
+ if ownership == "" || (ownership != OwnershipBucketOwnerPreferred && ownership != OwnershipObjectWriter && ownership != OwnershipBucketOwnerEnforced) {
+ return false
+ } else {
+ return true
+ }
+}
diff --git a/weed/s3api/s3_constants/acp_permisson.go b/weed/s3api/s3_constants/acp_permisson.go
new file mode 100644
index 000000000..4b875ff49
--- /dev/null
+++ b/weed/s3api/s3_constants/acp_permisson.go
@@ -0,0 +1,9 @@
+package s3_constants
+
+var (
+ PermissionFullControl = "FULL_CONTROL"
+ PermissionRead = "READ"
+ PermissionWrite = "WRITE"
+ PermissionReadAcp = "READ_ACP"
+ PermissionWriteAcp = "WRITE_ACP"
+)
diff --git a/weed/s3api/s3_constants/extend_key.go b/weed/s3api/s3_constants/extend_key.go
new file mode 100644
index 000000000..10b69979e
--- /dev/null
+++ b/weed/s3api/s3_constants/extend_key.go
@@ -0,0 +1,6 @@
+package s3_constants
+
+const (
+ ExtAcpKey = "Seaweed-X-Amz-Acp"
+ ExtOwnershipKey = "Seaweed-X-Amz-Ownership"
+)