Enforce SSE/StorageClass in PUT Object Copy

"RenameFile" is implemented in S3 using `PUT Object Copy`, which
should enforce SSE/StorageClass same way as regular `PUT Object`.

Fixes: #647
This commit is contained in:
Andrey Smirnov
2017-09-28 18:30:50 +03:00
parent 9a767b7631
commit 2d66a4ca0a
7 changed files with 96 additions and 0 deletions

View File

@@ -370,6 +370,13 @@ func (storage *PublishedStorage) RenameFile(oldName, newName string) error {
ACL: aws.String(storage.acl),
}
if storage.storageClass != "" {
params.StorageClass = aws.String(storage.storageClass)
}
if storage.encryptionMethod != "" {
params.ServerSideEncryption = aws.String(storage.encryptionMethod)
}
_, err := storage.s3.CopyObject(params)
if err != nil {
return fmt.Errorf("error copying %s -> %s in %s: %s", oldName, newName, storage, err)