aws-sdk 1.6.1 → 1.6.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: