aws-sdk-s3 1.105.1 → 1.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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)
|