Added S3 SSEKMSKeyId config option (#3762)

* Added S3 SSEKMSKeyId config option

* test: unit: s3: add SSEKMSKeyId test

Co-authored-by: Ruslan Kuprieiev <[email protected]>
This commit is contained in:
Jack Wells
2020-05-11 22:52:55 +03:00
committed by GitHub
co-authored by Ruslan Kuprieiev
parent 2c026066db
commit 7ca3a1119c
3 changed files with 10 additions and 0 deletions
+1
View File
@@ -151,6 +151,7 @@ SCHEMA = {
Optional("listobjects", default=False): Bool,
Optional("use_ssl", default=True): Bool,
"sse": str,
"sse_kms_key_id": str,
"acl": str,
"grant_read": str,
"grant_read_acp": str,
+4
View File
@@ -46,6 +46,10 @@ class S3Remote(BaseRemote):
if self.sse:
self.extra_args["ServerSideEncryption"] = self.sse
self.sse_kms_key_id = config.get("sse_kms_key_id")
if self.sse_kms_key_id:
self.extra_args["SSEKMSKeyId"] = self.sse_kms_key_id
self.acl = config.get("acl")
if self.acl:
self.extra_args["ACL"] = self.acl
+5
View File
@@ -53,3 +53,8 @@ def test_grants_mutually_exclusive_acl_error(dvc, grants):
with pytest.raises(ConfigError):
S3Remote(dvc, config)
def test_sse_kms_key_id(dvc):
remote = S3Remote(dvc, {"url": url, "sse_kms_key_id": "key"})
assert remote.extra_args["SSEKMSKeyId"] == "key"