aws-sdk-resources 2.0.18.pre → 2.0.19.pre

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b38c16eb0e96c7a2aad584f9b673a941126fcd0b
4
- data.tar.gz: f1fd9520515af4890754af7c53bdb77c567619b0
3
+ metadata.gz: 5343b4a72639e9a6d1d439dff2489d670ed307ce
4
+ data.tar.gz: 281a1fc5f17f129f329b080b55cc77e47b259aee
5
5
  SHA512:
6
- metadata.gz: 1dd4c3dfdf652a4a1123eb3e77d5b3912630b247e0003940bd97af9245b6c28028f8533a6356189525f33d3d53654b9e1de7bdc73eb09a0b269602aaa72b7c08
7
- data.tar.gz: 20d33627e6ee33f835a0ff5d24cced18ed95c6d8b1831b490f55941ef1b44bc5fad3c2abd8283b796d7bf662e579ab76d3f8a3c7f8c52308ad832a5fe9ae47b0
6
+ metadata.gz: 21c4ebe7c7715ef34a2c2d6dec31e3c8a8a4cc64afa3168d9e21147fcf9020156988426d56f625b45d37bc3f39fb06ab61ccc7378301ff3a0df24a6585d347c2
7
+ data.tar.gz: 20bc14e715abf9320f02115e4c63e4dbb6339dc5921b6f3c1a98d67d51c26846284a5b78b3290eeba12a0b7ff7ce248f94fb89f4e68cd2dc5c83d7f4c808ea0f
@@ -2,30 +2,14 @@ module Aws
2
2
  module Resources
3
3
  module BuilderSources
4
4
 
5
- # Used by a {Builder} to extract resource identifiers from an AWS
6
- # response or from another resource object.
7
- #
8
- # This is the base class of each of the builder sources. Each
9
- # source is responsible for extracting a single identifier.
10
- #
11
- # @see {Argument}
12
- # @see {Identifier}
13
- # @see {DataMember}
14
- # @see {RequestParameter}
15
- # @see {ResponsePath}
16
- #
17
- class Base
18
-
19
- include Options
20
-
21
- # @param [String] source
22
- # @param [Symbol] target
23
- def initialize(source, target)
24
- @source = source
25
- @target = target.to_sym
5
+ module Source
6
+
7
+ def initialize(options)
8
+ @source = options[:source]
9
+ @target = options[:target].to_sym
26
10
  end
27
11
 
28
- # @return [String]
12
+ # @return [String, nil]
29
13
  attr_reader :source
30
14
 
31
15
  # @return [Symbol]
@@ -33,22 +17,14 @@ module Aws
33
17
 
34
18
  # @return [Boolean]
35
19
  def plural?
36
- source.include?('[')
37
- end
38
-
39
- # @param [Hash] options
40
- # @return [String, Array<String>]
41
- def extract(options)
42
- raise NotImplementedError, 'must be defined in subclasses'
20
+ !!(@source && @source.include?('['))
43
21
  end
44
22
 
45
23
  end
46
24
 
47
- class Argument < Base
25
+ class Argument
48
26
 
49
- def initialize(target)
50
- super(target.to_s, target)
51
- end
27
+ include Source
52
28
 
53
29
  # @option [required, String] :argument
54
30
  def extract(options)
@@ -59,34 +35,26 @@ module Aws
59
35
 
60
36
  # Extracts an identifier from a parent resource identifier. Used
61
37
  # when building a {Resource} from the context of another resource.
62
- class Identifier < Base
38
+ class Identifier
39
+
40
+ include Source
63
41
 
64
42
  # @option [required, Resource] :resource
65
43
  def extract(options)
66
- resource(options).identifiers[source.to_sym]
67
- end
68
-
69
- private
70
-
71
- def resource(options)
72
- option(:resource, options)
44
+ options[:resource].send(@source)
73
45
  end
74
46
 
75
47
  end
76
48
 
77
49
  # Extracts an identifier from the data of a parent resource. Used
78
50
  # when building a {Resource} from the context of another resource.
79
- class DataMember < Base
51
+ class DataMember
52
+
53
+ include Source
80
54
 
81
55
  # @option [required, Resource] :resource
82
56
  def extract(options)
83
- JMESPath.search(source, resource(options).data)
84
- end
85
-
86
- private
87
-
88
- def resource(options)
89
- option(:resource, options)
57
+ JMESPath.search(@source, options[:resource].data)
90
58
  end
91
59
 
92
60
  end
@@ -94,35 +62,26 @@ module Aws
94
62
  # Extracts an identifier from the request parameters used to generate
95
63
  # a response. Used when building a {Resource} object from the response
96
64
  # of an operation.
97
- class RequestParameter < Base
65
+ class RequestParameter
66
+
67
+ include Source
98
68
 
99
69
  # @option [required, Seahorse::Client::Response] :response
100
70
  def extract(options)
101
- params = response(options).context.params
102
- JMESPath.search(source, params)
103
- end
104
-
105
- private
106
-
107
- def response(options)
108
- option(:response, options)
71
+ JMESPath.search(@source, options[:response].context.params)
109
72
  end
110
73
 
111
74
  end
112
75
 
113
76
  # Extracts an identifier from the data of a response. Used when
114
77
  # building a {Resource} object from the response of an operation.
115
- class ResponsePath < Base
78
+ class ResponsePath
79
+
80
+ include Source
116
81
 
117
82
  # @option [required, Seahorse::Client::Response] :response
118
83
  def extract(options)
119
- JMESPath.search(source, response(options).data)
120
- end
121
-
122
- private
123
-
124
- def response(options)
125
- option(:response, options)
84
+ JMESPath.search(@source, options[:response].data)
126
85
  end
127
86
 
128
87
  end
@@ -23,12 +23,10 @@ module Aws
23
23
  define_actions(namespace, resource, definition['actions'] || {})
24
24
  define_batch_actions(namespace, resource, definition['batchActions'] || {})
25
25
  define_waiters(namespace, resource, definition['waiters'] || {})
26
+ define_has(namespace, resource, definition['has'] || {})
26
27
  define_has_many(namespace, resource, definition['hasMany'] || {})
27
- define_belongs_to(namespace, resource, definition['belongsTo'] || {})
28
28
  define_data_attributes(namespace, resource, definition)
29
- define_subresources(namespace, resource, definition['subResources'] || {})
30
29
  end
31
- define_top_level_references(namespace)
32
30
  end
33
31
 
34
32
  private
@@ -51,52 +49,6 @@ module Aws
51
49
  end
52
50
  end
53
51
 
54
- def define_subresources(namespace, parent, definition)
55
- parent_name = parent.resource_name
56
- identifiers = definition['identifiers'] || {}
57
- (definition['resources'] || []).each do |child_name|
58
-
59
- method_name = underscore(child_name.sub(/^#{parent_name}/, ''))
60
- operation = subresource(namespace, child_name, identifiers)
61
- parent.add_operation(method_name, operation)
62
-
63
- method_name = underscore(parent_name)
64
- operation = subresource(namespace, parent_name, identifiers.invert)
65
- namespace.const_get(child_name).add_operation(method_name, operation)
66
-
67
- end
68
- end
69
-
70
- def subresource(namespace, type, identifiers)
71
- Operations::BelongsToOperation.new(builder: define_builder(namespace, {
72
- 'type' => type,
73
- 'identifiers' => identifiers.map { |source, target|
74
- {
75
- 'target' => target,
76
- 'sourceType' => 'identifier',
77
- 'source' => source,
78
- }
79
- }
80
- }))
81
- end
82
-
83
- def define_top_level_references(namespace)
84
- top_level = Set.new(resource_definitions.keys)
85
- each_resource_class(namespace) do |resource, definition|
86
- unless resource.identifiers.count <= 1
87
- top_level.delete(resource.resource_name)
88
- end
89
- ((definition['subResources'] || {})['resources'] || {}).each do |child|
90
- top_level.delete(child)
91
- end
92
- end
93
- top_level.each do |resource_name|
94
- method_name = underscore(resource_name)
95
- operation = subresource(namespace, resource_name, {})
96
- namespace::Resource.add_operation(method_name, operation)
97
- end
98
- end
99
-
100
52
  def define_batch_actions(namespace, resource, batch_actions)
101
53
  batch_actions.each do |name, definition|
102
54
  method_name = underscore(name)
@@ -149,22 +101,27 @@ module Aws
149
101
  end
150
102
 
151
103
  def build_operation(namespace, resource, definition)
152
- type = operation_type(definition)
153
- send("build_#{type}_operation", namespace, resource, definition)
104
+ if definition['resource']
105
+ build_resource_action(namespace, resource, definition)
106
+ else
107
+ build_basic_action(namespace, resource, definition)
108
+ end
154
109
  end
155
110
 
156
- def build_basic_operation(namespace, resource, definition)
111
+ def build_basic_action(namespace, resource, definition)
157
112
  Operations::Operation.new(
158
113
  request: define_request(definition['request']),
159
114
  source: source(definition)
160
115
  )
161
116
  end
162
117
 
163
- def build_resource_operation(namespace, resource, definition)
118
+ def build_resource_action(namespace, resource, definition)
164
119
  builder = define_builder(namespace, definition['resource'])
165
120
  if path = definition['resource']['path']
166
- source = underscore(path)
167
- builder.sources << BuilderSources::ResponsePath.new(source, :data)
121
+ builder.sources << BuilderSources::ResponsePath.new({
122
+ source: underscore(path),
123
+ target: :data,
124
+ })
168
125
  end
169
126
  Operations::ResourceOperation.new(
170
127
  request: define_request(definition['request']),
@@ -173,11 +130,13 @@ module Aws
173
130
  )
174
131
  end
175
132
 
176
- def build_enumerate_resource_operation(namespace, resource, definition)
133
+ def has_many(namespace, resource, definition)
177
134
  builder = define_builder(namespace, definition['resource'])
178
135
  if path = definition['resource']['path']
179
- source = underscore(path)
180
- builder.sources << BuilderSources::ResponsePath.new(source, :data)
136
+ builder.sources << BuilderSources::ResponsePath.new({
137
+ source: underscore(path),
138
+ target: :data,
139
+ })
181
140
  end
182
141
  Operations::HasManyOperation.new(
183
142
  request: define_request(definition['request']),
@@ -209,98 +168,107 @@ module Aws
209
168
 
210
169
  def request_params(params)
211
170
  params.map do |definition|
212
- param_class =
213
- case definition['sourceType']
214
- when 'identifier' then RequestParams::Identifier
215
- when 'dataMember' then RequestParams::DataMember
216
- when 'string' then RequestParams::String
217
- when 'integer' then RequestParams::Integer
218
- when 'boolean' then RequestParams::Boolean
219
- else
220
- msg = "unhandled param source type `#{definition['sourceType']}'"
221
- raise ArgumentError, msg
222
- end
223
- source = definition['source']
224
- param_class.new(
225
- param_class.literal? ? source : underscore(source),
226
- underscore(definition['target'])
227
- )
171
+ send("#{definition['source']}_request_param", definition)
228
172
  end
229
173
  end
230
174
 
175
+ def identifier_request_param(definition)
176
+ RequestParams::Identifier.new({
177
+ target: underscore(definition['target']),
178
+ name: underscore(definition['name']).to_sym,
179
+ })
180
+ end
181
+
182
+ def data_request_param(definition)
183
+ RequestParams::DataMember.new({
184
+ target: underscore(definition['target']),
185
+ value: underscore(definition['path']),
186
+ })
187
+ end
188
+
189
+ def string_request_param(definition)
190
+ RequestParams::Literal.new({
191
+ target: underscore(definition['target']),
192
+ value: definition['value'],
193
+ })
194
+ end
195
+ alias integer_request_param string_request_param
196
+ alias float_request_param string_request_param
197
+ alias boolean_request_param string_request_param
198
+ alias null_request_param string_request_param
199
+
231
200
  def define_has_many(namespace, resource, has_many)
232
201
  has_many.each do |name, definition|
233
- operation = build_enumerate_resource_operation(namespace, resource, definition)
202
+ operation = has_many(namespace, resource, definition)
234
203
  resource.add_operation(underscore(name), operation)
235
204
  end
236
205
  end
237
206
 
238
- def define_belongs_to(namespace, resource, has_some)
239
- has_some.each do |name, definition|
240
- define_reference(namespace, resource, name, definition)
207
+ def define_has(namespace, resource, has)
208
+ has.each do |name, definition|
209
+ has_operation(namespace, resource, name, definition)
241
210
  end
242
211
  end
243
212
 
244
- def define_reference(namespace, resource, name, definition)
213
+ def has_operation(namespace, resource, name, definition)
245
214
  builder = define_builder(namespace, definition['resource'])
246
215
  if path = definition['resource']['path']
247
- source = underscore(path)
248
- builder.sources << BuilderSources::DataMember.new(source, :data)
216
+ builder.sources << BuilderSources::DataMember.new({
217
+ source: underscore(path),
218
+ target: :data,
219
+ })
249
220
  end
250
- operation = Operations::BelongsToOperation.new(
221
+ operation = Operations::HasOperation.new(
251
222
  builder: builder,
252
223
  source: source(definition))
253
224
  resource.add_operation(underscore(name), operation)
254
225
  end
255
226
 
256
227
  def define_builder(namespace, definition)
257
- builder = Builder.new(
228
+ Builder.new(
258
229
  resource_class: namespace.const_get(definition['type']),
259
230
  sources: builder_sources(definition['identifiers'] || [])
260
231
  )
261
- delta = builder.resource_class.identifiers - builder.sources.map(&:target)
262
- if delta.size == 0
263
- # all identifiers provided
264
- elsif delta.size == 1
265
- # all but one provided, adding an Argument source
266
- target = delta.first
267
- builder.sources << BuilderSources::Argument.new(target)
268
- else
269
- msg = "too many unsourced identifiers: #{definition.inspect}"
270
- raise Errors::DefinitionError, msg
271
- end
272
- builder
273
232
  end
274
233
 
275
234
  def builder_sources(sources)
276
235
  sources.map do |definition|
277
- source_class =
278
- case definition['sourceType']
279
- when 'identifier' then BuilderSources::Identifier
280
- when 'dataMember' then BuilderSources::DataMember
281
- when 'requestParameter' then BuilderSources::RequestParameter
282
- when 'responsePath' then BuilderSources::ResponsePath
283
- else
284
- msg = "unhandled identifier source type `#{definition['sourceType']}'"
285
- raise ArgumentError, msg
286
- end
287
- source_class.new(
288
- underscore(definition['source']),
289
- underscore(definition['target'])
290
- )
236
+ send("#{definition['source']}_builder_source", definition)
291
237
  end
292
238
  end
293
239
 
294
- def operation_type(action)
295
- case action.keys.sort
296
- when %w(request) then :basic
297
- when %w(path request) then :data
298
- when %w(request resource) then :resource
299
- when %w(path request resource) then :resource
300
- else
301
- msg = "unhandled action: #{action.keys.inspect}"
302
- raise Errors::DefinitionError, msg
303
- end
240
+ def input_builder_source(definition)
241
+ BuilderSources::Argument.new({
242
+ target: underscore(definition['target']),
243
+ })
244
+ end
245
+
246
+ def identifier_builder_source(definition)
247
+ BuilderSources::Identifier.new({
248
+ source: underscore(definition['name']),
249
+ target: underscore(definition['target']),
250
+ })
251
+ end
252
+
253
+ def data_builder_source(definition)
254
+ BuilderSources::DataMember.new({
255
+ source: underscore(definition['path']),
256
+ target: underscore(definition['target']),
257
+ })
258
+ end
259
+
260
+ def requestParameter_builder_source(definition)
261
+ BuilderSources::RequestParameter.new({
262
+ source: underscore(definition['path']),
263
+ target: underscore(definition['target']),
264
+ })
265
+ end
266
+
267
+ def response_builder_source(definition)
268
+ BuilderSources::ResponsePath.new({
269
+ source: underscore(definition['path']),
270
+ target: underscore(definition['target']),
271
+ })
304
272
  end
305
273
 
306
274
  def svc_definition
@@ -322,10 +290,6 @@ module Aws
322
290
  end
323
291
  end
324
292
 
325
- def pluralize(str)
326
- underscore(str) + 's'
327
- end
328
-
329
293
  def source(definition)
330
294
  if ENV['SOURCE']
331
295
  Source.new(definition, @source_path)
@@ -5,7 +5,7 @@ module Aws
5
5
  class Documenter
6
6
 
7
7
  autoload :BaseOperationDocumenter, 'aws-sdk-resources/documenter/base_operation_documenter'
8
- autoload :BelongsToOperationDocumenter, 'aws-sdk-resources/documenter/belongs_to_operation_documenter'
8
+ autoload :HasOperationDocumenter, 'aws-sdk-resources/documenter/has_operation_documenter'
9
9
  autoload :HasManyOperationDocumenter, 'aws-sdk-resources/documenter/has_many_operation_documenter'
10
10
  autoload :OperationDocumenter, 'aws-sdk-resources/documenter/operation_documenter'
11
11
  autoload :ResourceOperationDocumenter, 'aws-sdk-resources/documenter/resource_operation_documenter'
@@ -1,7 +1,7 @@
1
1
  module Aws
2
2
  module Resources
3
3
  class Documenter
4
- class BelongsToOperationDocumenter < BaseOperationDocumenter
4
+ class HasOperationDocumenter < BaseOperationDocumenter
5
5
 
6
6
  def docstring
7
7
  docs = []
@@ -8,12 +8,12 @@ module Aws
8
8
  Waits until this #{resource_class_name} is #{state}. This method
9
9
  waits by polling {Client##{api_request_name}} until successful. An error is
10
10
  raised after a configurable number of failed checks.
11
-
11
+
12
12
  This waiter uses the following defaults:
13
13
 
14
14
  | Configuration | Default |
15
15
  |-----------------|------------------------|
16
- | `#interval` | #{waiter.interval} |
16
+ | `#delay` | #{waiter.delay} |
17
17
  | `#max_attempts` | #{waiter.max_attempts} |
18
18
 
19
19
  You can modify defaults and register callbacks by passing a block argument.
@@ -52,7 +52,7 @@ You can modify defaults and register callbacks by passing a block argument.
52
52
  end
53
53
 
54
54
  def api_request_name
55
- waiter.send(:operation_name)
55
+ waiter.poller.operation_name
56
56
  end
57
57
 
58
58
  def option_tags
@@ -28,7 +28,7 @@ module Aws
28
28
 
29
29
  # @return [Array<Symbol>]
30
30
  def operation_names
31
- @operations.keys
31
+ @operations.keys.sort
32
32
  end
33
33
 
34
34
  # @param [Symbol] name
@@ -54,7 +54,7 @@ module Aws
54
54
 
55
55
  # @return [Array<Symbol>]
56
56
  def batch_operation_names
57
- @batch_operations.keys
57
+ @batch_operations.keys.sort
58
58
  end
59
59
 
60
60
  # @api private
@@ -154,7 +154,7 @@ module Aws
154
154
 
155
155
  end
156
156
 
157
- class BelongsToOperation < Base
157
+ class HasOperation < Base
158
158
 
159
159
  # @option options [required, Builder] :builder
160
160
  def initialize(options = {})
@@ -4,12 +4,6 @@ module Aws
4
4
 
5
5
  private
6
6
 
7
- def expect_hash(key, options)
8
- if options.key?(key) && !(Hash === options[key])
9
- raise ArgumentError, "expected #{key.inspect} to be a Hash"
10
- end
11
- end
12
-
13
7
  def option(key, options)
14
8
  if options[key].nil?
15
9
  raise Errors::DefinitionError, "missing required option #{key.inspect}"
@@ -31,7 +31,7 @@ module Aws
31
31
  end
32
32
 
33
33
  def req_params(options)
34
- RequestParams::ParamsHash.new(@params).build(options)
34
+ RequestParams::ParamHash.new(@params).build(options)
35
35
  end
36
36
 
37
37
  end
@@ -3,9 +3,9 @@ module Aws
3
3
  module RequestParams
4
4
 
5
5
  # @api private
6
- class ParamsHash
6
+ class ParamHash
7
7
 
8
- # @param [Array<RequestParams::Base>] params
8
+ # @param [Array<RequestParams::Param>] params
9
9
  def initialize(params)
10
10
  @params = params
11
11
  end
@@ -21,7 +21,7 @@ module Aws
21
21
 
22
22
  def user_params(options)
23
23
  args = options[:args] || []
24
- args.last.is_a?(Hash) ? args.last : {}
24
+ args.last.is_a?(Hash) ? args.last : {}
25
25
  end
26
26
 
27
27
  def computed_params(options)
@@ -44,16 +44,11 @@ module Aws
44
44
 
45
45
  end
46
46
 
47
- # Base class for all request parameter types.
48
- # @see {RequestParams::Identifier}
49
- # @see {RequestParams::DataMember}
50
- # @see {RequestParams::String}
51
- # @see {RequestParams::Integer}
52
- class Base
47
+ module Param
53
48
 
54
49
  # @param [String] target
55
- def initialize(target)
56
- @target = target.to_s
50
+ def initialize(options)
51
+ @target = options[:target].to_s
57
52
  @steps = []
58
53
  @target.scan(/\w+|\[\]|\[\*\]|\[[0-9]+\]/) do |step|
59
54
  case step
@@ -70,14 +65,11 @@ module Aws
70
65
  # @return [String] target
71
66
  attr_reader :target
72
67
 
73
- # @param [Hash] params
74
- # @param [Object] value
75
- # @return [Hash] Returns the modified params hash.
76
- def apply(params, value, n = nil)
68
+ def apply(params, options = {})
77
69
  if @final == -1
78
- build_context(params, n) << value
70
+ build_context(params, options[:n]) << value(options)
79
71
  else
80
- build_context(params, n)[@final] = value
72
+ build_context(params, options[:n])[@final] = value(options)
81
73
  end
82
74
  params
83
75
  end
@@ -100,126 +92,47 @@ module Aws
100
92
 
101
93
  end
102
94
 
103
- class Identifier < Base
95
+ class Identifier
104
96
 
105
- # @param [String] identifier_name
106
- # @param (see Base#initialize)
107
- def initialize(identifier_name, target)
108
- @identifier_name = identifier_name.to_sym
109
- super(target)
110
- end
111
-
112
- # @param [Symbol] identifier_name
113
- attr_reader :identifier_name
114
-
115
- # @param [Hash] params_hash
116
- # @option [requried, Resource] :resource
117
- def apply(params_hash, options)
118
- value = options[:resource].identifiers[identifier_name]
119
- super(params_hash, value, options[:n])
120
- end
121
-
122
- # @api private
123
- def self.literal?
124
- false
125
- end
126
-
127
- end
128
-
129
- class DataMember < Base
130
-
131
- # @param [String] member_name
132
- # @param (see Base#initialize)
133
- def initialize(member_name, target)
134
- @member_name = member_name
135
- super(target)
136
- end
137
-
138
- # @return [String]
139
- attr_reader :member_name
140
-
141
- # @param [Hash] params_hash
142
- # @option [requried, Resource] :resource
143
- def apply(params_hash, options)
144
- value = options[:resource].data[member_name.to_sym]
145
- super(params_hash, value, options[:n])
146
- end
97
+ include Param
147
98
 
148
- # @api private
149
- def self.literal?
150
- false
99
+ def initialize(options)
100
+ @identifier_name = options[:name]
101
+ super
151
102
  end
152
103
 
153
- end
154
-
155
- class String < Base
156
-
157
- # @param [String] value
158
- # @param (see Base#initialize)
159
- def initialize(value, target)
160
- @value = value
161
- super(target)
162
- end
163
-
164
- # @return [String]
165
- attr_reader :value
166
-
167
- # @param [Hash] params_hash
168
- def apply(params_hash, options = {})
169
- super(params_hash, value, options[:n])
170
- end
171
-
172
- # @api private
173
- def self.literal?
174
- true
104
+ def value(options)
105
+ options[:resource].send(@identifier_name)
175
106
  end
176
107
 
177
108
  end
178
109
 
179
- class Integer < Base
180
-
181
- # @param [String] value
182
- # @param (see Base#initialize)
183
- def initialize(value, target)
184
- @value = value.to_i
185
- super(target)
186
- end
110
+ class DataMember
187
111
 
188
- # @return [Integer]
189
- attr_reader :value
112
+ include Param
190
113
 
191
- # @param [Hash] params_hash
192
- def apply(params_hash, options = {})
193
- super(params_hash, value, options[:n])
114
+ def initialize(options)
115
+ @path = options[:data_path]
116
+ super
194
117
  end
195
118
 
196
- # @api private
197
- def self.literal?
198
- true
119
+ def value(options)
120
+ JMESPath.search(@path, options[:resource].data)
199
121
  end
200
122
 
201
123
  end
202
124
 
203
- class Boolean < Base
204
-
205
- # @param [String<'true'>,String<'false'>] value
206
- # @param (see Base#initialize)
207
- def initialize(value, target)
208
- @value = (value == 'true')
209
- super(target)
210
- end
125
+ class Literal
211
126
 
212
- # @return [Integer]
213
- attr_reader :value
127
+ include Param
214
128
 
215
- # @param [Hash] params_hash
216
- def apply(params_hash, options = {})
217
- super(params_hash, value, options[:n])
129
+ def initialize(options)
130
+ @value = options[:value]
131
+ super
218
132
  end
219
133
 
220
- # @api private
221
- def self.literal?
222
- true
134
+ def value(*args)
135
+ @value
223
136
  end
224
137
 
225
138
  end
@@ -83,7 +83,9 @@ module Aws
83
83
  part_number = 1
84
84
  parts = []
85
85
  while offset < size
86
- parts << options.merge(
86
+ parts << {
87
+ bucket: options[:bucket],
88
+ key: options[:key],
87
89
  upload_id: upload_id,
88
90
  part_number: part_number,
89
91
  body: FilePart.new(
@@ -91,7 +93,7 @@ module Aws
91
93
  offset: offset,
92
94
  size: part_size(size, default_part_size, offset)
93
95
  )
94
- )
96
+ }
95
97
  part_number += 1
96
98
  offset += default_part_size
97
99
  end
@@ -26,8 +26,8 @@ module Aws
26
26
  #
27
27
  # | HTTP Method | Client Method |
28
28
  # |---------------|------------------------|
29
- # | `:get` | {Client#put_object} |
30
- # | `:put` | {Client#get_object} |
29
+ # | `:get` | {Client#get_object} |
30
+ # | `:put` | {Client#put_object} |
31
31
  # | `:head` | {Client#head_object} |
32
32
  # | `:delete` | {Client#delete_object} |
33
33
  #
@@ -180,7 +180,7 @@ module Aws
180
180
  match('#/resources/(\w+)/load') do |context|
181
181
  v = OperationValidator.new(context)
182
182
  v.validate_request do
183
- v.validate_param_source_type_not_used('dataMember')
183
+ v.validate_param_source_type_not_used('data')
184
184
  #v.validate_path(origin: :response, target: :self)
185
185
  end
186
186
  v.validate_path_set
@@ -214,7 +214,7 @@ module Aws
214
214
  end
215
215
  end
216
216
 
217
- match('#/resources/(\w+)/belongsTo/\w+') do |context, matches|
217
+ match('#/resources/(\w+)/has/\w+') do |context, matches|
218
218
  v = OperationValidator.new(context)
219
219
  v.validate_request_not_set
220
220
  v.validate_resource do
@@ -234,10 +234,6 @@ module Aws
234
234
  end
235
235
  end
236
236
 
237
- match('#/resources/(\w+)/subResources') do |context|
238
- # TODO : validate subResources
239
- end
240
-
241
237
  end
242
238
  end
243
239
  end
@@ -145,7 +145,7 @@ module Aws
145
145
  # "dataMember" source types.
146
146
  def validate_param_source_type_not_used(source_type)
147
147
  (@operation['request']['params'] || []).each.with_index do |param, n|
148
- if param['sourceType'] == source_type
148
+ if param['source'] == source_type
149
149
  error("'#{path}/request/params/#{n}/sourceType' is set to '#{source_type}' which is not valid in this context.")
150
150
  end
151
151
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.18.pre
4
+ version: 2.0.19.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-08 00:00:00.000000000 Z
11
+ date: 2015-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.18
19
+ version: 2.0.19
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.18
26
+ version: 2.0.19
27
27
  description: Provides resource-oriented abstractions for AWS.
28
28
  email:
29
29
  executables: []
@@ -38,9 +38,9 @@ files:
38
38
  - lib/aws-sdk-resources/definition.rb
39
39
  - lib/aws-sdk-resources/documenter.rb
40
40
  - lib/aws-sdk-resources/documenter/base_operation_documenter.rb
41
- - lib/aws-sdk-resources/documenter/belongs_to_operation_documenter.rb
42
41
  - lib/aws-sdk-resources/documenter/data_operation_documenter.rb
43
42
  - lib/aws-sdk-resources/documenter/has_many_operation_documenter.rb
43
+ - lib/aws-sdk-resources/documenter/has_operation_documenter.rb
44
44
  - lib/aws-sdk-resources/documenter/operation_documenter.rb
45
45
  - lib/aws-sdk-resources/documenter/resource_operation_documenter.rb
46
46
  - lib/aws-sdk-resources/documenter/waiter_operation_documenter.rb