fog 1.6.0 → 1.7.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 (282) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +1 -0
  3. data/Rakefile +2 -1
  4. data/changelog.txt +184 -0
  5. data/docs/cdn/index.markdown +69 -3
  6. data/fog.gemspec +2 -2
  7. data/lib/fog.rb +2 -1
  8. data/lib/fog/atmos/models/storage/file.rb +16 -14
  9. data/lib/fog/aws/auto_scaling.rb +55 -13
  10. data/lib/fog/aws/cdn.rb +69 -9
  11. data/lib/fog/aws/cloud_watch.rb +15 -1
  12. data/lib/fog/aws/compute.rb +2 -0
  13. data/lib/fog/aws/models/auto_scaling/group.rb +10 -4
  14. data/lib/fog/aws/models/cdn/distribution.rb +93 -0
  15. data/lib/fog/aws/models/cdn/distribution_helper.rb +64 -0
  16. data/lib/fog/aws/models/cdn/distributions.rb +32 -0
  17. data/lib/fog/aws/models/cdn/distributions_helper.rb +47 -0
  18. data/lib/fog/aws/models/cdn/invalidation.rb +64 -0
  19. data/lib/fog/aws/models/cdn/invalidations.rb +54 -0
  20. data/lib/fog/aws/models/cdn/streaming_distribution.rb +77 -0
  21. data/lib/fog/aws/models/cdn/streaming_distributions.rb +32 -0
  22. data/lib/fog/aws/models/compute/server.rb +0 -23
  23. data/lib/fog/aws/models/compute/spot_request.rb +2 -24
  24. data/lib/fog/aws/models/rds/server.rb +18 -0
  25. data/lib/fog/aws/models/rds/subnet_group.rb +20 -0
  26. data/lib/fog/aws/models/rds/subnet_groups.rb +27 -0
  27. data/lib/fog/aws/models/storage/file.rb +1 -1
  28. data/lib/fog/aws/parsers/auto_scaling/describe_adjustment_types.rb +15 -2
  29. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_groups.rb +39 -13
  30. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_notification_types.rb +43 -0
  31. data/lib/fog/aws/parsers/auto_scaling/describe_metric_collection_types.rb +3 -3
  32. data/lib/fog/aws/parsers/auto_scaling/describe_notification_configurations.rb +42 -0
  33. data/lib/fog/aws/parsers/auto_scaling/describe_scaling_process_types.rb +15 -2
  34. data/lib/fog/aws/parsers/auto_scaling/describe_tags.rb +46 -0
  35. data/lib/fog/aws/parsers/auto_scaling/describe_termination_policy_types.rb +44 -0
  36. data/lib/fog/aws/parsers/cdn/get_invalidation.rb +32 -0
  37. data/lib/fog/aws/parsers/cloud_formation/describe_stacks.rb +1 -1
  38. data/lib/fog/aws/parsers/cloud_watch/list_metrics.rb +1 -1
  39. data/lib/fog/aws/parsers/compute/describe_availability_zones.rb +13 -2
  40. data/lib/fog/aws/parsers/compute/describe_reserved_instances.rb +1 -1
  41. data/lib/fog/aws/parsers/elasticache/base.rb +0 -2
  42. data/lib/fog/aws/parsers/elasticache/engine_defaults_parser.rb +1 -1
  43. data/lib/fog/aws/parsers/elasticache/event_list.rb +2 -0
  44. data/lib/fog/aws/parsers/rds/base.rb +32 -0
  45. data/lib/fog/aws/parsers/rds/create_db_subnet_group.rb +38 -0
  46. data/lib/fog/aws/parsers/rds/describe_db_subnet_groups.rb +38 -0
  47. data/lib/fog/aws/parsers/rds/event_list.rb +40 -0
  48. data/lib/fog/aws/parsers/rds/subnet_group_parser.rb +38 -0
  49. data/lib/fog/aws/parsers/rds/tag_list_parser.rb +35 -0
  50. data/lib/fog/aws/rds.rb +24 -7
  51. data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +36 -16
  52. data/lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb +19 -12
  53. data/lib/fog/aws/requests/auto_scaling/create_or_update_tags.rb +63 -0
  54. data/lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb +10 -3
  55. data/lib/fog/aws/requests/auto_scaling/delete_notification_configuration.rb +21 -5
  56. data/lib/fog/aws/requests/auto_scaling/delete_policy.rb +2 -2
  57. data/lib/fog/aws/requests/auto_scaling/delete_tags.rb +63 -0
  58. data/lib/fog/aws/requests/auto_scaling/describe_adjustment_types.rb +4 -3
  59. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb +17 -13
  60. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_instances.rb +1 -1
  61. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_notification_types.rb +55 -0
  62. data/lib/fog/aws/requests/auto_scaling/describe_metric_collection_types.rb +6 -5
  63. data/lib/fog/aws/requests/auto_scaling/describe_notification_configurations.rb +79 -0
  64. data/lib/fog/aws/requests/auto_scaling/describe_policies.rb +1 -1
  65. data/lib/fog/aws/requests/auto_scaling/describe_scaling_process_types.rb +4 -3
  66. data/lib/fog/aws/requests/auto_scaling/describe_tags.rb +74 -0
  67. data/lib/fog/aws/requests/auto_scaling/describe_termination_policy_types.rb +53 -0
  68. data/lib/fog/aws/requests/auto_scaling/disable_metrics_collection.rb +1 -1
  69. data/lib/fog/aws/requests/auto_scaling/enable_metrics_collection.rb +2 -2
  70. data/lib/fog/aws/requests/auto_scaling/put_notification_configuration.rb +30 -11
  71. data/lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb +4 -4
  72. data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +8 -5
  73. data/lib/fog/aws/requests/auto_scaling/set_desired_capacity.rb +2 -2
  74. data/lib/fog/aws/requests/auto_scaling/set_instance_health.rb +2 -2
  75. data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +1 -1
  76. data/lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb +30 -18
  77. data/lib/fog/aws/requests/cdn/delete_distribution.rb +31 -0
  78. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +30 -0
  79. data/lib/fog/aws/requests/cdn/get_distribution.rb +28 -0
  80. data/lib/fog/aws/requests/cdn/get_distribution_list.rb +29 -0
  81. data/lib/fog/aws/requests/cdn/get_invalidation.rb +60 -0
  82. data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +41 -0
  83. data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +26 -0
  84. data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +30 -0
  85. data/lib/fog/aws/requests/cdn/post_distribution.rb +44 -0
  86. data/lib/fog/aws/requests/cdn/post_invalidation.rb +33 -0
  87. data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +44 -0
  88. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +28 -0
  89. data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +28 -0
  90. data/lib/fog/aws/requests/compute/create_image.rb +32 -5
  91. data/lib/fog/aws/requests/compute/create_subnet.rb +3 -3
  92. data/lib/fog/aws/requests/compute/create_volume.rb +2 -2
  93. data/lib/fog/aws/requests/compute/register_image.rb +1 -1
  94. data/lib/fog/aws/requests/elasticache/describe_events.rb +7 -4
  95. data/lib/fog/aws/requests/glacier/create_archive.rb +1 -1
  96. data/lib/fog/aws/requests/glacier/initiate_multipart_upload.rb +1 -1
  97. data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +46 -0
  98. data/lib/fog/aws/requests/rds/create_db_instance.rb +2 -0
  99. data/lib/fog/aws/requests/rds/create_db_subnet_group.rb +58 -0
  100. data/lib/fog/aws/requests/rds/describe_db_subnet_groups.rb +63 -0
  101. data/lib/fog/aws/requests/rds/describe_events.rb +52 -0
  102. data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +44 -0
  103. data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +44 -0
  104. data/lib/fog/aws/sqs.rb +1 -1
  105. data/lib/fog/aws/storage.rb +1 -1
  106. data/lib/fog/bin/openstack.rb +5 -0
  107. data/lib/fog/bluebox/models/compute/server.rb +0 -19
  108. data/lib/fog/bluebox/requests/compute/create_block.rb +8 -8
  109. data/lib/fog/brightbox/compute.rb +56 -7
  110. data/lib/fog/brightbox/models/compute/accounts.rb +29 -0
  111. data/lib/fog/brightbox/models/compute/api_client.rb +37 -0
  112. data/lib/fog/brightbox/models/compute/api_clients.rb +24 -0
  113. data/lib/fog/brightbox/models/compute/application.rb +27 -0
  114. data/lib/fog/brightbox/models/compute/applications.rb +28 -0
  115. data/lib/fog/brightbox/models/compute/server.rb +3 -1
  116. data/lib/fog/brightbox/models/compute/users.rb +1 -3
  117. data/lib/fog/brightbox/requests/compute/create_application.rb +13 -0
  118. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +2 -2
  119. data/lib/fog/brightbox/requests/compute/destroy_application.rb +14 -0
  120. data/lib/fog/brightbox/requests/compute/get_account.rb +28 -4
  121. data/lib/fog/brightbox/requests/compute/get_application.rb +14 -0
  122. data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +19 -0
  123. data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +19 -0
  124. data/lib/fog/brightbox/requests/compute/get_user.rb +28 -5
  125. data/lib/fog/brightbox/requests/compute/list_accounts.rb +13 -0
  126. data/lib/fog/brightbox/requests/compute/list_applications.rb +13 -0
  127. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +14 -0
  128. data/lib/fog/brightbox/requests/compute/update_account.rb +51 -3
  129. data/lib/fog/brightbox/requests/compute/update_application.rb +15 -0
  130. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +4 -2
  131. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +37 -0
  132. data/lib/fog/clodo/models/compute/server.rb +7 -44
  133. data/lib/fog/compute/models/server.rb +23 -2
  134. data/lib/fog/core/time.rb +2 -0
  135. data/lib/fog/core/wait_for.rb +0 -2
  136. data/lib/fog/ecloud/models/compute/servers.rb +3 -1
  137. data/lib/fog/ecloud/requests/compute/get_servers.rb +1 -1
  138. data/lib/fog/ecloud/requests/compute/get_tasks.rb +1 -1
  139. data/lib/fog/go_grid/models/compute/server.rb +0 -4
  140. data/lib/fog/google/storage.rb +1 -1
  141. data/lib/fog/hp/models/compute/server.rb +1 -23
  142. data/lib/fog/hp/storage.rb +0 -1
  143. data/lib/fog/joyent/models/compute/server.rb +4 -0
  144. data/lib/fog/joyent/models/compute/servers.rb +4 -3
  145. data/lib/fog/libvirt/models/compute/server.rb +1 -27
  146. data/lib/fog/linode/models/compute/server.rb +0 -1
  147. data/lib/fog/local/models/storage/directory.rb +1 -1
  148. data/lib/fog/network.rb +26 -0
  149. data/lib/fog/ninefold/compute.rb +8 -0
  150. data/lib/fog/ninefold/requests/compute/assign_to_load_balancer_rule.rb +13 -0
  151. data/lib/fog/ninefold/requests/compute/create_load_balancer_rule.rb +11 -0
  152. data/lib/fog/ninefold/requests/compute/delete_load_balancer_rule.rb +11 -0
  153. data/lib/fog/ninefold/requests/compute/list_load_balancer_rule_instances.rb +15 -0
  154. data/lib/fog/ninefold/requests/compute/list_load_balancer_rules.rb +14 -0
  155. data/lib/fog/ninefold/requests/compute/remove_from_load_balancer_rule.rb +12 -0
  156. data/lib/fog/ninefold/requests/compute/update_load_balancer_rule.rb +15 -0
  157. data/lib/fog/ninefold/storage.rb +14 -112
  158. data/lib/fog/openstack.rb +4 -1
  159. data/lib/fog/openstack/compute.rb +20 -1
  160. data/lib/fog/openstack/identity.rb +67 -18
  161. data/lib/fog/openstack/image.rb +12 -4
  162. data/lib/fog/openstack/models/compute/security_group.rb +1 -1
  163. data/lib/fog/openstack/models/compute/server.rb +5 -23
  164. data/lib/fog/openstack/models/identity/tenants.rb +5 -3
  165. data/lib/fog/openstack/models/identity/users.rb +4 -1
  166. data/lib/fog/openstack/models/image/image.rb +6 -1
  167. data/lib/fog/openstack/models/network/network.rb +46 -0
  168. data/lib/fog/openstack/models/network/networks.rb +34 -0
  169. data/lib/fog/openstack/models/network/port.rb +52 -0
  170. data/lib/fog/openstack/models/network/ports.rb +34 -0
  171. data/lib/fog/openstack/models/network/subnet.rb +55 -0
  172. data/lib/fog/openstack/models/network/subnets.rb +34 -0
  173. data/lib/fog/openstack/network.rb +234 -0
  174. data/lib/fog/openstack/requests/compute/attach_volume.rb +10 -0
  175. data/lib/fog/openstack/requests/compute/create_security_group.rb +15 -11
  176. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +17 -15
  177. data/lib/fog/openstack/requests/compute/create_server.rb +7 -1
  178. data/lib/fog/openstack/requests/compute/create_volume.rb +10 -10
  179. data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +16 -1
  180. data/lib/fog/openstack/requests/compute/detach_volume.rb +5 -0
  181. data/lib/fog/openstack/requests/compute/get_snapshot_details.rb +4 -4
  182. data/lib/fog/openstack/requests/compute/get_volume_details.rb +9 -9
  183. data/lib/fog/openstack/requests/compute/list_security_groups.rb +3 -3
  184. data/lib/fog/openstack/requests/compute/list_volumes.rb +14 -14
  185. data/lib/fog/openstack/requests/identity/create_tenant.rb +3 -3
  186. data/lib/fog/openstack/requests/identity/create_user.rb +1 -1
  187. data/lib/fog/openstack/requests/identity/delete_role.rb +1 -1
  188. data/lib/fog/openstack/requests/identity/get_tenant.rb +1 -1
  189. data/lib/fog/openstack/requests/identity/list_roles.rb +7 -0
  190. data/lib/fog/openstack/requests/image/create_image.rb +36 -38
  191. data/lib/fog/openstack/requests/image/delete_image.rb +0 -2
  192. data/lib/fog/openstack/requests/image/list_public_images.rb +7 -25
  193. data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +2 -41
  194. data/lib/fog/openstack/requests/image/update_image.rb +26 -21
  195. data/lib/fog/openstack/requests/image/update_image_members.rb +37 -0
  196. data/lib/fog/openstack/requests/network/create_network.rb +44 -0
  197. data/lib/fog/openstack/requests/network/create_port.rb +52 -0
  198. data/lib/fog/openstack/requests/network/create_subnet.rb +56 -0
  199. data/lib/fog/openstack/requests/network/delete_network.rb +30 -0
  200. data/lib/fog/openstack/requests/network/delete_port.rb +30 -0
  201. data/lib/fog/openstack/requests/network/delete_subnet.rb +30 -0
  202. data/lib/fog/openstack/requests/network/get_network.rb +42 -0
  203. data/lib/fog/openstack/requests/network/get_port.rb +48 -0
  204. data/lib/fog/openstack/requests/network/get_subnet.rb +49 -0
  205. data/lib/fog/openstack/requests/network/list_networks.rb +27 -0
  206. data/lib/fog/openstack/requests/network/list_ports.rb +27 -0
  207. data/lib/fog/openstack/requests/network/list_subnets.rb +27 -0
  208. data/lib/fog/openstack/requests/network/set_tenant.rb +21 -0
  209. data/lib/fog/openstack/requests/network/update_network.rb +41 -0
  210. data/lib/fog/openstack/requests/network/update_port.rb +44 -0
  211. data/lib/fog/openstack/requests/network/update_subnet.rb +44 -0
  212. data/lib/fog/openstack/requests/volume/create_volume.rb +10 -10
  213. data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +16 -1
  214. data/lib/fog/openstack/requests/volume/get_snapshot_details.rb +6 -6
  215. data/lib/fog/openstack/requests/volume/get_volume_details.rb +10 -10
  216. data/lib/fog/openstack/requests/volume/list_volumes.rb +14 -14
  217. data/lib/fog/openstack/volume.rb +10 -0
  218. data/lib/fog/rackspace/models/compute/server.rb +1 -24
  219. data/lib/fog/rackspace/models/compute_v2/server.rb +4 -2
  220. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +1 -1
  221. data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +1 -1
  222. data/lib/fog/storm_on_demand/models/compute/server.rb +1 -5
  223. data/lib/fog/virtual_box/models/compute/server.rb +2 -44
  224. data/lib/fog/vmfusion/models/compute/server.rb +3 -36
  225. data/lib/fog/vsphere/models/compute/server.rb +1 -1
  226. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +2 -31
  227. data/lib/fog/vsphere/requests/compute/vm_clone.rb +35 -7
  228. data/tests/aws/models/cdn/distribution_tests.rb +15 -0
  229. data/tests/aws/models/cdn/distributions_tests.rb +15 -0
  230. data/tests/aws/models/cdn/invalidation_tests.rb +32 -0
  231. data/tests/aws/models/cdn/invalidations_tests.rb +15 -0
  232. data/tests/aws/models/cdn/streaming_distribution_tests.rb +15 -0
  233. data/tests/aws/models/cdn/streaming_distributions_tests.rb +15 -0
  234. data/tests/aws/models/rds/tagging_tests.rb +20 -0
  235. data/tests/aws/requests/auto_scaling/auto_scaling_tests.rb +1 -11
  236. data/tests/aws/requests/auto_scaling/describe_types_tests.rb +102 -0
  237. data/tests/aws/requests/auto_scaling/helper.rb +47 -3
  238. data/tests/aws/requests/auto_scaling/notification_configuration_tests.rb +123 -0
  239. data/tests/aws/requests/auto_scaling/tag_tests.rb +62 -0
  240. data/tests/aws/requests/cdn/cdn_tests.rb +252 -0
  241. data/tests/aws/requests/compute/image_tests.rb +32 -1
  242. data/tests/aws/requests/compute/volume_tests.rb +3 -3
  243. data/tests/aws/requests/rds/describe_events.rb +16 -0
  244. data/tests/aws/requests/rds/helper.rb +26 -0
  245. data/tests/aws/requests/rds/subnet_groups_test.rb +48 -0
  246. data/tests/aws/requests/rds/tagging_tests.rb +78 -0
  247. data/tests/brightbox/requests/compute/account_tests.rb +24 -4
  248. data/tests/brightbox/requests/compute/application_test.rb +63 -0
  249. data/tests/brightbox/requests/compute/helper.rb +49 -1
  250. data/tests/helper.rb +4 -1
  251. data/tests/local/models/directory_tests.rb +16 -0
  252. data/tests/ninefold/requests/compute/helper.rb +53 -0
  253. data/tests/ninefold/requests/compute/load_balancer_tests.rb +66 -0
  254. data/tests/openstack/models/image/image_tests.rb +1 -0
  255. data/tests/openstack/models/network/network_tests.rb +24 -0
  256. data/tests/openstack/models/network/networks_tests.rb +21 -0
  257. data/tests/openstack/models/network/port_tests.rb +28 -0
  258. data/tests/openstack/models/network/ports_tests.rb +25 -0
  259. data/tests/openstack/models/network/subnet_tests.rb +30 -0
  260. data/tests/openstack/models/network/subnets_tests.rb +27 -0
  261. data/tests/openstack/requests/compute/image_tests.rb +3 -4
  262. data/tests/openstack/requests/compute/quota_tests.rb +2 -0
  263. data/tests/openstack/requests/compute/security_group_tests.rb +10 -10
  264. data/tests/openstack/requests/compute/server_tests.rb +3 -1
  265. data/tests/openstack/requests/compute/volume_tests.rb +11 -12
  266. data/tests/openstack/requests/identity/tenant_tests.rb +2 -1
  267. data/tests/openstack/requests/image/image_tests.rb +66 -45
  268. data/tests/openstack/requests/network/network_tests.rb +56 -0
  269. data/tests/openstack/requests/network/port_tests.rb +63 -0
  270. data/tests/openstack/requests/network/subnet_tests.rb +66 -0
  271. data/tests/rackspace/models/identity/user_tests.rb +1 -1
  272. data/tests/rackspace/models/identity/users_tests.rb +1 -1
  273. metadata +137 -13
  274. data/lib/fog/ninefold/models/storage/directories.rb +0 -48
  275. data/lib/fog/ninefold/models/storage/directory.rb +0 -53
  276. data/lib/fog/ninefold/models/storage/file.rb +0 -108
  277. data/lib/fog/ninefold/models/storage/files.rb +0 -73
  278. data/lib/fog/ninefold/requests/storage/delete_namespace.rb +0 -19
  279. data/lib/fog/ninefold/requests/storage/get_namespace.rb +0 -20
  280. data/lib/fog/ninefold/requests/storage/head_namespace.rb +0 -20
  281. data/lib/fog/ninefold/requests/storage/post_namespace.rb +0 -20
  282. data/lib/fog/ninefold/requests/storage/put_namespace.rb +0 -20
@@ -0,0 +1,43 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module AutoScaling
5
+
6
+ class DescribeAutoScalingNotificationTypes < Fog::Parsers::Base
7
+
8
+ def reset
9
+ @results = { 'AutoScalingNotificationTypes' => [] }
10
+ @response = { 'DescribeAutoScalingNotificationTypesResult' => {}, 'ResponseMetadata' => {} }
11
+ end
12
+
13
+ def start_element(name, attrs = [])
14
+ super
15
+ case name
16
+ when 'AutoScalingNotificationTypes'
17
+ @in_auto_scaling_notification_types = true
18
+ end
19
+ end
20
+
21
+ def end_element(name)
22
+ case name
23
+ when 'member'
24
+ if @in_auto_scaling_notification_types
25
+ @results['AutoScalingNotificationTypes'] << value
26
+ end
27
+
28
+ when 'AutoScalingNotificationTypes'
29
+ @in_auto_scaling_notification_types = false
30
+
31
+ when 'RequestId'
32
+ @response['ResponseMetadata'][name] = value
33
+
34
+ when 'DescribeAutoScalingNotificationTypesResponse'
35
+ @response['DescribeAutoScalingNotificationTypesResult'] = @results
36
+ end
37
+ end
38
+
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -11,17 +11,17 @@ module Fog
11
11
  @results = { 'Granularities' => [], 'Metrics' => [] }
12
12
  @response = { 'DescribeMetricCollectionTypesResult' => {}, 'ResponseMetadata' => {} }
13
13
  end
14
-
15
14
  def reset_granularity
16
- @granularity = {}
15
+ @granularity = {}
17
16
  end
18
17
 
19
18
  def reset_metric
20
- @metric = {}
19
+ @metric = {}
21
20
  end
22
21
 
23
22
  def start_element(name, attrs = [])
24
23
  super
24
+
25
25
  case name
26
26
  when 'Granularities'
27
27
  @in_granularities = true
@@ -0,0 +1,42 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module AutoScaling
5
+
6
+ class DescribeNotificationConfigurations < Fog::Parsers::Base
7
+
8
+ def reset
9
+ reset_notification_configuration
10
+ @results = { 'NotificationConfigurations' => [] }
11
+ @response = { 'DescribeNotificationConfigurationsResult' => {}, 'ResponseMetadata' => {} }
12
+ end
13
+
14
+ def reset_notification_configuration
15
+ @notification_configuration = {}
16
+ end
17
+
18
+ def end_element(name)
19
+ case name
20
+ when 'member'
21
+ @results['NotificationConfigurations'] << @notification_configuration
22
+ reset_notification_configuration
23
+
24
+ when 'AutoScalingGroupName','NotificationType', 'TopicARN'
25
+ @notification_configuration[name] = value
26
+
27
+ when 'NextToken'
28
+ @results[name] = value
29
+
30
+ when 'RequestId'
31
+ @response['ResponseMetadata'][name] = value
32
+
33
+ when 'DescribeNotificationConfigurationsResponse'
34
+ @response['DescribeNotificationConfigurationsResult'] = @results
35
+ end
36
+ end
37
+
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -15,15 +15,28 @@ module Fog
15
15
  @process_type = {}
16
16
  end
17
17
 
18
+ def start_element(name, attrs = [])
19
+ super
20
+ case name
21
+ when 'Processes'
22
+ @in_processes = true
23
+ end
24
+ end
25
+
18
26
  def end_element(name)
19
27
  case name
20
28
  when 'member'
21
- @results['Processes'] << @process_type
22
- reset_process_type
29
+ if @in_processes
30
+ @results['Processes'] << @process_type
31
+ reset_process_type
32
+ end
23
33
 
24
34
  when 'ProcessName'
25
35
  @process_type[name] = value
26
36
 
37
+ when 'Processes'
38
+ @in_processes = false
39
+
27
40
  when 'RequestId'
28
41
  @response['ResponseMetadata'][name] = value
29
42
 
@@ -0,0 +1,46 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module AutoScaling
5
+
6
+ class DescribeTags < Fog::Parsers::Base
7
+
8
+ def reset
9
+ reset_tag
10
+ @results = { 'Tags' => [] }
11
+ @response = { 'DescribeTagsResult' => {}, 'ResponseMetadata' => {} }
12
+ end
13
+
14
+ def reset_tag
15
+ @tag = {}
16
+ end
17
+
18
+ def end_element(name)
19
+ case name
20
+ when 'member'
21
+ @results['Tags'] << @tag
22
+ reset_tag
23
+
24
+ when 'Key', 'ResourceId', 'ResourceType', 'Value'
25
+ @tag[name] = value
26
+ when 'PropagateAtLaunch'
27
+ @tag[name] = (value == 'true')
28
+
29
+ when 'NextToken'
30
+ @results[name] = value
31
+
32
+ when 'RequestId'
33
+ @response['ResponseMetadata'][name] = value
34
+
35
+ when 'DescribeTagsResponse'
36
+ @response['DescribeTagsResult'] = @results
37
+
38
+ end
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,44 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module AutoScaling
5
+
6
+ class DescribeTerminationPolicyTypes < Fog::Parsers::Base
7
+
8
+ def reset
9
+ @results = { 'TerminationPolicyTypes' => [] }
10
+ @response = { 'DescribeTerminationPolicyTypesResult' => {}, 'ResponseMetadata' => {} }
11
+ end
12
+
13
+ def start_element(name, attrs = [])
14
+ super
15
+ case name
16
+ when 'TerminationPolicyTypes'
17
+ @in_termination_policy_types = true
18
+ end
19
+ end
20
+
21
+ def end_element(name)
22
+ case name
23
+ when 'member'
24
+ if @in_termination_policy_types
25
+ @results['TerminationPolicyTypes'] << value
26
+ end
27
+
28
+ when 'TerminationPolicyTypes'
29
+ @in_termination_policy_types = false
30
+
31
+ when 'RequestId'
32
+ @response['ResponseMetadata'][name] = value
33
+
34
+ when 'DescribeTerminationPolicyTypesResponse'
35
+ @response['DescribeTerminationPolicyTypesResult'] = @results
36
+ end
37
+ end
38
+
39
+ end
40
+
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,32 @@
1
+ module Fog
2
+ module Parsers
3
+ module CDN
4
+ module AWS
5
+
6
+ class GetInvalidation < Fog::Parsers::Base
7
+
8
+ def reset
9
+ @response = { 'InvalidationBatch' => { 'Path' => [] } }
10
+ end
11
+
12
+ def start_element(name, attrs = [])
13
+ super
14
+ end
15
+
16
+ def end_element(name)
17
+ case name
18
+ when 'Path'
19
+ @response['InvalidationBatch'][name] << value
20
+ when 'Id', 'Status', 'CreateTime'
21
+ @response[name] = value
22
+ when 'CallerReference'
23
+ @response['InvalidationBatch'][name] = value
24
+ end
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+ end
31
+ end
32
+ end
@@ -27,7 +27,7 @@ module Fog
27
27
  def end_element(name)
28
28
  if @in_outputs
29
29
  case name
30
- when 'OutputKey', 'OutputValue'
30
+ when 'OutputKey', 'OutputValue', 'Description'
31
31
  @output[name] = value
32
32
  when 'member'
33
33
  @stack['Outputs'] << @output
@@ -38,7 +38,7 @@ module Fog
38
38
  @metric[name] = value
39
39
  when 'Dimensions'
40
40
  @in_dimensions = false
41
- when 'NextMarker'
41
+ when 'NextToken'
42
42
  @response['ListMetricsResult'][name] = value
43
43
  when 'RequestId'
44
44
  @response['ResponseMetadata'][name] = value
@@ -4,6 +4,13 @@ module Fog
4
4
  module AWS
5
5
 
6
6
  class DescribeAvailabilityZones < Fog::Parsers::Base
7
+ def start_element(name, attrs = [])
8
+ case name
9
+ when 'messageSet'
10
+ @in_message_set = true
11
+ end
12
+ super
13
+ end
7
14
 
8
15
  def reset
9
16
  @availability_zone = { 'messageSet' => [] }
@@ -13,14 +20,18 @@ module Fog
13
20
  def end_element(name)
14
21
  case name
15
22
  when 'item'
16
- @response['availabilityZoneInfo'] << @availability_zone
17
- @availability_zone = { 'messageSet' => [] }
23
+ unless @in_message_set
24
+ @response['availabilityZoneInfo'] << @availability_zone
25
+ @availability_zone = { 'messageSet' => [] }
26
+ end
18
27
  when 'message'
19
28
  @availability_zone['messageSet'] << value
20
29
  when 'regionName', 'zoneName', 'zoneState'
21
30
  @availability_zone[name] = value
22
31
  when 'requestId'
23
32
  @response[name] = value
33
+ when 'messageSet'
34
+ @in_message_set = false
24
35
  end
25
36
  end
26
37
 
@@ -16,7 +16,7 @@ module Fog
16
16
  @reserved_instance[name] = value
17
17
  when 'duration', 'instanceCount'
18
18
  @reserved_instance[name] = value.to_i
19
- when 'fixedPrice', 'amount'
19
+ when 'fixedPrice', 'amount', 'usagePrice'
20
20
  @reserved_instance[name] = value.to_f
21
21
  when 'item'
22
22
  @response['reservedInstancesSet'] << @reserved_instance
@@ -3,8 +3,6 @@ module Fog
3
3
  module AWS
4
4
  module Elasticache
5
5
 
6
- require 'fog/aws/parsers/elasticache/base'
7
-
8
6
  # Base parser for ResponseMetadata, RequestId
9
7
  class Base < Fog::Parsers::Base
10
8
 
@@ -40,7 +40,7 @@ module Fog
40
40
  @engine_defaults["#{name}s"] << @parameter
41
41
  end
42
42
  when 'AllowedValues', 'DataType', 'Description', 'IsModifiable',
43
- 'MinimumEngineVersion', 'ParameterName', 'Source'
43
+ 'MinimumEngineVersion', 'ParameterName', 'ParameterValue', 'Source'
44
44
  @parameter[name] = value
45
45
  when 'CacheNodeType', 'Value'
46
46
  @node_specific_value[name] = value
@@ -27,6 +27,8 @@ module Fog
27
27
  @event[name] = value ? value.strip : name
28
28
  when 'Event'
29
29
  @response['Events'] << @event unless @event.empty?
30
+ when 'IsTruncated', 'Marker', 'NextMarker'
31
+ @response[name] = value
30
32
  else
31
33
  super
32
34
  end
@@ -0,0 +1,32 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module RDS
5
+
6
+ # Base parser for ResponseMetadata, RequestId
7
+ class Base < Fog::Parsers::Base
8
+
9
+ def reset
10
+ super
11
+ @response = { 'ResponseMetadata' => {} }
12
+ end
13
+
14
+ def start_element(name, attrs = [])
15
+ super
16
+ end
17
+
18
+ def end_element(name)
19
+ case name
20
+ when 'RequestId'
21
+ @response['ResponseMetadata'][name] = value
22
+ else
23
+ super
24
+ end
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,38 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module RDS
5
+
6
+ require 'fog/aws/parsers/rds/subnet_group_parser'
7
+
8
+ class CreateDBSubnetGroup < Fog::Parsers::AWS::RDS::SubnetGroupParser
9
+
10
+ def reset
11
+ @response = { 'CreateDBSubnetGroupResult' => {}, 'ResponseMetadata' => {} }
12
+ super
13
+ end
14
+
15
+ def start_element(name, attrs = [])
16
+ super
17
+ end
18
+
19
+ def end_element(name)
20
+ case name
21
+ when 'DBSubnetGroup' then
22
+ @response['CreateDBSubnetGroupResult']['DBSubnetGroup'] = @db_subnet_group
23
+ @db_subnet_group = fresh_subnet_group
24
+ when 'RequestId'
25
+ @response['ResponseMetadata'][name] = value
26
+ else
27
+ super
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
38
+
@@ -0,0 +1,38 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module RDS
5
+
6
+ require 'fog/aws/parsers/rds/subnet_group_parser'
7
+
8
+ class DescribeDBSubnetGroups < Fog::Parsers::AWS::RDS::SubnetGroupParser
9
+
10
+ def reset
11
+ @response = { 'DescribeDBSubnetGroupsResult' => {'DBSubnetGroups' => []}, 'ResponseMetadata' => {} }
12
+ super
13
+ end
14
+
15
+ def start_element(name, attrs = [])
16
+ super
17
+ end
18
+
19
+ def end_element(name)
20
+ case name
21
+ when 'DBSubnetGroup'
22
+ @response['DescribeDBSubnetGroupsResult']['DBSubnetGroups'] << @db_subnet_group
23
+ @db_subnet_group = fresh_subnet_group
24
+ when 'Marker'
25
+ @response['DescribeDBSubnetGroupsResult']['Marker'] = value
26
+ when 'RequestId'
27
+ @response['ResponseMetadata'][name] = value
28
+ else
29
+ super
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end