aws-sdk-s3 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/lib/aws-sdk-s3.rb +66 -0
  3. data/lib/aws-sdk-s3/bucket.rb +595 -0
  4. data/lib/aws-sdk-s3/bucket_acl.rb +168 -0
  5. data/lib/aws-sdk-s3/bucket_cors.rb +146 -0
  6. data/lib/aws-sdk-s3/bucket_lifecycle.rb +164 -0
  7. data/lib/aws-sdk-s3/bucket_logging.rb +142 -0
  8. data/lib/aws-sdk-s3/bucket_notification.rb +187 -0
  9. data/lib/aws-sdk-s3/bucket_policy.rb +138 -0
  10. data/lib/aws-sdk-s3/bucket_region_cache.rb +79 -0
  11. data/lib/aws-sdk-s3/bucket_request_payment.rb +128 -0
  12. data/lib/aws-sdk-s3/bucket_tagging.rb +143 -0
  13. data/lib/aws-sdk-s3/bucket_versioning.rb +188 -0
  14. data/lib/aws-sdk-s3/bucket_website.rb +177 -0
  15. data/lib/aws-sdk-s3/client.rb +3171 -0
  16. data/lib/aws-sdk-s3/client_api.rb +1991 -0
  17. data/lib/aws-sdk-s3/customizations.rb +29 -0
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +127 -0
  19. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +42 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +257 -0
  21. data/lib/aws-sdk-s3/customizations/object_summary.rb +65 -0
  22. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +11 -0
  23. data/lib/aws-sdk-s3/encryption.rb +19 -0
  24. data/lib/aws-sdk-s3/encryption/client.rb +369 -0
  25. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +178 -0
  26. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +63 -0
  27. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +38 -0
  28. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +50 -0
  29. data/lib/aws-sdk-s3/encryption/errors.rb +13 -0
  30. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +50 -0
  31. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +29 -0
  32. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +69 -0
  33. data/lib/aws-sdk-s3/encryption/key_provider.rb +29 -0
  34. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +71 -0
  35. data/lib/aws-sdk-s3/encryption/materials.rb +58 -0
  36. data/lib/aws-sdk-s3/encryption/utils.rb +79 -0
  37. data/lib/aws-sdk-s3/errors.rb +23 -0
  38. data/lib/aws-sdk-s3/file_part.rb +75 -0
  39. data/lib/aws-sdk-s3/file_uploader.rb +58 -0
  40. data/lib/aws-sdk-s3/legacy_signer.rb +186 -0
  41. data/lib/aws-sdk-s3/multipart_file_uploader.rb +187 -0
  42. data/lib/aws-sdk-s3/multipart_upload.rb +287 -0
  43. data/lib/aws-sdk-s3/multipart_upload_error.rb +16 -0
  44. data/lib/aws-sdk-s3/multipart_upload_part.rb +314 -0
  45. data/lib/aws-sdk-s3/object.rb +942 -0
  46. data/lib/aws-sdk-s3/object_acl.rb +214 -0
  47. data/lib/aws-sdk-s3/object_copier.rb +99 -0
  48. data/lib/aws-sdk-s3/object_multipart_copier.rb +179 -0
  49. data/lib/aws-sdk-s3/object_summary.rb +794 -0
  50. data/lib/aws-sdk-s3/object_version.rb +406 -0
  51. data/lib/aws-sdk-s3/plugins/accelerate.rb +92 -0
  52. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +89 -0
  53. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +23 -0
  54. data/lib/aws-sdk-s3/plugins/dualstack.rb +70 -0
  55. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +29 -0
  56. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +23 -0
  57. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +47 -0
  58. data/lib/aws-sdk-s3/plugins/location_constraint.rb +33 -0
  59. data/lib/aws-sdk-s3/plugins/md5s.rb +79 -0
  60. data/lib/aws-sdk-s3/plugins/redirects.rb +41 -0
  61. data/lib/aws-sdk-s3/plugins/s3_signer.rb +208 -0
  62. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +68 -0
  63. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +94 -0
  64. data/lib/aws-sdk-s3/presigned_post.rb +647 -0
  65. data/lib/aws-sdk-s3/presigner.rb +160 -0
  66. data/lib/aws-sdk-s3/resource.rb +96 -0
  67. data/lib/aws-sdk-s3/types.rb +5750 -0
  68. data/lib/aws-sdk-s3/waiters.rb +178 -0
  69. metadata +154 -0
@@ -0,0 +1,168 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ class BucketAcl
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(bucket_name, options = {})
15
+ # @param [String] bucket_name
16
+ # @option options [Client] :client
17
+ # @overload def initialize(options = {})
18
+ # @option options [required, String] :bucket_name
19
+ # @option options [Client] :client
20
+ def initialize(*args)
21
+ options = Hash === args.last ? args.pop.dup : {}
22
+ @bucket_name = extract_bucket_name(args, options)
23
+ @data = options.delete(:data)
24
+ @client = options.delete(:client) || Client.new(options)
25
+ end
26
+
27
+ # @!group Read-Only Attributes
28
+
29
+ # @return [String]
30
+ def bucket_name
31
+ @bucket_name
32
+ end
33
+
34
+ # @return [Types::Owner]
35
+ def owner
36
+ data.owner
37
+ end
38
+
39
+ # A list of grants.
40
+ # @return [Array<Types::Grant>]
41
+ def grants
42
+ data.grants
43
+ end
44
+
45
+ # @!endgroup
46
+
47
+ # @return [Client]
48
+ def client
49
+ @client
50
+ end
51
+
52
+ # Loads, or reloads {#data} for the current {BucketAcl}.
53
+ # Returns `self` making it possible to chain methods.
54
+ #
55
+ # bucket_acl.reload.data
56
+ #
57
+ # @return [self]
58
+ def load
59
+ resp = @client.get_bucket_acl(bucket: @bucket_name)
60
+ @data = resp.data
61
+ self
62
+ end
63
+ alias :reload :load
64
+
65
+ # @return [Types::GetBucketAclOutput]
66
+ # Returns the data for this {BucketAcl}. Calls
67
+ # {Client#get_bucket_acl} if {#data_loaded?} is `false`.
68
+ def data
69
+ load unless @data
70
+ @data
71
+ end
72
+
73
+ # @return [Boolean]
74
+ # Returns `true` if this resource is loaded. Accessing attributes or
75
+ # {#data} on an unloaded resource will trigger a call to {#load}.
76
+ def data_loaded?
77
+ !!@data
78
+ end
79
+
80
+ # @!group Actions
81
+
82
+ # @example Request syntax with placeholder values
83
+ #
84
+ # bucket_acl.put({
85
+ # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
86
+ # access_control_policy: {
87
+ # grants: [
88
+ # {
89
+ # grantee: {
90
+ # display_name: "DisplayName",
91
+ # email_address: "EmailAddress",
92
+ # id: "ID",
93
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
94
+ # uri: "URI",
95
+ # },
96
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
97
+ # },
98
+ # ],
99
+ # owner: {
100
+ # display_name: "DisplayName",
101
+ # id: "ID",
102
+ # },
103
+ # },
104
+ # content_md5: "ContentMD5",
105
+ # grant_full_control: "GrantFullControl",
106
+ # grant_read: "GrantRead",
107
+ # grant_read_acp: "GrantReadACP",
108
+ # grant_write: "GrantWrite",
109
+ # grant_write_acp: "GrantWriteACP",
110
+ # })
111
+ # @param [Hash] options ({})
112
+ # @option options [String] :acl
113
+ # The canned ACL to apply to the bucket.
114
+ # @option options [Types::AccessControlPolicy] :access_control_policy
115
+ # @option options [String] :content_md5
116
+ # @option options [String] :grant_full_control
117
+ # Allows grantee the read, write, read ACP, and write ACP permissions on
118
+ # the bucket.
119
+ # @option options [String] :grant_read
120
+ # Allows grantee to list the objects in the bucket.
121
+ # @option options [String] :grant_read_acp
122
+ # Allows grantee to read the bucket ACL.
123
+ # @option options [String] :grant_write
124
+ # Allows grantee to create, overwrite, and delete any object in the
125
+ # bucket.
126
+ # @option options [String] :grant_write_acp
127
+ # Allows grantee to write the ACL for the applicable bucket.
128
+ # @return [EmptyStructure]
129
+ def put(options = {})
130
+ options = options.merge(bucket: @bucket_name)
131
+ resp = @client.put_bucket_acl(options)
132
+ resp.data
133
+ end
134
+
135
+ # @!group Associations
136
+
137
+ # @return [Bucket]
138
+ def bucket
139
+ Bucket.new(
140
+ name: @bucket_name,
141
+ client: @client
142
+ )
143
+ end
144
+
145
+ # @deprecated
146
+ # @api private
147
+ def identifiers
148
+ { bucket_name: @bucket_name }
149
+ end
150
+ deprecated(:identifiers)
151
+
152
+ private
153
+
154
+ def extract_bucket_name(args, options)
155
+ value = args[0] || options.delete(:bucket_name)
156
+ case value
157
+ when String then value
158
+ when nil then raise ArgumentError, "missing required option :bucket_name"
159
+ else
160
+ msg = "expected :bucket_name to be a String, got #{value.class}"
161
+ raise ArgumentError, msg
162
+ end
163
+ end
164
+
165
+ class Collection < Aws::Resources::Collection; end
166
+ end
167
+ end
168
+ end
@@ -0,0 +1,146 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ class BucketCors
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(bucket_name, options = {})
15
+ # @param [String] bucket_name
16
+ # @option options [Client] :client
17
+ # @overload def initialize(options = {})
18
+ # @option options [required, String] :bucket_name
19
+ # @option options [Client] :client
20
+ def initialize(*args)
21
+ options = Hash === args.last ? args.pop.dup : {}
22
+ @bucket_name = extract_bucket_name(args, options)
23
+ @data = options.delete(:data)
24
+ @client = options.delete(:client) || Client.new(options)
25
+ end
26
+
27
+ # @!group Read-Only Attributes
28
+
29
+ # @return [String]
30
+ def bucket_name
31
+ @bucket_name
32
+ end
33
+
34
+ # @return [Array<Types::CORSRule>]
35
+ def cors_rules
36
+ data.cors_rules
37
+ end
38
+
39
+ # @!endgroup
40
+
41
+ # @return [Client]
42
+ def client
43
+ @client
44
+ end
45
+
46
+ # Loads, or reloads {#data} for the current {BucketCors}.
47
+ # Returns `self` making it possible to chain methods.
48
+ #
49
+ # bucket_cors.reload.data
50
+ #
51
+ # @return [self]
52
+ def load
53
+ resp = @client.get_bucket_cors(bucket: @bucket_name)
54
+ @data = resp.data
55
+ self
56
+ end
57
+ alias :reload :load
58
+
59
+ # @return [Types::GetBucketCorsOutput]
60
+ # Returns the data for this {BucketCors}. Calls
61
+ # {Client#get_bucket_cors} if {#data_loaded?} is `false`.
62
+ def data
63
+ load unless @data
64
+ @data
65
+ end
66
+
67
+ # @return [Boolean]
68
+ # Returns `true` if this resource is loaded. Accessing attributes or
69
+ # {#data} on an unloaded resource will trigger a call to {#load}.
70
+ def data_loaded?
71
+ !!@data
72
+ end
73
+
74
+ # @!group Actions
75
+
76
+ # @example Request syntax with placeholder values
77
+ #
78
+ # bucket_cors.delete()
79
+ # @param [Hash] options ({})
80
+ # @return [EmptyStructure]
81
+ def delete(options = {})
82
+ options = options.merge(bucket: @bucket_name)
83
+ resp = @client.delete_bucket_cors(options)
84
+ resp.data
85
+ end
86
+
87
+ # @example Request syntax with placeholder values
88
+ #
89
+ # bucket_cors.put({
90
+ # cors_configuration: { # required
91
+ # cors_rules: [ # required
92
+ # {
93
+ # allowed_headers: ["AllowedHeader"],
94
+ # allowed_methods: ["AllowedMethod"], # required
95
+ # allowed_origins: ["AllowedOrigin"], # required
96
+ # expose_headers: ["ExposeHeader"],
97
+ # max_age_seconds: 1,
98
+ # },
99
+ # ],
100
+ # },
101
+ # content_md5: "ContentMD5",
102
+ # })
103
+ # @param [Hash] options ({})
104
+ # @option options [required, Types::CORSConfiguration] :cors_configuration
105
+ # @option options [String] :content_md5
106
+ # @return [EmptyStructure]
107
+ def put(options = {})
108
+ options = options.merge(bucket: @bucket_name)
109
+ resp = @client.put_bucket_cors(options)
110
+ resp.data
111
+ end
112
+
113
+ # @!group Associations
114
+
115
+ # @return [Bucket]
116
+ def bucket
117
+ Bucket.new(
118
+ name: @bucket_name,
119
+ client: @client
120
+ )
121
+ end
122
+
123
+ # @deprecated
124
+ # @api private
125
+ def identifiers
126
+ { bucket_name: @bucket_name }
127
+ end
128
+ deprecated(:identifiers)
129
+
130
+ private
131
+
132
+ def extract_bucket_name(args, options)
133
+ value = args[0] || options.delete(:bucket_name)
134
+ case value
135
+ when String then value
136
+ when nil then raise ArgumentError, "missing required option :bucket_name"
137
+ else
138
+ msg = "expected :bucket_name to be a String, got #{value.class}"
139
+ raise ArgumentError, msg
140
+ end
141
+ end
142
+
143
+ class Collection < Aws::Resources::Collection; end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,164 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ class BucketLifecycle
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(bucket_name, options = {})
15
+ # @param [String] bucket_name
16
+ # @option options [Client] :client
17
+ # @overload def initialize(options = {})
18
+ # @option options [required, String] :bucket_name
19
+ # @option options [Client] :client
20
+ def initialize(*args)
21
+ options = Hash === args.last ? args.pop.dup : {}
22
+ @bucket_name = extract_bucket_name(args, options)
23
+ @data = options.delete(:data)
24
+ @client = options.delete(:client) || Client.new(options)
25
+ end
26
+
27
+ # @!group Read-Only Attributes
28
+
29
+ # @return [String]
30
+ def bucket_name
31
+ @bucket_name
32
+ end
33
+
34
+ # @return [Array<Types::Rule>]
35
+ def rules
36
+ data.rules
37
+ end
38
+
39
+ # @!endgroup
40
+
41
+ # @return [Client]
42
+ def client
43
+ @client
44
+ end
45
+
46
+ # Loads, or reloads {#data} for the current {BucketLifecycle}.
47
+ # Returns `self` making it possible to chain methods.
48
+ #
49
+ # bucket_lifecycle.reload.data
50
+ #
51
+ # @return [self]
52
+ def load
53
+ resp = @client.get_bucket_lifecycle(bucket: @bucket_name)
54
+ @data = resp.data
55
+ self
56
+ end
57
+ alias :reload :load
58
+
59
+ # @return [Types::GetBucketLifecycleOutput]
60
+ # Returns the data for this {BucketLifecycle}. Calls
61
+ # {Client#get_bucket_lifecycle} if {#data_loaded?} is `false`.
62
+ def data
63
+ load unless @data
64
+ @data
65
+ end
66
+
67
+ # @return [Boolean]
68
+ # Returns `true` if this resource is loaded. Accessing attributes or
69
+ # {#data} on an unloaded resource will trigger a call to {#load}.
70
+ def data_loaded?
71
+ !!@data
72
+ end
73
+
74
+ # @!group Actions
75
+
76
+ # @example Request syntax with placeholder values
77
+ #
78
+ # bucket_lifecycle.delete()
79
+ # @param [Hash] options ({})
80
+ # @return [EmptyStructure]
81
+ def delete(options = {})
82
+ options = options.merge(bucket: @bucket_name)
83
+ resp = @client.delete_bucket_lifecycle(options)
84
+ resp.data
85
+ end
86
+
87
+ # @example Request syntax with placeholder values
88
+ #
89
+ # bucket_lifecycle.put({
90
+ # content_md5: "ContentMD5",
91
+ # lifecycle_configuration: {
92
+ # rules: [ # required
93
+ # {
94
+ # expiration: {
95
+ # date: Time.now,
96
+ # days: 1,
97
+ # expired_object_delete_marker: false,
98
+ # },
99
+ # id: "ID",
100
+ # prefix: "Prefix", # required
101
+ # status: "Enabled", # required, accepts Enabled, Disabled
102
+ # transition: {
103
+ # date: Time.now,
104
+ # days: 1,
105
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA
106
+ # },
107
+ # noncurrent_version_transition: {
108
+ # noncurrent_days: 1,
109
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA
110
+ # },
111
+ # noncurrent_version_expiration: {
112
+ # noncurrent_days: 1,
113
+ # },
114
+ # abort_incomplete_multipart_upload: {
115
+ # days_after_initiation: 1,
116
+ # },
117
+ # },
118
+ # ],
119
+ # },
120
+ # })
121
+ # @param [Hash] options ({})
122
+ # @option options [String] :content_md5
123
+ # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
124
+ # @return [EmptyStructure]
125
+ def put(options = {})
126
+ options = options.merge(bucket: @bucket_name)
127
+ resp = @client.put_bucket_lifecycle(options)
128
+ resp.data
129
+ end
130
+
131
+ # @!group Associations
132
+
133
+ # @return [Bucket]
134
+ def bucket
135
+ Bucket.new(
136
+ name: @bucket_name,
137
+ client: @client
138
+ )
139
+ end
140
+
141
+ # @deprecated
142
+ # @api private
143
+ def identifiers
144
+ { bucket_name: @bucket_name }
145
+ end
146
+ deprecated(:identifiers)
147
+
148
+ private
149
+
150
+ def extract_bucket_name(args, options)
151
+ value = args[0] || options.delete(:bucket_name)
152
+ case value
153
+ when String then value
154
+ when nil then raise ArgumentError, "missing required option :bucket_name"
155
+ else
156
+ msg = "expected :bucket_name to be a String, got #{value.class}"
157
+ raise ArgumentError, msg
158
+ end
159
+ end
160
+
161
+ class Collection < Aws::Resources::Collection; end
162
+ end
163
+ end
164
+ end