aws-sdk-core 2.0.0.rc8 → 2.0.0.rc9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/apis/DynamoDB-2012-08-10.json +1 -0
  3. data/apis/EC2-2014-05-01.json +15232 -0
  4. data/apis/ElasticBeanstalk-2010-12-01.json +17 -0
  5. data/apis/OpsWorks-2013-02-18.json +215 -0
  6. data/apis/Redshift-2012-12-01.json +72 -0
  7. data/apis/S3-2006-03-01.json +271 -15
  8. data/apis/SNS-2010-03-31.json +27 -0
  9. data/apis/source/ec2-2014-05-01.json +20662 -0
  10. data/apis/source/ec2-2014-05-01.paginators.json +112 -0
  11. data/apis/source/ec2-2014-05-01.waiters.json +146 -0
  12. data/apis/source/elasticbeanstalk-2010-12-01.json +26 -0
  13. data/apis/source/opsworks-2013-02-18.json +383 -8
  14. data/apis/source/redshift-2012-12-01.json +187 -60
  15. data/apis/source/s3-2006-03-01.json +372 -21
  16. data/apis/source/sns-2010-03-31.json +83 -36
  17. data/features/s3/objects.feature +10 -0
  18. data/features/s3/step_definitions.rb +33 -1
  19. data/features/step_definitions.rb +2 -1
  20. data/lib/aws.rb +3 -0
  21. data/lib/aws/api/service_translators/ec2.rb +11 -0
  22. data/lib/aws/api/service_translators/s3.rb +1 -0
  23. data/lib/aws/credential_provider_chain.rb +1 -2
  24. data/lib/aws/error_handler.rb +2 -1
  25. data/lib/aws/plugins/ec2_copy_encrypted_snapshot.rb +86 -0
  26. data/lib/aws/plugins/s3_md5s.rb +11 -8
  27. data/lib/aws/plugins/s3_sse_cpk.rb +42 -0
  28. data/lib/aws/query/builder.rb +4 -0
  29. data/lib/aws/query/param.rb +1 -1
  30. data/lib/aws/signers/base.rb +2 -0
  31. data/lib/aws/signers/s3.rb +0 -1
  32. data/lib/aws/signers/v4.rb +73 -22
  33. data/lib/aws/version.rb +1 -1
  34. data/spec/aws/operations_spec.rb +19 -15
  35. data/spec/aws/plugins/s3_md5s_spec.rb +84 -0
  36. data/spec/aws/query/builder_spec.rb +40 -0
  37. data/spec/aws/query/param_spec.rb +5 -0
  38. data/spec/aws/s3_spec.rb +27 -0
  39. data/spec/aws/signers/v4_spec.rb +1 -1
  40. data/spec/fixtures/operations/s3/412_response_head.yml +10 -0
  41. data/spec/spec_helper.rb +7 -0
  42. data/vendor/seahorse/lib/seahorse/client/handler_list.rb +3 -2
  43. data/vendor/seahorse/lib/seahorse/client/http/headers.rb +4 -0
  44. data/vendor/seahorse/lib/seahorse/client/net_http/handler.rb +1 -0
  45. data/vendor/seahorse/lib/seahorse/client/plugins/operation_methods.rb +4 -2
  46. data/vendor/seahorse/spec/seahorse/client/handler_list_spec.rb +2 -13
  47. metadata +15 -2
@@ -364,7 +364,7 @@
364
364
  "location_name": "x-amz-server-side-encryption"
365
365
  },
366
366
  "StorageClass": {
367
- "shape_name": "StorageClassOptions",
367
+ "shape_name": "StorageClass",
368
368
  "type": "string",
369
369
  "enum": [
370
370
  "STANDARD",
@@ -380,6 +380,48 @@
380
380
  "documentation": "If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.",
381
381
  "location": "header",
382
382
  "location_name": "x-amz-website-redirect-location"
383
+ },
384
+ "SSECustomerAlgorithm": {
385
+ "shape_name": "SSECustomerAlgorithm",
386
+ "type": "string",
387
+ "documentation": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).",
388
+ "location": "header",
389
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
390
+ },
391
+ "SSECustomerKey": {
392
+ "shape_name": "SSECustomerKey",
393
+ "type": "string",
394
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.",
395
+ "location": "header",
396
+ "location_name": "x-amz-server-side-encryption-customer-key"
397
+ },
398
+ "SSECustomerKeyMD5": {
399
+ "shape_name": "SSECustomerKeyMD5",
400
+ "type": "string",
401
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
402
+ "location": "header",
403
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
404
+ },
405
+ "CopySourceSSECustomerAlgorithm": {
406
+ "shape_name": "CopySourceSSECustomerAlgorithm",
407
+ "type": "string",
408
+ "documentation": "Specifies the algorithm to use when decrypting the source object (e.g., AES256).",
409
+ "location": "header",
410
+ "location_name": "x-amz-copy-source-server-side-encryption-customer-algorithm"
411
+ },
412
+ "CopySourceSSECustomerKey": {
413
+ "shape_name": "CopySourceSSECustomerKey",
414
+ "type": "string",
415
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.",
416
+ "location": "header",
417
+ "location_name": "x-amz-copy-source-server-side-encryption-customer-key"
418
+ },
419
+ "CopySourceSSECustomerKeyMD5": {
420
+ "shape_name": "CopySourceSSECustomerKeyMD5",
421
+ "type": "string",
422
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
423
+ "location": "header",
424
+ "location_name": "x-amz-copy-source-server-side-encryption-customer-key-MD5"
383
425
  }
384
426
  },
385
427
  "documentation": null
@@ -429,6 +471,20 @@
429
471
  "documentation": "The Server-side encryption algorithm used when storing this object in S3.",
430
472
  "location": "header",
431
473
  "location_name": "x-amz-server-side-encryption"
474
+ },
475
+ "SSECustomerAlgorithm": {
476
+ "shape_name": "SSECustomerAlgorithm",
477
+ "type": "string",
478
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.",
479
+ "location": "header",
480
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
481
+ },
482
+ "SSECustomerKeyMD5": {
483
+ "shape_name": "SSECustomerKeyMD5",
484
+ "type": "string",
485
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.",
486
+ "location": "header",
487
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
432
488
  }
433
489
  },
434
490
  "documentation": null
@@ -699,7 +755,7 @@
699
755
  "location_name": "x-amz-server-side-encryption"
700
756
  },
701
757
  "StorageClass": {
702
- "shape_name": "StorageClassOptions",
758
+ "shape_name": "StorageClass",
703
759
  "type": "string",
704
760
  "enum": [
705
761
  "STANDARD",
@@ -715,6 +771,27 @@
715
771
  "documentation": "If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.",
716
772
  "location": "header",
717
773
  "location_name": "x-amz-website-redirect-location"
774
+ },
775
+ "SSECustomerAlgorithm": {
776
+ "shape_name": "SSECustomerAlgorithm",
777
+ "type": "string",
778
+ "documentation": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).",
779
+ "location": "header",
780
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
781
+ },
782
+ "SSECustomerKey": {
783
+ "shape_name": "SSECustomerKey",
784
+ "type": "string",
785
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.",
786
+ "location": "header",
787
+ "location_name": "x-amz-server-side-encryption-customer-key"
788
+ },
789
+ "SSECustomerKeyMD5": {
790
+ "shape_name": "SSECustomerKeyMD5",
791
+ "type": "string",
792
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
793
+ "location": "header",
794
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
718
795
  }
719
796
  },
720
797
  "documentation": null
@@ -748,6 +825,20 @@
748
825
  "documentation": "The Server-side encryption algorithm used when storing this object in S3.",
749
826
  "location": "header",
750
827
  "location_name": "x-amz-server-side-encryption"
828
+ },
829
+ "SSECustomerAlgorithm": {
830
+ "shape_name": "SSECustomerAlgorithm",
831
+ "type": "string",
832
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.",
833
+ "location": "header",
834
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
835
+ },
836
+ "SSECustomerKeyMD5": {
837
+ "shape_name": "SSECustomerKeyMD5",
838
+ "type": "string",
839
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.",
840
+ "location": "header",
841
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
751
842
  }
752
843
  },
753
844
  "documentation": null
@@ -1442,17 +1533,47 @@
1442
1533
  "documentation": "Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer."
1443
1534
  },
1444
1535
  "StorageClass": {
1445
- "shape_name": "StorageClass",
1536
+ "shape_name": "TransitionStorageClass",
1446
1537
  "type": "string",
1447
1538
  "enum": [
1448
- "STANDARD",
1449
- "REDUCED_REDUNDANCY",
1450
1539
  "GLACIER"
1451
1540
  ],
1452
1541
  "documentation": "The class of storage used to store the object."
1453
1542
  }
1454
1543
  },
1455
1544
  "documentation": null
1545
+ },
1546
+ "NoncurrentVersionTransition": {
1547
+ "shape_name": "NoncurrentVersionTransition",
1548
+ "type": "structure",
1549
+ "members": {
1550
+ "NoncurrentDays": {
1551
+ "shape_name": "Days",
1552
+ "type": "integer",
1553
+ "documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see <a href=\"/AmazonS3/latest/dev/s3-access-control.html\">How Amazon S3 Calculates When an Object Became Noncurrent</a> in the Amazon Simple Storage Service Developer Guide."
1554
+ },
1555
+ "StorageClass": {
1556
+ "shape_name": "TransitionStorageClass",
1557
+ "type": "string",
1558
+ "enum": [
1559
+ "GLACIER"
1560
+ ],
1561
+ "documentation": "The class of storage used to store the object."
1562
+ }
1563
+ },
1564
+ "documentation": "Container for the transition rule that describes when noncurrent objects transition to the GLACIER storage class.\n\nIf your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the GLACIER storage class at a specific period in the object's lifetime."
1565
+ },
1566
+ "NoncurrentVersionExpiration": {
1567
+ "shape_name": "NoncurrentVersionExpiration",
1568
+ "type": "structure",
1569
+ "members": {
1570
+ "NoncurrentDays": {
1571
+ "shape_name": "Days",
1572
+ "type": "integer",
1573
+ "documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see <a href=\"/AmazonS3/latest/dev/s3-access-control.html\">How Amazon S3 Calculates When an Object Became Noncurrent</a> in the Amazon Simple Storage Service Developer Guide."
1574
+ }
1575
+ },
1576
+ "documentation": "Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions.\n\nYou set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime."
1456
1577
  }
1457
1578
  },
1458
1579
  "documentation": null
@@ -1869,7 +1990,8 @@
1869
1990
  "Enabled",
1870
1991
  "Disabled"
1871
1992
  ],
1872
- "documentation": "Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned."
1993
+ "documentation": "Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.",
1994
+ "xmlname": "MfaDelete"
1873
1995
  }
1874
1996
  },
1875
1997
  "documentation": null
@@ -2128,6 +2250,27 @@
2128
2250
  "type": "string",
2129
2251
  "documentation": "VersionId used to reference a specific version of the object.",
2130
2252
  "location": "uri"
2253
+ },
2254
+ "SSECustomerAlgorithm": {
2255
+ "shape_name": "SSECustomerAlgorithm",
2256
+ "type": "string",
2257
+ "documentation": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).",
2258
+ "location": "header",
2259
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
2260
+ },
2261
+ "SSECustomerKey": {
2262
+ "shape_name": "SSECustomerKey",
2263
+ "type": "string",
2264
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side&#x200B;-encryption&#x200B;-customer-algorithm header.",
2265
+ "location": "header",
2266
+ "location_name": "x-amz-server-side-encryption-customer-key"
2267
+ },
2268
+ "SSECustomerKeyMD5": {
2269
+ "shape_name": "SSECustomerKeyMD5",
2270
+ "type": "string",
2271
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
2272
+ "location": "header",
2273
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
2131
2274
  }
2132
2275
  },
2133
2276
  "documentation": null
@@ -2278,6 +2421,20 @@
2278
2421
  "documentation": "The metadata value."
2279
2422
  },
2280
2423
  "documentation": "A map of metadata to store with the object in S3."
2424
+ },
2425
+ "SSECustomerAlgorithm": {
2426
+ "shape_name": "SSECustomerAlgorithm",
2427
+ "type": "string",
2428
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.",
2429
+ "location": "header",
2430
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
2431
+ },
2432
+ "SSECustomerKeyMD5": {
2433
+ "shape_name": "SSECustomerKeyMD5",
2434
+ "type": "string",
2435
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.",
2436
+ "location": "header",
2437
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
2281
2438
  }
2282
2439
  },
2283
2440
  "documentation": null
@@ -2577,6 +2734,27 @@
2577
2734
  "type": "string",
2578
2735
  "documentation": "VersionId used to reference a specific version of the object.",
2579
2736
  "location": "uri"
2737
+ },
2738
+ "SSECustomerAlgorithm": {
2739
+ "shape_name": "SSECustomerAlgorithm",
2740
+ "type": "string",
2741
+ "documentation": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).",
2742
+ "location": "header",
2743
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
2744
+ },
2745
+ "SSECustomerKey": {
2746
+ "shape_name": "SSECustomerKey",
2747
+ "type": "string",
2748
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side&#x200B;-encryption&#x200B;-customer-algorithm header.",
2749
+ "location": "header",
2750
+ "location_name": "x-amz-server-side-encryption-customer-key"
2751
+ },
2752
+ "SSECustomerKeyMD5": {
2753
+ "shape_name": "SSECustomerKeyMD5",
2754
+ "type": "string",
2755
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
2756
+ "location": "header",
2757
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
2580
2758
  }
2581
2759
  },
2582
2760
  "documentation": null
@@ -2720,6 +2898,20 @@
2720
2898
  "documentation": "The metadata value."
2721
2899
  },
2722
2900
  "documentation": "A map of metadata to store with the object in S3."
2901
+ },
2902
+ "SSECustomerAlgorithm": {
2903
+ "shape_name": "SSECustomerAlgorithm",
2904
+ "type": "string",
2905
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.",
2906
+ "location": "header",
2907
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
2908
+ },
2909
+ "SSECustomerKeyMD5": {
2910
+ "shape_name": "SSECustomerKeyMD5",
2911
+ "type": "string",
2912
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.",
2913
+ "location": "header",
2914
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
2723
2915
  }
2724
2916
  },
2725
2917
  "documentation": null
@@ -2927,8 +3119,7 @@
2927
3119
  "type": "string",
2928
3120
  "enum": [
2929
3121
  "STANDARD",
2930
- "REDUCED_REDUNDANCY",
2931
- "GLACIER"
3122
+ "REDUCED_REDUNDANCY"
2932
3123
  ],
2933
3124
  "documentation": "The class of storage used to store the object."
2934
3125
  },
@@ -3114,12 +3305,10 @@
3114
3305
  "documentation": "Size in bytes of the object."
3115
3306
  },
3116
3307
  "StorageClass": {
3117
- "shape_name": "StorageClass",
3308
+ "shape_name": "ObjectVersionStorageClass",
3118
3309
  "type": "string",
3119
3310
  "enum": [
3120
- "STANDARD",
3121
- "REDUCED_REDUNDANCY",
3122
- "GLACIER"
3311
+ "STANDARD"
3123
3312
  ],
3124
3313
  "documentation": "The class of storage used to store the object."
3125
3314
  },
@@ -3369,7 +3558,7 @@
3369
3558
  "documentation": null
3370
3559
  },
3371
3560
  "StorageClass": {
3372
- "shape_name": "StorageClass",
3561
+ "shape_name": "ObjectStorageClass",
3373
3562
  "type": "string",
3374
3563
  "enum": [
3375
3564
  "STANDARD",
@@ -3616,8 +3805,7 @@
3616
3805
  "type": "string",
3617
3806
  "enum": [
3618
3807
  "STANDARD",
3619
- "REDUCED_REDUNDANCY",
3620
- "GLACIER"
3808
+ "REDUCED_REDUNDANCY"
3621
3809
  ],
3622
3810
  "documentation": "The class of storage used to store the object."
3623
3811
  }
@@ -4006,17 +4194,47 @@
4006
4194
  "documentation": "Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer."
4007
4195
  },
4008
4196
  "StorageClass": {
4009
- "shape_name": "StorageClass",
4197
+ "shape_name": "TransitionStorageClass",
4010
4198
  "type": "string",
4011
4199
  "enum": [
4012
- "STANDARD",
4013
- "REDUCED_REDUNDANCY",
4014
4200
  "GLACIER"
4015
4201
  ],
4016
4202
  "documentation": "The class of storage used to store the object."
4017
4203
  }
4018
4204
  },
4019
4205
  "documentation": null
4206
+ },
4207
+ "NoncurrentVersionTransition": {
4208
+ "shape_name": "NoncurrentVersionTransition",
4209
+ "type": "structure",
4210
+ "members": {
4211
+ "NoncurrentDays": {
4212
+ "shape_name": "Days",
4213
+ "type": "integer",
4214
+ "documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see <a href=\"/AmazonS3/latest/dev/s3-access-control.html\">How Amazon S3 Calculates When an Object Became Noncurrent</a> in the Amazon Simple Storage Service Developer Guide."
4215
+ },
4216
+ "StorageClass": {
4217
+ "shape_name": "TransitionStorageClass",
4218
+ "type": "string",
4219
+ "enum": [
4220
+ "GLACIER"
4221
+ ],
4222
+ "documentation": "The class of storage used to store the object."
4223
+ }
4224
+ },
4225
+ "documentation": "Container for the transition rule that describes when noncurrent objects transition to the GLACIER storage class.\n\nIf your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the GLACIER storage class at a specific period in the object's lifetime."
4226
+ },
4227
+ "NoncurrentVersionExpiration": {
4228
+ "shape_name": "NoncurrentVersionExpiration",
4229
+ "type": "structure",
4230
+ "members": {
4231
+ "NoncurrentDays": {
4232
+ "shape_name": "Days",
4233
+ "type": "integer",
4234
+ "documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see <a href=\"/AmazonS3/latest/dev/s3-access-control.html\">How Amazon S3 Calculates When an Object Became Noncurrent</a> in the Amazon Simple Storage Service Developer Guide."
4235
+ }
4236
+ },
4237
+ "documentation": "Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions.\n\nYou set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime."
4020
4238
  }
4021
4239
  },
4022
4240
  "documentation": null
@@ -4436,7 +4654,8 @@
4436
4654
  "Enabled",
4437
4655
  "Disabled"
4438
4656
  ],
4439
- "documentation": "Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned."
4657
+ "documentation": "Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.",
4658
+ "xmlname": "MfaDelete"
4440
4659
  },
4441
4660
  "Status": {
4442
4661
  "shape_name": "BucketVersioningStatus",
@@ -4775,7 +4994,7 @@
4775
4994
  "location_name": "x-amz-server-side-encryption"
4776
4995
  },
4777
4996
  "StorageClass": {
4778
- "shape_name": "StorageClassOptions",
4997
+ "shape_name": "StorageClass",
4779
4998
  "type": "string",
4780
4999
  "enum": [
4781
5000
  "STANDARD",
@@ -4791,6 +5010,27 @@
4791
5010
  "documentation": "If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.",
4792
5011
  "location": "header",
4793
5012
  "location_name": "x-amz-website-redirect-location"
5013
+ },
5014
+ "SSECustomerAlgorithm": {
5015
+ "shape_name": "SSECustomerAlgorithm",
5016
+ "type": "string",
5017
+ "documentation": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).",
5018
+ "location": "header",
5019
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
5020
+ },
5021
+ "SSECustomerKey": {
5022
+ "shape_name": "SSECustomerKey",
5023
+ "type": "string",
5024
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side&#x200B;-encryption&#x200B;-customer-algorithm header.",
5025
+ "location": "header",
5026
+ "location_name": "x-amz-server-side-encryption-customer-key"
5027
+ },
5028
+ "SSECustomerKeyMD5": {
5029
+ "shape_name": "SSECustomerKeyMD5",
5030
+ "type": "string",
5031
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
5032
+ "location": "header",
5033
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
4794
5034
  }
4795
5035
  },
4796
5036
  "documentation": null
@@ -4829,6 +5069,20 @@
4829
5069
  "documentation": "Version of the object.",
4830
5070
  "location": "header",
4831
5071
  "location_name": "x-amz-version-id"
5072
+ },
5073
+ "SSECustomerAlgorithm": {
5074
+ "shape_name": "SSECustomerAlgorithm",
5075
+ "type": "string",
5076
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.",
5077
+ "location": "header",
5078
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
5079
+ },
5080
+ "SSECustomerKeyMD5": {
5081
+ "shape_name": "SSECustomerKeyMD5",
5082
+ "type": "string",
5083
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.",
5084
+ "location": "header",
5085
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
4832
5086
  }
4833
5087
  },
4834
5088
  "documentation": null
@@ -5035,7 +5289,7 @@
5035
5289
  "name": "RestoreObject",
5036
5290
  "http": {
5037
5291
  "method": "POST",
5038
- "uri": "/{Bucket}/{Key}?restore"
5292
+ "uri": "/{Bucket}/{Key}?restore&versionId={VersionId}"
5039
5293
  },
5040
5294
  "input": {
5041
5295
  "shape_name": "RestoreObjectRequest",
@@ -5055,6 +5309,12 @@
5055
5309
  "required": true,
5056
5310
  "location": "uri"
5057
5311
  },
5312
+ "VersionId": {
5313
+ "shape_name": "ObjectVersionId",
5314
+ "type": "string",
5315
+ "documentation": null,
5316
+ "location": "uri"
5317
+ },
5058
5318
  "RestoreRequest": {
5059
5319
  "shape_name": "RestoreRequest",
5060
5320
  "type": "structure",
@@ -5144,6 +5404,27 @@
5144
5404
  "documentation": "Upload ID identifying the multipart upload whose part is being uploaded.",
5145
5405
  "required": true,
5146
5406
  "location": "uri"
5407
+ },
5408
+ "SSECustomerAlgorithm": {
5409
+ "shape_name": "SSECustomerAlgorithm",
5410
+ "type": "string",
5411
+ "documentation": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).",
5412
+ "location": "header",
5413
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
5414
+ },
5415
+ "SSECustomerKey": {
5416
+ "shape_name": "SSECustomerKey",
5417
+ "type": "string",
5418
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side&#x200B;-encryption&#x200B;-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.",
5419
+ "location": "header",
5420
+ "location_name": "x-amz-server-side-encryption-customer-key"
5421
+ },
5422
+ "SSECustomerKeyMD5": {
5423
+ "shape_name": "SSECustomerKeyMD5",
5424
+ "type": "string",
5425
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
5426
+ "location": "header",
5427
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
5147
5428
  }
5148
5429
  },
5149
5430
  "documentation": null
@@ -5168,6 +5449,20 @@
5168
5449
  "documentation": "Entity tag for the uploaded object.",
5169
5450
  "location": "header",
5170
5451
  "location_name": "ETag"
5452
+ },
5453
+ "SSECustomerAlgorithm": {
5454
+ "shape_name": "SSECustomerAlgorithm",
5455
+ "type": "string",
5456
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.",
5457
+ "location": "header",
5458
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
5459
+ },
5460
+ "SSECustomerKeyMD5": {
5461
+ "shape_name": "SSECustomerKeyMD5",
5462
+ "type": "string",
5463
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.",
5464
+ "location": "header",
5465
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
5171
5466
  }
5172
5467
  },
5173
5468
  "documentation": null
@@ -5259,6 +5554,48 @@
5259
5554
  "documentation": "Upload ID identifying the multipart upload whose part is being copied.",
5260
5555
  "required": true,
5261
5556
  "location": "uri"
5557
+ },
5558
+ "SSECustomerAlgorithm": {
5559
+ "shape_name": "SSECustomerAlgorithm",
5560
+ "type": "string",
5561
+ "documentation": "Specifies the algorithm to use to when encrypting the object (e.g., AES256).",
5562
+ "location": "header",
5563
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
5564
+ },
5565
+ "SSECustomerKey": {
5566
+ "shape_name": "SSECustomerKey",
5567
+ "type": "string",
5568
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side&#x200B;-encryption&#x200B;-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.",
5569
+ "location": "header",
5570
+ "location_name": "x-amz-server-side-encryption-customer-key"
5571
+ },
5572
+ "SSECustomerKeyMD5": {
5573
+ "shape_name": "SSECustomerKeyMD5",
5574
+ "type": "string",
5575
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
5576
+ "location": "header",
5577
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
5578
+ },
5579
+ "CopySourceSSECustomerAlgorithm": {
5580
+ "shape_name": "CopySourceSSECustomerAlgorithm",
5581
+ "type": "string",
5582
+ "documentation": "Specifies the algorithm to use when decrypting the source object (e.g., AES256).",
5583
+ "location": "header",
5584
+ "location_name": "x-amz-copy-source-server-side-encryption-customer-algorithm"
5585
+ },
5586
+ "CopySourceSSECustomerKey": {
5587
+ "shape_name": "CopySourceSSECustomerKey",
5588
+ "type": "string",
5589
+ "documentation": "Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.",
5590
+ "location": "header",
5591
+ "location_name": "x-amz-copy-source-server-side-encryption-customer-key"
5592
+ },
5593
+ "CopySourceSSECustomerKeyMD5": {
5594
+ "shape_name": "CopySourceSSECustomerKeyMD5",
5595
+ "type": "string",
5596
+ "documentation": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.",
5597
+ "location": "header",
5598
+ "location_name": "x-amz-copy-source-server-side-encryption-customer-key-MD5"
5262
5599
  }
5263
5600
  },
5264
5601
  "documentation": null
@@ -5301,6 +5638,20 @@
5301
5638
  "documentation": "The Server-side encryption algorithm used when storing this object in S3.",
5302
5639
  "location": "header",
5303
5640
  "location_name": "x-amz-server-side-encryption"
5641
+ },
5642
+ "SSECustomerAlgorithm": {
5643
+ "shape_name": "SSECustomerAlgorithm",
5644
+ "type": "string",
5645
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.",
5646
+ "location": "header",
5647
+ "location_name": "x-amz-server-side-encryption-customer-algorithm"
5648
+ },
5649
+ "SSECustomerKeyMD5": {
5650
+ "shape_name": "SSECustomerKeyMD5",
5651
+ "type": "string",
5652
+ "documentation": "If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.",
5653
+ "location": "header",
5654
+ "location_name": "x-amz-server-side-encryption-customer-key-MD5"
5304
5655
  }
5305
5656
  },
5306
5657
  "documentation": null