aws-sdk-s3 1.105.1 → 1.109.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +19 -1
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -2
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +8 -2
- data/lib/aws-sdk-s3/bucket_notification.rb +15 -3
- data/lib/aws-sdk-s3/client.rb +380 -231
- data/lib/aws-sdk-s3/client_api.rb +16 -0
- data/lib/aws-sdk-s3/customizations/object.rb +74 -1
- data/lib/aws-sdk-s3/object.rb +4 -4
- data/lib/aws-sdk-s3/object_summary.rb +4 -4
- data/lib/aws-sdk-s3/resource.rb +18 -0
- data/lib/aws-sdk-s3/types.rb +231 -78
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +2 -2
@@ -158,6 +158,7 @@ module Aws::S3
|
|
158
158
|
ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
|
159
159
|
Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
|
160
160
|
Event = Shapes::StringShape.new(name: 'Event')
|
161
|
+
EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
|
161
162
|
EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
|
162
163
|
ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
|
163
164
|
ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
|
@@ -386,6 +387,8 @@ module Aws::S3
|
|
386
387
|
ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
|
387
388
|
ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
|
388
389
|
ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
|
390
|
+
ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
|
391
|
+
ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
|
389
392
|
ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
|
390
393
|
ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
|
391
394
|
ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
|
@@ -519,6 +522,7 @@ module Aws::S3
|
|
519
522
|
ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
|
520
523
|
Setting = Shapes::BooleanShape.new(name: 'Setting')
|
521
524
|
Size = Shapes::IntegerShape.new(name: 'Size')
|
525
|
+
SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
|
522
526
|
SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
|
523
527
|
SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
|
524
528
|
SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
|
@@ -561,6 +565,7 @@ module Aws::S3
|
|
561
565
|
UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
|
562
566
|
UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
|
563
567
|
Value = Shapes::StringShape.new(name: 'Value')
|
568
|
+
VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
|
564
569
|
VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
|
565
570
|
VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
|
566
571
|
WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
|
@@ -796,6 +801,7 @@ module Aws::S3
|
|
796
801
|
CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
|
797
802
|
CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
|
798
803
|
CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
|
804
|
+
CreateBucketRequest.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, location: "header", location_name: "x-amz-object-ownership"))
|
799
805
|
CreateBucketRequest.struct_class = Types::CreateBucketRequest
|
800
806
|
CreateBucketRequest[:payload] = :create_bucket_configuration
|
801
807
|
CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
|
@@ -1001,6 +1007,8 @@ module Aws::S3
|
|
1001
1007
|
|
1002
1008
|
Errors.member = Shapes::ShapeRef.new(shape: Error)
|
1003
1009
|
|
1010
|
+
EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
|
1011
|
+
|
1004
1012
|
EventList.member = Shapes::ShapeRef.new(shape: Event)
|
1005
1013
|
|
1006
1014
|
ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
|
@@ -1491,10 +1499,14 @@ module Aws::S3
|
|
1491
1499
|
|
1492
1500
|
LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
|
1493
1501
|
LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
|
1502
|
+
LifecycleRuleAndOperator.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
|
1503
|
+
LifecycleRuleAndOperator.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
|
1494
1504
|
LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
|
1495
1505
|
|
1496
1506
|
LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
|
1497
1507
|
LifecycleRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
|
1508
|
+
LifecycleRuleFilter.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
|
1509
|
+
LifecycleRuleFilter.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
|
1498
1510
|
LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
|
1499
1511
|
LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
|
1500
1512
|
|
@@ -1719,10 +1731,12 @@ module Aws::S3
|
|
1719
1731
|
NoSuchUpload.struct_class = Types::NoSuchUpload
|
1720
1732
|
|
1721
1733
|
NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
|
1734
|
+
NoncurrentVersionExpiration.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
|
1722
1735
|
NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
|
1723
1736
|
|
1724
1737
|
NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
|
1725
1738
|
NoncurrentVersionTransition.add_member(:storage_class, Shapes::ShapeRef.new(shape: TransitionStorageClass, location_name: "StorageClass"))
|
1739
|
+
NoncurrentVersionTransition.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
|
1726
1740
|
NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
|
1727
1741
|
|
1728
1742
|
NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
|
@@ -1730,6 +1744,7 @@ module Aws::S3
|
|
1730
1744
|
NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
|
1731
1745
|
NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
|
1732
1746
|
NotificationConfiguration.add_member(:lambda_function_configurations, Shapes::ShapeRef.new(shape: LambdaFunctionConfigurationList, location_name: "CloudFunctionConfiguration"))
|
1747
|
+
NotificationConfiguration.add_member(:event_bridge_configuration, Shapes::ShapeRef.new(shape: EventBridgeConfiguration, location_name: "EventBridgeConfiguration"))
|
1733
1748
|
NotificationConfiguration.struct_class = Types::NotificationConfiguration
|
1734
1749
|
|
1735
1750
|
NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
|
@@ -1926,6 +1941,7 @@ module Aws::S3
|
|
1926
1941
|
PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
|
1927
1942
|
PutBucketNotificationConfigurationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
|
1928
1943
|
PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
1944
|
+
PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
|
1929
1945
|
PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
|
1930
1946
|
PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
|
1931
1947
|
PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
|
@@ -161,7 +161,7 @@ module Aws
|
|
161
161
|
#
|
162
162
|
# @param [Symbol] method
|
163
163
|
# The S3 operation to generate a presigned URL for. Valid values
|
164
|
-
# are `:get`, `:put`, `:head`, `:delete`, `:create_multipart_upload`,
|
164
|
+
# are `:get`, `:put`, `:head`, `:delete`, `:create_multipart_upload`,
|
165
165
|
# `:list_multipart_uploads`, `:complete_multipart_upload`,
|
166
166
|
# `:abort_multipart_upload`, `:list_parts`, and `:upload_part`.
|
167
167
|
#
|
@@ -215,6 +215,79 @@ module Aws
|
|
215
215
|
)
|
216
216
|
end
|
217
217
|
|
218
|
+
# Allows you to create presigned URL requests for S3 operations. This
|
219
|
+
# method returns a tuple containing the URL and the signed X-amz-* headers
|
220
|
+
# to be used with the presigned url.
|
221
|
+
#
|
222
|
+
# @example Pre-signed GET URL, valid for one hour
|
223
|
+
#
|
224
|
+
# obj.presigned_request(:get, expires_in: 3600)
|
225
|
+
# #=> ["https://bucket-name.s3.amazonaws.com/object-key?...", {}]
|
226
|
+
#
|
227
|
+
# @example Pre-signed PUT with a canned ACL
|
228
|
+
#
|
229
|
+
# # the object uploaded using this URL will be publicly accessible
|
230
|
+
# obj.presigned_request(:put, acl: 'public-read')
|
231
|
+
# #=> ["https://bucket-name.s3.amazonaws.com/object-key?...",
|
232
|
+
# {"x-amz-acl"=>"public-read"}]
|
233
|
+
#
|
234
|
+
# @param [Symbol] method
|
235
|
+
# The S3 operation to generate a presigned request for. Valid values
|
236
|
+
# are `:get`, `:put`, `:head`, `:delete`, `:create_multipart_upload`,
|
237
|
+
# `:list_multipart_uploads`, `:complete_multipart_upload`,
|
238
|
+
# `:abort_multipart_upload`, `:list_parts`, and `:upload_part`.
|
239
|
+
#
|
240
|
+
# @param [Hash] params
|
241
|
+
# Additional request parameters to use when generating the pre-signed
|
242
|
+
# request. See the related documentation in {Client} for accepted
|
243
|
+
# params.
|
244
|
+
#
|
245
|
+
# | Method | Client Method |
|
246
|
+
# |------------------------------|------------------------------------|
|
247
|
+
# | `:get` | {Client#get_object} |
|
248
|
+
# | `:put` | {Client#put_object} |
|
249
|
+
# | `:head` | {Client#head_object} |
|
250
|
+
# | `:delete` | {Client#delete_object} |
|
251
|
+
# | `:create_multipart_upload` | {Client#create_multipart_upload} |
|
252
|
+
# | `:list_multipart_uploads` | {Client#list_multipart_uploads} |
|
253
|
+
# | `:complete_multipart_upload` | {Client#complete_multipart_upload} |
|
254
|
+
# | `:abort_multipart_upload` | {Client#abort_multipart_upload} |
|
255
|
+
# | `:list_parts` | {Client#list_parts} |
|
256
|
+
# | `:upload_part` | {Client#upload_part} |
|
257
|
+
#
|
258
|
+
# @option params [Boolean] :virtual_host (false) When `true` the
|
259
|
+
# presigned URL will use the bucket name as a virtual host.
|
260
|
+
#
|
261
|
+
# bucket = Aws::S3::Bucket.new('my.bucket.com')
|
262
|
+
# bucket.object('key').presigned_request(virtual_host: true)
|
263
|
+
# #=> ["http://my.bucket.com/key?...", {}]
|
264
|
+
#
|
265
|
+
# @option params [Integer] :expires_in (900) Number of seconds before
|
266
|
+
# the pre-signed URL expires. This may not exceed one week (604800
|
267
|
+
# seconds). Note that the pre-signed URL is also only valid as long as
|
268
|
+
# credentials used to sign it are. For example, when using IAM roles,
|
269
|
+
# temporary tokens generated for signing also have a default expiration
|
270
|
+
# which will affect the effective expiration of the pre-signed URL.
|
271
|
+
#
|
272
|
+
# @raise [ArgumentError] Raised if `:expires_in` exceeds one week
|
273
|
+
# (604800 seconds).
|
274
|
+
#
|
275
|
+
# @return [String, Hash] A tuple with a presigned URL and headers that
|
276
|
+
# should be included with the request.
|
277
|
+
#
|
278
|
+
def presigned_request(method, params = {})
|
279
|
+
presigner = Presigner.new(client: client)
|
280
|
+
|
281
|
+
if %w(delete head get put).include?(method.to_s)
|
282
|
+
method = "#{method}_object".to_sym
|
283
|
+
end
|
284
|
+
|
285
|
+
presigner.presigned_request(
|
286
|
+
method.downcase,
|
287
|
+
params.merge(bucket: bucket_name, key: key)
|
288
|
+
)
|
289
|
+
end
|
290
|
+
|
218
291
|
# Returns the public (un-signed) URL for this object.
|
219
292
|
#
|
220
293
|
# s3.bucket('bucket-name').object('obj-key').public_url
|
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -552,7 +552,7 @@ module Aws::S3
|
|
552
552
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
553
553
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
554
554
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
555
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
555
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
556
556
|
# website_redirect_location: "WebsiteRedirectLocation",
|
557
557
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
558
558
|
# sse_customer_key: "SSECustomerKey",
|
@@ -943,7 +943,7 @@ module Aws::S3
|
|
943
943
|
# "MetadataKey" => "MetadataValue",
|
944
944
|
# },
|
945
945
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
946
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
946
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
947
947
|
# website_redirect_location: "WebsiteRedirectLocation",
|
948
948
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
949
949
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1112,7 +1112,7 @@ module Aws::S3
|
|
1112
1112
|
# "MetadataKey" => "MetadataValue",
|
1113
1113
|
# },
|
1114
1114
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1115
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
1115
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1116
1116
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1117
1117
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1118
1118
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1415,7 +1415,7 @@ module Aws::S3
|
|
1415
1415
|
# value: "MetadataValue",
|
1416
1416
|
# },
|
1417
1417
|
# ],
|
1418
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
1418
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1419
1419
|
# },
|
1420
1420
|
# },
|
1421
1421
|
# },
|
@@ -296,7 +296,7 @@ module Aws::S3
|
|
296
296
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
297
297
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
298
298
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
299
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
299
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
300
300
|
# website_redirect_location: "WebsiteRedirectLocation",
|
301
301
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
302
302
|
# sse_customer_key: "SSECustomerKey",
|
@@ -687,7 +687,7 @@ module Aws::S3
|
|
687
687
|
# "MetadataKey" => "MetadataValue",
|
688
688
|
# },
|
689
689
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
690
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
690
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
691
691
|
# website_redirect_location: "WebsiteRedirectLocation",
|
692
692
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
693
693
|
# sse_customer_key: "SSECustomerKey",
|
@@ -856,7 +856,7 @@ module Aws::S3
|
|
856
856
|
# "MetadataKey" => "MetadataValue",
|
857
857
|
# },
|
858
858
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
859
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
859
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
860
860
|
# website_redirect_location: "WebsiteRedirectLocation",
|
861
861
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
862
862
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1159,7 +1159,7 @@ module Aws::S3
|
|
1159
1159
|
# value: "MetadataValue",
|
1160
1160
|
# },
|
1161
1161
|
# ],
|
1162
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
1162
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1163
1163
|
# },
|
1164
1164
|
# },
|
1165
1165
|
# },
|
data/lib/aws-sdk-s3/resource.rb
CHANGED
@@ -49,6 +49,7 @@ module Aws::S3
|
|
49
49
|
# grant_write: "GrantWrite",
|
50
50
|
# grant_write_acp: "GrantWriteACP",
|
51
51
|
# object_lock_enabled_for_bucket: false,
|
52
|
+
# object_ownership: "BucketOwnerPreferred", # accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
|
52
53
|
# })
|
53
54
|
# @param [Hash] options ({})
|
54
55
|
# @option options [String] :acl
|
@@ -74,6 +75,23 @@ module Aws::S3
|
|
74
75
|
# @option options [Boolean] :object_lock_enabled_for_bucket
|
75
76
|
# Specifies whether you want S3 Object Lock to be enabled for the new
|
76
77
|
# bucket.
|
78
|
+
# @option options [String] :object_ownership
|
79
|
+
# The container element for object ownership for a bucket's ownership
|
80
|
+
# controls.
|
81
|
+
#
|
82
|
+
# BucketOwnerPreferred - Objects uploaded to the bucket change ownership
|
83
|
+
# to the bucket owner if the objects are uploaded with the
|
84
|
+
# `bucket-owner-full-control` canned ACL.
|
85
|
+
#
|
86
|
+
# ObjectWriter - The uploading account will own the object if the object
|
87
|
+
# is uploaded with the `bucket-owner-full-control` canned ACL.
|
88
|
+
#
|
89
|
+
# BucketOwnerEnforced - Access control lists (ACLs) are disabled and no
|
90
|
+
# longer affect permissions. The bucket owner automatically owns and has
|
91
|
+
# full control over every object in the bucket. The bucket only accepts
|
92
|
+
# PUT requests that don't specify an ACL or bucket owner full control
|
93
|
+
# ACLs, such as the `bucket-owner-full-control` canned ACL or an
|
94
|
+
# equivalent form of this ACL expressed in the XML format.
|
77
95
|
# @return [Bucket]
|
78
96
|
def create_bucket(options = {})
|
79
97
|
@client.create_bucket(options)
|