Added --server-side-encryption as an option and adds the header to put
and put-copy
| ... | ... |
@@ -403,7 +403,11 @@ class S3(object): |
| 403 | 403 |
headers = SortedDict(ignore_case = True) |
| 404 | 404 |
if extra_headers: |
| 405 | 405 |
headers.update(extra_headers) |
| 406 |
- |
|
| 406 |
+ |
|
| 407 |
+ ## Set server side encryption |
|
| 408 |
+ if self.config.server_side_encryption: |
|
| 409 |
+ headers["x-amz-server-side-encryption"] = "AES256" |
|
| 410 |
+ |
|
| 407 | 411 |
## MIME-type handling |
| 408 | 412 |
content_type = self.config.mime_type |
| 409 | 413 |
content_encoding = None |
| ... | ... |
@@ -499,6 +503,11 @@ class S3(object): |
| 499 | 499 |
headers["x-amz-storage-class"] = "REDUCED_REDUNDANCY" |
| 500 | 500 |
# if extra_headers: |
| 501 | 501 |
# headers.update(extra_headers) |
| 502 |
+ |
|
| 503 |
+ ## Set server side encryption |
|
| 504 |
+ if self.config.server_side_encryption: |
|
| 505 |
+ headers["x-amz-server-side-encryption"] = "AES256" |
|
| 506 |
+ |
|
| 502 | 507 |
request = self.create_request("OBJECT_PUT", uri = dst_uri, headers = headers)
|
| 503 | 508 |
response = self.send_request(request) |
| 504 | 509 |
return response |
| ... | ... |
@@ -626,6 +626,11 @@ def cmd_info(args): |
| 626 | 626 |
except KeyError: |
| 627 | 627 |
pass |
| 628 | 628 |
output(u" MD5 sum: %s" % md5) |
| 629 |
+ if 'x-amz-server-side-encryption' in info['headers']: |
|
| 630 |
+ output(u" SSE: %s" % info['headers']['x-amz-server-side-encryption']) |
|
| 631 |
+ else: |
|
| 632 |
+ output(u" SSE: NONE") |
|
| 633 |
+ |
|
| 629 | 634 |
else: |
| 630 | 635 |
info = s3.bucket_info(uri) |
| 631 | 636 |
output(u"%s (bucket):" % uri.uri()) |
| ... | ... |
@@ -1928,6 +1933,8 @@ def main(): |
| 1928 | 1928 |
|
| 1929 | 1929 |
optparser.add_option( "--add-header", dest="add_header", action="append", metavar="NAME:VALUE", help="Add a given HTTP header to the upload request. Can be used multiple times. For instance set 'Expires' or 'Cache-Control' headers (or both) using this options if you like.") |
| 1930 | 1930 |
|
| 1931 |
+ optparser.add_option( "--server-side-encryption", dest="server_side_encryption", action="store_true", help="Specifies that server-side encryption will be used when putting objects.") |
|
| 1932 |
+ |
|
| 1931 | 1933 |
optparser.add_option( "--encoding", dest="encoding", metavar="ENCODING", help="Override autodetected terminal and filesystem encoding (character set). Autodetected: %s" % preferred_encoding) |
| 1932 | 1934 |
optparser.add_option( "--disable-content-encoding", dest="add_content_encoding", action="store_false", help="Don't include a Content-encoding header to the the uploaded objects") |
| 1933 | 1935 |
optparser.add_option( "--add-encoding-exts", dest="add_encoding_exts", metavar="EXTENSIONs", help="Add encoding to these comma delimited extensions i.e. (css,js,html) when uploading to S3 )") |