-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
implement S3 native ACL #8902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement S3 native ACL #8902
Conversation
241be74
to
db3f515
Compare
db3f515
to
a3af01c
Compare
i'll let @macnev2013 review this one :-) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great sets of changes. LGTM 🚀
grantee = Grantee( | ||
Type=GranteeType.CanonicalUser, | ||
ID=grantee_id, | ||
DisplayName="webfile", # TODO: only in certain regions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: only in certain regions
Maybe in next iteration we can write a test case a snapshot validated parameterized test case. Which tests this specific scenario for all the regions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we should have a list of those regions in the S3 documentation, this would be great for parity! Right now we have the same behaviour as moto, but would be great to expand on it
Motivation
Implement S3 Bucket and Object ACL, even if not enforced, in the new S3 provider.
Changes
This combines Moto ACL implementation with the fixes we have in moto-ext. For this we are not going the extra miles, keeping the same functionality as we had. As we do not enforce ACL at the moment, this is fine. AWS does not encourage the use of ACL now.
Also added some tests for
GetObjectACL
/PutObjectACL
which were missing.This PR implements:
PutBucketACL
GetObjectACL
PutObjectACL
GetObjectACL
PutObject
CreateMultipartUpload
CopyObject