fog-rackspace 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (711) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/CODE_OF_CONDUCT.md +49 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +41 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/fog-rackspace.gemspec +32 -0
  13. data/lib/fog/rackspace.rb +25 -0
  14. data/lib/fog/rackspace/auto_scale.rb +134 -0
  15. data/lib/fog/rackspace/block_storage.rb +175 -0
  16. data/lib/fog/rackspace/cdn.rb +198 -0
  17. data/lib/fog/rackspace/cdn_v2.rb +123 -0
  18. data/lib/fog/rackspace/compute.rb +256 -0
  19. data/lib/fog/rackspace/compute_v2.rb +251 -0
  20. data/lib/fog/rackspace/core.rb +150 -0
  21. data/lib/fog/rackspace/databases.rb +164 -0
  22. data/lib/fog/rackspace/dns.rb +172 -0
  23. data/lib/fog/rackspace/docs/auto_scale.md +503 -0
  24. data/lib/fog/rackspace/docs/block_storage.md +417 -0
  25. data/lib/fog/rackspace/docs/cdn_v2.md +351 -0
  26. data/lib/fog/rackspace/docs/compute_v2.md +723 -0
  27. data/lib/fog/rackspace/docs/getting_started.md +88 -0
  28. data/lib/fog/rackspace/docs/networking_v2.md +422 -0
  29. data/lib/fog/rackspace/docs/orchestration.md +356 -0
  30. data/lib/fog/rackspace/docs/queues.md +312 -0
  31. data/lib/fog/rackspace/docs/storage.md +557 -0
  32. data/lib/fog/rackspace/errors.rb +33 -0
  33. data/lib/fog/rackspace/examples/README.md +47 -0
  34. data/lib/fog/rackspace/examples/auto_scale/add_policy.rb +66 -0
  35. data/lib/fog/rackspace/examples/auto_scale/add_webhook.rb +74 -0
  36. data/lib/fog/rackspace/examples/auto_scale/create_scaling_group.rb +111 -0
  37. data/lib/fog/rackspace/examples/auto_scale/delete_policy.rb +71 -0
  38. data/lib/fog/rackspace/examples/auto_scale/delete_scaling_group.rb +59 -0
  39. data/lib/fog/rackspace/examples/auto_scale/delete_webhook.rb +89 -0
  40. data/lib/fog/rackspace/examples/block_storage/create_snapshot.rb +116 -0
  41. data/lib/fog/rackspace/examples/block_storage/create_volume.rb +58 -0
  42. data/lib/fog/rackspace/examples/block_storage/delete_volume.rb +53 -0
  43. data/lib/fog/rackspace/examples/compute_v2/bootstrap_server.rb +96 -0
  44. data/lib/fog/rackspace/examples/compute_v2/create_image.rb +59 -0
  45. data/lib/fog/rackspace/examples/compute_v2/create_network.rb +81 -0
  46. data/lib/fog/rackspace/examples/compute_v2/create_server.rb +87 -0
  47. data/lib/fog/rackspace/examples/compute_v2/delete_image.rb +60 -0
  48. data/lib/fog/rackspace/examples/compute_v2/delete_network.rb +78 -0
  49. data/lib/fog/rackspace/examples/compute_v2/delete_server.rb +55 -0
  50. data/lib/fog/rackspace/examples/compute_v2/detach_volume.rb +93 -0
  51. data/lib/fog/rackspace/examples/compute_v2/resize_server.rb +106 -0
  52. data/lib/fog/rackspace/examples/compute_v2/server_attachments.rb +68 -0
  53. data/lib/fog/rackspace/examples/compute_v2/server_metadata.rb +83 -0
  54. data/lib/fog/rackspace/examples/queues/claim_messages.rb +60 -0
  55. data/lib/fog/rackspace/examples/queues/create_queue.rb +45 -0
  56. data/lib/fog/rackspace/examples/queues/delete_message.rb +71 -0
  57. data/lib/fog/rackspace/examples/queues/delete_queue.rb +53 -0
  58. data/lib/fog/rackspace/examples/queues/list_messages.rb +64 -0
  59. data/lib/fog/rackspace/examples/queues/post_message.rb +59 -0
  60. data/lib/fog/rackspace/examples/storage/create_cdn_directory.rb +43 -0
  61. data/lib/fog/rackspace/examples/storage/create_private_directory.rb +43 -0
  62. data/lib/fog/rackspace/examples/storage/delete_directory.rb +62 -0
  63. data/lib/fog/rackspace/examples/storage/delete_file.rb +70 -0
  64. data/lib/fog/rackspace/examples/storage/download_file.rb +75 -0
  65. data/lib/fog/rackspace/examples/storage/lorem.txt +1 -0
  66. data/lib/fog/rackspace/examples/storage/storage_metadata.rb +76 -0
  67. data/lib/fog/rackspace/examples/storage/upload_file.rb +44 -0
  68. data/lib/fog/rackspace/examples/storage/upload_large_files.rb +101 -0
  69. data/lib/fog/rackspace/identity.rb +83 -0
  70. data/lib/fog/rackspace/load_balancers.rb +206 -0
  71. data/lib/fog/rackspace/mock_data.rb +252 -0
  72. data/lib/fog/rackspace/models/auto_scale/group.rb +214 -0
  73. data/lib/fog/rackspace/models/auto_scale/group_builder.rb +86 -0
  74. data/lib/fog/rackspace/models/auto_scale/group_config.rb +76 -0
  75. data/lib/fog/rackspace/models/auto_scale/groups.rb +45 -0
  76. data/lib/fog/rackspace/models/auto_scale/launch_config.rb +61 -0
  77. data/lib/fog/rackspace/models/auto_scale/policies.rb +65 -0
  78. data/lib/fog/rackspace/models/auto_scale/policy.rb +220 -0
  79. data/lib/fog/rackspace/models/auto_scale/webhook.rb +116 -0
  80. data/lib/fog/rackspace/models/auto_scale/webhooks.rb +62 -0
  81. data/lib/fog/rackspace/models/block_storage/snapshot.rb +93 -0
  82. data/lib/fog/rackspace/models/block_storage/snapshots.rb +39 -0
  83. data/lib/fog/rackspace/models/block_storage/volume.rb +135 -0
  84. data/lib/fog/rackspace/models/block_storage/volume_type.rb +19 -0
  85. data/lib/fog/rackspace/models/block_storage/volume_types.rb +39 -0
  86. data/lib/fog/rackspace/models/block_storage/volumes.rb +39 -0
  87. data/lib/fog/rackspace/models/cdn_v2/flavor.rb +14 -0
  88. data/lib/fog/rackspace/models/cdn_v2/flavors.rb +24 -0
  89. data/lib/fog/rackspace/models/cdn_v2/service.rb +66 -0
  90. data/lib/fog/rackspace/models/cdn_v2/services.rb +24 -0
  91. data/lib/fog/rackspace/models/compute/flavor.rb +42 -0
  92. data/lib/fog/rackspace/models/compute/flavors.rb +24 -0
  93. data/lib/fog/rackspace/models/compute/image.rb +44 -0
  94. data/lib/fog/rackspace/models/compute/images.rb +31 -0
  95. data/lib/fog/rackspace/models/compute/server.rb +102 -0
  96. data/lib/fog/rackspace/models/compute/servers.rb +32 -0
  97. data/lib/fog/rackspace/models/compute_v2/attachment.rb +61 -0
  98. data/lib/fog/rackspace/models/compute_v2/attachments.rb +38 -0
  99. data/lib/fog/rackspace/models/compute_v2/flavor.rb +33 -0
  100. data/lib/fog/rackspace/models/compute_v2/flavors.rb +39 -0
  101. data/lib/fog/rackspace/models/compute_v2/image.rb +117 -0
  102. data/lib/fog/rackspace/models/compute_v2/images.rb +73 -0
  103. data/lib/fog/rackspace/models/compute_v2/key_pair.rb +54 -0
  104. data/lib/fog/rackspace/models/compute_v2/key_pairs.rb +40 -0
  105. data/lib/fog/rackspace/models/compute_v2/meta_parent.rb +40 -0
  106. data/lib/fog/rackspace/models/compute_v2/metadata.rb +108 -0
  107. data/lib/fog/rackspace/models/compute_v2/metadatum.rb +39 -0
  108. data/lib/fog/rackspace/models/compute_v2/network.rb +27 -0
  109. data/lib/fog/rackspace/models/compute_v2/networks.rb +23 -0
  110. data/lib/fog/rackspace/models/compute_v2/server.rb +655 -0
  111. data/lib/fog/rackspace/models/compute_v2/servers.rb +64 -0
  112. data/lib/fog/rackspace/models/compute_v2/virtual_interface.rb +85 -0
  113. data/lib/fog/rackspace/models/compute_v2/virtual_interfaces.rb +46 -0
  114. data/lib/fog/rackspace/models/databases/database.rb +43 -0
  115. data/lib/fog/rackspace/models/databases/databases.rb +30 -0
  116. data/lib/fog/rackspace/models/databases/flavor.rb +15 -0
  117. data/lib/fog/rackspace/models/databases/flavors.rb +24 -0
  118. data/lib/fog/rackspace/models/databases/instance.rb +104 -0
  119. data/lib/fog/rackspace/models/databases/instances.rb +24 -0
  120. data/lib/fog/rackspace/models/databases/user.rb +33 -0
  121. data/lib/fog/rackspace/models/databases/users.rb +30 -0
  122. data/lib/fog/rackspace/models/dns/callback.rb +28 -0
  123. data/lib/fog/rackspace/models/dns/record.rb +98 -0
  124. data/lib/fog/rackspace/models/dns/records.rb +58 -0
  125. data/lib/fog/rackspace/models/dns/zone.rb +66 -0
  126. data/lib/fog/rackspace/models/dns/zones.rb +74 -0
  127. data/lib/fog/rackspace/models/identity/credential.rb +13 -0
  128. data/lib/fog/rackspace/models/identity/credentials.rb +32 -0
  129. data/lib/fog/rackspace/models/identity/role.rb +14 -0
  130. data/lib/fog/rackspace/models/identity/roles.rb +31 -0
  131. data/lib/fog/rackspace/models/identity/service_catalog.rb +84 -0
  132. data/lib/fog/rackspace/models/identity/tenant.rb +15 -0
  133. data/lib/fog/rackspace/models/identity/tenants.rb +27 -0
  134. data/lib/fog/rackspace/models/identity/user.rb +53 -0
  135. data/lib/fog/rackspace/models/identity/users.rb +35 -0
  136. data/lib/fog/rackspace/models/load_balancers/access_rule.rb +38 -0
  137. data/lib/fog/rackspace/models/load_balancers/access_rules.rb +29 -0
  138. data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +286 -0
  139. data/lib/fog/rackspace/models/load_balancers/load_balancers.rb +25 -0
  140. data/lib/fog/rackspace/models/load_balancers/node.rb +65 -0
  141. data/lib/fog/rackspace/models/load_balancers/nodes.rb +29 -0
  142. data/lib/fog/rackspace/models/load_balancers/virtual_ip.rb +34 -0
  143. data/lib/fog/rackspace/models/load_balancers/virtual_ips.rb +32 -0
  144. data/lib/fog/rackspace/models/monitoring/agent_token.rb +38 -0
  145. data/lib/fog/rackspace/models/monitoring/agent_tokens.rb +29 -0
  146. data/lib/fog/rackspace/models/monitoring/alarm.rb +58 -0
  147. data/lib/fog/rackspace/models/monitoring/alarm_example.rb +24 -0
  148. data/lib/fog/rackspace/models/monitoring/alarm_examples.rb +29 -0
  149. data/lib/fog/rackspace/models/monitoring/alarms.rb +41 -0
  150. data/lib/fog/rackspace/models/monitoring/base.rb +29 -0
  151. data/lib/fog/rackspace/models/monitoring/check.rb +72 -0
  152. data/lib/fog/rackspace/models/monitoring/check_type.rb +15 -0
  153. data/lib/fog/rackspace/models/monitoring/check_types.rb +21 -0
  154. data/lib/fog/rackspace/models/monitoring/checks.rb +41 -0
  155. data/lib/fog/rackspace/models/monitoring/data_point.rb +18 -0
  156. data/lib/fog/rackspace/models/monitoring/data_points.rb +47 -0
  157. data/lib/fog/rackspace/models/monitoring/entities.rb +47 -0
  158. data/lib/fog/rackspace/models/monitoring/entity.rb +62 -0
  159. data/lib/fog/rackspace/models/monitoring/metric.rb +22 -0
  160. data/lib/fog/rackspace/models/monitoring/metrics.rb +25 -0
  161. data/lib/fog/rackspace/models/monitoring/notification.rb +40 -0
  162. data/lib/fog/rackspace/models/monitoring/notifications.rb +28 -0
  163. data/lib/fog/rackspace/models/networking/network.rb +27 -0
  164. data/lib/fog/rackspace/models/networking/networks.rb +23 -0
  165. data/lib/fog/rackspace/models/networking/virtual_interface.rb +85 -0
  166. data/lib/fog/rackspace/models/networking/virtual_interfaces.rb +45 -0
  167. data/lib/fog/rackspace/models/networking_v2/network.rb +36 -0
  168. data/lib/fog/rackspace/models/networking_v2/networks.rb +23 -0
  169. data/lib/fog/rackspace/models/networking_v2/port.rb +39 -0
  170. data/lib/fog/rackspace/models/networking_v2/ports.rb +23 -0
  171. data/lib/fog/rackspace/models/networking_v2/security_group.rb +32 -0
  172. data/lib/fog/rackspace/models/networking_v2/security_group_rule.rb +38 -0
  173. data/lib/fog/rackspace/models/networking_v2/security_group_rules.rb +23 -0
  174. data/lib/fog/rackspace/models/networking_v2/security_groups.rb +23 -0
  175. data/lib/fog/rackspace/models/networking_v2/subnet.rb +38 -0
  176. data/lib/fog/rackspace/models/networking_v2/subnets.rb +23 -0
  177. data/lib/fog/rackspace/models/orchestration/event.rb +18 -0
  178. data/lib/fog/rackspace/models/orchestration/events.rb +28 -0
  179. data/lib/fog/rackspace/models/orchestration/resource.rb +30 -0
  180. data/lib/fog/rackspace/models/orchestration/resource_schemas.rb +16 -0
  181. data/lib/fog/rackspace/models/orchestration/resources.rb +35 -0
  182. data/lib/fog/rackspace/models/orchestration/stack.rb +48 -0
  183. data/lib/fog/rackspace/models/orchestration/stacks.rb +40 -0
  184. data/lib/fog/rackspace/models/orchestration/template.rb +13 -0
  185. data/lib/fog/rackspace/models/orchestration/templates.rb +31 -0
  186. data/lib/fog/rackspace/models/queues/claim.rb +139 -0
  187. data/lib/fog/rackspace/models/queues/claims.rb +64 -0
  188. data/lib/fog/rackspace/models/queues/message.rb +88 -0
  189. data/lib/fog/rackspace/models/queues/messages.rb +90 -0
  190. data/lib/fog/rackspace/models/queues/queue.rb +135 -0
  191. data/lib/fog/rackspace/models/queues/queues.rb +46 -0
  192. data/lib/fog/rackspace/models/storage/account.rb +50 -0
  193. data/lib/fog/rackspace/models/storage/directories.rb +62 -0
  194. data/lib/fog/rackspace/models/storage/directory.rb +194 -0
  195. data/lib/fog/rackspace/models/storage/file.rb +286 -0
  196. data/lib/fog/rackspace/models/storage/files.rb +201 -0
  197. data/lib/fog/rackspace/models/storage/metadata.rb +165 -0
  198. data/lib/fog/rackspace/monitoring.rb +184 -0
  199. data/lib/fog/rackspace/networking.rb +192 -0
  200. data/lib/fog/rackspace/networking_v2.rb +222 -0
  201. data/lib/fog/rackspace/orchestration.rb +227 -0
  202. data/lib/fog/rackspace/queues.rb +406 -0
  203. data/lib/fog/rackspace/requests/auto_scale/create_group.rb +58 -0
  204. data/lib/fog/rackspace/requests/auto_scale/create_policy.rb +42 -0
  205. data/lib/fog/rackspace/requests/auto_scale/create_webhook.rb +54 -0
  206. data/lib/fog/rackspace/requests/auto_scale/delete_group.rb +22 -0
  207. data/lib/fog/rackspace/requests/auto_scale/delete_policy.rb +29 -0
  208. data/lib/fog/rackspace/requests/auto_scale/delete_webhook.rb +33 -0
  209. data/lib/fog/rackspace/requests/auto_scale/execute_anonymous_webhook.rb +21 -0
  210. data/lib/fog/rackspace/requests/auto_scale/execute_policy.rb +21 -0
  211. data/lib/fog/rackspace/requests/auto_scale/get_group.rb +26 -0
  212. data/lib/fog/rackspace/requests/auto_scale/get_group_config.rb +27 -0
  213. data/lib/fog/rackspace/requests/auto_scale/get_group_state.rb +58 -0
  214. data/lib/fog/rackspace/requests/auto_scale/get_launch_config.rb +27 -0
  215. data/lib/fog/rackspace/requests/auto_scale/get_policy.rb +31 -0
  216. data/lib/fog/rackspace/requests/auto_scale/get_webhook.rb +36 -0
  217. data/lib/fog/rackspace/requests/auto_scale/list_groups.rb +34 -0
  218. data/lib/fog/rackspace/requests/auto_scale/list_policies.rb +22 -0
  219. data/lib/fog/rackspace/requests/auto_scale/list_webhooks.rb +31 -0
  220. data/lib/fog/rackspace/requests/auto_scale/pause_group_state.rb +22 -0
  221. data/lib/fog/rackspace/requests/auto_scale/resume_group_state.rb +21 -0
  222. data/lib/fog/rackspace/requests/auto_scale/update_group_config.rb +37 -0
  223. data/lib/fog/rackspace/requests/auto_scale/update_launch_config.rb +34 -0
  224. data/lib/fog/rackspace/requests/auto_scale/update_policy.rb +31 -0
  225. data/lib/fog/rackspace/requests/auto_scale/update_webhook.rb +41 -0
  226. data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +77 -0
  227. data/lib/fog/rackspace/requests/block_storage/create_volume.rb +96 -0
  228. data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +31 -0
  229. data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +42 -0
  230. data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +45 -0
  231. data/lib/fog/rackspace/requests/block_storage/get_volume.rb +55 -0
  232. data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +41 -0
  233. data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +39 -0
  234. data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +34 -0
  235. data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +42 -0
  236. data/lib/fog/rackspace/requests/cdn/delete_object.rb +39 -0
  237. data/lib/fog/rackspace/requests/cdn/get_containers.rb +66 -0
  238. data/lib/fog/rackspace/requests/cdn/head_container.rb +58 -0
  239. data/lib/fog/rackspace/requests/cdn/post_container.rb +52 -0
  240. data/lib/fog/rackspace/requests/cdn/put_container.rb +52 -0
  241. data/lib/fog/rackspace/requests/cdn_v2/create_service.rb +10 -0
  242. data/lib/fog/rackspace/requests/cdn_v2/delete_assets.rb +12 -0
  243. data/lib/fog/rackspace/requests/cdn_v2/delete_service.rb +9 -0
  244. data/lib/fog/rackspace/requests/cdn_v2/get_flavor.rb +9 -0
  245. data/lib/fog/rackspace/requests/cdn_v2/get_home_document.rb +9 -0
  246. data/lib/fog/rackspace/requests/cdn_v2/get_ping.rb +10 -0
  247. data/lib/fog/rackspace/requests/cdn_v2/get_service.rb +9 -0
  248. data/lib/fog/rackspace/requests/cdn_v2/list_flavors.rb +9 -0
  249. data/lib/fog/rackspace/requests/cdn_v2/list_services.rb +9 -0
  250. data/lib/fog/rackspace/requests/cdn_v2/update_service.rb +13 -0
  251. data/lib/fog/rackspace/requests/compute/confirm_resized_server.rb +30 -0
  252. data/lib/fog/rackspace/requests/compute/create_image.rb +56 -0
  253. data/lib/fog/rackspace/requests/compute/create_server.rb +90 -0
  254. data/lib/fog/rackspace/requests/compute/delete_image.rb +40 -0
  255. data/lib/fog/rackspace/requests/compute/delete_server.rb +39 -0
  256. data/lib/fog/rackspace/requests/compute/get_flavor_details.rb +48 -0
  257. data/lib/fog/rackspace/requests/compute/get_image_details.rb +25 -0
  258. data/lib/fog/rackspace/requests/compute/get_server_details.rb +48 -0
  259. data/lib/fog/rackspace/requests/compute/list_addresses.rb +39 -0
  260. data/lib/fog/rackspace/requests/compute/list_flavors.rb +41 -0
  261. data/lib/fog/rackspace/requests/compute/list_flavors_detail.rb +43 -0
  262. data/lib/fog/rackspace/requests/compute/list_images.rb +36 -0
  263. data/lib/fog/rackspace/requests/compute/list_images_detail.rb +45 -0
  264. data/lib/fog/rackspace/requests/compute/list_private_addresses.rb +37 -0
  265. data/lib/fog/rackspace/requests/compute/list_public_addresses.rb +37 -0
  266. data/lib/fog/rackspace/requests/compute/list_servers.rb +37 -0
  267. data/lib/fog/rackspace/requests/compute/list_servers_detail.rb +52 -0
  268. data/lib/fog/rackspace/requests/compute/reboot_server.rb +26 -0
  269. data/lib/fog/rackspace/requests/compute/resize_server.rb +35 -0
  270. data/lib/fog/rackspace/requests/compute/revert_resized_server.rb +31 -0
  271. data/lib/fog/rackspace/requests/compute/server_action.rb +23 -0
  272. data/lib/fog/rackspace/requests/compute/update_server.rb +41 -0
  273. data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +78 -0
  274. data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +38 -0
  275. data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +41 -0
  276. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +97 -0
  277. data/lib/fog/rackspace/requests/compute_v2/create_keypair.rb +62 -0
  278. data/lib/fog/rackspace/requests/compute_v2/create_network.rb +36 -0
  279. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +243 -0
  280. data/lib/fog/rackspace/requests/compute_v2/create_virtual_interface.rb +30 -0
  281. data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +39 -0
  282. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +32 -0
  283. data/lib/fog/rackspace/requests/compute_v2/delete_keypair.rb +34 -0
  284. data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +36 -0
  285. data/lib/fog/rackspace/requests/compute_v2/delete_network.rb +21 -0
  286. data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +35 -0
  287. data/lib/fog/rackspace/requests/compute_v2/delete_virtual_interface.rb +23 -0
  288. data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +38 -0
  289. data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +43 -0
  290. data/lib/fog/rackspace/requests/compute_v2/get_image.rb +47 -0
  291. data/lib/fog/rackspace/requests/compute_v2/get_keypair.rb +39 -0
  292. data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +38 -0
  293. data/lib/fog/rackspace/requests/compute_v2/get_network.rb +21 -0
  294. data/lib/fog/rackspace/requests/compute_v2/get_server.rb +63 -0
  295. data/lib/fog/rackspace/requests/compute_v2/get_vnc_console.rb +45 -0
  296. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +39 -0
  297. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +48 -0
  298. data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +37 -0
  299. data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +35 -0
  300. data/lib/fog/rackspace/requests/compute_v2/list_flavors_detail.rb +38 -0
  301. data/lib/fog/rackspace/requests/compute_v2/list_images.rb +45 -0
  302. data/lib/fog/rackspace/requests/compute_v2/list_images_detail.rb +52 -0
  303. data/lib/fog/rackspace/requests/compute_v2/list_keypairs.rb +35 -0
  304. data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +37 -0
  305. data/lib/fog/rackspace/requests/compute_v2/list_networks.rb +18 -0
  306. data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +56 -0
  307. data/lib/fog/rackspace/requests/compute_v2/list_virtual_interfaces.rb +22 -0
  308. data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +44 -0
  309. data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +71 -0
  310. data/lib/fog/rackspace/requests/compute_v2/rescue_server.rb +43 -0
  311. data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +44 -0
  312. data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +42 -0
  313. data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +39 -0
  314. data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +40 -0
  315. data/lib/fog/rackspace/requests/compute_v2/unrescue_server.rb +40 -0
  316. data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +39 -0
  317. data/lib/fog/rackspace/requests/compute_v2/update_server.rb +44 -0
  318. data/lib/fog/rackspace/requests/databases/check_root_user.rb +15 -0
  319. data/lib/fog/rackspace/requests/databases/create_database.rb +24 -0
  320. data/lib/fog/rackspace/requests/databases/create_instance.rb +28 -0
  321. data/lib/fog/rackspace/requests/databases/create_user.rb +25 -0
  322. data/lib/fog/rackspace/requests/databases/delete_database.rb +15 -0
  323. data/lib/fog/rackspace/requests/databases/delete_instance.rb +15 -0
  324. data/lib/fog/rackspace/requests/databases/delete_user.rb +15 -0
  325. data/lib/fog/rackspace/requests/databases/enable_root_user.rb +15 -0
  326. data/lib/fog/rackspace/requests/databases/get_flavor.rb +15 -0
  327. data/lib/fog/rackspace/requests/databases/get_instance.rb +15 -0
  328. data/lib/fog/rackspace/requests/databases/grant_user_access.rb +32 -0
  329. data/lib/fog/rackspace/requests/databases/list_databases.rb +15 -0
  330. data/lib/fog/rackspace/requests/databases/list_flavors.rb +15 -0
  331. data/lib/fog/rackspace/requests/databases/list_instances.rb +15 -0
  332. data/lib/fog/rackspace/requests/databases/list_users.rb +15 -0
  333. data/lib/fog/rackspace/requests/databases/resize_instance.rb +22 -0
  334. data/lib/fog/rackspace/requests/databases/resize_instance_volume.rb +24 -0
  335. data/lib/fog/rackspace/requests/databases/restart_instance.rb +20 -0
  336. data/lib/fog/rackspace/requests/databases/revoke_user_access.rb +26 -0
  337. data/lib/fog/rackspace/requests/dns/add_records.rb +37 -0
  338. data/lib/fog/rackspace/requests/dns/callback.rb +18 -0
  339. data/lib/fog/rackspace/requests/dns/create_domains.rb +48 -0
  340. data/lib/fog/rackspace/requests/dns/list_domain_details.rb +31 -0
  341. data/lib/fog/rackspace/requests/dns/list_domains.rb +20 -0
  342. data/lib/fog/rackspace/requests/dns/list_record_details.rb +20 -0
  343. data/lib/fog/rackspace/requests/dns/list_records.rb +22 -0
  344. data/lib/fog/rackspace/requests/dns/list_subdomains.rb +22 -0
  345. data/lib/fog/rackspace/requests/dns/modify_domain.rb +35 -0
  346. data/lib/fog/rackspace/requests/dns/modify_record.rb +36 -0
  347. data/lib/fog/rackspace/requests/dns/remove_domain.rb +28 -0
  348. data/lib/fog/rackspace/requests/dns/remove_domains.rb +26 -0
  349. data/lib/fog/rackspace/requests/dns/remove_record.rb +20 -0
  350. data/lib/fog/rackspace/requests/dns/remove_records.rb +19 -0
  351. data/lib/fog/rackspace/requests/identity/create_token.rb +222 -0
  352. data/lib/fog/rackspace/requests/identity/create_user.rb +25 -0
  353. data/lib/fog/rackspace/requests/identity/delete_user.rb +15 -0
  354. data/lib/fog/rackspace/requests/identity/get_user_by_id.rb +15 -0
  355. data/lib/fog/rackspace/requests/identity/get_user_by_name.rb +15 -0
  356. data/lib/fog/rackspace/requests/identity/list_credentials.rb +22 -0
  357. data/lib/fog/rackspace/requests/identity/list_tenants.rb +45 -0
  358. data/lib/fog/rackspace/requests/identity/list_user_roles.rb +22 -0
  359. data/lib/fog/rackspace/requests/identity/list_users.rb +22 -0
  360. data/lib/fog/rackspace/requests/identity/update_user.rb +24 -0
  361. data/lib/fog/rackspace/requests/load_balancers/create_access_rule.rb +24 -0
  362. data/lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb +109 -0
  363. data/lib/fog/rackspace/requests/load_balancers/create_node.rb +30 -0
  364. data/lib/fog/rackspace/requests/load_balancers/create_virtual_ip.rb +20 -0
  365. data/lib/fog/rackspace/requests/load_balancers/delete_access_rule.rb +15 -0
  366. data/lib/fog/rackspace/requests/load_balancers/delete_all_access_rules.rb +15 -0
  367. data/lib/fog/rackspace/requests/load_balancers/delete_load_balancer.rb +23 -0
  368. data/lib/fog/rackspace/requests/load_balancers/delete_node.rb +15 -0
  369. data/lib/fog/rackspace/requests/load_balancers/delete_nodes.rb +16 -0
  370. data/lib/fog/rackspace/requests/load_balancers/delete_virtual_ip.rb +15 -0
  371. data/lib/fog/rackspace/requests/load_balancers/get_connection_logging.rb +15 -0
  372. data/lib/fog/rackspace/requests/load_balancers/get_connection_throttling.rb +15 -0
  373. data/lib/fog/rackspace/requests/load_balancers/get_content_caching.rb +15 -0
  374. data/lib/fog/rackspace/requests/load_balancers/get_error_page.rb +15 -0
  375. data/lib/fog/rackspace/requests/load_balancers/get_load_balancer.rb +44 -0
  376. data/lib/fog/rackspace/requests/load_balancers/get_load_balancer_usage.rb +21 -0
  377. data/lib/fog/rackspace/requests/load_balancers/get_monitor.rb +15 -0
  378. data/lib/fog/rackspace/requests/load_balancers/get_node.rb +15 -0
  379. data/lib/fog/rackspace/requests/load_balancers/get_session_persistence.rb +15 -0
  380. data/lib/fog/rackspace/requests/load_balancers/get_ssl_termination.rb +15 -0
  381. data/lib/fog/rackspace/requests/load_balancers/get_stats.rb +30 -0
  382. data/lib/fog/rackspace/requests/load_balancers/get_usage.rb +20 -0
  383. data/lib/fog/rackspace/requests/load_balancers/list_access_rules.rb +15 -0
  384. data/lib/fog/rackspace/requests/load_balancers/list_algorithms.rb +15 -0
  385. data/lib/fog/rackspace/requests/load_balancers/list_load_balancers.rb +21 -0
  386. data/lib/fog/rackspace/requests/load_balancers/list_nodes.rb +15 -0
  387. data/lib/fog/rackspace/requests/load_balancers/list_protocols.rb +15 -0
  388. data/lib/fog/rackspace/requests/load_balancers/list_virtual_ips.rb +15 -0
  389. data/lib/fog/rackspace/requests/load_balancers/remove_connection_throttling.rb +15 -0
  390. data/lib/fog/rackspace/requests/load_balancers/remove_error_page.rb +15 -0
  391. data/lib/fog/rackspace/requests/load_balancers/remove_monitor.rb +15 -0
  392. data/lib/fog/rackspace/requests/load_balancers/remove_session_persistence.rb +15 -0
  393. data/lib/fog/rackspace/requests/load_balancers/remove_ssl_termination.rb +15 -0
  394. data/lib/fog/rackspace/requests/load_balancers/set_connection_logging.rb +21 -0
  395. data/lib/fog/rackspace/requests/load_balancers/set_connection_throttling.rb +22 -0
  396. data/lib/fog/rackspace/requests/load_balancers/set_content_caching.rb +21 -0
  397. data/lib/fog/rackspace/requests/load_balancers/set_error_page.rb +21 -0
  398. data/lib/fog/rackspace/requests/load_balancers/set_monitor.rb +31 -0
  399. data/lib/fog/rackspace/requests/load_balancers/set_session_persistence.rb +21 -0
  400. data/lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb +31 -0
  401. data/lib/fog/rackspace/requests/load_balancers/update_load_balancer.rb +26 -0
  402. data/lib/fog/rackspace/requests/load_balancers/update_node.rb +29 -0
  403. data/lib/fog/rackspace/requests/monitoring/create_agent_token.rb +47 -0
  404. data/lib/fog/rackspace/requests/monitoring/create_alarm.rb +47 -0
  405. data/lib/fog/rackspace/requests/monitoring/create_check.rb +47 -0
  406. data/lib/fog/rackspace/requests/monitoring/create_entity.rb +47 -0
  407. data/lib/fog/rackspace/requests/monitoring/create_notification.rb +17 -0
  408. data/lib/fog/rackspace/requests/monitoring/delete_agent_token.rb +45 -0
  409. data/lib/fog/rackspace/requests/monitoring/delete_alarm.rb +41 -0
  410. data/lib/fog/rackspace/requests/monitoring/delete_check.rb +40 -0
  411. data/lib/fog/rackspace/requests/monitoring/delete_entity.rb +40 -0
  412. data/lib/fog/rackspace/requests/monitoring/delete_notification.rb +15 -0
  413. data/lib/fog/rackspace/requests/monitoring/evaluate_alarm_example.rb +18 -0
  414. data/lib/fog/rackspace/requests/monitoring/get_agent.rb +44 -0
  415. data/lib/fog/rackspace/requests/monitoring/get_agent_token.rb +47 -0
  416. data/lib/fog/rackspace/requests/monitoring/get_alarm.rb +51 -0
  417. data/lib/fog/rackspace/requests/monitoring/get_alarm_example.rb +15 -0
  418. data/lib/fog/rackspace/requests/monitoring/get_check.rb +56 -0
  419. data/lib/fog/rackspace/requests/monitoring/get_cpus_info.rb +61 -0
  420. data/lib/fog/rackspace/requests/monitoring/get_disks_info.rb +54 -0
  421. data/lib/fog/rackspace/requests/monitoring/get_entity.rb +55 -0
  422. data/lib/fog/rackspace/requests/monitoring/get_filesystems_info.rb +62 -0
  423. data/lib/fog/rackspace/requests/monitoring/get_logged_in_user_info.rb +56 -0
  424. data/lib/fog/rackspace/requests/monitoring/get_memory_info.rb +57 -0
  425. data/lib/fog/rackspace/requests/monitoring/get_monitoring_zone.rb +15 -0
  426. data/lib/fog/rackspace/requests/monitoring/get_network_interfaces_info.rb +89 -0
  427. data/lib/fog/rackspace/requests/monitoring/get_notification.rb +46 -0
  428. data/lib/fog/rackspace/requests/monitoring/get_processes_info.rb +70 -0
  429. data/lib/fog/rackspace/requests/monitoring/get_system_info.rb +51 -0
  430. data/lib/fog/rackspace/requests/monitoring/list_agent_tokens.rb +55 -0
  431. data/lib/fog/rackspace/requests/monitoring/list_agents.rb +61 -0
  432. data/lib/fog/rackspace/requests/monitoring/list_alarm_examples.rb +15 -0
  433. data/lib/fog/rackspace/requests/monitoring/list_alarms.rb +64 -0
  434. data/lib/fog/rackspace/requests/monitoring/list_check_types.rb +86 -0
  435. data/lib/fog/rackspace/requests/monitoring/list_checks.rb +70 -0
  436. data/lib/fog/rackspace/requests/monitoring/list_data_points.rb +51 -0
  437. data/lib/fog/rackspace/requests/monitoring/list_entities.rb +70 -0
  438. data/lib/fog/rackspace/requests/monitoring/list_metrics.rb +80 -0
  439. data/lib/fog/rackspace/requests/monitoring/list_monitoring_zones.rb +15 -0
  440. data/lib/fog/rackspace/requests/monitoring/list_notification_plans.rb +70 -0
  441. data/lib/fog/rackspace/requests/monitoring/list_notifications.rb +63 -0
  442. data/lib/fog/rackspace/requests/monitoring/list_overview.rb +111 -0
  443. data/lib/fog/rackspace/requests/monitoring/update_alarm.rb +45 -0
  444. data/lib/fog/rackspace/requests/monitoring/update_check.rb +45 -0
  445. data/lib/fog/rackspace/requests/monitoring/update_entity.rb +45 -0
  446. data/lib/fog/rackspace/requests/monitoring/update_notification.rb +16 -0
  447. data/lib/fog/rackspace/requests/networking/create_network.rb +36 -0
  448. data/lib/fog/rackspace/requests/networking/create_virtual_interface.rb +30 -0
  449. data/lib/fog/rackspace/requests/networking/delete_network.rb +21 -0
  450. data/lib/fog/rackspace/requests/networking/delete_virtual_interface.rb +23 -0
  451. data/lib/fog/rackspace/requests/networking/get_network.rb +21 -0
  452. data/lib/fog/rackspace/requests/networking/list_networks.rb +18 -0
  453. data/lib/fog/rackspace/requests/networking/list_virtual_interfaces.rb +22 -0
  454. data/lib/fog/rackspace/requests/networking_v2/create_network.rb +18 -0
  455. data/lib/fog/rackspace/requests/networking_v2/create_port.rb +18 -0
  456. data/lib/fog/rackspace/requests/networking_v2/create_security_group.rb +12 -0
  457. data/lib/fog/rackspace/requests/networking_v2/create_security_group_rule.rb +12 -0
  458. data/lib/fog/rackspace/requests/networking_v2/create_subnet.rb +18 -0
  459. data/lib/fog/rackspace/requests/networking_v2/delete_network.rb +11 -0
  460. data/lib/fog/rackspace/requests/networking_v2/delete_port.rb +11 -0
  461. data/lib/fog/rackspace/requests/networking_v2/delete_security_group.rb +5 -0
  462. data/lib/fog/rackspace/requests/networking_v2/delete_security_group_rule.rb +5 -0
  463. data/lib/fog/rackspace/requests/networking_v2/delete_subnet.rb +11 -0
  464. data/lib/fog/rackspace/requests/networking_v2/list_networks.rb +11 -0
  465. data/lib/fog/rackspace/requests/networking_v2/list_ports.rb +11 -0
  466. data/lib/fog/rackspace/requests/networking_v2/list_security_group_rules.rb +5 -0
  467. data/lib/fog/rackspace/requests/networking_v2/list_security_groups.rb +5 -0
  468. data/lib/fog/rackspace/requests/networking_v2/list_subnets.rb +11 -0
  469. data/lib/fog/rackspace/requests/networking_v2/show_network.rb +11 -0
  470. data/lib/fog/rackspace/requests/networking_v2/show_port.rb +11 -0
  471. data/lib/fog/rackspace/requests/networking_v2/show_security_group.rb +5 -0
  472. data/lib/fog/rackspace/requests/networking_v2/show_security_group_rule.rb +5 -0
  473. data/lib/fog/rackspace/requests/networking_v2/show_subnet.rb +11 -0
  474. data/lib/fog/rackspace/requests/networking_v2/update_network.rb +18 -0
  475. data/lib/fog/rackspace/requests/networking_v2/update_port.rb +18 -0
  476. data/lib/fog/rackspace/requests/networking_v2/update_security_group.rb +12 -0
  477. data/lib/fog/rackspace/requests/networking_v2/update_subnet.rb +23 -0
  478. data/lib/fog/rackspace/requests/orchestration/abandon_stack.rb +15 -0
  479. data/lib/fog/rackspace/requests/orchestration/build_info.rb +15 -0
  480. data/lib/fog/rackspace/requests/orchestration/create_stack.rb +16 -0
  481. data/lib/fog/rackspace/requests/orchestration/delete_stack.rb +15 -0
  482. data/lib/fog/rackspace/requests/orchestration/get_stack_template.rb +20 -0
  483. data/lib/fog/rackspace/requests/orchestration/list_resource_events.rb +19 -0
  484. data/lib/fog/rackspace/requests/orchestration/list_resource_types.rb +22 -0
  485. data/lib/fog/rackspace/requests/orchestration/list_resources.rb +19 -0
  486. data/lib/fog/rackspace/requests/orchestration/list_stack_data.rb +22 -0
  487. data/lib/fog/rackspace/requests/orchestration/list_stack_events.rb +19 -0
  488. data/lib/fog/rackspace/requests/orchestration/preview_stack.rb +16 -0
  489. data/lib/fog/rackspace/requests/orchestration/show_event_details.rb +22 -0
  490. data/lib/fog/rackspace/requests/orchestration/show_resource_data.rb +22 -0
  491. data/lib/fog/rackspace/requests/orchestration/show_resource_metadata.rb +22 -0
  492. data/lib/fog/rackspace/requests/orchestration/show_resource_schema.rb +15 -0
  493. data/lib/fog/rackspace/requests/orchestration/show_resource_template.rb +20 -0
  494. data/lib/fog/rackspace/requests/orchestration/show_stack_details.rb +22 -0
  495. data/lib/fog/rackspace/requests/orchestration/update_stack.rb +16 -0
  496. data/lib/fog/rackspace/requests/orchestration/validate_template.rb +16 -0
  497. data/lib/fog/rackspace/requests/queues/create_claim.rb +72 -0
  498. data/lib/fog/rackspace/requests/queues/create_message.rb +56 -0
  499. data/lib/fog/rackspace/requests/queues/create_queue.rb +39 -0
  500. data/lib/fog/rackspace/requests/queues/delete_claim.rb +42 -0
  501. data/lib/fog/rackspace/requests/queues/delete_message.rb +62 -0
  502. data/lib/fog/rackspace/requests/queues/delete_queue.rb +33 -0
  503. data/lib/fog/rackspace/requests/queues/get_claim.rb +37 -0
  504. data/lib/fog/rackspace/requests/queues/get_message.rb +41 -0
  505. data/lib/fog/rackspace/requests/queues/get_queue.rb +36 -0
  506. data/lib/fog/rackspace/requests/queues/get_queue_stats.rb +57 -0
  507. data/lib/fog/rackspace/requests/queues/list_messages.rb +73 -0
  508. data/lib/fog/rackspace/requests/queues/list_queues.rb +62 -0
  509. data/lib/fog/rackspace/requests/queues/update_claim.rb +39 -0
  510. data/lib/fog/rackspace/requests/storage/copy_object.rb +29 -0
  511. data/lib/fog/rackspace/requests/storage/delete_container.rb +36 -0
  512. data/lib/fog/rackspace/requests/storage/delete_multiple_objects.rb +128 -0
  513. data/lib/fog/rackspace/requests/storage/delete_object.rb +36 -0
  514. data/lib/fog/rackspace/requests/storage/delete_static_large_object.rb +78 -0
  515. data/lib/fog/rackspace/requests/storage/extract_archive.rb +37 -0
  516. data/lib/fog/rackspace/requests/storage/get_container.rb +69 -0
  517. data/lib/fog/rackspace/requests/storage/get_containers.rb +51 -0
  518. data/lib/fog/rackspace/requests/storage/get_object.rb +54 -0
  519. data/lib/fog/rackspace/requests/storage/get_object_http_url.rb +35 -0
  520. data/lib/fog/rackspace/requests/storage/get_object_https_url.rb +71 -0
  521. data/lib/fog/rackspace/requests/storage/head_container.rb +41 -0
  522. data/lib/fog/rackspace/requests/storage/head_containers.rb +44 -0
  523. data/lib/fog/rackspace/requests/storage/head_object.rb +48 -0
  524. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +46 -0
  525. data/lib/fog/rackspace/requests/storage/put_container.rb +42 -0
  526. data/lib/fog/rackspace/requests/storage/put_dynamic_obj_manifest.rb +63 -0
  527. data/lib/fog/rackspace/requests/storage/put_object.rb +77 -0
  528. data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +22 -0
  529. data/lib/fog/rackspace/requests/storage/put_static_obj_manifest.rb +102 -0
  530. data/lib/fog/rackspace/service.rb +142 -0
  531. data/lib/fog/rackspace/storage.rb +465 -0
  532. data/lib/fog/rackspace/version.rb +5 -0
  533. data/tests/helper.rb +28 -0
  534. data/tests/helpers/collection_helper.rb +97 -0
  535. data/tests/helpers/compute/flavors_helper.rb +32 -0
  536. data/tests/helpers/compute/server_helper.rb +25 -0
  537. data/tests/helpers/compute/servers_helper.rb +10 -0
  538. data/tests/helpers/formats_helper.rb +98 -0
  539. data/tests/helpers/formats_helper_tests.rb +110 -0
  540. data/tests/helpers/mock_helper.rb +16 -0
  541. data/tests/helpers/model_helper.rb +31 -0
  542. data/tests/helpers/responds_to_helper.rb +11 -0
  543. data/tests/helpers/schema_validator_tests.rb +107 -0
  544. data/tests/helpers/succeeds_helper.rb +9 -0
  545. data/tests/lorem.txt +1 -0
  546. data/tests/rackspace/auto_scale_tests.rb +83 -0
  547. data/tests/rackspace/block_storage_tests.rb +119 -0
  548. data/tests/rackspace/cdn_tests.rb +186 -0
  549. data/tests/rackspace/compute_tests.rb +100 -0
  550. data/tests/rackspace/compute_v2_tests.rb +118 -0
  551. data/tests/rackspace/databases_tests.rb +140 -0
  552. data/tests/rackspace/dns_tests.rb +110 -0
  553. data/tests/rackspace/helper.rb +106 -0
  554. data/tests/rackspace/identity_tests.rb +26 -0
  555. data/tests/rackspace/load_balancer_tests.rb +135 -0
  556. data/tests/rackspace/models/auto_scale/group_builder_tests.rb +145 -0
  557. data/tests/rackspace/models/auto_scale/group_tests.rb +35 -0
  558. data/tests/rackspace/models/auto_scale/groups_tests.rb +17 -0
  559. data/tests/rackspace/models/auto_scale/policies_tests.rb +24 -0
  560. data/tests/rackspace/models/auto_scale/policy_tests.rb +35 -0
  561. data/tests/rackspace/models/auto_scale/webhook_tests.rb +42 -0
  562. data/tests/rackspace/models/auto_scale/webhooks_tests.rb +28 -0
  563. data/tests/rackspace/models/block_storage/snapshot_tests.rb +25 -0
  564. data/tests/rackspace/models/block_storage/snapshots_tests.rb +18 -0
  565. data/tests/rackspace/models/block_storage/volume_tests.rb +31 -0
  566. data/tests/rackspace/models/block_storage/volume_types_tests.rb +18 -0
  567. data/tests/rackspace/models/block_storage/volumes_tests.rb +9 -0
  568. data/tests/rackspace/models/compute_v2/flavors_tests.rb +17 -0
  569. data/tests/rackspace/models/compute_v2/image_tests.rb +74 -0
  570. data/tests/rackspace/models/compute_v2/images_tests.rb +20 -0
  571. data/tests/rackspace/models/compute_v2/keypairs_tests.rb +47 -0
  572. data/tests/rackspace/models/compute_v2/metadata_tests.rb +44 -0
  573. data/tests/rackspace/models/compute_v2/network_tests.rb +10 -0
  574. data/tests/rackspace/models/compute_v2/networks_tests.rb +10 -0
  575. data/tests/rackspace/models/compute_v2/server_tests.rb +274 -0
  576. data/tests/rackspace/models/compute_v2/servers_tests.rb +22 -0
  577. data/tests/rackspace/models/compute_v2/virtual_interface_tests.rb +33 -0
  578. data/tests/rackspace/models/compute_v2/virtual_interfaces_tests.rb +24 -0
  579. data/tests/rackspace/models/databases/database_tests.rb +29 -0
  580. data/tests/rackspace/models/databases/databases_tests.rb +17 -0
  581. data/tests/rackspace/models/databases/flavors_tests.rb +20 -0
  582. data/tests/rackspace/models/databases/instance_tests.rb +43 -0
  583. data/tests/rackspace/models/databases/instances_tests.rb +14 -0
  584. data/tests/rackspace/models/databases/user_tests.rb +21 -0
  585. data/tests/rackspace/models/databases/users_tests.rb +21 -0
  586. data/tests/rackspace/models/dns/zone_tests.rb +14 -0
  587. data/tests/rackspace/models/dns/zones_tests.rb +36 -0
  588. data/tests/rackspace/models/identity/credentials_tests.rb +25 -0
  589. data/tests/rackspace/models/identity/roles_tests.rb +16 -0
  590. data/tests/rackspace/models/identity/service_catalog_tests.rb +154 -0
  591. data/tests/rackspace/models/identity/tenants_tests.rb +21 -0
  592. data/tests/rackspace/models/identity/user_tests.rb +17 -0
  593. data/tests/rackspace/models/identity/users_tests.rb +17 -0
  594. data/tests/rackspace/models/load_balancers/access_list_tests.rb +12 -0
  595. data/tests/rackspace/models/load_balancers/access_lists_tests.rb +12 -0
  596. data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +229 -0
  597. data/tests/rackspace/models/load_balancers/load_balancers_tests.rb +19 -0
  598. data/tests/rackspace/models/load_balancers/node_tests.rb +19 -0
  599. data/tests/rackspace/models/load_balancers/nodes_tests.rb +12 -0
  600. data/tests/rackspace/models/load_balancers/virtual_ip_tests.rb +16 -0
  601. data/tests/rackspace/models/load_balancers/virtual_ips_tests.rb +12 -0
  602. data/tests/rackspace/models/monitoring/agent_token_tests.rb +9 -0
  603. data/tests/rackspace/models/monitoring/agent_tokens_tests.rb +9 -0
  604. data/tests/rackspace/models/monitoring/alarm_example_tests.rb +18 -0
  605. data/tests/rackspace/models/monitoring/alarm_examples_tests.rb +19 -0
  606. data/tests/rackspace/models/monitoring/alarm_tests.rb +59 -0
  607. data/tests/rackspace/models/monitoring/alarms_tests.rb +25 -0
  608. data/tests/rackspace/models/monitoring/check_tests.rb +49 -0
  609. data/tests/rackspace/models/monitoring/check_types_tests.rb +14 -0
  610. data/tests/rackspace/models/monitoring/checks_tests.rb +16 -0
  611. data/tests/rackspace/models/monitoring/data_points_tests.rb +19 -0
  612. data/tests/rackspace/models/monitoring/entities_tests.rb +14 -0
  613. data/tests/rackspace/models/monitoring/entity_tests.rb +26 -0
  614. data/tests/rackspace/models/monitoring/metric_tests.rb +19 -0
  615. data/tests/rackspace/models/monitoring/metrics_tests.rb +17 -0
  616. data/tests/rackspace/models/monitoring/notification_tests.rb +19 -0
  617. data/tests/rackspace/models/monitoring/notifications_tests.rb +10 -0
  618. data/tests/rackspace/models/networking/network_tests.rb +10 -0
  619. data/tests/rackspace/models/networking/networks_tests.rb +10 -0
  620. data/tests/rackspace/models/networking/virtual_interface_tests.rb +33 -0
  621. data/tests/rackspace/models/networking/virtual_interfaces_tests.rb +24 -0
  622. data/tests/rackspace/models/queues/claim_tests.rb +41 -0
  623. data/tests/rackspace/models/queues/claims_tests.rb +53 -0
  624. data/tests/rackspace/models/queues/message_tests.rb +49 -0
  625. data/tests/rackspace/models/queues/messages_tests.rb +16 -0
  626. data/tests/rackspace/models/queues/queue_tests.rb +37 -0
  627. data/tests/rackspace/models/queues/queues_tests.rb +8 -0
  628. data/tests/rackspace/models/storage/account_tests.rb +26 -0
  629. data/tests/rackspace/models/storage/directories_tests.rb +26 -0
  630. data/tests/rackspace/models/storage/directory_tests.rb +138 -0
  631. data/tests/rackspace/models/storage/file_tests.rb +400 -0
  632. data/tests/rackspace/models/storage/files_tests.rb +39 -0
  633. data/tests/rackspace/models/storage/metadata_tests.rb +208 -0
  634. data/tests/rackspace/monitoring_tests.rb +76 -0
  635. data/tests/rackspace/networking_tests.rb +118 -0
  636. data/tests/rackspace/queues_tests.rb +105 -0
  637. data/tests/rackspace/rackspace_tests.rb +56 -0
  638. data/tests/rackspace/requests/auto_scale/config_tests.rb +97 -0
  639. data/tests/rackspace/requests/auto_scale/group_tests.rb +50 -0
  640. data/tests/rackspace/requests/auto_scale/helper.rb +224 -0
  641. data/tests/rackspace/requests/auto_scale/policy_tests.rb +71 -0
  642. data/tests/rackspace/requests/auto_scale/webhook_tests.rb +58 -0
  643. data/tests/rackspace/requests/block_storage/snapshot_tests.rb +80 -0
  644. data/tests/rackspace/requests/block_storage/volume_tests.rb +75 -0
  645. data/tests/rackspace/requests/block_storage/volume_type_tests.rb +21 -0
  646. data/tests/rackspace/requests/cdn/cdn_tests.rb +75 -0
  647. data/tests/rackspace/requests/compute/address_tests.rb +42 -0
  648. data/tests/rackspace/requests/compute/flavor_tests.rb +39 -0
  649. data/tests/rackspace/requests/compute/helper.rb +10 -0
  650. data/tests/rackspace/requests/compute/image_tests.rb +70 -0
  651. data/tests/rackspace/requests/compute/resize_tests.rb +35 -0
  652. data/tests/rackspace/requests/compute/server_tests.rb +94 -0
  653. data/tests/rackspace/requests/compute_v2/address_tests.rb +45 -0
  654. data/tests/rackspace/requests/compute_v2/attachment_tests.rb +66 -0
  655. data/tests/rackspace/requests/compute_v2/flavor_tests.rb +47 -0
  656. data/tests/rackspace/requests/compute_v2/image_tests.rb +77 -0
  657. data/tests/rackspace/requests/compute_v2/keypair_tests.rb +55 -0
  658. data/tests/rackspace/requests/compute_v2/metadata_tests.rb +104 -0
  659. data/tests/rackspace/requests/compute_v2/network_tests.rb +49 -0
  660. data/tests/rackspace/requests/compute_v2/server_tests.rb +172 -0
  661. data/tests/rackspace/requests/compute_v2/virtual_interface_tests.rb +49 -0
  662. data/tests/rackspace/requests/databases/database_tests.rb +39 -0
  663. data/tests/rackspace/requests/databases/flavor_tests.rb +16 -0
  664. data/tests/rackspace/requests/databases/helper.rb +79 -0
  665. data/tests/rackspace/requests/databases/instance_tests.rb +77 -0
  666. data/tests/rackspace/requests/databases/user_tests.rb +37 -0
  667. data/tests/rackspace/requests/dns/dns_tests.rb +125 -0
  668. data/tests/rackspace/requests/dns/helper.rb +124 -0
  669. data/tests/rackspace/requests/dns/records_tests.rb +83 -0
  670. data/tests/rackspace/requests/identity/tenants_tests.rb +21 -0
  671. data/tests/rackspace/requests/identity/token_tests.rb +70 -0
  672. data/tests/rackspace/requests/identity/user_tests.rb +106 -0
  673. data/tests/rackspace/requests/load_balancers/access_list_tests.rb +56 -0
  674. data/tests/rackspace/requests/load_balancers/algorithm_tests.rb +19 -0
  675. data/tests/rackspace/requests/load_balancers/connection_logging_tests.rb +25 -0
  676. data/tests/rackspace/requests/load_balancers/connection_throttling_tests.rb +37 -0
  677. data/tests/rackspace/requests/load_balancers/content_caching_tests.rb +25 -0
  678. data/tests/rackspace/requests/load_balancers/error_page_tests.rb +31 -0
  679. data/tests/rackspace/requests/load_balancers/get_stats_tests.rb +13 -0
  680. data/tests/rackspace/requests/load_balancers/helper.rb +229 -0
  681. data/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +86 -0
  682. data/tests/rackspace/requests/load_balancers/load_balancer_usage_tests.rb +19 -0
  683. data/tests/rackspace/requests/load_balancers/monitor_tests.rb +46 -0
  684. data/tests/rackspace/requests/load_balancers/node_tests.rb +93 -0
  685. data/tests/rackspace/requests/load_balancers/protocol_tests.rb +21 -0
  686. data/tests/rackspace/requests/load_balancers/session_persistence_tests.rb +33 -0
  687. data/tests/rackspace/requests/load_balancers/ssl_termination_tests.rb +38 -0
  688. data/tests/rackspace/requests/load_balancers/usage_tests.rb +19 -0
  689. data/tests/rackspace/requests/load_balancers/virtual_ip_tests.rb +40 -0
  690. data/tests/rackspace/requests/monitoring/agent_tests.rb +74 -0
  691. data/tests/rackspace/requests/monitoring/alarm_example_tests.rb +30 -0
  692. data/tests/rackspace/requests/monitoring/alarm_tests.rb +55 -0
  693. data/tests/rackspace/requests/monitoring/check_tests.rb +39 -0
  694. data/tests/rackspace/requests/monitoring/entity_tests.rb +36 -0
  695. data/tests/rackspace/requests/monitoring/helper.rb +139 -0
  696. data/tests/rackspace/requests/monitoring/list_tests.rb +83 -0
  697. data/tests/rackspace/requests/monitoring/notification_tests.rb +46 -0
  698. data/tests/rackspace/requests/networking/network_tests.rb +49 -0
  699. data/tests/rackspace/requests/networking/virtual_interface_tests.rb +49 -0
  700. data/tests/rackspace/requests/queues/claim_tests.rb +60 -0
  701. data/tests/rackspace/requests/queues/helper.rb +50 -0
  702. data/tests/rackspace/requests/queues/messages_tests.rb +54 -0
  703. data/tests/rackspace/requests/queues/queues_tests.rb +38 -0
  704. data/tests/rackspace/requests/storage/account_tests.rb +15 -0
  705. data/tests/rackspace/requests/storage/container_tests.rb +67 -0
  706. data/tests/rackspace/requests/storage/large_object_tests.rb +355 -0
  707. data/tests/rackspace/requests/storage/object_tests.rb +230 -0
  708. data/tests/rackspace/service_tests.rb +82 -0
  709. data/tests/rackspace/storage_tests.rb +128 -0
  710. data/tests/rackspace/url_encoding_tests.rb +5 -0
  711. metadata +880 -0
@@ -0,0 +1,37 @@
1
+ Shindo.tests('Fog::Rackspace::Database | user_tests', ['rackspace']) do
2
+
3
+ pending if Fog.mocking?
4
+
5
+ service = Fog::Rackspace::Databases.new
6
+ instance_name = 'fog' + Time.now.to_i.to_s
7
+ instance_id = service.create_instance(instance_name, 1, 1).body['instance']['id']
8
+
9
+ wait_for_request("Waiting for database to be created") do
10
+ service.get_instance(instance_id).body["instance"]["status"] == 'ACTIVE'
11
+ end
12
+
13
+ tests('success') do
14
+ user_name = 'fog' + Time.now.to_i.to_s
15
+ password = 'password1'
16
+
17
+ tests("#create_user(#{instance_id}, #{user_name}, #{password})").returns(202) do
18
+ service.create_user(instance_id, user_name, password).status
19
+ end
20
+
21
+ tests("#list_users{#{instance_id})").formats(LIST_USERS_FORMAT) do
22
+ service.list_users(instance_id).body
23
+ end
24
+
25
+ tests("#delete_user(#{instance_id}, #{user_name})").returns(202) do
26
+ service.delete_user(instance_id, user_name).status
27
+ end
28
+ end
29
+
30
+ tests('failure') do
31
+ tests("#create_user(#{instance_id}, '', '') => Invalid Create Critera").raises(Fog::Rackspace::Databases::BadRequest) do
32
+ service.create_user(instance_id, '', '')
33
+ end
34
+ end
35
+
36
+ service.delete_instance(instance_id)
37
+ end
@@ -0,0 +1,125 @@
1
+ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
2
+
3
+ pending if Fog.mocking?
4
+ domain_name = uniq_id + '.com'
5
+
6
+ tests('success on simple domain') do
7
+ domain_tests(Fog::DNS[:rackspace], {:name => domain_name, :email => 'hostmaster@' + domain_name, :records => [{:ttl => 300, :name => domain_name, :type => 'A', :data => '192.168.1.1'}]}) do
8
+
9
+ tests('list_domains').formats(LIST_DOMAIN_FORMAT.reject {|key,value| key == 'links'}) do
10
+ Fog::DNS[:rackspace].list_domains.body
11
+ end
12
+
13
+ tests("list_domains :limit => 5, :offset => 10, :domain => #{@domain_details.first['name']} --> All possible attributes").formats(LIST_DOMAIN_FORMAT) do
14
+ Fog::DNS[:rackspace].list_domains(:limit => 5, :offset => 10, :domain => @domain_details.first['name']).body
15
+ end
16
+
17
+ tests("list_domain_details('#{@domain_id}')").formats(LIST_DOMAIN_DETAILS_WITH_RECORDS) do
18
+ Fog::DNS[:rackspace].list_domain_details(@domain_id).body
19
+ end
20
+
21
+ tests("modify_domain('#{@domain_id}', :ttl => 500, :comment => 'woot', :email => 'randomemail@randomhost.com')").succeeds do
22
+ response = Fog::DNS[:rackspace].modify_domain @domain_id, :ttl => 500, :comment => 'woot', :email => 'randomemail@randomhost.com'
23
+ wait_for Fog::DNS[:rackspace], response
24
+ end
25
+ end
26
+ end
27
+
28
+ tests('success for domain with multiple records') do
29
+ domain_tests(Fog::DNS[:rackspace],
30
+ {
31
+ :name => domain_name,
32
+ :email => 'hostmaster@' + domain_name,
33
+ :records =>
34
+ [
35
+ {
36
+ :ttl => 300,
37
+ :name => domain_name,
38
+ :type => 'A',
39
+ :data => '192.168.1.1'
40
+ },
41
+ {
42
+ :ttl => 3600,
43
+ :name => domain_name,
44
+ :type => 'MX',
45
+ :data => 'mx.' + domain_name,
46
+ :priority => 10
47
+ }
48
+ ]
49
+ })
50
+ end
51
+
52
+ tests('success for multiple domains') do
53
+ domain1_name = uniq_id + '-1.com'
54
+ domain2_name = uniq_id + '-2.com'
55
+
56
+ domains_tests(Fog::DNS[:rackspace],
57
+ [
58
+ {:name => domain1_name, :email => 'hostmaster@' + domain1_name, :records => [{:ttl => 300, :name => domain1_name, :type => 'A', :data => '192.168.1.1'}]},
59
+ {:name => domain2_name, :email => 'hostmaster@' + domain2_name, :records => [{:ttl => 300, :name => domain2_name, :type => 'A', :data => '192.168.1.1'}]}
60
+ ])
61
+ end
62
+
63
+ tests('success for domain with subdomain') do
64
+ domains_tests(Fog::DNS[:rackspace],
65
+ [
66
+ {:name => domain_name, :email => 'hostmaster@' + domain_name, :records => [{:ttl => 300, :name => domain_name, :type => 'A', :data => '192.168.1.1'}]},
67
+ {:name => 'subdomain.' + domain_name, :email => 'hostmaster@subdomain.' + domain_name, :records => [{:ttl => 300, :name =>'subdomain.' + domain_name, :type => 'A', :data => '192.168.1.1'}]}
68
+ ], true) do
69
+
70
+ @root_domain_id = @domain_details.find { |domain| domain['name'] == domain_name }['id']
71
+
72
+ tests("list_domain_details('#{@root_domain_id}', :show_records => false, :show_subdomains => false)") do
73
+ response = Fog::DNS[:rackspace].list_domain_details(@root_domain_id, :show_records => false, :show_subdomains => false)
74
+
75
+ formats(LIST_DOMAIN_DETAILS_WITHOUT_RECORDS_AND_SUBDOMAINS_FORMAT) { response.body }
76
+ returns(nil) { response.body['recordsList'] }
77
+ returns(nil) { response.body['subdomains'] }
78
+ end
79
+
80
+ tests("list_domain_details('#{@root_domain_id}', :show_records => true, :show_subdomains => true)") do
81
+ response = Fog::DNS[:rackspace].list_domain_details(@root_domain_id, :show_records => true, :show_subdomains => true)
82
+
83
+ formats(LIST_DOMAIN_DETAILS_WITH_RECORDS_AND_SUBDOMAINS_FORMAT) { response.body }
84
+ returns(false) { response.body['recordsList'].nil? }
85
+ returns(false) { response.body['subdomains'].nil? }
86
+ end
87
+
88
+ tests("list_subdomains('#{@root_domain_id}')").formats(LIST_SUBDOMAINS_FORMAT) do
89
+ Fog::DNS[:rackspace].list_subdomains(@root_domain_id).body
90
+ end
91
+
92
+ tests("remove_domain('#{@root_domain_id}', :delete_subdomains => true)") do
93
+ wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].remove_domain(@root_domain_id, :delete_subdomains => true)
94
+
95
+ test('domain and subdomains were really deleted') do
96
+ (Fog::DNS[:rackspace].list_domains.body['domains'].map { |domain| domain['name'] } & [domain_name, 'subdomain.' + domain_name]).empty?
97
+ end
98
+ end
99
+ end
100
+ end
101
+
102
+ tests( 'failure') do
103
+
104
+ tests('create_domain(invalid)').returns('ERROR') do
105
+ response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].create_domains([{:name => 'badtestdomain.com', :email => '', :records => [{:ttl => 300, :name => 'badtestdomain.com', :type => 'A', :data => '192.168.1.1'}]}])
106
+
107
+ response.body['status']
108
+ end
109
+
110
+ tests('list_domains :limit => 5, :offset => 8').raises(Fog::Rackspace::Errors::BadRequest) do
111
+ Fog::DNS[:rackspace].list_domains :limit => 5, :offset => 8
112
+ end
113
+
114
+ tests('list_domain_details 34335353').raises(Fog::DNS::Rackspace::NotFound) do
115
+ Fog::DNS[:rackspace].list_domain_details 34335353
116
+ end
117
+
118
+ #tests('create_domains(#{domains})').raises(Fog::Rackspace::Errors::Conflict) do
119
+ # wait_for Fog::DNS[:rackspace].create_domains(domains)
120
+ #end
121
+ #tests('remove_domain(34343435)').raises(Fog::DNS::Rackspace::DeleteFault) do
122
+ # Fog::DNS[:rackspace].remove_domain 34343435
123
+ #end
124
+ end
125
+ end
@@ -0,0 +1,124 @@
1
+ SUBDOMAIN_FORMAT = {
2
+ 'name' => String,
3
+ 'id' => Integer,
4
+ 'created' => String,
5
+ 'updated' => String,
6
+ 'emailAddress' => String
7
+ }
8
+
9
+ DOMAIN_FORMAT = SUBDOMAIN_FORMAT.merge({
10
+ 'accountId' => Integer
11
+ })
12
+
13
+ LIST_SUBDOMAINS_FORMAT = {
14
+ 'domains' => [SUBDOMAIN_FORMAT],
15
+ 'totalEntries' => Integer
16
+ }
17
+
18
+ LIST_DOMAIN_FORMAT = {
19
+ 'domains' => [DOMAIN_FORMAT],
20
+ 'totalEntries' => Integer,
21
+ 'links' => [
22
+ {
23
+ 'rel' => String,
24
+ 'href' => String
25
+ }
26
+ ]
27
+ }
28
+
29
+ RECORD_FORMAT = {
30
+ 'name' => String,
31
+ 'id' => String,
32
+ 'type' => String,
33
+ 'data' => String,
34
+ 'updated' => String,
35
+ 'created' => String,
36
+ 'ttl' => Integer,
37
+ 'priority' => Fog::Nullable::Integer
38
+ }
39
+
40
+ RECORD_LIST_FORMAT = {
41
+ 'records' => [RECORD_FORMAT],
42
+ #In some cases this is returned (domain details) and in some cases it isn't (create domain). Marking as nullable.
43
+ 'totalEntries' => Fog::Nullable::Integer
44
+ }
45
+
46
+ NAME_SERVERS_FORMAT = [{
47
+ 'name' => String
48
+ }]
49
+
50
+ BASIC_DOMAIN_DETAIL_FORMAT = DOMAIN_FORMAT.merge({
51
+ 'nameservers' => NAME_SERVERS_FORMAT,
52
+ 'ttl' => Integer
53
+ })
54
+
55
+ LIST_DOMAIN_DETAILS_WITH_RECORDS = BASIC_DOMAIN_DETAIL_FORMAT.merge({
56
+ 'recordsList' => RECORD_LIST_FORMAT
57
+ })
58
+
59
+ LIST_DOMAIN_DETAILS_WITH_RECORDS_AND_SUBDOMAINS_FORMAT = BASIC_DOMAIN_DETAIL_FORMAT.merge({
60
+ 'recordsList' => RECORD_LIST_FORMAT,
61
+ 'subdomains' => {
62
+ 'domains' => [SUBDOMAIN_FORMAT],
63
+ 'totalEntries' => Integer
64
+ }
65
+ })
66
+
67
+ LIST_DOMAIN_DETAILS_WITHOUT_RECORDS_AND_SUBDOMAINS_FORMAT = BASIC_DOMAIN_DETAIL_FORMAT
68
+
69
+ CREATE_DOMAINS_FORMAT = {
70
+ 'domains' => [
71
+ BASIC_DOMAIN_DETAIL_FORMAT.merge({
72
+ 'recordsList' => RECORD_LIST_FORMAT
73
+ })
74
+ ]
75
+ }
76
+
77
+ def wait_for(service, response)
78
+ job_id = response.body['jobId']
79
+ Fog.wait_for do
80
+ response = service.callback(job_id)
81
+ response.body['status'] != 'RUNNING'
82
+ end
83
+ response
84
+ end
85
+
86
+ def domain_tests(service, domain_attributes)
87
+ tests("create_domains([#{domain_attributes}])").formats(CREATE_DOMAINS_FORMAT) do
88
+ response = wait_for service, service.create_domains([domain_attributes])
89
+ @domain_details = response.body['response']['domains']
90
+ @domain_id = @domain_details[0]['id']
91
+ response.body['response']
92
+ end
93
+
94
+ begin
95
+ if block_given?
96
+ yield
97
+ end
98
+ ensure
99
+ tests("remove_domain('#{@domain_id}')").succeeds do
100
+ wait_for service, service.remove_domain(@domain_id)
101
+ end
102
+ end
103
+ end
104
+
105
+ def domains_tests(service, domains_attributes, custom_delete = false)
106
+ tests("create_domains(#{domains_attributes})").formats(CREATE_DOMAINS_FORMAT) do
107
+ response = wait_for service, service.create_domains(domains_attributes)
108
+ @domain_details = response.body['response']['domains']
109
+ @domain_ids = @domain_details.map { |domain| domain['id'] }
110
+ response.body['response']
111
+ end
112
+
113
+ begin
114
+ if block_given?
115
+ yield
116
+ end
117
+ ensure
118
+ if !custom_delete
119
+ tests("remove_domains(#{@domain_ids})").succeeds do
120
+ wait_for service, service.remove_domains(@domain_ids)
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,83 @@
1
+ Shindo.tests('Fog::DNS[:rackspace] | dns records requests', ['rackspace', 'dns']) do
2
+
3
+ pending if Fog.mocking?
4
+
5
+ domain_name = uniq_id + '.com'
6
+
7
+ domain_tests(Fog::DNS[:rackspace], {:name => domain_name, :email => 'hostmaster@' + domain_name, :records => [{:ttl => 300, :name => domain_name, :type => 'A', :data => '192.168.1.1'}]}) do
8
+
9
+ tests('success on single record') do
10
+
11
+ tests("list_records(#{@domain_id})").formats(RECORD_LIST_FORMAT) do
12
+ Fog::DNS[:rackspace].list_records(@domain_id).body
13
+ end
14
+
15
+ tests("add_records(#{@domain_id}, [{ :name => 'test1.#{domain_name}', :type => 'A', :data => '192.168.2.1', :ttl => 550}])").formats(RECORD_LIST_FORMAT) do
16
+ response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, [{ :name => 'test1.' + domain_name, :type => 'A', :data => '192.168.2.1', :ttl => 550}])
17
+ @record_id = response.body['response']['records'].first['id']
18
+ response.body['response']
19
+ end
20
+
21
+ tests("list_record_details(#{@domain_id}, #{@record_id})").formats(RECORD_FORMAT) do
22
+ Fog::DNS[:rackspace].list_record_details(@domain_id, @record_id).body
23
+ end
24
+
25
+ tests("modify_record(#{@domain_id}, #{@record_id}, { :ttl => 500, :name => 'test2.#{domain_name}', :data => '192.168.3.1' })").succeeds do
26
+ wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].modify_record(@domain_id, @record_id, { :ttl => 500, :name => 'test2.' + domain_name, :data => '192.168.3.1' })
27
+ end
28
+
29
+ tests("remove_record(#{@domain_id}, #{@record_id})").succeeds do
30
+ wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].remove_record(@domain_id, @record_id)
31
+ end
32
+ end
33
+
34
+ tests('success on multiple records') do
35
+
36
+ records_attributes =
37
+ [
38
+ { :name => 'test1.' + domain_name, :type => 'A', :data => '192.168.2.1'},
39
+ { :name => domain_name, :type => 'MX', :priority => 10, :data => 'mx.' + domain_name}
40
+ ]
41
+
42
+ tests("add_records(#{@domain_id}, #{records_attributes})").formats(RECORD_LIST_FORMAT) do
43
+ response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, records_attributes)
44
+ @record_ids = response.body['response']['records'].map { |record| record['id'] }
45
+ response.body['response']
46
+ end
47
+
48
+ tests("remove_records(#{@domain_id}, #{@record_ids})").succeeds do
49
+ wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].remove_records(@domain_id, @record_ids)
50
+ end
51
+ end
52
+
53
+ tests( 'failure') do
54
+ tests("list_records('')").raises(ArgumentError) do
55
+ Fog::DNS[:rackspace].list_records('')
56
+ end
57
+
58
+ tests("list_records('abc')").raises(Fog::DNS::Rackspace::NotFound) do
59
+ Fog::DNS[:rackspace].list_records('abc')
60
+ end
61
+
62
+ tests("list_record_details(#{@domain_id}, '')").raises(ArgumentError) do
63
+ Fog::DNS[:rackspace].list_record_details(@domain_id, '')
64
+ end
65
+
66
+ tests("list_record_details(#{@domain_id}, 'abc')").raises(Fog::DNS::Rackspace::NotFound) do
67
+ Fog::DNS[:rackspace].list_record_details(@domain_id, 'abc')
68
+ end
69
+
70
+ tests("remove_record(#{@domain_id}, '')").raises(ArgumentError) do
71
+ Fog::DNS[:rackspace].remove_record(@domain_id, '')
72
+ end
73
+
74
+ tests("remove_record(#{@domain_id}, 'abc')").raises(Fog::DNS::Rackspace::NotFound) do
75
+ Fog::DNS[:rackspace].remove_record(@domain_id, 'abc')
76
+ end
77
+
78
+ tests("add_record(#{@domain_id}, [{ :name => '', :type => '', :data => ''}])").raises(Fog::Rackspace::Errors::BadRequest) do
79
+ Fog::DNS[:rackspace].add_records(@domain_id, [{ :name => '', :type => '', :data => ''}])
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,21 @@
1
+ Shindo.tests('Fog::Rackspace::Identity | tenants', ['rackspace']) do
2
+
3
+ pending if Fog.mock?
4
+
5
+ TENANTS_FORMATS = {
6
+ 'tenants' => [{
7
+ 'id' => String,
8
+ 'name' => String,
9
+ 'description' => Fog::Nullable::String,
10
+ 'enabled' => Fog::Nullable::Boolean
11
+ }]
12
+ }
13
+
14
+ service = Fog::Rackspace::Identity.new
15
+
16
+ tests('success') do
17
+ tests('#list_tenants').formats(TENANTS_FORMATS) do
18
+ service.list_tenants().body
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,70 @@
1
+ Shindo.tests('Fog::Rackspace::Identity | tokens', ['rackspace']) do
2
+ ROLE_FORMAT = {
3
+ 'id' => String,
4
+ 'name' => String,
5
+ 'description' => String
6
+ }
7
+
8
+ ENDPOINT_FORMAT = {
9
+ 'tenantId' => String,
10
+ 'publicURL' => Fog::Nullable::String,
11
+ 'internalURL' => Fog::Nullable::String,
12
+ 'region' => Fog::Nullable::String,
13
+ 'versionId' => Fog::Nullable::String,
14
+ 'versionInfo' => Fog::Nullable::String,
15
+ 'versionList' => Fog::Nullable::String
16
+ }
17
+
18
+ SERVICE_FORMAT = {
19
+ 'name' => String,
20
+ 'type' => String,
21
+ 'endpoints' => [ENDPOINT_FORMAT]
22
+ }
23
+
24
+ ACCESS_FORMAT = {
25
+ 'access' => {
26
+ 'token' => {
27
+ 'id' => String,
28
+ 'expires' => String,
29
+ 'tenant' => {
30
+ 'id' => String,
31
+ 'name' => String
32
+ }
33
+ },
34
+ 'user' => {
35
+ 'id' => String,
36
+ 'name' => String,
37
+ 'roles' => [ROLE_FORMAT]
38
+ },
39
+ 'serviceCatalog' => [SERVICE_FORMAT]
40
+ }
41
+ }
42
+
43
+ service = Fog::Rackspace::Identity.new
44
+
45
+ tests('success') do
46
+ credentials = Fog.credentials
47
+ username = credentials[:rackspace_username]
48
+ api_key = credentials[:rackspace_api_key]
49
+
50
+ tests('#create_token').formats(ACCESS_FORMAT) do
51
+ service.create_token(username, api_key).body
52
+ end
53
+
54
+ tests('uses connection options').returns(true) do
55
+ pending if Fog.mocking?
56
+ identity_service = Fog::Rackspace::Identity.new(:connection_options => { :ssl_verify_peer => true })
57
+
58
+ connection = identity_service.instance_variable_get("@connection")
59
+ excon = connection.instance_variable_get("@excon")
60
+ data = excon.instance_variable_get("@data")
61
+ data.key?(:ssl_verify_peer)
62
+ end
63
+ end
64
+
65
+ tests('failure') do
66
+ tests('#create_token(invalidname, invalidkey').raises(Excon::Errors::HTTPStatusError) do
67
+ service.create_token('baduser', 'badkey')
68
+ end
69
+ end
70
+ end