aws-sdk-s3 1.10.0 → 1.208.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.
Files changed (153) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1517 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  6. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
  7. data/lib/aws-sdk-s3/bucket.rb +1062 -99
  8. data/lib/aws-sdk-s3/bucket_acl.rb +67 -17
  9. data/lib/aws-sdk-s3/bucket_cors.rb +80 -17
  10. data/lib/aws-sdk-s3/bucket_lifecycle.rb +71 -19
  11. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +126 -20
  12. data/lib/aws-sdk-s3/bucket_logging.rb +68 -18
  13. data/lib/aws-sdk-s3/bucket_notification.rb +56 -20
  14. data/lib/aws-sdk-s3/bucket_policy.rb +108 -17
  15. data/lib/aws-sdk-s3/bucket_region_cache.rb +11 -5
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +60 -15
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +71 -17
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +166 -17
  19. data/lib/aws-sdk-s3/bucket_website.rb +78 -17
  20. data/lib/aws-sdk-s3/client.rb +20068 -3879
  21. data/lib/aws-sdk-s3/client_api.rb +1957 -209
  22. data/lib/aws-sdk-s3/customizations/bucket.rb +57 -38
  23. data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
  24. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
  25. data/lib/aws-sdk-s3/customizations/object.rb +338 -68
  26. data/lib/aws-sdk-s3/customizations/object_summary.rb +17 -0
  27. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  28. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
  29. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  30. data/lib/aws-sdk-s3/customizations.rb +30 -27
  31. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  32. data/lib/aws-sdk-s3/encryption/client.rb +29 -8
  33. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +71 -29
  34. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +45 -5
  35. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
  36. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +15 -2
  37. data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
  38. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +11 -3
  39. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +11 -3
  40. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
  41. data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
  42. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +48 -11
  43. data/lib/aws-sdk-s3/encryption/materials.rb +8 -6
  44. data/lib/aws-sdk-s3/encryption/utils.rb +25 -0
  45. data/lib/aws-sdk-s3/encryption.rb +4 -0
  46. data/lib/aws-sdk-s3/encryptionV2/client.rb +645 -0
  47. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +68 -0
  48. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  49. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +187 -0
  50. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +40 -0
  51. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +67 -0
  52. data/lib/aws-sdk-s3/encryptionV2/errors.rb +37 -0
  53. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +58 -0
  54. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +37 -0
  55. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +75 -0
  56. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +31 -0
  57. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +181 -0
  58. data/lib/aws-sdk-s3/encryptionV2/materials.rb +60 -0
  59. data/lib/aws-sdk-s3/encryptionV2/utils.rb +108 -0
  60. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  61. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  62. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  63. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  64. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  65. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  66. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  67. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  68. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  69. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  70. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  71. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  72. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  73. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  74. data/lib/aws-sdk-s3/encryption_v2.rb +24 -0
  75. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  76. data/lib/aws-sdk-s3/endpoint_parameters.rb +181 -0
  77. data/lib/aws-sdk-s3/endpoint_provider.rb +886 -0
  78. data/lib/aws-sdk-s3/endpoints.rb +1544 -0
  79. data/lib/aws-sdk-s3/errors.rb +181 -1
  80. data/lib/aws-sdk-s3/event_streams.rb +69 -0
  81. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  82. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  83. data/lib/aws-sdk-s3/file_downloader.rb +261 -82
  84. data/lib/aws-sdk-s3/file_part.rb +16 -13
  85. data/lib/aws-sdk-s3/file_uploader.rb +37 -22
  86. data/lib/aws-sdk-s3/legacy_signer.rb +19 -26
  87. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  88. data/lib/aws-sdk-s3/multipart_file_uploader.rb +142 -80
  89. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +191 -0
  90. data/lib/aws-sdk-s3/multipart_upload.rb +342 -31
  91. data/lib/aws-sdk-s3/multipart_upload_error.rb +5 -4
  92. data/lib/aws-sdk-s3/multipart_upload_part.rb +387 -47
  93. data/lib/aws-sdk-s3/object.rb +2733 -204
  94. data/lib/aws-sdk-s3/object_acl.rb +112 -25
  95. data/lib/aws-sdk-s3/object_copier.rb +9 -5
  96. data/lib/aws-sdk-s3/object_multipart_copier.rb +50 -23
  97. data/lib/aws-sdk-s3/object_summary.rb +2265 -181
  98. data/lib/aws-sdk-s3/object_version.rb +542 -74
  99. data/lib/aws-sdk-s3/plugins/accelerate.rb +17 -64
  100. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  101. data/lib/aws-sdk-s3/plugins/arn.rb +70 -0
  102. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +7 -43
  103. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +20 -3
  104. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  105. data/lib/aws-sdk-s3/plugins/dualstack.rb +7 -50
  106. data/lib/aws-sdk-s3/plugins/endpoints.rb +86 -0
  107. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +5 -4
  108. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  109. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +3 -1
  110. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +62 -17
  111. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +44 -0
  112. data/lib/aws-sdk-s3/plugins/location_constraint.rb +5 -1
  113. data/lib/aws-sdk-s3/plugins/md5s.rb +14 -67
  114. data/lib/aws-sdk-s3/plugins/redirects.rb +5 -1
  115. data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
  116. data/lib/aws-sdk-s3/plugins/s3_signer.rb +67 -93
  117. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +3 -1
  118. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +137 -0
  119. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +4 -1
  120. data/lib/aws-sdk-s3/presigned_post.rb +160 -99
  121. data/lib/aws-sdk-s3/presigner.rb +178 -81
  122. data/lib/aws-sdk-s3/resource.rb +164 -15
  123. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  124. data/lib/aws-sdk-s3/types.rb +15981 -4168
  125. data/lib/aws-sdk-s3/waiters.rb +67 -1
  126. data/lib/aws-sdk-s3.rb +46 -31
  127. data/sig/bucket.rbs +231 -0
  128. data/sig/bucket_acl.rbs +78 -0
  129. data/sig/bucket_cors.rbs +69 -0
  130. data/sig/bucket_lifecycle.rbs +88 -0
  131. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  132. data/sig/bucket_logging.rbs +76 -0
  133. data/sig/bucket_notification.rbs +114 -0
  134. data/sig/bucket_policy.rbs +59 -0
  135. data/sig/bucket_request_payment.rbs +54 -0
  136. data/sig/bucket_tagging.rbs +65 -0
  137. data/sig/bucket_versioning.rbs +77 -0
  138. data/sig/bucket_website.rbs +93 -0
  139. data/sig/client.rbs +2612 -0
  140. data/sig/customizations/bucket.rbs +19 -0
  141. data/sig/customizations/object.rbs +38 -0
  142. data/sig/customizations/object_summary.rbs +35 -0
  143. data/sig/errors.rbs +44 -0
  144. data/sig/multipart_upload.rbs +120 -0
  145. data/sig/multipart_upload_part.rbs +109 -0
  146. data/sig/object.rbs +464 -0
  147. data/sig/object_acl.rbs +86 -0
  148. data/sig/object_summary.rbs +347 -0
  149. data/sig/object_version.rbs +143 -0
  150. data/sig/resource.rbs +141 -0
  151. data/sig/types.rbs +2899 -0
  152. data/sig/waiters.rbs +95 -0
  153. metadata +97 -14
@@ -1,13 +1,79 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
8
10
  require 'aws-sdk-core/waiters'
9
11
 
10
12
  module Aws::S3
13
+ # Waiters are utility methods that poll for a particular state to occur
14
+ # on a client. Waiters can fail after a number of attempts at a polling
15
+ # interval defined for the service client.
16
+ #
17
+ # For a list of operations that can be waited for and the
18
+ # client methods called for each operation, see the table below or the
19
+ # {Client#wait_until} field documentation for the {Client}.
20
+ #
21
+ # # Invoking a Waiter
22
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
23
+ # is the waiter name, which is specific to the service client and indicates
24
+ # which operation is being waited for. The second parameter is a hash of
25
+ # parameters that are passed to the client method called by the waiter,
26
+ # which varies according to the waiter name.
27
+ #
28
+ # # Wait Failures
29
+ # To catch errors in a waiter, use WaiterFailed,
30
+ # as shown in the following example.
31
+ #
32
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
33
+ # puts "failed waiting for instance running: #{error.message}
34
+ # end
35
+ #
36
+ # # Configuring a Waiter
37
+ # Each waiter has a default polling interval and a maximum number of
38
+ # attempts it will make before returning control to your program.
39
+ # To set these values, use the `max_attempts` and `delay` parameters
40
+ # in your `#wait_until` call.
41
+ # The following example waits for up to 25 seconds, polling every five seconds.
42
+ #
43
+ # client.wait_until(...) do |w|
44
+ # w.max_attempts = 5
45
+ # w.delay = 5
46
+ # end
47
+ #
48
+ # To disable wait failures, set the value of either of these parameters
49
+ # to `nil`.
50
+ #
51
+ # # Extending a Waiter
52
+ # To modify the behavior of waiters, you can register callbacks that are
53
+ # triggered before each polling attempt and before waiting.
54
+ #
55
+ # The following example implements an exponential backoff in a waiter
56
+ # by doubling the amount of time to wait on every attempt.
57
+ #
58
+ # client.wait_until(...) do |w|
59
+ # w.interval = 0 # disable normal sleep
60
+ # w.before_wait do |n, resp|
61
+ # sleep(n ** 2)
62
+ # end
63
+ # end
64
+ #
65
+ # # Available Waiters
66
+ #
67
+ # The following table lists the valid waiter names, the operations they call,
68
+ # and the default `:delay` and `:max_attempts` values.
69
+ #
70
+ # | waiter_name | params | :delay | :max_attempts |
71
+ # | ----------------- | -------------------- | -------- | ------------- |
72
+ # | bucket_exists | {Client#head_bucket} | 5 | 20 |
73
+ # | bucket_not_exists | {Client#head_bucket} | 5 | 20 |
74
+ # | object_exists | {Client#head_object} | 5 | 20 |
75
+ # | object_not_exists | {Client#head_object} | 5 | 20 |
76
+ #
11
77
  module Waiters
12
78
 
13
79
  class BucketExists
data/lib/aws-sdk-s3.rb CHANGED
@@ -1,39 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
10
+
8
11
  require 'aws-sdk-kms'
9
12
  require 'aws-sigv4'
10
13
  require 'aws-sdk-core'
11
14
 
12
- require_relative 'aws-sdk-s3/types'
13
- require_relative 'aws-sdk-s3/client_api'
14
- require_relative 'aws-sdk-s3/client'
15
- require_relative 'aws-sdk-s3/errors'
16
- require_relative 'aws-sdk-s3/waiters'
17
- require_relative 'aws-sdk-s3/resource'
18
- require_relative 'aws-sdk-s3/bucket'
19
- require_relative 'aws-sdk-s3/bucket_acl'
20
- require_relative 'aws-sdk-s3/bucket_cors'
21
- require_relative 'aws-sdk-s3/bucket_lifecycle'
22
- require_relative 'aws-sdk-s3/bucket_lifecycle_configuration'
23
- require_relative 'aws-sdk-s3/bucket_logging'
24
- require_relative 'aws-sdk-s3/bucket_notification'
25
- require_relative 'aws-sdk-s3/bucket_policy'
26
- require_relative 'aws-sdk-s3/bucket_request_payment'
27
- require_relative 'aws-sdk-s3/bucket_tagging'
28
- require_relative 'aws-sdk-s3/bucket_versioning'
29
- require_relative 'aws-sdk-s3/bucket_website'
30
- require_relative 'aws-sdk-s3/multipart_upload'
31
- require_relative 'aws-sdk-s3/multipart_upload_part'
32
- require_relative 'aws-sdk-s3/object'
33
- require_relative 'aws-sdk-s3/object_acl'
34
- require_relative 'aws-sdk-s3/object_summary'
35
- require_relative 'aws-sdk-s3/object_version'
36
- require_relative 'aws-sdk-s3/customizations'
15
+ Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
37
16
 
38
17
  # This module provides support for Amazon Simple Storage Service. This module is available in the
39
18
  # `aws-sdk-s3` gem.
@@ -44,24 +23,60 @@ require_relative 'aws-sdk-s3/customizations'
44
23
  # methods each accept a hash of request parameters and return a response
45
24
  # structure.
46
25
  #
26
+ # s3 = Aws::S3::Client.new
27
+ # resp = s3.abort_multipart_upload(params)
28
+ #
47
29
  # See {Client} for more information.
48
30
  #
49
31
  # # Errors
50
32
  #
51
- # Errors returned from Amazon Simple Storage Service all
52
- # extend {Errors::ServiceError}.
33
+ # Errors returned from Amazon Simple Storage Service are defined in the
34
+ # {Errors} module and all extend {Errors::ServiceError}.
53
35
  #
54
36
  # begin
55
37
  # # do stuff
56
38
  # rescue Aws::S3::Errors::ServiceError
57
- # # rescues all service API errors
39
+ # # rescues all Amazon Simple Storage Service API errors
58
40
  # end
59
41
  #
60
42
  # See {Errors} for more information.
61
43
  #
62
- # @service
44
+ # @!group service
63
45
  module Aws::S3
46
+ autoload :Types, 'aws-sdk-s3/types'
47
+ autoload :ClientApi, 'aws-sdk-s3/client_api'
48
+ module Plugins
49
+ autoload :Endpoints, 'aws-sdk-s3/plugins/endpoints.rb'
50
+ end
51
+ autoload :Client, 'aws-sdk-s3/client'
52
+ autoload :Errors, 'aws-sdk-s3/errors'
53
+ autoload :Waiters, 'aws-sdk-s3/waiters'
54
+ autoload :Resource, 'aws-sdk-s3/resource'
55
+ autoload :EndpointParameters, 'aws-sdk-s3/endpoint_parameters'
56
+ autoload :EndpointProvider, 'aws-sdk-s3/endpoint_provider'
57
+ autoload :Endpoints, 'aws-sdk-s3/endpoints'
58
+ autoload :Bucket, 'aws-sdk-s3/bucket'
59
+ autoload :BucketAcl, 'aws-sdk-s3/bucket_acl'
60
+ autoload :BucketCors, 'aws-sdk-s3/bucket_cors'
61
+ autoload :BucketLifecycle, 'aws-sdk-s3/bucket_lifecycle'
62
+ autoload :BucketLifecycleConfiguration, 'aws-sdk-s3/bucket_lifecycle_configuration'
63
+ autoload :BucketLogging, 'aws-sdk-s3/bucket_logging'
64
+ autoload :BucketNotification, 'aws-sdk-s3/bucket_notification'
65
+ autoload :BucketPolicy, 'aws-sdk-s3/bucket_policy'
66
+ autoload :BucketRequestPayment, 'aws-sdk-s3/bucket_request_payment'
67
+ autoload :BucketTagging, 'aws-sdk-s3/bucket_tagging'
68
+ autoload :BucketVersioning, 'aws-sdk-s3/bucket_versioning'
69
+ autoload :BucketWebsite, 'aws-sdk-s3/bucket_website'
70
+ autoload :MultipartUpload, 'aws-sdk-s3/multipart_upload'
71
+ autoload :MultipartUploadPart, 'aws-sdk-s3/multipart_upload_part'
72
+ autoload :Object, 'aws-sdk-s3/object'
73
+ autoload :ObjectAcl, 'aws-sdk-s3/object_acl'
74
+ autoload :ObjectSummary, 'aws-sdk-s3/object_summary'
75
+ autoload :ObjectVersion, 'aws-sdk-s3/object_version'
76
+ autoload :EventStreams, 'aws-sdk-s3/event_streams'
64
77
 
65
- GEM_VERSION = '1.10.0'
78
+ GEM_VERSION = '1.208.0'
66
79
 
67
80
  end
81
+
82
+ require_relative 'aws-sdk-s3/customizations'
data/sig/bucket.rbs ADDED
@@ -0,0 +1,231 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html
11
+ class Bucket
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#initialize-instance_method
13
+ def initialize: (String name, Hash[Symbol, untyped] options) -> void
14
+ | (name: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#name-instance_method
18
+ def name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#creation_date-instance_method
21
+ def creation_date: () -> ::Time
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#bucket_region-instance_method
24
+ def bucket_region: () -> ::String
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#bucket_arn-instance_method
27
+ def bucket_arn: () -> ::String
28
+
29
+ def client: () -> Client
30
+
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#data-instance_method
33
+ def data: () -> Types::Bucket
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#data_loaded?-instance_method
36
+ def data_loaded?: () -> bool
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#exists?-instance_method
39
+ def exists?: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) -> bool
40
+ | (?Hash[Symbol, untyped]) -> bool
41
+
42
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#wait_until_exists-instance_method
43
+ def wait_until_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Bucket
44
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Bucket
45
+
46
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#wait_until_not_exists-instance_method
47
+ def wait_until_not_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Bucket
48
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Bucket
49
+
50
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#create-instance_method
51
+ def create: (
52
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read"),
53
+ ?create_bucket_configuration: {
54
+ location_constraint: ("af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "EU" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "sa-east-1" | "us-east-2" | "us-gov-east-1" | "us-gov-west-1" | "us-west-1" | "us-west-2")?,
55
+ location: {
56
+ type: ("AvailabilityZone" | "LocalZone")?,
57
+ name: ::String?
58
+ }?,
59
+ bucket: {
60
+ data_redundancy: ("SingleAvailabilityZone" | "SingleLocalZone")?,
61
+ type: ("Directory")?
62
+ }?,
63
+ tags: Array[
64
+ {
65
+ key: ::String,
66
+ value: ::String
67
+ },
68
+ ]?
69
+ },
70
+ ?grant_full_control: ::String,
71
+ ?grant_read: ::String,
72
+ ?grant_read_acp: ::String,
73
+ ?grant_write: ::String,
74
+ ?grant_write_acp: ::String,
75
+ ?object_lock_enabled_for_bucket: bool,
76
+ ?object_ownership: ("BucketOwnerPreferred" | "ObjectWriter" | "BucketOwnerEnforced")
77
+ ) -> Types::CreateBucketOutput
78
+ | (?Hash[Symbol, untyped]) -> Types::CreateBucketOutput
79
+
80
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#delete-instance_method
81
+ def delete: (
82
+ ?expected_bucket_owner: ::String
83
+ ) -> ::Aws::EmptyStructure
84
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
85
+
86
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#delete_objects-instance_method
87
+ def delete_objects: (
88
+ delete: {
89
+ objects: Array[
90
+ {
91
+ key: ::String,
92
+ version_id: ::String?,
93
+ etag: ::String?,
94
+ last_modified_time: ::Time?,
95
+ size: ::Integer?
96
+ },
97
+ ],
98
+ quiet: bool?
99
+ },
100
+ ?mfa: ::String,
101
+ ?request_payer: ("requester"),
102
+ ?bypass_governance_retention: bool,
103
+ ?expected_bucket_owner: ::String,
104
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME")
105
+ ) -> Types::DeleteObjectsOutput
106
+ | (?Hash[Symbol, untyped]) -> Types::DeleteObjectsOutput
107
+
108
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#put_object-instance_method
109
+ def put_object: (
110
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
111
+ ?body: ::String | ::StringIO | ::File,
112
+ ?cache_control: ::String,
113
+ ?content_disposition: ::String,
114
+ ?content_encoding: ::String,
115
+ ?content_language: ::String,
116
+ ?content_length: ::Integer,
117
+ ?content_md5: ::String,
118
+ ?content_type: ::String,
119
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
120
+ ?checksum_crc32: ::String,
121
+ ?checksum_crc32c: ::String,
122
+ ?checksum_crc64nvme: ::String,
123
+ ?checksum_sha1: ::String,
124
+ ?checksum_sha256: ::String,
125
+ ?expires: ::Time,
126
+ ?if_match: ::String,
127
+ ?if_none_match: ::String,
128
+ ?grant_full_control: ::String,
129
+ ?grant_read: ::String,
130
+ ?grant_read_acp: ::String,
131
+ ?grant_write_acp: ::String,
132
+ key: ::String,
133
+ ?write_offset_bytes: ::Integer,
134
+ ?metadata: Hash[::String, ::String],
135
+ ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
136
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP"),
137
+ ?website_redirect_location: ::String,
138
+ ?sse_customer_algorithm: ::String,
139
+ ?sse_customer_key: ::String,
140
+ ?sse_customer_key_md5: ::String,
141
+ ?ssekms_key_id: ::String,
142
+ ?ssekms_encryption_context: ::String,
143
+ ?bucket_key_enabled: bool,
144
+ ?request_payer: ("requester"),
145
+ ?tagging: ::String,
146
+ ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
147
+ ?object_lock_retain_until_date: ::Time,
148
+ ?object_lock_legal_hold_status: ("ON" | "OFF"),
149
+ ?expected_bucket_owner: ::String
150
+ ) -> Object
151
+ | (?Hash[Symbol, untyped]) -> Object
152
+
153
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#acl-instance_method
154
+ def acl: () -> BucketAcl
155
+
156
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#cors-instance_method
157
+ def cors: () -> BucketCors
158
+
159
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#lifecycle-instance_method
160
+ def lifecycle: () -> BucketLifecycle
161
+
162
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#lifecycle_configuration-instance_method
163
+ def lifecycle_configuration: () -> BucketLifecycleConfiguration
164
+
165
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#logging-instance_method
166
+ def logging: () -> BucketLogging
167
+
168
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#multipart_uploads-instance_method
169
+ def multipart_uploads: (
170
+ ?delimiter: ::String,
171
+ ?encoding_type: ("url"),
172
+ ?key_marker: ::String,
173
+ ?prefix: ::String,
174
+ ?upload_id_marker: ::String,
175
+ ?expected_bucket_owner: ::String,
176
+ ?request_payer: ("requester")
177
+ ) -> MultipartUpload::Collection
178
+ | (?Hash[Symbol, untyped]) -> MultipartUpload::Collection
179
+
180
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#notification-instance_method
181
+ def notification: () -> BucketNotification
182
+
183
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#object-instance_method
184
+ def object: (String key) -> Object
185
+
186
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#object_versions-instance_method
187
+ def object_versions: (
188
+ ?delimiter: ::String,
189
+ ?encoding_type: ("url"),
190
+ ?key_marker: ::String,
191
+ ?prefix: ::String,
192
+ ?version_id_marker: ::String,
193
+ ?expected_bucket_owner: ::String,
194
+ ?request_payer: ("requester"),
195
+ ?optional_object_attributes: Array[("RestoreStatus")]
196
+ ) -> ObjectVersion::Collection
197
+ | (?Hash[Symbol, untyped]) -> ObjectVersion::Collection
198
+
199
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#objects-instance_method
200
+ def objects: (
201
+ ?delimiter: ::String,
202
+ ?encoding_type: ("url"),
203
+ ?prefix: ::String,
204
+ ?fetch_owner: bool,
205
+ ?start_after: ::String,
206
+ ?request_payer: ("requester"),
207
+ ?expected_bucket_owner: ::String,
208
+ ?optional_object_attributes: Array[("RestoreStatus")]
209
+ ) -> ObjectSummary::Collection
210
+ | (?Hash[Symbol, untyped]) -> ObjectSummary::Collection
211
+
212
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#policy-instance_method
213
+ def policy: () -> BucketPolicy
214
+
215
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#request_payment-instance_method
216
+ def request_payment: () -> BucketRequestPayment
217
+
218
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#tagging-instance_method
219
+ def tagging: () -> BucketTagging
220
+
221
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#versioning-instance_method
222
+ def versioning: () -> BucketVersioning
223
+
224
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Bucket.html#website-instance_method
225
+ def website: () -> BucketWebsite
226
+
227
+ class Collection < ::Aws::Resources::Collection[Bucket]
228
+ end
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,78 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html
11
+ class BucketAcl
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#initialize-instance_method
13
+ def initialize: (String bucket_name, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#owner-instance_method
21
+ def owner: () -> Types::Owner
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#grants-instance_method
24
+ def grants: () -> ::Array[Types::Grant]
25
+
26
+ def client: () -> Client
27
+
28
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#load-instance_method
29
+ def load: () -> self
30
+ alias reload load
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#data-instance_method
33
+ def data: () -> Types::GetBucketAclOutput
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#data_loaded?-instance_method
36
+ def data_loaded?: () -> bool
37
+
38
+
39
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#put-instance_method
40
+ def put: (
41
+ ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read"),
42
+ ?access_control_policy: {
43
+ grants: Array[
44
+ {
45
+ grantee: {
46
+ display_name: ::String?,
47
+ email_address: ::String?,
48
+ id: ::String?,
49
+ type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
50
+ uri: ::String?
51
+ }?,
52
+ permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
53
+ },
54
+ ]?,
55
+ owner: {
56
+ display_name: ::String?,
57
+ id: ::String?
58
+ }?
59
+ },
60
+ ?content_md5: ::String,
61
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
62
+ ?grant_full_control: ::String,
63
+ ?grant_read: ::String,
64
+ ?grant_read_acp: ::String,
65
+ ?grant_write: ::String,
66
+ ?grant_write_acp: ::String,
67
+ ?expected_bucket_owner: ::String
68
+ ) -> ::Aws::EmptyStructure
69
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
70
+
71
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketAcl.html#bucket-instance_method
72
+ def bucket: () -> Bucket
73
+
74
+ class Collection < ::Aws::Resources::Collection[BucketAcl]
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,69 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html
11
+ class BucketCors
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#initialize-instance_method
13
+ def initialize: (String bucket_name, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#cors_rules-instance_method
21
+ def cors_rules: () -> ::Array[Types::CORSRule]
22
+
23
+ def client: () -> Client
24
+
25
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#load-instance_method
26
+ def load: () -> self
27
+ alias reload load
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#data-instance_method
30
+ def data: () -> Types::GetBucketCorsOutput
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#data_loaded?-instance_method
33
+ def data_loaded?: () -> bool
34
+
35
+
36
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#delete-instance_method
37
+ def delete: (
38
+ ?expected_bucket_owner: ::String
39
+ ) -> ::Aws::EmptyStructure
40
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
41
+
42
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#put-instance_method
43
+ def put: (
44
+ cors_configuration: {
45
+ cors_rules: Array[
46
+ {
47
+ id: ::String?,
48
+ allowed_headers: Array[::String]?,
49
+ allowed_methods: Array[::String],
50
+ allowed_origins: Array[::String],
51
+ expose_headers: Array[::String]?,
52
+ max_age_seconds: ::Integer?
53
+ },
54
+ ]
55
+ },
56
+ ?content_md5: ::String,
57
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
58
+ ?expected_bucket_owner: ::String
59
+ ) -> ::Aws::EmptyStructure
60
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
61
+
62
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketCors.html#bucket-instance_method
63
+ def bucket: () -> Bucket
64
+
65
+ class Collection < ::Aws::Resources::Collection[BucketCors]
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,88 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html
11
+ class BucketLifecycle
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#initialize-instance_method
13
+ def initialize: (String bucket_name, Hash[Symbol, untyped] options) -> void
14
+ | (bucket_name: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#bucket_name-instance_method
18
+ def bucket_name: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#rules-instance_method
21
+ def rules: () -> ::Array[Types::Rule]
22
+
23
+ def client: () -> Client
24
+
25
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#load-instance_method
26
+ def load: () -> self
27
+ alias reload load
28
+
29
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#data-instance_method
30
+ def data: () -> Types::GetBucketLifecycleOutput
31
+
32
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#data_loaded?-instance_method
33
+ def data_loaded?: () -> bool
34
+
35
+
36
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#delete-instance_method
37
+ def delete: (
38
+ ?expected_bucket_owner: ::String
39
+ ) -> ::Aws::EmptyStructure
40
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
41
+
42
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#put-instance_method
43
+ def put: (
44
+ ?content_md5: ::String,
45
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
46
+ ?lifecycle_configuration: {
47
+ rules: Array[
48
+ {
49
+ expiration: {
50
+ date: ::Time?,
51
+ days: ::Integer?,
52
+ expired_object_delete_marker: bool?
53
+ }?,
54
+ id: ::String?,
55
+ prefix: ::String,
56
+ status: ("Enabled" | "Disabled"),
57
+ transition: {
58
+ date: ::Time?,
59
+ days: ::Integer?,
60
+ storage_class: ("GLACIER" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "DEEP_ARCHIVE" | "GLACIER_IR")?
61
+ }?,
62
+ noncurrent_version_transition: {
63
+ noncurrent_days: ::Integer?,
64
+ storage_class: ("GLACIER" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "DEEP_ARCHIVE" | "GLACIER_IR")?,
65
+ newer_noncurrent_versions: ::Integer?
66
+ }?,
67
+ noncurrent_version_expiration: {
68
+ noncurrent_days: ::Integer?,
69
+ newer_noncurrent_versions: ::Integer?
70
+ }?,
71
+ abort_incomplete_multipart_upload: {
72
+ days_after_initiation: ::Integer?
73
+ }?
74
+ },
75
+ ]
76
+ },
77
+ ?expected_bucket_owner: ::String
78
+ ) -> ::Aws::EmptyStructure
79
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
80
+
81
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/BucketLifecycle.html#bucket-instance_method
82
+ def bucket: () -> Bucket
83
+
84
+ class Collection < ::Aws::Resources::Collection[BucketLifecycle]
85
+ end
86
+ end
87
+ end
88
+ end