diff --git a/dvc/config.py b/dvc/config.py index d5a3a4ee6..87311842f 100644 --- a/dvc/config.py +++ b/dvc/config.py @@ -210,6 +210,7 @@ class Config(object): # pylint: disable=too-many-instance-attributes SECTION_AWS_PROFILE = "profile" SECTION_AWS_USE_SSL = "use_ssl" SECTION_AWS_SSE = "sse" + SECTION_AWS_ACL = "acl" SECTION_AWS_SCHEMA = { SECTION_AWS_STORAGEPATH: str, Optional(SECTION_AWS_REGION): str, @@ -219,6 +220,7 @@ class Config(object): # pylint: disable=too-many-instance-attributes Optional(SECTION_AWS_LIST_OBJECTS, default=False): BOOL_SCHEMA, Optional(SECTION_AWS_USE_SSL, default=True): BOOL_SCHEMA, Optional(SECTION_AWS_SSE): str, + Optional(SECTION_AWS_ACL): str, } # backward compatibility @@ -261,6 +263,7 @@ class Config(object): # pylint: disable=too-many-instance-attributes Optional(SECTION_AWS_LIST_OBJECTS, default=False): BOOL_SCHEMA, Optional(SECTION_AWS_USE_SSL, default=True): BOOL_SCHEMA, Optional(SECTION_AWS_SSE): str, + Optional(SECTION_AWS_ACL): str, Optional(SECTION_GCP_PROJECTNAME): str, Optional(SECTION_CACHE_TYPE): SECTION_CACHE_TYPE_SCHEMA, Optional(SECTION_CACHE_PROTECTED, default=False): BOOL_SCHEMA, diff --git a/dvc/remote/s3.py b/dvc/remote/s3.py index 3d79f3eed..2ed7227c6 100644 --- a/dvc/remote/s3.py +++ b/dvc/remote/s3.py @@ -65,6 +65,10 @@ class RemoteS3(RemoteBASE): if self.sse: self.extra_args["ServerSideEncryption"] = self.sse + self.acl = config.get(Config.SECTION_AWS_ACL, "") + if self.acl: + self.extra_args["ACL"] = self.acl + shared_creds = config.get(Config.SECTION_AWS_CREDENTIALPATH) if shared_creds: os.environ.setdefault("AWS_SHARED_CREDENTIALS_FILE", shared_creds)