fog 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (990) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +3 -1
  3. data/RELEASE.md +39 -0
  4. data/Rakefile +39 -14
  5. data/bin/fog +4 -0
  6. data/changelog.txt +430 -0
  7. data/docs/storage/aws.markdown +21 -0
  8. data/fog.gemspec +2 -2
  9. data/lib/fog/atmos/models/storage/directories.rb +2 -2
  10. data/lib/fog/atmos/models/storage/directory.rb +11 -11
  11. data/lib/fog/atmos/models/storage/file.rb +8 -8
  12. data/lib/fog/atmos/models/storage/files.rb +3 -3
  13. data/lib/fog/aws.rb +1 -0
  14. data/lib/fog/aws/compute.rb +2 -1
  15. data/lib/fog/aws/dynamodb.rb +1 -1
  16. data/lib/fog/aws/elasticache.rb +3 -1
  17. data/lib/fog/aws/models/auto_scaling/activities.rb +2 -2
  18. data/lib/fog/aws/models/auto_scaling/activity.rb +1 -1
  19. data/lib/fog/aws/models/auto_scaling/configuration.rb +2 -2
  20. data/lib/fog/aws/models/auto_scaling/configurations.rb +2 -2
  21. data/lib/fog/aws/models/auto_scaling/group.rb +12 -12
  22. data/lib/fog/aws/models/auto_scaling/groups.rb +2 -2
  23. data/lib/fog/aws/models/auto_scaling/instance.rb +5 -5
  24. data/lib/fog/aws/models/auto_scaling/instances.rb +2 -2
  25. data/lib/fog/aws/models/auto_scaling/policies.rb +2 -2
  26. data/lib/fog/aws/models/auto_scaling/policy.rb +2 -2
  27. data/lib/fog/aws/models/beanstalk/application.rb +7 -7
  28. data/lib/fog/aws/models/beanstalk/applications.rb +2 -2
  29. data/lib/fog/aws/models/beanstalk/environment.rb +10 -10
  30. data/lib/fog/aws/models/beanstalk/environments.rb +2 -2
  31. data/lib/fog/aws/models/beanstalk/events.rb +1 -1
  32. data/lib/fog/aws/models/beanstalk/template.rb +5 -5
  33. data/lib/fog/aws/models/beanstalk/templates.rb +3 -3
  34. data/lib/fog/aws/models/beanstalk/version.rb +6 -6
  35. data/lib/fog/aws/models/beanstalk/versions.rb +2 -2
  36. data/lib/fog/aws/models/cdn/distribution.rb +4 -4
  37. data/lib/fog/aws/models/cdn/distributions.rb +2 -2
  38. data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
  39. data/lib/fog/aws/models/cdn/invalidations.rb +2 -2
  40. data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
  41. data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -2
  42. data/lib/fog/aws/models/cloud_watch/alarm.rb +2 -2
  43. data/lib/fog/aws/models/cloud_watch/alarm_data.rb +9 -9
  44. data/lib/fog/aws/models/cloud_watch/alarm_datum.rb +3 -3
  45. data/lib/fog/aws/models/cloud_watch/alarm_histories.rb +1 -1
  46. data/lib/fog/aws/models/cloud_watch/alarms.rb +7 -7
  47. data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +2 -2
  48. data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +3 -3
  49. data/lib/fog/aws/models/cloud_watch/metrics.rb +27 -7
  50. data/lib/fog/aws/models/compute/address.rb +9 -9
  51. data/lib/fog/aws/models/compute/addresses.rb +2 -2
  52. data/lib/fog/aws/models/compute/dhcp_option.rb +3 -3
  53. data/lib/fog/aws/models/compute/dhcp_options.rb +2 -2
  54. data/lib/fog/aws/models/compute/flavors.rb +1 -1
  55. data/lib/fog/aws/models/compute/image.rb +2 -2
  56. data/lib/fog/aws/models/compute/images.rb +5 -5
  57. data/lib/fog/aws/models/compute/internet_gateway.rb +4 -4
  58. data/lib/fog/aws/models/compute/internet_gateways.rb +2 -2
  59. data/lib/fog/aws/models/compute/key_pair.rb +4 -4
  60. data/lib/fog/aws/models/compute/key_pairs.rb +2 -2
  61. data/lib/fog/aws/models/compute/network_interface.rb +3 -3
  62. data/lib/fog/aws/models/compute/network_interfaces.rb +2 -2
  63. data/lib/fog/aws/models/compute/security_group.rb +7 -7
  64. data/lib/fog/aws/models/compute/security_groups.rb +3 -3
  65. data/lib/fog/aws/models/compute/server.rb +20 -16
  66. data/lib/fog/aws/models/compute/servers.rb +6 -6
  67. data/lib/fog/aws/models/compute/snapshot.rb +4 -4
  68. data/lib/fog/aws/models/compute/snapshots.rb +3 -3
  69. data/lib/fog/aws/models/compute/spot_request.rb +18 -8
  70. data/lib/fog/aws/models/compute/spot_requests.rb +11 -11
  71. data/lib/fog/aws/models/compute/subnet.rb +3 -3
  72. data/lib/fog/aws/models/compute/subnets.rb +2 -2
  73. data/lib/fog/aws/models/compute/tag.rb +2 -2
  74. data/lib/fog/aws/models/compute/tags.rb +3 -3
  75. data/lib/fog/aws/models/compute/volume.rb +12 -12
  76. data/lib/fog/aws/models/compute/volumes.rb +2 -2
  77. data/lib/fog/aws/models/compute/vpc.rb +2 -2
  78. data/lib/fog/aws/models/compute/vpcs.rb +2 -2
  79. data/lib/fog/aws/models/dns/record.rb +4 -4
  80. data/lib/fog/aws/models/dns/records.rb +3 -3
  81. data/lib/fog/aws/models/dns/zone.rb +3 -3
  82. data/lib/fog/aws/models/dns/zones.rb +2 -2
  83. data/lib/fog/aws/models/elasticache/cluster.rb +2 -2
  84. data/lib/fog/aws/models/elasticache/clusters.rb +2 -2
  85. data/lib/fog/aws/models/elasticache/parameter_group.rb +2 -2
  86. data/lib/fog/aws/models/elasticache/parameter_groups.rb +2 -2
  87. data/lib/fog/aws/models/elasticache/security_group.rb +4 -4
  88. data/lib/fog/aws/models/elasticache/security_groups.rb +2 -2
  89. data/lib/fog/aws/models/elb/listener.rb +2 -2
  90. data/lib/fog/aws/models/elb/load_balancer.rb +19 -19
  91. data/lib/fog/aws/models/elb/load_balancers.rb +2 -2
  92. data/lib/fog/aws/models/elb/policy.rb +3 -3
  93. data/lib/fog/aws/models/glacier/archive.rb +7 -7
  94. data/lib/fog/aws/models/glacier/job.rb +2 -2
  95. data/lib/fog/aws/models/glacier/jobs.rb +3 -3
  96. data/lib/fog/aws/models/glacier/vault.rb +7 -7
  97. data/lib/fog/aws/models/glacier/vaults.rb +2 -2
  98. data/lib/fog/aws/models/iam/access_key.rb +8 -8
  99. data/lib/fog/aws/models/iam/access_keys.rb +7 -7
  100. data/lib/fog/aws/models/iam/policies.rb +10 -10
  101. data/lib/fog/aws/models/iam/policy.rb +8 -8
  102. data/lib/fog/aws/models/iam/user.rb +10 -10
  103. data/lib/fog/aws/models/iam/users.rb +2 -2
  104. data/lib/fog/aws/models/rds/parameter.rb +2 -2
  105. data/lib/fog/aws/models/rds/parameter_group.rb +10 -10
  106. data/lib/fog/aws/models/rds/parameter_groups.rb +3 -3
  107. data/lib/fog/aws/models/rds/parameters.rb +2 -2
  108. data/lib/fog/aws/models/rds/security_group.rb +4 -4
  109. data/lib/fog/aws/models/rds/security_groups.rb +2 -2
  110. data/lib/fog/aws/models/rds/server.rb +10 -10
  111. data/lib/fog/aws/models/rds/servers.rb +3 -3
  112. data/lib/fog/aws/models/rds/snapshot.rb +3 -3
  113. data/lib/fog/aws/models/rds/snapshots.rb +3 -3
  114. data/lib/fog/aws/models/rds/subnet_groups.rb +2 -2
  115. data/lib/fog/aws/models/storage/directories.rb +2 -2
  116. data/lib/fog/aws/models/storage/directory.rb +13 -13
  117. data/lib/fog/aws/models/storage/file.rb +106 -14
  118. data/lib/fog/aws/models/storage/files.rb +10 -10
  119. data/lib/fog/aws/models/storage/version.rb +2 -2
  120. data/lib/fog/aws/models/storage/versions.rb +3 -3
  121. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +22 -0
  122. data/lib/fog/aws/parsers/compute/describe_instances.rb +8 -1
  123. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +5 -3
  124. data/lib/fog/aws/parsers/elasticache/describe_reserved_cache_nodes.rb +37 -0
  125. data/lib/fog/aws/parsers/storage/cors_configuration.rb +41 -0
  126. data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +45 -11
  127. data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +10 -1
  128. data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +7 -2
  129. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +17 -0
  130. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +27 -0
  131. data/lib/fog/aws/requests/compute/copy_snapshot.rb +58 -0
  132. data/lib/fog/aws/requests/elasticache/describe_reserved_cache_nodes.rb +42 -0
  133. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +5 -7
  134. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +12 -16
  135. data/lib/fog/aws/requests/storage/copy_object.rb +19 -20
  136. data/lib/fog/aws/requests/storage/cors_utils.rb +41 -0
  137. data/lib/fog/aws/requests/storage/delete_bucket.rb +4 -7
  138. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +29 -0
  139. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +4 -7
  140. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +5 -8
  141. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +4 -7
  142. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +24 -29
  143. data/lib/fog/aws/requests/storage/delete_object.rb +5 -8
  144. data/lib/fog/aws/requests/storage/get_bucket.rb +25 -28
  145. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +15 -18
  146. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +65 -0
  147. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +9 -12
  148. data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -8
  149. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +15 -18
  150. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +37 -43
  151. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +4 -7
  152. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +6 -9
  153. data/lib/fog/aws/requests/storage/get_bucket_website.rb +9 -11
  154. data/lib/fog/aws/requests/storage/get_object.rb +17 -20
  155. data/lib/fog/aws/requests/storage/get_object_acl.rb +18 -21
  156. data/lib/fog/aws/requests/storage/get_object_http_url.rb +6 -9
  157. data/lib/fog/aws/requests/storage/get_object_https_url.rb +6 -9
  158. data/lib/fog/aws/requests/storage/get_object_torrent.rb +15 -18
  159. data/lib/fog/aws/requests/storage/get_object_url.rb +7 -10
  160. data/lib/fog/aws/requests/storage/get_request_payment.rb +5 -8
  161. data/lib/fog/aws/requests/storage/get_service.rb +9 -11
  162. data/lib/fog/aws/requests/storage/head_object.rb +19 -22
  163. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +17 -20
  164. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +27 -32
  165. data/lib/fog/aws/requests/storage/list_parts.rb +25 -29
  166. data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +15 -17
  167. data/lib/fog/aws/requests/storage/put_bucket.rb +8 -11
  168. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +15 -17
  169. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +49 -0
  170. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +44 -15
  171. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +13 -15
  172. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +3 -5
  173. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +3 -5
  174. data/lib/fog/aws/requests/storage/put_bucket_website.rb +5 -7
  175. data/lib/fog/aws/requests/storage/put_object.rb +19 -22
  176. data/lib/fog/aws/requests/storage/put_object_acl.rb +17 -19
  177. data/lib/fog/aws/requests/storage/put_object_url.rb +6 -9
  178. data/lib/fog/aws/requests/storage/put_request_payment.rb +3 -5
  179. data/lib/fog/aws/requests/storage/upload_part.rb +12 -15
  180. data/lib/fog/aws/storage.rb +8 -1
  181. data/lib/fog/bin/rackspace.rb +7 -0
  182. data/lib/fog/bluebox/models/compute/flavors.rb +2 -2
  183. data/lib/fog/bluebox/models/compute/image.rb +8 -8
  184. data/lib/fog/bluebox/models/compute/images.rb +2 -2
  185. data/lib/fog/bluebox/models/compute/locations.rb +2 -2
  186. data/lib/fog/bluebox/models/compute/server.rb +10 -10
  187. data/lib/fog/bluebox/models/compute/servers.rb +2 -2
  188. data/lib/fog/bluebox/models/dns/record.rb +3 -3
  189. data/lib/fog/bluebox/models/dns/records.rb +2 -2
  190. data/lib/fog/bluebox/models/dns/zone.rb +3 -3
  191. data/lib/fog/bluebox/models/dns/zones.rb +2 -2
  192. data/lib/fog/bluebox/requests/compute/create_block.rb +2 -2
  193. data/lib/fog/brightbox/compute.rb +56 -9
  194. data/lib/fog/brightbox/models/compute/account.rb +1 -1
  195. data/lib/fog/brightbox/models/compute/accounts.rb +3 -3
  196. data/lib/fog/brightbox/models/compute/api_client.rb +4 -4
  197. data/lib/fog/brightbox/models/compute/api_clients.rb +2 -2
  198. data/lib/fog/brightbox/models/compute/application.rb +2 -2
  199. data/lib/fog/brightbox/models/compute/applications.rb +3 -3
  200. data/lib/fog/brightbox/models/compute/cloud_ip.rb +4 -3
  201. data/lib/fog/brightbox/models/compute/cloud_ips.rb +4 -4
  202. data/lib/fog/brightbox/models/compute/firewall_policies.rb +3 -3
  203. data/lib/fog/brightbox/models/compute/firewall_policy.rb +5 -5
  204. data/lib/fog/brightbox/models/compute/firewall_rule.rb +3 -3
  205. data/lib/fog/brightbox/models/compute/firewall_rules.rb +2 -2
  206. data/lib/fog/brightbox/models/compute/flavors.rb +3 -3
  207. data/lib/fog/brightbox/models/compute/image.rb +3 -3
  208. data/lib/fog/brightbox/models/compute/images.rb +2 -2
  209. data/lib/fog/brightbox/models/compute/load_balancer.rb +3 -3
  210. data/lib/fog/brightbox/models/compute/load_balancers.rb +2 -2
  211. data/lib/fog/brightbox/models/compute/server.rb +23 -17
  212. data/lib/fog/brightbox/models/compute/server_group.rb +6 -6
  213. data/lib/fog/brightbox/models/compute/server_groups.rb +3 -3
  214. data/lib/fog/brightbox/models/compute/servers.rb +3 -3
  215. data/lib/fog/brightbox/models/compute/user.rb +1 -1
  216. data/lib/fog/brightbox/models/compute/users.rb +3 -3
  217. data/lib/fog/brightbox/models/compute/zones.rb +3 -3
  218. data/lib/fog/brightbox/requests/compute/activate_console_server.rb +1 -1
  219. data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +1 -1
  220. data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +1 -1
  221. data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +1 -1
  222. data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +1 -1
  223. data/lib/fog/brightbox/requests/compute/create_api_client.rb +1 -1
  224. data/lib/fog/brightbox/requests/compute/create_application.rb +1 -1
  225. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +1 -1
  226. data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +1 -1
  227. data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +1 -1
  228. data/lib/fog/brightbox/requests/compute/create_image.rb +1 -1
  229. data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +1 -1
  230. data/lib/fog/brightbox/requests/compute/create_server.rb +1 -1
  231. data/lib/fog/brightbox/requests/compute/create_server_group.rb +1 -1
  232. data/lib/fog/brightbox/requests/compute/destroy_api_client.rb +1 -1
  233. data/lib/fog/brightbox/requests/compute/destroy_application.rb +1 -1
  234. data/lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb +1 -1
  235. data/lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb +1 -1
  236. data/lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb +1 -1
  237. data/lib/fog/brightbox/requests/compute/destroy_image.rb +1 -1
  238. data/lib/fog/brightbox/requests/compute/destroy_load_balancer.rb +1 -1
  239. data/lib/fog/brightbox/requests/compute/destroy_server.rb +1 -1
  240. data/lib/fog/brightbox/requests/compute/destroy_server_group.rb +1 -1
  241. data/lib/fog/brightbox/requests/compute/get_account.rb +1 -1
  242. data/lib/fog/brightbox/requests/compute/get_api_client.rb +1 -1
  243. data/lib/fog/brightbox/requests/compute/get_application.rb +1 -1
  244. data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +1 -1
  245. data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +1 -1
  246. data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +1 -1
  247. data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +1 -1
  248. data/lib/fog/brightbox/requests/compute/get_image.rb +1 -1
  249. data/lib/fog/brightbox/requests/compute/get_interface.rb +1 -1
  250. data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +1 -1
  251. data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +1 -1
  252. data/lib/fog/brightbox/requests/compute/get_server.rb +1 -1
  253. data/lib/fog/brightbox/requests/compute/get_server_group.rb +1 -1
  254. data/lib/fog/brightbox/requests/compute/get_server_type.rb +1 -1
  255. data/lib/fog/brightbox/requests/compute/get_user.rb +1 -1
  256. data/lib/fog/brightbox/requests/compute/get_zone.rb +1 -1
  257. data/lib/fog/brightbox/requests/compute/list_accounts.rb +1 -1
  258. data/lib/fog/brightbox/requests/compute/list_api_clients.rb +1 -1
  259. data/lib/fog/brightbox/requests/compute/list_applications.rb +1 -1
  260. data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +1 -1
  261. data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +1 -1
  262. data/lib/fog/brightbox/requests/compute/list_images.rb +1 -1
  263. data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +1 -1
  264. data/lib/fog/brightbox/requests/compute/list_server_groups.rb +1 -1
  265. data/lib/fog/brightbox/requests/compute/list_server_types.rb +1 -1
  266. data/lib/fog/brightbox/requests/compute/list_servers.rb +1 -1
  267. data/lib/fog/brightbox/requests/compute/list_users.rb +1 -1
  268. data/lib/fog/brightbox/requests/compute/list_zones.rb +1 -1
  269. data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +1 -1
  270. data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +1 -1
  271. data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +1 -1
  272. data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +1 -1
  273. data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +1 -1
  274. data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +1 -1
  275. data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +1 -1
  276. data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +1 -1
  277. data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +1 -1
  278. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +1 -1
  279. data/lib/fog/brightbox/requests/compute/shutdown_server.rb +1 -1
  280. data/lib/fog/brightbox/requests/compute/snapshot_server.rb +1 -1
  281. data/lib/fog/brightbox/requests/compute/start_server.rb +1 -1
  282. data/lib/fog/brightbox/requests/compute/stop_server.rb +1 -1
  283. data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +1 -1
  284. data/lib/fog/brightbox/requests/compute/update_account.rb +1 -1
  285. data/lib/fog/brightbox/requests/compute/update_api_client.rb +1 -1
  286. data/lib/fog/brightbox/requests/compute/update_application.rb +1 -1
  287. data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +1 -1
  288. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +1 -1
  289. data/lib/fog/brightbox/requests/compute/update_image.rb +1 -1
  290. data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +1 -1
  291. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +1 -1
  292. data/lib/fog/brightbox/requests/compute/update_server.rb +1 -1
  293. data/lib/fog/brightbox/requests/compute/update_server_group.rb +1 -1
  294. data/lib/fog/brightbox/requests/compute/update_user.rb +1 -1
  295. data/lib/fog/clodo/models/compute/images.rb +2 -2
  296. data/lib/fog/clodo/models/compute/server.rb +7 -7
  297. data/lib/fog/clodo/models/compute/servers.rb +2 -2
  298. data/lib/fog/cloudstack/models/compute/flavors.rb +2 -2
  299. data/lib/fog/cloudstack/models/compute/image.rb +2 -2
  300. data/lib/fog/cloudstack/models/compute/images.rb +2 -2
  301. data/lib/fog/cloudstack/models/compute/job.rb +2 -2
  302. data/lib/fog/cloudstack/models/compute/jobs.rb +2 -2
  303. data/lib/fog/cloudstack/models/compute/security_group.rb +3 -3
  304. data/lib/fog/cloudstack/models/compute/security_group_rule.rb +5 -5
  305. data/lib/fog/cloudstack/models/compute/security_group_rules.rb +1 -1
  306. data/lib/fog/cloudstack/models/compute/security_groups.rb +2 -2
  307. data/lib/fog/cloudstack/models/compute/server.rb +11 -11
  308. data/lib/fog/cloudstack/models/compute/servers.rb +2 -2
  309. data/lib/fog/cloudstack/models/compute/volume.rb +8 -8
  310. data/lib/fog/cloudstack/models/compute/volumes.rb +2 -2
  311. data/lib/fog/cloudstack/models/compute/zone.rb +1 -1
  312. data/lib/fog/cloudstack/models/compute/zones.rb +2 -2
  313. data/lib/fog/compute.rb +2 -1
  314. data/lib/fog/core/attributes.rb +20 -3
  315. data/lib/fog/core/collection.rb +17 -6
  316. data/lib/fog/core/deprecated_connection_accessors.rb +41 -0
  317. data/lib/fog/core/errors.rb +2 -0
  318. data/lib/fog/core/json.rb +4 -16
  319. data/lib/fog/core/logger.rb +2 -0
  320. data/lib/fog/core/model.rb +11 -1
  321. data/lib/fog/core/parser.rb +13 -0
  322. data/lib/fog/core/service.rb +1 -1
  323. data/lib/fog/core/wait_for.rb +1 -1
  324. data/lib/fog/dnsimple/models/dns/record.rb +4 -4
  325. data/lib/fog/dnsimple/models/dns/records.rb +2 -2
  326. data/lib/fog/dnsimple/models/dns/zone.rb +3 -3
  327. data/lib/fog/dnsimple/models/dns/zones.rb +2 -2
  328. data/lib/fog/dnsmadeeasy/models/dns/record.rb +5 -5
  329. data/lib/fog/dnsmadeeasy/models/dns/records.rb +2 -2
  330. data/lib/fog/dnsmadeeasy/models/dns/zone.rb +3 -3
  331. data/lib/fog/dnsmadeeasy/models/dns/zones.rb +2 -2
  332. data/lib/fog/dynect/models/dns/record.rb +3 -3
  333. data/lib/fog/dynect/models/dns/records.rb +2 -2
  334. data/lib/fog/dynect/models/dns/zone.rb +4 -4
  335. data/lib/fog/dynect/models/dns/zones.rb +2 -2
  336. data/lib/fog/ecloud.rb +19 -5
  337. data/lib/fog/ecloud/compute.rb +663 -351
  338. data/lib/fog/ecloud/generate_collection.rb +3 -3
  339. data/lib/fog/ecloud/models/compute/admin_organization.rb +14 -10
  340. data/lib/fog/ecloud/models/compute/admin_organizations.rb +1 -6
  341. data/lib/fog/ecloud/models/compute/api_keys.rb +2 -2
  342. data/lib/fog/ecloud/models/compute/association.rb +3 -3
  343. data/lib/fog/ecloud/models/compute/associations.rb +2 -2
  344. data/lib/fog/ecloud/models/compute/authentication_levels.rb +2 -2
  345. data/lib/fog/ecloud/models/compute/backup_internet_service.rb +7 -7
  346. data/lib/fog/ecloud/models/compute/backup_internet_services.rb +3 -3
  347. data/lib/fog/ecloud/models/compute/catalog.rb +2 -2
  348. data/lib/fog/ecloud/models/compute/catalog_configurations.rb +2 -2
  349. data/lib/fog/ecloud/models/compute/catalog_item.rb +1 -1
  350. data/lib/fog/ecloud/models/compute/compute_pool.rb +27 -15
  351. data/lib/fog/ecloud/models/compute/compute_pools.rb +2 -2
  352. data/lib/fog/ecloud/models/compute/cpu_usage_detail_summary.rb +2 -2
  353. data/lib/fog/ecloud/models/compute/detached_disk.rb +27 -0
  354. data/lib/fog/ecloud/models/compute/detached_disks.rb +31 -0
  355. data/lib/fog/ecloud/models/compute/environment.rb +27 -20
  356. data/lib/fog/ecloud/models/compute/environments.rb +2 -2
  357. data/lib/fog/ecloud/models/compute/firewall_acl.rb +1 -1
  358. data/lib/fog/ecloud/models/compute/firewall_acls.rb +2 -2
  359. data/lib/fog/ecloud/models/compute/group.rb +8 -6
  360. data/lib/fog/ecloud/models/compute/groups.rb +17 -6
  361. data/lib/fog/ecloud/models/compute/guest_processes.rb +2 -2
  362. data/lib/fog/ecloud/models/compute/hardware_configuration.rb +4 -4
  363. data/lib/fog/ecloud/models/compute/hardware_configurations.rb +2 -2
  364. data/lib/fog/ecloud/models/compute/internet_service.rb +35 -29
  365. data/lib/fog/ecloud/models/compute/internet_services.rb +11 -8
  366. data/lib/fog/ecloud/models/compute/ip_address.rb +17 -3
  367. data/lib/fog/ecloud/models/compute/ip_addresses.rb +7 -2
  368. data/lib/fog/ecloud/models/compute/layout.rb +1 -1
  369. data/lib/fog/ecloud/models/compute/layouts.rb +2 -2
  370. data/lib/fog/ecloud/models/compute/location.rb +1 -1
  371. data/lib/fog/ecloud/models/compute/locations.rb +2 -2
  372. data/lib/fog/ecloud/models/compute/login_banners.rb +2 -2
  373. data/lib/fog/ecloud/models/compute/memory_usage_detail_summary.rb +2 -2
  374. data/lib/fog/ecloud/models/compute/monitor.rb +4 -4
  375. data/lib/fog/ecloud/models/compute/monitors.rb +2 -2
  376. data/lib/fog/ecloud/models/compute/network.rb +22 -12
  377. data/lib/fog/ecloud/models/compute/networks.rb +9 -5
  378. data/lib/fog/ecloud/models/compute/node.rb +12 -6
  379. data/lib/fog/ecloud/models/compute/nodes.rb +7 -4
  380. data/lib/fog/ecloud/models/compute/operating_system_families.rb +2 -2
  381. data/lib/fog/ecloud/models/compute/operating_system_family.rb +1 -1
  382. data/lib/fog/ecloud/models/compute/operating_systems.rb +1 -1
  383. data/lib/fog/ecloud/models/compute/organization.rb +17 -17
  384. data/lib/fog/ecloud/models/compute/organizations.rb +3 -3
  385. data/lib/fog/ecloud/models/compute/password_complexity_rules.rb +2 -2
  386. data/lib/fog/ecloud/models/compute/physical_devices.rb +2 -2
  387. data/lib/fog/ecloud/models/compute/public_ip.rb +2 -2
  388. data/lib/fog/ecloud/models/compute/public_ips.rb +8 -5
  389. data/lib/fog/ecloud/models/compute/rnat.rb +2 -2
  390. data/lib/fog/ecloud/models/compute/rnats.rb +2 -2
  391. data/lib/fog/ecloud/models/compute/roles.rb +2 -2
  392. data/lib/fog/ecloud/models/compute/row.rb +10 -7
  393. data/lib/fog/ecloud/models/compute/rows.rb +9 -6
  394. data/lib/fog/ecloud/models/compute/server.rb +139 -93
  395. data/lib/fog/ecloud/models/compute/server_configuration_options.rb +2 -2
  396. data/lib/fog/ecloud/models/compute/servers.rb +18 -15
  397. data/lib/fog/ecloud/models/compute/ssh_key.rb +1 -1
  398. data/lib/fog/ecloud/models/compute/ssh_keys.rb +2 -2
  399. data/lib/fog/ecloud/models/compute/storage_usage_detail_summary.rb +2 -2
  400. data/lib/fog/ecloud/models/compute/support_tickets.rb +2 -2
  401. data/lib/fog/ecloud/models/compute/tags.rb +2 -2
  402. data/lib/fog/ecloud/models/compute/task.rb +3 -0
  403. data/lib/fog/ecloud/models/compute/tasks.rb +3 -3
  404. data/lib/fog/ecloud/models/compute/template.rb +8 -9
  405. data/lib/fog/ecloud/models/compute/templates.rb +2 -2
  406. data/lib/fog/ecloud/models/compute/trusted_network_group.rb +5 -5
  407. data/lib/fog/ecloud/models/compute/trusted_network_groups.rb +2 -2
  408. data/lib/fog/ecloud/models/compute/user.rb +2 -2
  409. data/lib/fog/ecloud/models/compute/users.rb +2 -2
  410. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ip.rb +32 -0
  411. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ips.rb +27 -0
  412. data/lib/fog/ecloud/requests/compute/admin_edit_authentication_levels.rb +1 -2
  413. data/lib/fog/ecloud/requests/compute/get_admin_organization.rb +14 -0
  414. data/lib/fog/ecloud/requests/compute/get_compute_pool.rb +11 -0
  415. data/lib/fog/ecloud/requests/compute/get_compute_pools.rb +21 -0
  416. data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +21 -0
  417. data/lib/fog/ecloud/requests/compute/get_detached_disks.rb +33 -0
  418. data/lib/fog/ecloud/requests/compute/get_environment.rb +21 -0
  419. data/lib/fog/ecloud/requests/compute/get_group.rb +8 -1
  420. data/lib/fog/ecloud/requests/compute/get_groups.rb +8 -1
  421. data/lib/fog/ecloud/requests/compute/get_hardware_configuration.rb +19 -0
  422. data/lib/fog/ecloud/requests/compute/get_hardware_configurations.rb +4 -0
  423. data/lib/fog/ecloud/requests/compute/get_internet_service.rb +12 -0
  424. data/lib/fog/ecloud/requests/compute/get_internet_services.rb +8 -0
  425. data/lib/fog/ecloud/requests/compute/get_ip_address.rb +11 -0
  426. data/lib/fog/ecloud/requests/compute/get_layout.rb +8 -1
  427. data/lib/fog/ecloud/requests/compute/get_layouts.rb +8 -1
  428. data/lib/fog/ecloud/requests/compute/get_network.rb +11 -0
  429. data/lib/fog/ecloud/requests/compute/get_networks.rb +20 -0
  430. data/lib/fog/ecloud/requests/compute/get_node.rb +11 -0
  431. data/lib/fog/ecloud/requests/compute/get_nodes.rb +9 -0
  432. data/lib/fog/ecloud/requests/compute/get_operating_system.rb +14 -0
  433. data/lib/fog/ecloud/requests/compute/get_operating_system_families.rb +20 -0
  434. data/lib/fog/ecloud/requests/compute/get_organization.rb +14 -0
  435. data/lib/fog/ecloud/requests/compute/get_organizations.rb +14 -2
  436. data/lib/fog/ecloud/requests/compute/get_public_ip.rb +11 -1
  437. data/lib/fog/ecloud/requests/compute/get_public_ips.rb +22 -0
  438. data/lib/fog/ecloud/requests/compute/get_row.rb +8 -1
  439. data/lib/fog/ecloud/requests/compute/get_rows.rb +2 -1
  440. data/lib/fog/ecloud/requests/compute/get_server.rb +11 -0
  441. data/lib/fog/ecloud/requests/compute/get_servers.rb +32 -1
  442. data/lib/fog/ecloud/requests/compute/get_ssh_key.rb +11 -0
  443. data/lib/fog/ecloud/requests/compute/get_ssh_keys.rb +20 -0
  444. data/lib/fog/ecloud/requests/compute/get_task.rb +4 -2
  445. data/lib/fog/ecloud/requests/compute/get_template.rb +11 -0
  446. data/lib/fog/ecloud/requests/compute/get_templates.rb +38 -0
  447. data/lib/fog/ecloud/requests/compute/get_virtual_machine_assigned_ips.rb +44 -0
  448. data/lib/fog/ecloud/requests/compute/groups_delete.rb +16 -1
  449. data/lib/fog/ecloud/requests/compute/internet_service_create.rb +36 -1
  450. data/lib/fog/ecloud/requests/compute/internet_service_delete.rb +23 -0
  451. data/lib/fog/ecloud/requests/compute/node_service_create.rb +49 -1
  452. data/lib/fog/ecloud/requests/compute/node_service_delete.rb +24 -0
  453. data/lib/fog/ecloud/requests/compute/rows_delete.rb +11 -1
  454. data/lib/fog/ecloud/requests/compute/virtual_machine_attach_disk.rb +62 -0
  455. data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +136 -16
  456. data/lib/fog/ecloud/requests/compute/virtual_machine_delete.rb +36 -1
  457. data/lib/fog/ecloud/requests/compute/virtual_machine_detach_disk.rb +71 -0
  458. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_assigned_ips.rb +82 -0
  459. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_hardware_configuration.rb +27 -3
  460. data/lib/fog/ecloud/requests/compute/virtual_machine_import.rb +120 -6
  461. data/lib/fog/glesys/models/compute/ip.rb +7 -7
  462. data/lib/fog/glesys/models/compute/ips.rb +7 -7
  463. data/lib/fog/glesys/models/compute/server.rb +6 -6
  464. data/lib/fog/glesys/models/compute/servers.rb +4 -4
  465. data/lib/fog/glesys/models/compute/template.rb +1 -1
  466. data/lib/fog/glesys/models/compute/templates.rb +2 -2
  467. data/lib/fog/go_grid/models/compute/image.rb +3 -3
  468. data/lib/fog/go_grid/models/compute/images.rb +2 -2
  469. data/lib/fog/go_grid/models/compute/password.rb +5 -5
  470. data/lib/fog/go_grid/models/compute/passwords.rb +3 -3
  471. data/lib/fog/go_grid/models/compute/server.rb +4 -4
  472. data/lib/fog/go_grid/models/compute/servers.rb +2 -2
  473. data/lib/fog/google/models/storage/directories.rb +2 -2
  474. data/lib/fog/google/models/storage/directory.rb +4 -4
  475. data/lib/fog/google/models/storage/file.rb +5 -5
  476. data/lib/fog/google/models/storage/files.rb +4 -4
  477. data/lib/fog/hp.rb +6 -3
  478. data/lib/fog/hp/models/compute/address.rb +8 -8
  479. data/lib/fog/hp/models/compute/addresses.rb +2 -2
  480. data/lib/fog/hp/models/compute/flavors.rb +2 -2
  481. data/lib/fog/hp/models/compute/image.rb +2 -2
  482. data/lib/fog/hp/models/compute/images.rb +2 -2
  483. data/lib/fog/hp/models/compute/key_pair.rb +3 -3
  484. data/lib/fog/hp/models/compute/key_pairs.rb +2 -2
  485. data/lib/fog/hp/models/compute/security_group.rb +4 -4
  486. data/lib/fog/hp/models/compute/security_groups.rb +3 -3
  487. data/lib/fog/hp/models/compute/server.rb +15 -15
  488. data/lib/fog/hp/models/compute/servers.rb +2 -2
  489. data/lib/fog/hp/models/storage/directories.rb +3 -3
  490. data/lib/fog/hp/models/storage/directory.rb +18 -18
  491. data/lib/fog/hp/models/storage/file.rb +4 -4
  492. data/lib/fog/hp/models/storage/files.rb +2 -2
  493. data/lib/fog/ibm/models/compute/address.rb +2 -2
  494. data/lib/fog/ibm/models/compute/addresses.rb +2 -2
  495. data/lib/fog/ibm/models/compute/image.rb +3 -3
  496. data/lib/fog/ibm/models/compute/images.rb +2 -2
  497. data/lib/fog/ibm/models/compute/key.rb +2 -2
  498. data/lib/fog/ibm/models/compute/keys.rb +3 -3
  499. data/lib/fog/ibm/models/compute/locations.rb +2 -2
  500. data/lib/fog/ibm/models/compute/server.rb +12 -12
  501. data/lib/fog/ibm/models/compute/servers.rb +2 -2
  502. data/lib/fog/ibm/models/compute/vlans.rb +2 -2
  503. data/lib/fog/ibm/models/storage/offerings.rb +1 -1
  504. data/lib/fog/ibm/models/storage/volume.rb +5 -5
  505. data/lib/fog/ibm/models/storage/volumes.rb +2 -2
  506. data/lib/fog/identity.rb +3 -0
  507. data/lib/fog/joyent/models/compute/flavors.rb +2 -2
  508. data/lib/fog/joyent/models/compute/images.rb +2 -2
  509. data/lib/fog/joyent/models/compute/key.rb +1 -1
  510. data/lib/fog/joyent/models/compute/keys.rb +3 -3
  511. data/lib/fog/joyent/models/compute/server.rb +13 -13
  512. data/lib/fog/joyent/models/compute/servers.rb +3 -3
  513. data/lib/fog/joyent/models/compute/snapshot.rb +4 -4
  514. data/lib/fog/joyent/models/compute/snapshots.rb +3 -3
  515. data/lib/fog/libvirt/compute.rb +6 -1
  516. data/lib/fog/libvirt/models/compute/interface.rb +1 -1
  517. data/lib/fog/libvirt/models/compute/interfaces.rb +1 -1
  518. data/lib/fog/libvirt/models/compute/network.rb +1 -1
  519. data/lib/fog/libvirt/models/compute/networks.rb +1 -1
  520. data/lib/fog/libvirt/models/compute/nic.rb +2 -2
  521. data/lib/fog/libvirt/models/compute/nodes.rb +1 -1
  522. data/lib/fog/libvirt/models/compute/pool.rb +7 -7
  523. data/lib/fog/libvirt/models/compute/pools.rb +1 -1
  524. data/lib/fog/libvirt/models/compute/server.rb +28 -28
  525. data/lib/fog/libvirt/models/compute/servers.rb +2 -2
  526. data/lib/fog/libvirt/models/compute/volume.rb +5 -5
  527. data/lib/fog/libvirt/models/compute/volumes.rb +1 -1
  528. data/lib/fog/linode/models/compute/data_centers.rb +2 -2
  529. data/lib/fog/linode/models/compute/disk.rb +7 -7
  530. data/lib/fog/linode/models/compute/disks.rb +2 -2
  531. data/lib/fog/linode/models/compute/flavors.rb +2 -2
  532. data/lib/fog/linode/models/compute/images.rb +2 -2
  533. data/lib/fog/linode/models/compute/ip.rb +3 -3
  534. data/lib/fog/linode/models/compute/ips.rb +2 -2
  535. data/lib/fog/linode/models/compute/kernels.rb +2 -2
  536. data/lib/fog/linode/models/compute/server.rb +13 -13
  537. data/lib/fog/linode/models/compute/servers.rb +2 -2
  538. data/lib/fog/linode/models/compute/stack_scripts.rb +3 -3
  539. data/lib/fog/linode/models/dns/record.rb +6 -6
  540. data/lib/fog/linode/models/dns/records.rb +2 -2
  541. data/lib/fog/linode/models/dns/zone.rb +6 -6
  542. data/lib/fog/linode/models/dns/zones.rb +2 -2
  543. data/lib/fog/local/models/storage/directories.rb +3 -3
  544. data/lib/fog/local/models/storage/directory.rb +2 -2
  545. data/lib/fog/local/models/storage/file.rb +6 -6
  546. data/lib/fog/local/models/storage/files.rb +2 -2
  547. data/lib/fog/ninefold/models/compute/address.rb +5 -5
  548. data/lib/fog/ninefold/models/compute/addresses.rb +2 -2
  549. data/lib/fog/ninefold/models/compute/flavors.rb +2 -2
  550. data/lib/fog/ninefold/models/compute/images.rb +2 -2
  551. data/lib/fog/ninefold/models/compute/ip_forwarding_rule.rb +3 -3
  552. data/lib/fog/ninefold/models/compute/ip_forwarding_rules.rb +2 -2
  553. data/lib/fog/ninefold/models/compute/server.rb +9 -9
  554. data/lib/fog/ninefold/models/compute/servers.rb +2 -2
  555. data/lib/fog/openstack.rb +40 -14
  556. data/lib/fog/openstack/README.identity.md +69 -0
  557. data/lib/fog/openstack/compute.rb +49 -18
  558. data/lib/fog/openstack/identity.rb +33 -20
  559. data/lib/fog/openstack/image.rb +10 -4
  560. data/lib/fog/openstack/models/compute/address.rb +8 -8
  561. data/lib/fog/openstack/models/compute/addresses.rb +3 -3
  562. data/lib/fog/openstack/models/compute/flavor.rb +4 -3
  563. data/lib/fog/openstack/models/compute/flavors.rb +2 -2
  564. data/lib/fog/openstack/models/compute/host.rb +3 -2
  565. data/lib/fog/openstack/models/compute/hosts.rb +2 -2
  566. data/lib/fog/openstack/models/compute/image.rb +4 -3
  567. data/lib/fog/openstack/models/compute/images.rb +2 -2
  568. data/lib/fog/openstack/models/compute/key_pair.rb +3 -3
  569. data/lib/fog/openstack/models/compute/key_pairs.rb +1 -1
  570. data/lib/fog/openstack/models/compute/metadata.rb +4 -4
  571. data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
  572. data/lib/fog/openstack/models/compute/security_group.rb +4 -4
  573. data/lib/fog/openstack/models/compute/security_groups.rb +2 -2
  574. data/lib/fog/openstack/models/compute/server.rb +33 -20
  575. data/lib/fog/openstack/models/compute/servers.rb +2 -2
  576. data/lib/fog/openstack/models/compute/snapshot.rb +4 -3
  577. data/lib/fog/openstack/models/compute/snapshots.rb +2 -2
  578. data/lib/fog/openstack/models/compute/tenant.rb +1 -1
  579. data/lib/fog/openstack/models/compute/tenants.rb +7 -3
  580. data/lib/fog/openstack/models/compute/volume.rb +6 -5
  581. data/lib/fog/openstack/models/compute/volumes.rb +2 -2
  582. data/lib/fog/openstack/models/identity/ec2_credential.rb +44 -0
  583. data/lib/fog/openstack/models/identity/ec2_credentials.rb +53 -0
  584. data/lib/fog/openstack/models/identity/role.rb +4 -4
  585. data/lib/fog/openstack/models/identity/roles.rb +2 -2
  586. data/lib/fog/openstack/models/identity/tenant.rb +7 -7
  587. data/lib/fog/openstack/models/identity/tenants.rb +3 -3
  588. data/lib/fog/openstack/models/identity/user.rb +12 -6
  589. data/lib/fog/openstack/models/identity/users.rb +3 -3
  590. data/lib/fog/openstack/models/image/image.rb +10 -9
  591. data/lib/fog/openstack/models/image/images.rb +6 -6
  592. data/lib/fog/openstack/models/network/floating_ip.rb +52 -0
  593. data/lib/fog/openstack/models/network/floating_ips.rb +34 -0
  594. data/lib/fog/openstack/models/network/network.rb +6 -5
  595. data/lib/fog/openstack/models/network/networks.rb +3 -3
  596. data/lib/fog/openstack/models/network/port.rb +6 -5
  597. data/lib/fog/openstack/models/network/ports.rb +3 -3
  598. data/lib/fog/openstack/models/network/subnet.rb +6 -5
  599. data/lib/fog/openstack/models/network/subnets.rb +3 -3
  600. data/lib/fog/openstack/models/volume/volume.rb +4 -3
  601. data/lib/fog/openstack/models/volume/volumes.rb +2 -2
  602. data/lib/fog/openstack/network.rb +16 -3
  603. data/lib/fog/openstack/requests/compute/create_security_group.rb +2 -1
  604. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -0
  605. data/lib/fog/openstack/requests/compute/create_server.rb +54 -7
  606. data/lib/fog/openstack/requests/compute/delete_security_group.rb +2 -0
  607. data/lib/fog/openstack/requests/compute/list_security_groups.rb +17 -41
  608. data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +7 -2
  609. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +58 -0
  610. data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
  611. data/lib/fog/openstack/requests/identity/create_tenant.rb +1 -3
  612. data/lib/fog/openstack/requests/identity/delete_ec2_credential.rb +44 -0
  613. data/lib/fog/openstack/requests/identity/get_ec2_credential.rb +49 -0
  614. data/lib/fog/openstack/requests/identity/get_user_by_name.rb +8 -0
  615. data/lib/fog/openstack/requests/identity/list_ec2_credentials.rb +44 -0
  616. data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +7 -1
  617. data/lib/fog/openstack/requests/identity/list_users.rb +10 -1
  618. data/lib/fog/openstack/requests/identity/update_tenant.rb +1 -3
  619. data/lib/fog/openstack/requests/image/create_image.rb +3 -1
  620. data/lib/fog/openstack/requests/network/associate_floating_ip.rb +49 -0
  621. data/lib/fog/openstack/requests/network/create_floating_ip.rb +50 -0
  622. data/lib/fog/openstack/requests/network/delete_floating_ip.rb +30 -0
  623. data/lib/fog/openstack/requests/network/disassociate_floating_ip.rb +49 -0
  624. data/lib/fog/openstack/requests/network/get_floating_ip.rb +42 -0
  625. data/lib/fog/openstack/requests/network/list_floating_ips.rb +27 -0
  626. data/lib/fog/openstack/volume.rb +4 -2
  627. data/lib/fog/ovirt/models/compute/cluster.rb +1 -1
  628. data/lib/fog/ovirt/models/compute/clusters.rb +2 -2
  629. data/lib/fog/ovirt/models/compute/interfaces.rb +3 -3
  630. data/lib/fog/ovirt/models/compute/server.rb +15 -15
  631. data/lib/fog/ovirt/models/compute/servers.rb +2 -2
  632. data/lib/fog/ovirt/models/compute/template.rb +5 -5
  633. data/lib/fog/ovirt/models/compute/templates.rb +2 -2
  634. data/lib/fog/ovirt/models/compute/volumes.rb +3 -3
  635. data/lib/fog/rackspace.rb +22 -11
  636. data/lib/fog/rackspace/block_storage.rb +19 -0
  637. data/lib/fog/rackspace/compute_v2.rb +29 -0
  638. data/lib/fog/rackspace/docs/cloud_servers.md +65 -0
  639. data/lib/fog/rackspace/docs/getting_started.md +76 -0
  640. data/lib/fog/rackspace/load_balancers.rb +2 -0
  641. data/lib/fog/rackspace/mock_data.rb +144 -0
  642. data/lib/fog/rackspace/models/block_storage/snapshot.rb +3 -2
  643. data/lib/fog/rackspace/models/block_storage/snapshots.rb +2 -2
  644. data/lib/fog/rackspace/models/block_storage/volume.rb +9 -3
  645. data/lib/fog/rackspace/models/block_storage/volume_types.rb +3 -3
  646. data/lib/fog/rackspace/models/block_storage/volumes.rb +2 -2
  647. data/lib/fog/rackspace/models/compute/flavors.rb +2 -2
  648. data/lib/fog/rackspace/models/compute/image.rb +3 -3
  649. data/lib/fog/rackspace/models/compute/images.rb +2 -2
  650. data/lib/fog/rackspace/models/compute/server.rb +7 -7
  651. data/lib/fog/rackspace/models/compute/servers.rb +2 -2
  652. data/lib/fog/rackspace/models/compute_v2/attachment.rb +13 -9
  653. data/lib/fog/rackspace/models/compute_v2/attachments.rb +2 -2
  654. data/lib/fog/rackspace/models/compute_v2/flavors.rb +2 -2
  655. data/lib/fog/rackspace/models/compute_v2/image.rb +36 -1
  656. data/lib/fog/rackspace/models/compute_v2/images.rb +2 -2
  657. data/lib/fog/rackspace/models/compute_v2/meta_parent.rb +33 -0
  658. data/lib/fog/rackspace/models/compute_v2/metadata.rb +77 -0
  659. data/lib/fog/rackspace/models/compute_v2/metadatum.rb +29 -0
  660. data/lib/fog/rackspace/models/compute_v2/server.rb +75 -21
  661. data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
  662. data/lib/fog/rackspace/models/databases/database.rb +2 -2
  663. data/lib/fog/rackspace/models/databases/databases.rb +1 -1
  664. data/lib/fog/rackspace/models/databases/flavors.rb +2 -2
  665. data/lib/fog/rackspace/models/databases/instance.rb +10 -10
  666. data/lib/fog/rackspace/models/databases/instances.rb +2 -2
  667. data/lib/fog/rackspace/models/databases/user.rb +2 -2
  668. data/lib/fog/rackspace/models/databases/users.rb +1 -1
  669. data/lib/fog/rackspace/models/dns/callback.rb +1 -1
  670. data/lib/fog/rackspace/models/dns/record.rb +13 -8
  671. data/lib/fog/rackspace/models/dns/records.rb +2 -2
  672. data/lib/fog/rackspace/models/dns/zone.rb +5 -5
  673. data/lib/fog/rackspace/models/dns/zones.rb +2 -2
  674. data/lib/fog/rackspace/models/identity/credentials.rb +1 -1
  675. data/lib/fog/rackspace/models/identity/roles.rb +1 -1
  676. data/lib/fog/rackspace/models/identity/tenants.rb +1 -1
  677. data/lib/fog/rackspace/models/identity/user.rb +6 -6
  678. data/lib/fog/rackspace/models/identity/users.rb +3 -3
  679. data/lib/fog/rackspace/models/load_balancers/access_rule.rb +4 -4
  680. data/lib/fog/rackspace/models/load_balancers/access_rules.rb +1 -1
  681. data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +45 -27
  682. data/lib/fog/rackspace/models/load_balancers/load_balancers.rb +2 -2
  683. data/lib/fog/rackspace/models/load_balancers/node.rb +4 -4
  684. data/lib/fog/rackspace/models/load_balancers/nodes.rb +2 -2
  685. data/lib/fog/rackspace/models/load_balancers/virtual_ip.rb +3 -3
  686. data/lib/fog/rackspace/models/load_balancers/virtual_ips.rb +1 -1
  687. data/lib/fog/rackspace/models/storage/directories.rb +2 -2
  688. data/lib/fog/rackspace/models/storage/directory.rb +12 -12
  689. data/lib/fog/rackspace/models/storage/file.rb +6 -6
  690. data/lib/fog/rackspace/models/storage/files.rb +2 -2
  691. data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +28 -0
  692. data/lib/fog/rackspace/requests/block_storage/create_volume.rb +37 -0
  693. data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +7 -0
  694. data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +17 -0
  695. data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +11 -0
  696. data/lib/fog/rackspace/requests/block_storage/get_volume.rb +17 -0
  697. data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +13 -0
  698. data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +8 -0
  699. data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +7 -0
  700. data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +7 -0
  701. data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +41 -2
  702. data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +6 -0
  703. data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +8 -0
  704. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +89 -0
  705. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +102 -0
  706. data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +15 -0
  707. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +31 -0
  708. data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +26 -0
  709. data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +12 -0
  710. data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +8 -0
  711. data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +11 -0
  712. data/lib/fog/rackspace/requests/compute_v2/get_image.rb +11 -0
  713. data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +26 -0
  714. data/lib/fog/rackspace/requests/compute_v2/get_server.rb +13 -0
  715. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +34 -0
  716. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +36 -0
  717. data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +7 -0
  718. data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +7 -0
  719. data/lib/fog/rackspace/requests/compute_v2/list_images.rb +7 -0
  720. data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +26 -0
  721. data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +7 -0
  722. data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +14 -0
  723. data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +13 -4
  724. data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +8 -0
  725. data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +8 -0
  726. data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +28 -0
  727. data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +27 -0
  728. data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +27 -0
  729. data/lib/fog/rackspace/requests/compute_v2/update_server.rb +17 -7
  730. data/lib/fog/rackspace/requests/dns/add_records.rb +5 -1
  731. data/lib/fog/rackspace/requests/load_balancers/get_content_caching.rb +15 -0
  732. data/lib/fog/rackspace/requests/load_balancers/set_content_caching.rb +21 -0
  733. data/lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb +3 -3
  734. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +1 -1
  735. data/lib/fog/serverlove/models/compute/image.rb +11 -11
  736. data/lib/fog/serverlove/models/compute/images.rb +2 -2
  737. data/lib/fog/serverlove/models/compute/server.rb +10 -10
  738. data/lib/fog/serverlove/models/compute/servers.rb +2 -2
  739. data/lib/fog/storm_on_demand/models/compute/balancer.rb +7 -7
  740. data/lib/fog/storm_on_demand/models/compute/balancers.rb +1 -1
  741. data/lib/fog/storm_on_demand/models/compute/configs.rb +1 -1
  742. data/lib/fog/storm_on_demand/models/compute/images.rb +1 -1
  743. data/lib/fog/storm_on_demand/models/compute/private_ips.rb +2 -2
  744. data/lib/fog/storm_on_demand/models/compute/server.rb +5 -5
  745. data/lib/fog/storm_on_demand/models/compute/servers.rb +2 -2
  746. data/lib/fog/storm_on_demand/models/compute/stats.rb +1 -1
  747. data/lib/fog/storm_on_demand/models/compute/templates.rb +1 -1
  748. data/lib/fog/terremark/models/shared/address.rb +1 -1
  749. data/lib/fog/terremark/models/shared/addresses.rb +5 -5
  750. data/lib/fog/terremark/models/shared/images.rb +5 -5
  751. data/lib/fog/terremark/models/shared/internetservice.rb +6 -6
  752. data/lib/fog/terremark/models/shared/internetservices.rb +5 -5
  753. data/lib/fog/terremark/models/shared/network.rb +1 -1
  754. data/lib/fog/terremark/models/shared/networks.rb +6 -6
  755. data/lib/fog/terremark/models/shared/nodeservice.rb +3 -3
  756. data/lib/fog/terremark/models/shared/nodeservices.rb +4 -4
  757. data/lib/fog/terremark/models/shared/server.rb +17 -17
  758. data/lib/fog/terremark/models/shared/servers.rb +6 -6
  759. data/lib/fog/terremark/models/shared/task.rb +4 -4
  760. data/lib/fog/terremark/models/shared/tasks.rb +5 -5
  761. data/lib/fog/terremark/models/shared/vdc.rb +4 -4
  762. data/lib/fog/terremark/models/shared/vdcs.rb +5 -5
  763. data/lib/fog/terremark/parser.rb +1 -1
  764. data/lib/fog/terremark/shared.rb +1 -1
  765. data/lib/fog/vcloud/compute.rb +4 -4
  766. data/lib/fog/vcloud/models/compute/catalog.rb +1 -1
  767. data/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
  768. data/lib/fog/vcloud/models/compute/catalog_items.rb +4 -4
  769. data/lib/fog/vcloud/models/compute/catalogs.rb +3 -3
  770. data/lib/fog/vcloud/models/compute/ip.rb +1 -1
  771. data/lib/fog/vcloud/models/compute/ips.rb +3 -3
  772. data/lib/fog/vcloud/models/compute/network.rb +1 -1
  773. data/lib/fog/vcloud/models/compute/networks.rb +6 -6
  774. data/lib/fog/vcloud/models/compute/organization.rb +4 -4
  775. data/lib/fog/vcloud/models/compute/organizations.rb +4 -4
  776. data/lib/fog/vcloud/models/compute/server.rb +13 -13
  777. data/lib/fog/vcloud/models/compute/servers.rb +4 -4
  778. data/lib/fog/vcloud/models/compute/tasks.rb +3 -3
  779. data/lib/fog/vcloud/models/compute/vapp.rb +2 -2
  780. data/lib/fog/vcloud/models/compute/vapps.rb +2 -2
  781. data/lib/fog/vcloud/models/compute/vdc.rb +2 -2
  782. data/lib/fog/vcloud/models/compute/vdcs.rb +3 -3
  783. data/lib/fog/version.rb +1 -3
  784. data/lib/fog/virtual_box/compute.rb +11 -5
  785. data/lib/fog/virtual_box/models/compute/medium.rb +2 -2
  786. data/lib/fog/virtual_box/models/compute/mediums.rb +4 -4
  787. data/lib/fog/virtual_box/models/compute/nat_engine.rb +2 -2
  788. data/lib/fog/virtual_box/models/compute/network_adapter.rb +1 -1
  789. data/lib/fog/virtual_box/models/compute/network_adapters.rb +1 -1
  790. data/lib/fog/virtual_box/models/compute/server.rb +5 -5
  791. data/lib/fog/virtual_box/models/compute/servers.rb +2 -2
  792. data/lib/fog/vmfusion/compute.rb +6 -1
  793. data/lib/fog/vmfusion/models/compute/server.rb +1 -1
  794. data/lib/fog/voxel/models/compute/images.rb +2 -2
  795. data/lib/fog/voxel/models/compute/server.rb +6 -6
  796. data/lib/fog/voxel/models/compute/servers.rb +2 -2
  797. data/lib/fog/vsphere/compute.rb +4 -1
  798. data/lib/fog/vsphere/models/compute/cluster.rb +2 -2
  799. data/lib/fog/vsphere/models/compute/clusters.rb +2 -2
  800. data/lib/fog/vsphere/models/compute/datacenter.rb +8 -4
  801. data/lib/fog/vsphere/models/compute/datacenters.rb +3 -3
  802. data/lib/fog/vsphere/models/compute/datastores.rb +2 -2
  803. data/lib/fog/vsphere/models/compute/folder.rb +1 -1
  804. data/lib/fog/vsphere/models/compute/folders.rb +2 -2
  805. data/lib/fog/vsphere/models/compute/interfaces.rb +3 -3
  806. data/lib/fog/vsphere/models/compute/networks.rb +2 -2
  807. data/lib/fog/vsphere/models/compute/resource_pools.rb +3 -3
  808. data/lib/fog/vsphere/models/compute/server.rb +37 -26
  809. data/lib/fog/vsphere/models/compute/servers.rb +2 -2
  810. data/lib/fog/vsphere/models/compute/templates.rb +2 -2
  811. data/lib/fog/vsphere/models/compute/volumes.rb +3 -3
  812. data/lib/fog/vsphere/requests/compute/create_folder.rb +22 -0
  813. data/lib/fog/vsphere/requests/compute/create_vm.rb +2 -2
  814. data/lib/fog/vsphere/requests/compute/get_folder.rb +1 -1
  815. data/lib/fog/vsphere/requests/compute/get_network.rb +6 -1
  816. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +1 -1
  817. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +9 -3
  818. data/lib/fog/vsphere/requests/compute/vm_clone.rb +148 -64
  819. data/lib/fog/xenserver.rb +26 -2
  820. data/lib/fog/xenserver/CHANGELOG.md +71 -0
  821. data/lib/fog/xenserver/compute.rb +9 -0
  822. data/lib/fog/xenserver/examples/README.md +11 -0
  823. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +99 -0
  824. data/lib/fog/xenserver/examples/creating_servers.md +168 -0
  825. data/lib/fog/xenserver/examples/getting_started.md +163 -0
  826. data/lib/fog/xenserver/examples/storage_repositories.md +94 -0
  827. data/lib/fog/xenserver/models/compute/host.rb +87 -7
  828. data/lib/fog/xenserver/models/compute/host_cpu.rb +37 -0
  829. data/lib/fog/xenserver/models/compute/host_metrics.rb +29 -0
  830. data/lib/fog/xenserver/models/compute/hosts.rb +8 -8
  831. data/lib/fog/xenserver/models/compute/network.rb +11 -11
  832. data/lib/fog/xenserver/models/compute/networks.rb +3 -3
  833. data/lib/fog/xenserver/models/compute/pbd.rb +11 -6
  834. data/lib/fog/xenserver/models/compute/pbds.rb +3 -3
  835. data/lib/fog/xenserver/models/compute/pif.rb +9 -9
  836. data/lib/fog/xenserver/models/compute/pifs.rb +3 -3
  837. data/lib/fog/xenserver/models/compute/pool.rb +30 -8
  838. data/lib/fog/xenserver/models/compute/pools.rb +3 -3
  839. data/lib/fog/xenserver/models/compute/server.rb +29 -29
  840. data/lib/fog/xenserver/models/compute/servers.rb +8 -8
  841. data/lib/fog/xenserver/models/compute/storage_repositories.rb +2 -2
  842. data/lib/fog/xenserver/models/compute/storage_repository.rb +52 -9
  843. data/lib/fog/xenserver/models/compute/vbd.rb +16 -16
  844. data/lib/fog/xenserver/models/compute/vbds.rb +3 -3
  845. data/lib/fog/xenserver/models/compute/vdi.rb +17 -17
  846. data/lib/fog/xenserver/models/compute/vdis.rb +3 -3
  847. data/lib/fog/xenserver/models/compute/vif.rb +10 -10
  848. data/lib/fog/xenserver/models/compute/vifs.rb +3 -3
  849. data/lib/fog/xenserver/requests/compute/create_sr.rb +72 -0
  850. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +30 -0
  851. data/lib/fog/xenserver/requests/compute/disable_host.rb +29 -0
  852. data/lib/fog/xenserver/requests/compute/enable_host.rb +28 -0
  853. data/lib/fog/xenserver/requests/compute/reboot_host.rb +23 -0
  854. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +23 -0
  855. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +25 -0
  856. data/lib/fog/zerigo/models/dns/record.rb +4 -4
  857. data/lib/fog/zerigo/models/dns/records.rb +2 -2
  858. data/lib/fog/zerigo/models/dns/zone.rb +6 -6
  859. data/lib/fog/zerigo/models/dns/zones.rb +2 -2
  860. data/lib/tasks/changelog_task.rb +1 -0
  861. data/lib/tasks/test_task.rb +1 -1
  862. data/tests/aws/models/cloud_watch/metrics_tests.rb +16 -1
  863. data/tests/aws/requests/auto_scaling/model_tests.rb +1 -3
  864. data/tests/aws/requests/compute/snapshot_tests.rb +19 -0
  865. data/tests/aws/requests/compute/spot_instance_tests.rb +4 -2
  866. data/tests/aws/requests/elasticache/describe_reserved_cache_nodes.rb +17 -0
  867. data/tests/aws/requests/elasticache/helper.rb +17 -0
  868. data/tests/aws/requests/glacier/vault_tests.rb +1 -1
  869. data/tests/aws/requests/storage/bucket_tests.rb +37 -3
  870. data/tests/aws/requests/storage/cors_utils_tests.rb +108 -0
  871. data/tests/brightbox/models/compute/account_tests.rb +2 -0
  872. data/tests/brightbox/models/compute/server_tests.rb +21 -0
  873. data/tests/brightbox/requests/compute/firewall_policy_tests.rb +33 -0
  874. data/tests/brightbox/requests/compute/firewall_rule_tests.rb +43 -0
  875. data/tests/brightbox/requests/compute/helper.rb +33 -30
  876. data/tests/compute/helper.rb +28 -6
  877. data/tests/compute/models/flavors_tests.rb +4 -2
  878. data/tests/compute/models/server_tests.rb +5 -1
  879. data/tests/compute/models/servers_tests.rb +5 -2
  880. data/tests/core/parser_tests.rb +32 -6
  881. data/tests/core/wait_for_tests.rb +13 -0
  882. data/tests/ecloud/compute/models/admin_organization_tests.rb +16 -0
  883. data/tests/ecloud/compute/models/compute_pool_tests.rb +17 -0
  884. data/tests/ecloud/compute/models/detached_disk_tests.rb +26 -0
  885. data/tests/ecloud/compute/models/environment_tests.rb +23 -0
  886. data/tests/ecloud/compute/models/internet_service_tests.rb +28 -0
  887. data/tests/ecloud/compute/models/ip_address_tests.rb +19 -0
  888. data/tests/ecloud/compute/models/network_tests.rb +17 -0
  889. data/tests/ecloud/compute/models/operating_system_families_tests.rb +13 -0
  890. data/tests/ecloud/compute/models/operating_system_tests.rb +22 -0
  891. data/tests/ecloud/compute/models/organization_tests.rb +21 -0
  892. data/tests/ecloud/compute/models/public_ip_tests.rb +19 -0
  893. data/tests/ecloud/compute/models/server_tests.rb +151 -0
  894. data/tests/ecloud/compute/models/ssh_key_tests.rb +19 -0
  895. data/tests/ecloud/compute/models/template_tests.rb +20 -0
  896. data/tests/openstack/authenticate_tests.rb +142 -0
  897. data/tests/openstack/models/compute/server_tests.rb +45 -0
  898. data/tests/openstack/models/identity/ec2_credential_tests.rb +41 -0
  899. data/tests/openstack/models/identity/ec2_credentials_tests.rb +58 -0
  900. data/tests/openstack/models/identity/tenant_tests.rb +6 -0
  901. data/tests/openstack/models/network/floating_ip_tests.rb +30 -0
  902. data/tests/openstack/models/network/floating_ips_tests.rb +27 -0
  903. data/tests/openstack/requests/compute/address_tests.rb +1 -3
  904. data/tests/openstack/requests/compute/helper.rb +20 -0
  905. data/tests/openstack/requests/compute/quota_tests.rb +2 -0
  906. data/tests/openstack/requests/compute/security_group_tests.rb +10 -2
  907. data/tests/openstack/requests/compute/server_tests.rb +29 -14
  908. data/tests/openstack/requests/identity/ec2_credentials_tests.rb +41 -0
  909. data/tests/openstack/requests/identity/role_tests.rb +0 -1
  910. data/tests/openstack/requests/identity/user_tests.rb +8 -0
  911. data/tests/rackspace/helper.rb +17 -1
  912. data/tests/rackspace/models/block_storage/snapshot_tests.rb +18 -13
  913. data/tests/rackspace/models/block_storage/snapshots_tests.rb +1 -3
  914. data/tests/rackspace/models/block_storage/volume_tests.rb +14 -10
  915. data/tests/rackspace/models/block_storage/volume_types_tests.rb +1 -3
  916. data/tests/rackspace/models/block_storage/volumes_tests.rb +1 -3
  917. data/tests/rackspace/models/compute_v2/flavors_tests.rb +1 -4
  918. data/tests/rackspace/models/compute_v2/image_tests.rb +26 -0
  919. data/tests/rackspace/models/compute_v2/images_tests.rb +1 -3
  920. data/tests/rackspace/models/compute_v2/metadata_tests.rb +42 -0
  921. data/tests/rackspace/models/compute_v2/server_tests.rb +89 -15
  922. data/tests/rackspace/models/compute_v2/servers_tests.rb +12 -8
  923. data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +17 -0
  924. data/tests/rackspace/models/storage/file_tests.rb +6 -0
  925. data/tests/rackspace/requests/block_storage/snapshot_tests.rb +15 -15
  926. data/tests/rackspace/requests/block_storage/volume_tests.rb +9 -11
  927. data/tests/rackspace/requests/block_storage/volume_type_tests.rb +8 -11
  928. data/tests/rackspace/requests/compute/address_tests.rb +11 -9
  929. data/tests/rackspace/requests/compute/flavor_tests.rb +6 -5
  930. data/tests/rackspace/requests/compute/image_tests.rb +12 -10
  931. data/tests/rackspace/requests/compute/resize_tests.rb +8 -6
  932. data/tests/rackspace/requests/compute/server_tests.rb +19 -17
  933. data/tests/rackspace/requests/compute_v2/address_tests.rb +43 -0
  934. data/tests/rackspace/requests/compute_v2/attachment_tests.rb +17 -17
  935. data/tests/rackspace/requests/compute_v2/flavor_tests.rb +7 -9
  936. data/tests/rackspace/requests/compute_v2/image_tests.rb +42 -16
  937. data/tests/rackspace/requests/compute_v2/metadata_tests.rb +104 -0
  938. data/tests/rackspace/requests/compute_v2/server_tests.rb +44 -60
  939. data/tests/rackspace/requests/dns/records_tests.rb +2 -2
  940. data/tests/rackspace/requests/load_balancers/content_caching_tests.rb +25 -0
  941. data/tests/rackspace/requests/load_balancers/helper.rb +5 -1
  942. data/tests/vsphere/requests/compute/vm_clone_tests.rb +6 -4
  943. data/tests/xenserver/models/compute/host_cpu_tests.rb +58 -0
  944. data/tests/xenserver/models/compute/host_metrics_tests.rb +48 -0
  945. data/tests/xenserver/models/compute/host_tests.rb +33 -2
  946. data/tests/xenserver/models/compute/pbd_tests.rb +33 -1
  947. data/tests/xenserver/models/compute/pool_tests.rb +7 -1
  948. data/tests/xenserver/models/compute/storage_repository_tests.rb +52 -1
  949. data/tests/xenserver/requests/compute/create_sr_tests.rb +54 -0
  950. data/tests/xenserver/requests/compute/destroy_sr_tests.rb +46 -0
  951. data/tests/xenserver/requests/compute/disable_host_tests.rb +16 -0
  952. data/tests/xenserver/requests/compute/enable_host_tests.rb +16 -0
  953. data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +48 -0
  954. metadata +153 -42
  955. data/docs/_config.yml +0 -39
  956. data/docs/_layouts/default.html +0 -111
  957. data/docs/about/contributing.markdown +0 -229
  958. data/docs/about/getting_started.markdown +0 -108
  959. data/docs/about/press.markdown +0 -52
  960. data/docs/about/structure.markdown +0 -78
  961. data/docs/about/users.markdown +0 -34
  962. data/docs/cdn/index.markdown +0 -148
  963. data/docs/compute/index.markdown +0 -122
  964. data/docs/dns/index.markdown +0 -79
  965. data/docs/index.markdown +0 -93
  966. data/docs/public/crossdomain.xml +0 -25
  967. data/docs/public/css/fog.css +0 -142
  968. data/docs/public/css/handheld.css +0 -8
  969. data/docs/public/css/style.css +0 -129
  970. data/docs/public/images/.gitignore +0 -3
  971. data/docs/public/js/libs/dd_belatedpng.js +0 -289
  972. data/docs/public/js/libs/dd_belatedpng.min.js +0 -13
  973. data/docs/public/js/libs/jquery-1.4.2.js +0 -6240
  974. data/docs/public/js/libs/jquery-1.4.2.min.js +0 -154
  975. data/docs/public/js/libs/modernizr-1.6.js +0 -892
  976. data/docs/public/js/libs/modernizr-1.6.min.js +0 -30
  977. data/docs/public/js/mylibs/.gitignore +0 -3
  978. data/docs/public/js/plugins.js +0 -34
  979. data/docs/public/js/profiling/config.js +0 -59
  980. data/docs/public/js/profiling/yahoo-profiling.css +0 -7
  981. data/docs/public/js/profiling/yahoo-profiling.js +0 -1028
  982. data/docs/public/js/profiling/yahoo-profiling.min.js +0 -39
  983. data/docs/public/js/script.js +0 -26
  984. data/docs/public/robots.txt +0 -5
  985. data/docs/storage/index.markdown +0 -204
  986. data/lib/fog/ecloud/requests/compute/get_admin_organizations.rb +0 -11
  987. data/lib/fog/ecloud/requests/compute/get_ip_addresses.rb +0 -11
  988. data/lib/fog/ecloud/requests/compute/get_operating_system_family.rb +0 -11
  989. data/lib/fog/ecloud/requests/compute/virtual_machine_add_ip.rb +0 -40
  990. data/lib/tasks/documentation_task.rb +0 -155
@@ -8,18 +8,18 @@ module Fog
8
8
  class Pbds < Fog::Collection
9
9
 
10
10
  model Fog::Compute::XenServer::PBD
11
-
11
+
12
12
  def initialize(attributes)
13
13
  super
14
14
  end
15
15
 
16
16
  def all(options = {})
17
- data = connection.get_records 'PBD'
17
+ data = service.get_records 'PBD'
18
18
  load(data)
19
19
  end
20
20
 
21
21
  def get( ref )
22
- if ref && obj = connection.get_record( ref, 'PBD' )
22
+ if ref && obj = service.get_record( ref, 'PBD' )
23
23
  new(obj)
24
24
  else
25
25
  nil
@@ -3,13 +3,13 @@ require 'fog/core/model'
3
3
  module Fog
4
4
  module Compute
5
5
  class XenServer
6
-
6
+
7
7
  class PIF < Fog::Model
8
8
  # API Reference here:
9
9
  # http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/api/?c=PIF
10
-
10
+
11
11
  identity :reference
12
-
12
+
13
13
  attribute :uuid
14
14
  attribute :physical
15
15
  attribute :mac, :aliases => :MAC
@@ -20,7 +20,7 @@ module Fog
20
20
  attribute :dns, :aliases => :DNS
21
21
  attribute :gateway
22
22
  attribute :ip, :aliases => :IP
23
- attribute :ip_configuration_mode
23
+ attribute :ip_configuration_mode
24
24
  attribute :mtu, :aliases => :MTU
25
25
  attribute :__network, :aliases => :network
26
26
  attribute :netmask
@@ -30,17 +30,17 @@ module Fog
30
30
  attribute :vlan, :aliases => :VLAN
31
31
  attribute :other_config
32
32
  attribute :__host, :aliases => :host
33
-
33
+
34
34
  def network
35
- connection.networks.get __network
35
+ service.networks.get __network
36
36
  end
37
37
 
38
38
  def host
39
- connection.hosts.get __host
39
+ service.hosts.get __host
40
40
  end
41
-
41
+
42
42
  end
43
-
43
+
44
44
  end
45
45
  end
46
46
  end
@@ -8,18 +8,18 @@ module Fog
8
8
  class Pifs < Fog::Collection
9
9
 
10
10
  model Fog::Compute::XenServer::PIF
11
-
11
+
12
12
  def initialize(attributes)
13
13
  super
14
14
  end
15
15
 
16
16
  def all(options = {})
17
- data = connection.get_records 'PIF'
17
+ data = service.get_records 'PIF'
18
18
  load(data)
19
19
  end
20
20
 
21
21
  def get( ref )
22
- if ref && obj = connection.get_record( ref, 'PIF' )
22
+ if ref && obj = service.get_record( ref, 'PIF' )
23
23
  new(obj)
24
24
  end
25
25
  rescue Fog::XenServer::NotFound
@@ -3,38 +3,60 @@ require 'fog/core/model'
3
3
  module Fog
4
4
  module Compute
5
5
  class XenServer
6
-
6
+
7
7
  class Pool < Fog::Model
8
8
  # API Reference here:
9
9
  # http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/api/?c=pool
10
-
10
+
11
11
  identity :reference
12
-
12
+
13
13
  attribute :uuid
14
14
  attribute :name, :aliases => :name_label
15
15
  attribute :description, :aliases => :name_description
16
16
  attribute :__default_sr, :aliases => :default_SR
17
17
  attribute :__master, :aliases => :master
18
- attribute :tags
18
+ attribute :tags
19
19
  attribute :restrictions
20
20
  attribute :ha_enabled
21
21
  attribute :vswitch_controller
22
+ attribute :__suspend_image_sr, :aliases => :suspend_image_SR
23
+
22
24
 
23
-
24
25
  def default_sr
25
- connection.storage_repositories.get __default_sr
26
+ service.storage_repositories.get __default_sr
27
+ end
28
+
29
+ def default_sr=(sr)
30
+ service.set_attribute( 'pool', reference, 'default_SR', sr.reference )
26
31
  end
32
+ alias :default_storage_repository= :default_sr=
27
33
 
28
34
  def default_storage_repository
29
35
  default_sr
30
36
  end
31
37
 
38
+ def suspend_image_sr=(sr)
39
+ service.set_attribute( 'pool', reference, 'suspend_image_SR', sr.reference )
40
+ end
41
+
42
+ def suspend_image_sr
43
+ service.storage_repositories.get __suspend_image_sr
44
+ end
45
+
32
46
  def master
33
- connection.hosts.get __master
47
+ service.hosts.get __master
48
+ end
49
+
50
+ def set_attribute(name, *val)
51
+ data = service.set_attribute( 'pool', reference, name, *val )
52
+ # Do not reload automatically for performance reasons
53
+ # We can set multiple attributes at the same time and
54
+ # then reload manually
55
+ #reload
34
56
  end
35
57
 
36
58
  end
37
-
59
+
38
60
  end
39
61
  end
40
62
  end
@@ -8,18 +8,18 @@ module Fog
8
8
  class Pools < Fog::Collection
9
9
 
10
10
  model Fog::Compute::XenServer::Pool
11
-
11
+
12
12
  def initialize(attributes)
13
13
  super
14
14
  end
15
15
 
16
16
  def all(options = {})
17
- data = connection.get_records 'pool'
17
+ data = service.get_records 'pool'
18
18
  load(data)
19
19
  end
20
20
 
21
21
  def get( pool_ref )
22
- if pool_ref && pool = connection.get_record( pool_ref, 'pool' )
22
+ if pool_ref && pool = service.get_record( pool_ref, 'pool' )
23
23
  new(pool)
24
24
  else
25
25
  nil
@@ -7,9 +7,9 @@ module Fog
7
7
  class Server < Fog::Compute::Server
8
8
  # API Reference here:
9
9
  # http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/api/?c=VM
10
-
10
+
11
11
  identity :reference
12
-
12
+
13
13
  attribute :uuid
14
14
  attribute :name, :aliases => :name_label
15
15
  attribute :__affinity, :aliases => :affinity
@@ -56,11 +56,11 @@ module Fog
56
56
  end
57
57
 
58
58
  def vbds
59
- __vbds.collect {|vbd| connection.vbds.get vbd }
59
+ __vbds.collect {|vbd| service.vbds.get vbd }
60
60
  end
61
61
 
62
62
  def affinity
63
- connection.hosts.get __affinity
63
+ service.hosts.get __affinity
64
64
  end
65
65
 
66
66
  def destroy
@@ -74,26 +74,26 @@ module Fog
74
74
  if vbd.vdi.allowed_operations.include?("destroy")
75
75
  end
76
76
  end
77
- connection.destroy_server( reference )
77
+ service.destroy_server( reference )
78
78
  true
79
79
  end
80
80
 
81
81
  def set_attribute(name, *val)
82
- data = connection.set_attribute( 'VM', reference, name, *val )
82
+ data = service.set_attribute( 'VM', reference, name, *val )
83
83
  # Do not reload automatically for performance reasons
84
84
  # We can set multiple attributes at the same time and
85
85
  # then reload manually
86
86
  #reload
87
87
  end
88
-
88
+
89
89
  def refresh
90
- data = connection.get_record( reference, 'VM' )
90
+ data = service.get_record( reference, 'VM' )
91
91
  merge_attributes( data )
92
92
  true
93
93
  end
94
94
 
95
95
  def vifs
96
- __vifs.collect { |vif| connection.vifs.get vif }
96
+ __vifs.collect { |vif| service.vifs.get vif }
97
97
  end
98
98
 
99
99
  # associations
@@ -102,44 +102,44 @@ module Fog
102
102
  end
103
103
 
104
104
  def resident_on
105
- connection.hosts.get __resident_on
105
+ service.hosts.get __resident_on
106
106
  end
107
-
107
+
108
108
  #
109
109
  # This is not always present in XenServer VMs
110
110
  # Guest needs XenTools installed to report this AFAIK
111
111
  def guest_metrics
112
112
  return nil unless __guest_metrics
113
- rec = connection.get_record( __guest_metrics, 'VM_guest_metrics' )
113
+ rec = service.get_record( __guest_metrics, 'VM_guest_metrics' )
114
114
  Fog::Compute::XenServer::GuestMetrics.new(rec)
115
115
  end
116
116
 
117
117
  def tools_installed?
118
118
  !guest_metrics.nil?
119
119
  end
120
-
120
+
121
121
  def home_hypervisor
122
- connection.hosts.first
122
+ service.hosts.first
123
123
  end
124
-
124
+
125
125
  def mac_address
126
126
  networks.first.MAC
127
127
  end
128
-
128
+
129
129
  def running?
130
130
  reload
131
131
  power_state == "Running"
132
132
  end
133
-
133
+
134
134
  def halted?
135
135
  reload
136
136
  power_state == "Halted"
137
137
  end
138
-
138
+
139
139
  # operations
140
140
  def start
141
141
  return false if running?
142
- connection.start_server( reference )
142
+ service.start_server( reference )
143
143
  true
144
144
  end
145
145
 
@@ -149,25 +149,25 @@ module Fog
149
149
  if params[:auto_start].nil?
150
150
  auto_start = true
151
151
  else
152
- auto_start = params[:auto_start]
152
+ auto_start = params[:auto_start]
153
153
  end
154
154
  if template_name
155
- attr = connection.get_record(
156
- connection.create_server( name, template_name, nets, :auto_start => auto_start),
155
+ attr = service.get_record(
156
+ service.create_server( name, template_name, nets, :auto_start => auto_start),
157
157
  'VM'
158
158
  )
159
159
  else
160
- attr = connection.get_record(
161
- connection.create_server_raw(attributes),
160
+ attr = service.get_record(
161
+ service.create_server_raw(attributes),
162
162
  'VM'
163
163
  )
164
164
  end
165
- merge_attributes attr
165
+ merge_attributes attr
166
166
  true
167
167
  end
168
168
 
169
169
  def reboot(stype = 'clean')
170
- connection.reboot_server(reference, stype)
170
+ service.reboot_server(reference, stype)
171
171
  true
172
172
  end
173
173
 
@@ -181,7 +181,7 @@ module Fog
181
181
 
182
182
  def stop(stype = 'clean')
183
183
  return false if !running?
184
- connection.shutdown_server( reference, stype )
184
+ service.shutdown_server( reference, stype )
185
185
  wait_for { power_state == 'Halted' }
186
186
  true
187
187
  end
@@ -195,12 +195,12 @@ module Fog
195
195
  end
196
196
 
197
197
  def provision
198
- connection.provision_server reference
198
+ service.provision_server reference
199
199
  end
200
200
 
201
201
  # def snapshot
202
202
  # requires :reference, :name_label
203
- # data = connection.snapshot_server(@reference, @name_label)
203
+ # data = service.snapshot_server(@reference, @name_label)
204
204
  # merge_attributes(data.body)
205
205
  # true
206
206
  # end
@@ -10,7 +10,7 @@ module Fog
10
10
  model Fog::Compute::XenServer::Server
11
11
 
12
12
  def templates
13
- data = connection.get_records 'VM'
13
+ data = service.get_records 'VM'
14
14
  data.delete_if do |vm|
15
15
  !vm[:is_a_template]
16
16
  end
@@ -18,15 +18,15 @@ module Fog
18
18
  end
19
19
 
20
20
  def custom_templates
21
- data = connection.get_records 'VM'
21
+ data = service.get_records 'VM'
22
22
  data.delete_if do |vm|
23
- !vm[:is_a_template] or !vm[:other_config]['default_template'].nil?
23
+ !vm[:is_a_template] or !vm[:other_config]['default_template'].nil?
24
24
  end
25
25
  load(data)
26
26
  end
27
-
27
+
28
28
  def builtin_templates
29
- data = connection.get_records 'VM'
29
+ data = service.get_records 'VM'
30
30
  data.delete_if do |vm|
31
31
  !vm[:is_a_template] or vm[:other_config]['default_template'].nil?
32
32
  end
@@ -34,7 +34,7 @@ module Fog
34
34
  end
35
35
 
36
36
  def all(options = {})
37
- data = connection.get_records 'VM'
37
+ data = service.get_records 'VM'
38
38
  # Exclude templates
39
39
  data.delete_if { |vm| vm[:is_control_domain] or vm[:is_a_template] }
40
40
  data.delete_if { |vm| vm[:is_a_snapshot] and !options[:include_snapshots] }
@@ -44,12 +44,12 @@ module Fog
44
44
  end
45
45
 
46
46
  def get_by_name( name )
47
- ref = connection.get_vm_by_name( name )
47
+ ref = service.get_vm_by_name( name )
48
48
  get ref
49
49
  end
50
50
 
51
51
  def get( vm_ref )
52
- if vm_ref && vm = connection.get_record( vm_ref, 'VM' )
52
+ if vm_ref && vm = service.get_record( vm_ref, 'VM' )
53
53
  new(vm)
54
54
  end
55
55
  rescue Fog::XenServer::NotFound
@@ -10,14 +10,14 @@ module Fog
10
10
  model Fog::Compute::XenServer::StorageRepository
11
11
 
12
12
  def all
13
- data = connection.get_records 'SR'
13
+ data = service.get_records 'SR'
14
14
  #data.delete_if {|sr| sr[:shared].eql?(false)}
15
15
  #data.delete_if {|sr| sr[:content_type].eql?('iso')}
16
16
  load(data)
17
17
  end
18
18
 
19
19
  def get( sr_ref )
20
- if sr_ref && sr = connection.get_record( sr_ref, 'SR' )
20
+ if sr_ref && sr = service.get_record( sr_ref, 'SR' )
21
21
  new(sr)
22
22
  else
23
23
  nil
@@ -3,13 +3,13 @@ require 'fog/core/model'
3
3
  module Fog
4
4
  module Compute
5
5
  class XenServer
6
-
6
+
7
7
  class StorageRepository < Fog::Model
8
8
  # API Reference here:
9
9
  # http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/api/?c=SR
10
-
10
+
11
11
  identity :reference
12
-
12
+
13
13
  attribute :name, :aliases => :name_label
14
14
  attribute :description, :aliases => :name_description
15
15
  attribute :uuid
@@ -26,22 +26,65 @@ module Fog
26
26
  attribute :physical_utilisation
27
27
  attribute :sm_config
28
28
  attribute :virtual_allocation
29
-
29
+
30
30
  def vdis
31
- __vdis.collect { |vdi| connection.vdis.get vdi }
31
+ __vdis.collect { |vdi| service.vdis.get vdi }
32
32
  end
33
-
33
+
34
34
  def pbds
35
- __pbds.collect { |pbd| connection.pbds.get pbd }
35
+ __pbds.collect { |pbd| service.pbds.get pbd }
36
36
  end
37
37
 
38
38
  def scan
39
- connection.scan_sr reference
39
+ service.scan_sr reference
40
40
  reload
41
41
  end
42
42
 
43
+ def destroy
44
+ service.destroy_sr reference
45
+ end
46
+
47
+ def save
48
+ requires :name
49
+ requires :type
50
+
51
+ # host is not a model attribute (not in XAPI at least),
52
+ # but we need it here
53
+ host = attributes[:host]
54
+ raise ArgumentError.new('host is required for this operation') unless
55
+ host
56
+
57
+ # Not sure if this is always required, so not raising exception if nil
58
+ device_config = attributes[:device_config]
59
+
60
+ # create_sr request provides sane defaults if some attributes are
61
+ # missing
62
+ attr = service.get_record(
63
+ service.create_sr( host.reference,
64
+ name,
65
+ type,
66
+ description || '',
67
+ device_config || {},
68
+ physical_size || '0',
69
+ content_type || 'user',
70
+ shared || false,
71
+ sm_config || {}),
72
+ 'SR'
73
+ )
74
+ merge_attributes attr
75
+ true
76
+ end
77
+
78
+ def set_attribute(name, *val)
79
+ data = service.set_attribute( 'SR', reference, name, *val )
80
+ # Do not reload automatically for performance reasons
81
+ # We can set multiple attributes at the same time and
82
+ # then reload manually
83
+ #reload
84
+ end
85
+
43
86
  end
44
-
87
+
45
88
  end
46
89
  end
47
90
  end