aws-sdk 1.6.1 → 1.6.2

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.
@@ -23,19 +23,23 @@
23
23
  :hosted_zone_id:
24
24
  :type: :string
25
25
  :required: true
26
+ :position: 0
26
27
  :lstrip: /hostedzone/
27
28
  :change_batch:
28
29
  :name: ChangeBatch
29
30
  :type: :hash
30
31
  :required: true
32
+ :position: 1
31
33
  :members:
32
34
  :comment:
33
35
  :name: Comment
34
36
  :type: :string
37
+ :position: 0
35
38
  :changes:
36
39
  :name: Changes
37
40
  :type: :array
38
41
  :required: true
42
+ :position: 1
39
43
  :members:
40
44
  :name: Change
41
45
  :type: :hash
@@ -44,34 +48,43 @@
44
48
  :name: Action
45
49
  :type: :string
46
50
  :required: true
51
+ :position: 0
47
52
  :resource_record_set:
48
53
  :name: ResourceRecordSet
49
54
  :type: :hash
50
55
  :required: true
56
+ :position: 1
51
57
  :members:
52
58
  :name:
53
59
  :name: Name
54
60
  :type: :string
55
61
  :required: true
62
+ :position: 0
56
63
  :type:
57
64
  :name: Type
58
65
  :type: :string
59
66
  :required: true
67
+ :position: 1
60
68
  :set_identifier:
61
69
  :name: SetIdentifier
62
70
  :type: :string
71
+ :position: 2
63
72
  :weight:
64
73
  :name: Weight
65
74
  :type: :integer
75
+ :position: 3
66
76
  :region:
67
77
  :name: Region
68
78
  :type: :string
79
+ :position: 4
69
80
  :ttl:
70
81
  :name: TTL
71
82
  :type: :integer
83
+ :position: 5
72
84
  :resource_records:
73
85
  :name: ResourceRecords
74
86
  :type: :array
87
+ :position: 6
75
88
  :members:
76
89
  :name: ResourceRecord
77
90
  :type: :hash
@@ -80,19 +93,23 @@
80
93
  :name: Value
81
94
  :type: :string
82
95
  :required: true
96
+ :position: 0
83
97
  :alias_target:
84
98
  :name: AliasTarget
85
99
  :type: :hash
100
+ :position: 7
86
101
  :members:
87
102
  :hosted_zone_id:
88
103
  :name: HostedZoneId
89
104
  :type: :string
90
105
  :required: true
106
+ :position: 0
91
107
  :lstrip: /hostedzone/
92
108
  :dns_name:
93
109
  :name: DNSName
94
110
  :type: :string
95
111
  :required: true
112
+ :position: 1
96
113
  :outputs:
97
114
  :children:
98
115
  ChangeInfo:
@@ -118,17 +135,21 @@
118
135
  :name: Name
119
136
  :type: :string
120
137
  :required: true
138
+ :position: 0
121
139
  :caller_reference:
122
140
  :name: CallerReference
123
141
  :type: :string
124
142
  :required: true
143
+ :position: 1
125
144
  :hosted_zone_config:
126
145
  :name: HostedZoneConfig
127
146
  :type: :hash
147
+ :position: 2
128
148
  :members:
129
149
  :comment:
130
150
  :name: Comment
131
151
  :type: :string
152
+ :position: 0
132
153
  :outputs:
133
154
  :children:
134
155
  HostedZone:
@@ -173,6 +194,7 @@
173
194
  :id:
174
195
  :type: :string
175
196
  :required: true
197
+ :position: 0
176
198
  :lstrip: /hostedzone/
177
199
  :outputs:
178
200
  :children:
@@ -195,6 +217,7 @@
195
217
  :id:
196
218
  :type: :string
197
219
  :required: true
220
+ :position: 0
198
221
  :lstrip: /change/
199
222
  :outputs:
200
223
  :children:
@@ -217,6 +240,7 @@
217
240
  :id:
218
241
  :type: :string
219
242
  :required: true
243
+ :position: 0
220
244
  :lstrip: /hostedzone/
221
245
  :outputs:
222
246
  :children:
@@ -251,8 +275,10 @@
251
275
  :inputs:
252
276
  :marker:
253
277
  :type: :string
278
+ :position: 0
254
279
  :max_items:
255
280
  :type: :integer
281
+ :position: 1
256
282
  :outputs:
257
283
  :children:
258
284
  HostedZones:
@@ -291,15 +317,20 @@
291
317
  :hosted_zone_id:
292
318
  :type: :string
293
319
  :required: true
320
+ :position: 0
294
321
  :lstrip: /hostedzone/
295
322
  :start_record_name:
296
323
  :type: :string
324
+ :position: 1
297
325
  :start_record_type:
298
326
  :type: :string
327
+ :position: 2
299
328
  :start_record_identifier:
300
329
  :type: :string
330
+ :position: 3
301
331
  :max_items:
302
332
  :type: :integer
333
+ :position: 4
303
334
  :outputs:
304
335
  :children:
305
336
  ResourceRecordSets:
@@ -69,7 +69,7 @@ require 'aws/core/autoloader'
69
69
  module AWS
70
70
 
71
71
  # Current version of the AWS SDK for Ruby
72
- VERSION = "1.6.1"
72
+ VERSION = "1.6.2"
73
73
 
74
74
  register_autoloads(self) do
75
75
  autoload :Errors, 'errors'
@@ -76,11 +76,16 @@ module AWS
76
76
 
77
77
  case value
78
78
  when Hash
79
+
79
80
  builder.tag!(xml_name) do
80
- value.each_pair do |m_name, m_value|
81
- to_xml(builder, m_name, rules[:members][m_name], m_value)
81
+ xml_ordered_members(rules[:members]).each do |member_name|
82
+ if value.key?(member_name)
83
+ member_value = value[member_name]
84
+ to_xml(builder, member_name, rules[:members][member_name], member_value)
85
+ end
82
86
  end
83
87
  end
88
+
84
89
  when Array
85
90
  builder.tag!(xml_name) do
86
91
  value.each do |member_value|
@@ -92,6 +97,12 @@ module AWS
92
97
 
93
98
  end
94
99
 
100
+ def xml_ordered_members members
101
+ members.inject([]) do |list,(member_name, member)|
102
+ list << [member[:position] || 0, member_name]
103
+ end.sort_by(&:first).map(&:last)
104
+ end
105
+
95
106
  end
96
107
  end
97
108
  end
@@ -16,10 +16,10 @@ module AWS
16
16
  module XML
17
17
 
18
18
  # A class that simplifies building XML {Parser} rules. This is also
19
- # a compatability layer between the old and new formats of the api
19
+ # a compatability layer between the old and new formats of the api
20
20
  # config.
21
21
  class Grammar
22
-
22
+
23
23
  def initialize rules = {}, options = {}
24
24
  @rules = rules
25
25
  @context = @rules
@@ -28,7 +28,7 @@ module AWS
28
28
  options[:inflect_rename] : true
29
29
  end
30
30
 
31
- # Parses the XML with the rules provided by the current grammar.
31
+ # Parses the XML with the rules provided by the current grammar.
32
32
  # This method is meant to provide backwards compatability with
33
33
  # the old XmlGrammar class that handled rules and parsing.
34
34
  # @param [String] xml
@@ -86,7 +86,7 @@ module AWS
86
86
 
87
87
  protected
88
88
 
89
- # Performs a deep copy of the rules hash so that it can be
89
+ # Performs a deep copy of the rules hash so that it can be
90
90
  # customized without chaning the parent grammar.
91
91
  def self.deep_copy rules
92
92
  rules.inject({}) do |copy,(key,value)|
@@ -129,6 +129,7 @@ module AWS
129
129
  allow_methods = %w(
130
130
  rename attribute_name boolean integer long float list force string
131
131
  ignore collect_values symbol_value timestamp map_entry map blob
132
+ position
132
133
  )
133
134
  unless allow_methods.include?(method.to_s)
134
135
  raise "#{method} cannot be used in configuration"
@@ -151,21 +152,21 @@ module AWS
151
152
  end
152
153
 
153
154
  ##
154
- ## customization methods
155
+ ## customization methods
155
156
  ##
156
157
 
157
158
  def element element_name, &block
158
159
 
159
160
  parent_context = @context
160
161
  parent_element_name = @element_name
161
-
162
+
162
163
  @context = context_for_child(element_name)
163
164
 
164
165
  @element_name = element_name
165
166
 
166
167
  begin
167
168
  if block_given?
168
- block.arity == 1 ? yield(parent_element_name) : yield
169
+ block.arity == 1 ? yield(parent_element_name) : yield
169
170
  end
170
171
  ensure
171
172
  @context = parent_context
@@ -223,7 +224,7 @@ module AWS
223
224
  def map map_element_name, key_element_name, value_element_name
224
225
  ignore
225
226
  element(map_element_name) do |parent_element_name|
226
- rename(parent_element_name)
227
+ rename(parent_element_name)
227
228
  map_entry(key_element_name, value_element_name)
228
229
  end
229
230
  end
@@ -285,12 +286,14 @@ module AWS
285
286
  end
286
287
  alias_method :==, :eql?
287
288
 
289
+ def position *args; end
288
290
  def http_trait *args; end
289
291
  alias_method :http_header, :http_trait
290
292
  alias_method :http_uri_label, :http_trait
291
293
  alias_method :http_payload, :http_trait
292
294
  alias_method :http_status, :http_trait
293
295
 
296
+
294
297
  protected
295
298
  def context_for_child child_element_name
296
299
  @context[:children] ||= {}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-06 00:00:00.000000000 Z
12
+ date: 2012-08-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: uuidtools
@@ -529,7 +529,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
529
529
  version: '0'
530
530
  segments:
531
531
  - 0
532
- hash: 2233806579807564610
532
+ hash: -1089506026558688126
533
533
  required_rubygems_version: !ruby/object:Gem::Requirement
534
534
  none: false
535
535
  requirements: