fog-maestrodev 1.7.0.20121114190951 → 1.8.0.20130109172219

Sign up to get free protection for your applications and to get access to all the features.
Files changed (964) hide show
  1. data/.gitignore +2 -2
  2. data/README.md +48 -37
  3. data/RELEASE.md +39 -0
  4. data/Rakefile +48 -312
  5. data/bin/fog +4 -0
  6. data/changelog.txt +153 -0
  7. data/docs/storage/aws.markdown +21 -0
  8. data/fog.gemspec +3 -3
  9. data/lib/fog.rb +0 -5
  10. data/lib/fog/atmos/models/storage/directories.rb +2 -2
  11. data/lib/fog/atmos/models/storage/directory.rb +11 -11
  12. data/lib/fog/atmos/models/storage/file.rb +8 -8
  13. data/lib/fog/atmos/models/storage/files.rb +3 -3
  14. data/lib/fog/aws.rb +1 -0
  15. data/lib/fog/aws/auto_scaling.rb +1 -1
  16. data/lib/fog/aws/cloud_watch.rb +1 -1
  17. data/lib/fog/aws/compute.rb +4 -2
  18. data/lib/fog/aws/dynamodb.rb +30 -64
  19. data/lib/fog/aws/elb.rb +1 -1
  20. data/lib/fog/aws/glacier.rb +1 -1
  21. data/lib/fog/aws/iam.rb +1 -0
  22. data/lib/fog/aws/models/auto_scaling/activities.rb +2 -2
  23. data/lib/fog/aws/models/auto_scaling/activity.rb +1 -1
  24. data/lib/fog/aws/models/auto_scaling/configuration.rb +2 -2
  25. data/lib/fog/aws/models/auto_scaling/configurations.rb +2 -2
  26. data/lib/fog/aws/models/auto_scaling/group.rb +13 -13
  27. data/lib/fog/aws/models/auto_scaling/groups.rb +2 -2
  28. data/lib/fog/aws/models/auto_scaling/instance.rb +5 -5
  29. data/lib/fog/aws/models/auto_scaling/instances.rb +2 -2
  30. data/lib/fog/aws/models/auto_scaling/policies.rb +2 -2
  31. data/lib/fog/aws/models/auto_scaling/policy.rb +2 -2
  32. data/lib/fog/aws/models/beanstalk/application.rb +7 -7
  33. data/lib/fog/aws/models/beanstalk/applications.rb +2 -2
  34. data/lib/fog/aws/models/beanstalk/environment.rb +10 -10
  35. data/lib/fog/aws/models/beanstalk/environments.rb +2 -2
  36. data/lib/fog/aws/models/beanstalk/events.rb +1 -1
  37. data/lib/fog/aws/models/beanstalk/template.rb +5 -5
  38. data/lib/fog/aws/models/beanstalk/templates.rb +3 -3
  39. data/lib/fog/aws/models/beanstalk/version.rb +6 -6
  40. data/lib/fog/aws/models/beanstalk/versions.rb +2 -2
  41. data/lib/fog/aws/models/cdn/distribution.rb +4 -4
  42. data/lib/fog/aws/models/cdn/distributions.rb +2 -2
  43. data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
  44. data/lib/fog/aws/models/cdn/invalidations.rb +2 -2
  45. data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
  46. data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -2
  47. data/lib/fog/aws/models/cloud_watch/alarm.rb +2 -2
  48. data/lib/fog/aws/models/cloud_watch/alarm_data.rb +9 -9
  49. data/lib/fog/aws/models/cloud_watch/alarm_datum.rb +3 -3
  50. data/lib/fog/aws/models/cloud_watch/alarm_histories.rb +1 -1
  51. data/lib/fog/aws/models/cloud_watch/alarms.rb +7 -7
  52. data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +2 -2
  53. data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +3 -3
  54. data/lib/fog/aws/models/cloud_watch/metrics.rb +27 -7
  55. data/lib/fog/aws/models/compute/address.rb +9 -9
  56. data/lib/fog/aws/models/compute/addresses.rb +2 -2
  57. data/lib/fog/aws/models/compute/dhcp_option.rb +3 -3
  58. data/lib/fog/aws/models/compute/dhcp_options.rb +2 -2
  59. data/lib/fog/aws/models/compute/flavors.rb +1 -1
  60. data/lib/fog/aws/models/compute/image.rb +2 -2
  61. data/lib/fog/aws/models/compute/images.rb +5 -5
  62. data/lib/fog/aws/models/compute/internet_gateway.rb +4 -4
  63. data/lib/fog/aws/models/compute/internet_gateways.rb +2 -2
  64. data/lib/fog/aws/models/compute/key_pair.rb +4 -4
  65. data/lib/fog/aws/models/compute/key_pairs.rb +2 -2
  66. data/lib/fog/aws/models/compute/network_interface.rb +3 -3
  67. data/lib/fog/aws/models/compute/network_interfaces.rb +2 -2
  68. data/lib/fog/aws/models/compute/security_group.rb +7 -7
  69. data/lib/fog/aws/models/compute/security_groups.rb +3 -3
  70. data/lib/fog/aws/models/compute/server.rb +22 -16
  71. data/lib/fog/aws/models/compute/servers.rb +6 -6
  72. data/lib/fog/aws/models/compute/snapshot.rb +4 -4
  73. data/lib/fog/aws/models/compute/snapshots.rb +3 -3
  74. data/lib/fog/aws/models/compute/spot_request.rb +18 -8
  75. data/lib/fog/aws/models/compute/spot_requests.rb +11 -11
  76. data/lib/fog/aws/models/compute/subnet.rb +3 -3
  77. data/lib/fog/aws/models/compute/subnets.rb +2 -2
  78. data/lib/fog/aws/models/compute/tag.rb +2 -2
  79. data/lib/fog/aws/models/compute/tags.rb +3 -3
  80. data/lib/fog/aws/models/compute/volume.rb +12 -13
  81. data/lib/fog/aws/models/compute/volumes.rb +2 -2
  82. data/lib/fog/aws/models/compute/vpc.rb +2 -2
  83. data/lib/fog/aws/models/compute/vpcs.rb +2 -2
  84. data/lib/fog/aws/models/dns/record.rb +4 -4
  85. data/lib/fog/aws/models/dns/records.rb +3 -3
  86. data/lib/fog/aws/models/dns/zone.rb +3 -3
  87. data/lib/fog/aws/models/dns/zones.rb +2 -2
  88. data/lib/fog/aws/models/elasticache/cluster.rb +2 -2
  89. data/lib/fog/aws/models/elasticache/clusters.rb +2 -2
  90. data/lib/fog/aws/models/elasticache/parameter_group.rb +2 -2
  91. data/lib/fog/aws/models/elasticache/parameter_groups.rb +2 -2
  92. data/lib/fog/aws/models/elasticache/security_group.rb +4 -4
  93. data/lib/fog/aws/models/elasticache/security_groups.rb +2 -2
  94. data/lib/fog/aws/models/elb/listener.rb +2 -2
  95. data/lib/fog/aws/models/elb/load_balancer.rb +19 -19
  96. data/lib/fog/aws/models/elb/load_balancers.rb +2 -2
  97. data/lib/fog/aws/models/elb/policy.rb +3 -3
  98. data/lib/fog/aws/models/glacier/archive.rb +7 -7
  99. data/lib/fog/aws/models/glacier/job.rb +2 -2
  100. data/lib/fog/aws/models/glacier/jobs.rb +3 -3
  101. data/lib/fog/aws/models/glacier/vault.rb +7 -7
  102. data/lib/fog/aws/models/glacier/vaults.rb +2 -2
  103. data/lib/fog/aws/models/iam/access_key.rb +8 -8
  104. data/lib/fog/aws/models/iam/access_keys.rb +7 -7
  105. data/lib/fog/aws/models/iam/policies.rb +10 -10
  106. data/lib/fog/aws/models/iam/policy.rb +8 -8
  107. data/lib/fog/aws/models/iam/user.rb +10 -10
  108. data/lib/fog/aws/models/iam/users.rb +2 -2
  109. data/lib/fog/aws/models/rds/parameter.rb +2 -2
  110. data/lib/fog/aws/models/rds/parameter_group.rb +10 -10
  111. data/lib/fog/aws/models/rds/parameter_groups.rb +3 -3
  112. data/lib/fog/aws/models/rds/parameters.rb +2 -2
  113. data/lib/fog/aws/models/rds/security_group.rb +4 -4
  114. data/lib/fog/aws/models/rds/security_groups.rb +2 -2
  115. data/lib/fog/aws/models/rds/server.rb +10 -10
  116. data/lib/fog/aws/models/rds/servers.rb +3 -3
  117. data/lib/fog/aws/models/rds/snapshot.rb +3 -3
  118. data/lib/fog/aws/models/rds/snapshots.rb +3 -3
  119. data/lib/fog/aws/models/rds/subnet_groups.rb +2 -2
  120. data/lib/fog/aws/models/storage/directories.rb +2 -2
  121. data/lib/fog/aws/models/storage/directory.rb +13 -13
  122. data/lib/fog/aws/models/storage/file.rb +106 -14
  123. data/lib/fog/aws/models/storage/files.rb +5 -5
  124. data/lib/fog/aws/models/storage/version.rb +2 -2
  125. data/lib/fog/aws/models/storage/versions.rb +3 -3
  126. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +22 -0
  127. data/lib/fog/aws/parsers/compute/describe_instances.rb +3 -1
  128. data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +1 -1
  129. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +5 -3
  130. data/lib/fog/aws/parsers/storage/cors_configuration.rb +41 -0
  131. data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +50 -0
  132. data/lib/fog/aws/rds.rb +2 -2
  133. data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +10 -1
  134. data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +7 -2
  135. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +27 -0
  136. data/lib/fog/aws/requests/compute/copy_snapshot.rb +58 -0
  137. data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -0
  138. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +11 -8
  139. data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +51 -0
  140. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +1 -0
  141. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +5 -7
  142. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +12 -16
  143. data/lib/fog/aws/requests/storage/copy_object.rb +19 -20
  144. data/lib/fog/aws/requests/storage/cors_utils.rb +41 -0
  145. data/lib/fog/aws/requests/storage/delete_bucket.rb +4 -7
  146. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +29 -0
  147. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +4 -7
  148. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +5 -8
  149. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +4 -7
  150. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +167 -0
  151. data/lib/fog/aws/requests/storage/delete_object.rb +5 -8
  152. data/lib/fog/aws/requests/storage/get_bucket.rb +25 -28
  153. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +15 -18
  154. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +65 -0
  155. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +9 -12
  156. data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -8
  157. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +15 -18
  158. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +37 -43
  159. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +4 -7
  160. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +6 -9
  161. data/lib/fog/aws/requests/storage/get_bucket_website.rb +9 -11
  162. data/lib/fog/aws/requests/storage/get_object.rb +17 -20
  163. data/lib/fog/aws/requests/storage/get_object_acl.rb +18 -21
  164. data/lib/fog/aws/requests/storage/get_object_http_url.rb +6 -9
  165. data/lib/fog/aws/requests/storage/get_object_https_url.rb +6 -9
  166. data/lib/fog/aws/requests/storage/get_object_torrent.rb +15 -18
  167. data/lib/fog/aws/requests/storage/get_object_url.rb +7 -10
  168. data/lib/fog/aws/requests/storage/get_request_payment.rb +5 -8
  169. data/lib/fog/aws/requests/storage/get_service.rb +9 -11
  170. data/lib/fog/aws/requests/storage/head_object.rb +21 -21
  171. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +18 -19
  172. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +51 -0
  173. data/lib/fog/aws/signaturev4.rb +1 -1
  174. data/lib/fog/aws/sqs.rb +1 -1
  175. data/lib/fog/aws/storage.rb +10 -1
  176. data/lib/fog/bluebox/models/compute/flavors.rb +2 -2
  177. data/lib/fog/bluebox/models/compute/image.rb +8 -8
  178. data/lib/fog/bluebox/models/compute/images.rb +2 -2
  179. data/lib/fog/bluebox/models/compute/locations.rb +2 -2
  180. data/lib/fog/bluebox/models/compute/server.rb +10 -10
  181. data/lib/fog/bluebox/models/compute/servers.rb +2 -2
  182. data/lib/fog/bluebox/models/dns/record.rb +3 -3
  183. data/lib/fog/bluebox/models/dns/records.rb +2 -2
  184. data/lib/fog/bluebox/models/dns/zone.rb +3 -3
  185. data/lib/fog/bluebox/models/dns/zones.rb +2 -2
  186. data/lib/fog/bluebox/requests/compute/create_block.rb +3 -5
  187. data/lib/fog/brightbox/compute.rb +284 -82
  188. data/lib/fog/brightbox/models/compute/account.rb +9 -3
  189. data/lib/fog/brightbox/models/compute/accounts.rb +3 -3
  190. data/lib/fog/brightbox/models/compute/api_client.rb +4 -4
  191. data/lib/fog/brightbox/models/compute/api_clients.rb +2 -2
  192. data/lib/fog/brightbox/models/compute/application.rb +2 -2
  193. data/lib/fog/brightbox/models/compute/applications.rb +3 -3
  194. data/lib/fog/brightbox/models/compute/cloud_ip.rb +4 -3
  195. data/lib/fog/brightbox/models/compute/cloud_ips.rb +4 -4
  196. data/lib/fog/brightbox/models/compute/firewall_policies.rb +3 -3
  197. data/lib/fog/brightbox/models/compute/firewall_policy.rb +5 -5
  198. data/lib/fog/brightbox/models/compute/firewall_rule.rb +3 -3
  199. data/lib/fog/brightbox/models/compute/firewall_rules.rb +2 -2
  200. data/lib/fog/brightbox/models/compute/flavors.rb +3 -3
  201. data/lib/fog/brightbox/models/compute/image.rb +3 -3
  202. data/lib/fog/brightbox/models/compute/images.rb +2 -2
  203. data/lib/fog/brightbox/models/compute/load_balancer.rb +3 -3
  204. data/lib/fog/brightbox/models/compute/load_balancers.rb +2 -2
  205. data/lib/fog/brightbox/models/compute/server.rb +25 -18
  206. data/lib/fog/brightbox/models/compute/server_group.rb +6 -6
  207. data/lib/fog/brightbox/models/compute/server_groups.rb +3 -3
  208. data/lib/fog/brightbox/models/compute/servers.rb +35 -3
  209. data/lib/fog/brightbox/models/compute/user.rb +1 -1
  210. data/lib/fog/brightbox/models/compute/users.rb +3 -3
  211. data/lib/fog/brightbox/models/compute/zones.rb +3 -3
  212. data/lib/fog/brightbox/oauth2.rb +164 -0
  213. data/lib/fog/brightbox/requests/compute/activate_console_server.rb +10 -3
  214. data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +12 -3
  215. data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +12 -3
  216. data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +10 -12
  217. data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +12 -3
  218. data/lib/fog/brightbox/requests/compute/create_api_client.rb +12 -3
  219. data/lib/fog/brightbox/requests/compute/create_application.rb +12 -3
  220. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +12 -2
  221. data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +14 -3
  222. data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +18 -3
  223. data/lib/fog/brightbox/requests/compute/create_image.rb +19 -3
  224. data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +15 -3
  225. data/lib/fog/brightbox/requests/compute/create_server.rb +18 -3
  226. data/lib/fog/brightbox/requests/compute/create_server_group.rb +12 -3
  227. data/lib/fog/brightbox/requests/compute/destroy_api_client.rb +10 -3
  228. data/lib/fog/brightbox/requests/compute/destroy_application.rb +10 -3
  229. data/lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb +10 -3
  230. data/lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb +10 -3
  231. data/lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb +10 -3
  232. data/lib/fog/brightbox/requests/compute/destroy_image.rb +10 -3
  233. data/lib/fog/brightbox/requests/compute/destroy_load_balancer.rb +10 -3
  234. data/lib/fog/brightbox/requests/compute/destroy_server.rb +10 -3
  235. data/lib/fog/brightbox/requests/compute/destroy_server_group.rb +10 -3
  236. data/lib/fog/brightbox/requests/compute/get_account.rb +8 -16
  237. data/lib/fog/brightbox/requests/compute/get_api_client.rb +10 -3
  238. data/lib/fog/brightbox/requests/compute/get_application.rb +10 -3
  239. data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +2 -4
  240. data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +10 -3
  241. data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +10 -3
  242. data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +10 -3
  243. data/lib/fog/brightbox/requests/compute/get_image.rb +10 -3
  244. data/lib/fog/brightbox/requests/compute/get_interface.rb +10 -3
  245. data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +10 -3
  246. data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +2 -6
  247. data/lib/fog/brightbox/requests/compute/get_server.rb +10 -3
  248. data/lib/fog/brightbox/requests/compute/get_server_group.rb +10 -3
  249. data/lib/fog/brightbox/requests/compute/get_server_type.rb +10 -3
  250. data/lib/fog/brightbox/requests/compute/get_user.rb +8 -16
  251. data/lib/fog/brightbox/requests/compute/get_zone.rb +10 -3
  252. data/lib/fog/brightbox/requests/compute/list_accounts.rb +7 -3
  253. data/lib/fog/brightbox/requests/compute/list_api_clients.rb +9 -3
  254. data/lib/fog/brightbox/requests/compute/list_applications.rb +9 -3
  255. data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +9 -3
  256. data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +9 -3
  257. data/lib/fog/brightbox/requests/compute/list_images.rb +9 -3
  258. data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +9 -3
  259. data/lib/fog/brightbox/requests/compute/list_server_groups.rb +9 -3
  260. data/lib/fog/brightbox/requests/compute/list_server_types.rb +9 -3
  261. data/lib/fog/brightbox/requests/compute/list_servers.rb +9 -3
  262. data/lib/fog/brightbox/requests/compute/list_users.rb +9 -3
  263. data/lib/fog/brightbox/requests/compute/list_zones.rb +9 -3
  264. data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +12 -3
  265. data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +11 -13
  266. data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +12 -3
  267. data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +12 -3
  268. data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +12 -3
  269. data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +10 -11
  270. data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +22 -3
  271. data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +18 -0
  272. data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +14 -2
  273. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +10 -3
  274. data/lib/fog/brightbox/requests/compute/shutdown_server.rb +10 -3
  275. data/lib/fog/brightbox/requests/compute/snapshot_server.rb +10 -3
  276. data/lib/fog/brightbox/requests/compute/start_server.rb +10 -3
  277. data/lib/fog/brightbox/requests/compute/stop_server.rb +10 -3
  278. data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +10 -3
  279. data/lib/fog/brightbox/requests/compute/update_account.rb +33 -35
  280. data/lib/fog/brightbox/requests/compute/update_api_client.rb +13 -3
  281. data/lib/fog/brightbox/requests/compute/update_application.rb +13 -3
  282. data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +14 -3
  283. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +17 -2
  284. data/lib/fog/brightbox/requests/compute/update_image.rb +18 -3
  285. data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +16 -3
  286. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +13 -20
  287. data/lib/fog/brightbox/requests/compute/update_server.rb +13 -3
  288. data/lib/fog/brightbox/requests/compute/update_server_group.rb +13 -3
  289. data/lib/fog/brightbox/requests/compute/update_user.rb +16 -3
  290. data/lib/fog/clodo/models/compute/images.rb +2 -2
  291. data/lib/fog/clodo/models/compute/server.rb +7 -7
  292. data/lib/fog/clodo/models/compute/servers.rb +2 -2
  293. data/lib/fog/cloudstack/models/compute/flavors.rb +2 -2
  294. data/lib/fog/cloudstack/models/compute/image.rb +2 -2
  295. data/lib/fog/cloudstack/models/compute/images.rb +2 -2
  296. data/lib/fog/cloudstack/models/compute/job.rb +2 -2
  297. data/lib/fog/cloudstack/models/compute/jobs.rb +2 -2
  298. data/lib/fog/cloudstack/models/compute/security_group.rb +3 -3
  299. data/lib/fog/cloudstack/models/compute/security_group_rule.rb +5 -5
  300. data/lib/fog/cloudstack/models/compute/security_group_rules.rb +1 -1
  301. data/lib/fog/cloudstack/models/compute/security_groups.rb +2 -2
  302. data/lib/fog/cloudstack/models/compute/server.rb +14 -12
  303. data/lib/fog/cloudstack/models/compute/servers.rb +2 -2
  304. data/lib/fog/cloudstack/models/compute/volume.rb +8 -8
  305. data/lib/fog/cloudstack/models/compute/volumes.rb +2 -2
  306. data/lib/fog/cloudstack/models/compute/zone.rb +1 -1
  307. data/lib/fog/cloudstack/models/compute/zones.rb +2 -2
  308. data/lib/fog/compute.rb +2 -1
  309. data/lib/fog/core.rb +1 -0
  310. data/lib/fog/core/attributes.rb +19 -2
  311. data/lib/fog/core/collection.rb +17 -6
  312. data/lib/fog/core/connection.rb +1 -0
  313. data/lib/fog/core/deprecated_connection_accessors.rb +41 -0
  314. data/lib/fog/core/errors.rb +2 -0
  315. data/lib/fog/core/json.rb +4 -16
  316. data/lib/fog/core/model.rb +11 -1
  317. data/lib/fog/core/service.rb +1 -1
  318. data/lib/fog/core/wait_for.rb +1 -1
  319. data/lib/fog/dnsimple/models/dns/record.rb +4 -4
  320. data/lib/fog/dnsimple/models/dns/records.rb +2 -2
  321. data/lib/fog/dnsimple/models/dns/zone.rb +3 -3
  322. data/lib/fog/dnsimple/models/dns/zones.rb +2 -2
  323. data/lib/fog/dnsmadeeasy/models/dns/record.rb +5 -5
  324. data/lib/fog/dnsmadeeasy/models/dns/records.rb +2 -2
  325. data/lib/fog/dnsmadeeasy/models/dns/zone.rb +3 -3
  326. data/lib/fog/dnsmadeeasy/models/dns/zones.rb +2 -2
  327. data/lib/fog/dynect/models/dns/record.rb +3 -3
  328. data/lib/fog/dynect/models/dns/records.rb +2 -2
  329. data/lib/fog/dynect/models/dns/zone.rb +4 -4
  330. data/lib/fog/dynect/models/dns/zones.rb +2 -2
  331. data/lib/fog/ecloud.rb +19 -5
  332. data/lib/fog/ecloud/compute.rb +663 -351
  333. data/lib/fog/ecloud/generate_collection.rb +3 -3
  334. data/lib/fog/ecloud/models/compute/admin_organization.rb +14 -10
  335. data/lib/fog/ecloud/models/compute/admin_organizations.rb +1 -6
  336. data/lib/fog/ecloud/models/compute/api_keys.rb +2 -2
  337. data/lib/fog/ecloud/models/compute/association.rb +3 -3
  338. data/lib/fog/ecloud/models/compute/associations.rb +2 -2
  339. data/lib/fog/ecloud/models/compute/authentication_levels.rb +2 -2
  340. data/lib/fog/ecloud/models/compute/backup_internet_service.rb +7 -7
  341. data/lib/fog/ecloud/models/compute/backup_internet_services.rb +3 -3
  342. data/lib/fog/ecloud/models/compute/catalog.rb +2 -2
  343. data/lib/fog/ecloud/models/compute/catalog_configurations.rb +2 -2
  344. data/lib/fog/ecloud/models/compute/catalog_item.rb +1 -1
  345. data/lib/fog/ecloud/models/compute/compute_pool.rb +27 -15
  346. data/lib/fog/ecloud/models/compute/compute_pools.rb +2 -2
  347. data/lib/fog/ecloud/models/compute/cpu_usage_detail_summary.rb +2 -2
  348. data/lib/fog/ecloud/models/compute/detached_disk.rb +27 -0
  349. data/lib/fog/ecloud/models/compute/detached_disks.rb +31 -0
  350. data/lib/fog/ecloud/models/compute/environment.rb +27 -20
  351. data/lib/fog/ecloud/models/compute/environments.rb +2 -2
  352. data/lib/fog/ecloud/models/compute/firewall_acl.rb +1 -1
  353. data/lib/fog/ecloud/models/compute/firewall_acls.rb +2 -2
  354. data/lib/fog/ecloud/models/compute/group.rb +8 -6
  355. data/lib/fog/ecloud/models/compute/groups.rb +17 -6
  356. data/lib/fog/ecloud/models/compute/guest_processes.rb +2 -2
  357. data/lib/fog/ecloud/models/compute/hardware_configuration.rb +4 -4
  358. data/lib/fog/ecloud/models/compute/hardware_configurations.rb +2 -2
  359. data/lib/fog/ecloud/models/compute/internet_service.rb +35 -29
  360. data/lib/fog/ecloud/models/compute/internet_services.rb +11 -8
  361. data/lib/fog/ecloud/models/compute/ip_address.rb +17 -3
  362. data/lib/fog/ecloud/models/compute/ip_addresses.rb +7 -2
  363. data/lib/fog/ecloud/models/compute/layout.rb +1 -1
  364. data/lib/fog/ecloud/models/compute/layouts.rb +2 -2
  365. data/lib/fog/ecloud/models/compute/location.rb +1 -1
  366. data/lib/fog/ecloud/models/compute/locations.rb +2 -2
  367. data/lib/fog/ecloud/models/compute/login_banners.rb +2 -2
  368. data/lib/fog/ecloud/models/compute/memory_usage_detail_summary.rb +2 -2
  369. data/lib/fog/ecloud/models/compute/monitor.rb +4 -4
  370. data/lib/fog/ecloud/models/compute/monitors.rb +2 -2
  371. data/lib/fog/ecloud/models/compute/network.rb +22 -12
  372. data/lib/fog/ecloud/models/compute/networks.rb +9 -5
  373. data/lib/fog/ecloud/models/compute/node.rb +12 -6
  374. data/lib/fog/ecloud/models/compute/nodes.rb +7 -4
  375. data/lib/fog/ecloud/models/compute/operating_system_families.rb +2 -2
  376. data/lib/fog/ecloud/models/compute/operating_system_family.rb +1 -1
  377. data/lib/fog/ecloud/models/compute/operating_systems.rb +1 -1
  378. data/lib/fog/ecloud/models/compute/organization.rb +17 -17
  379. data/lib/fog/ecloud/models/compute/organizations.rb +3 -3
  380. data/lib/fog/ecloud/models/compute/password_complexity_rules.rb +2 -2
  381. data/lib/fog/ecloud/models/compute/physical_devices.rb +2 -2
  382. data/lib/fog/ecloud/models/compute/public_ip.rb +2 -2
  383. data/lib/fog/ecloud/models/compute/public_ips.rb +8 -5
  384. data/lib/fog/ecloud/models/compute/rnat.rb +2 -2
  385. data/lib/fog/ecloud/models/compute/rnats.rb +2 -2
  386. data/lib/fog/ecloud/models/compute/roles.rb +2 -2
  387. data/lib/fog/ecloud/models/compute/row.rb +10 -7
  388. data/lib/fog/ecloud/models/compute/rows.rb +9 -6
  389. data/lib/fog/ecloud/models/compute/server.rb +139 -93
  390. data/lib/fog/ecloud/models/compute/server_configuration_options.rb +2 -2
  391. data/lib/fog/ecloud/models/compute/servers.rb +18 -15
  392. data/lib/fog/ecloud/models/compute/ssh_key.rb +1 -1
  393. data/lib/fog/ecloud/models/compute/ssh_keys.rb +2 -2
  394. data/lib/fog/ecloud/models/compute/storage_usage_detail_summary.rb +2 -2
  395. data/lib/fog/ecloud/models/compute/support_tickets.rb +2 -2
  396. data/lib/fog/ecloud/models/compute/tags.rb +2 -2
  397. data/lib/fog/ecloud/models/compute/task.rb +3 -0
  398. data/lib/fog/ecloud/models/compute/tasks.rb +3 -3
  399. data/lib/fog/ecloud/models/compute/template.rb +8 -9
  400. data/lib/fog/ecloud/models/compute/templates.rb +2 -2
  401. data/lib/fog/ecloud/models/compute/trusted_network_group.rb +5 -5
  402. data/lib/fog/ecloud/models/compute/trusted_network_groups.rb +2 -2
  403. data/lib/fog/ecloud/models/compute/user.rb +2 -2
  404. data/lib/fog/ecloud/models/compute/users.rb +2 -2
  405. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ip.rb +32 -0
  406. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ips.rb +27 -0
  407. data/lib/fog/ecloud/requests/compute/admin_edit_authentication_levels.rb +1 -2
  408. data/lib/fog/ecloud/requests/compute/get_admin_organization.rb +14 -0
  409. data/lib/fog/ecloud/requests/compute/get_compute_pool.rb +11 -0
  410. data/lib/fog/ecloud/requests/compute/get_compute_pools.rb +21 -0
  411. data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +21 -0
  412. data/lib/fog/ecloud/requests/compute/get_detached_disks.rb +33 -0
  413. data/lib/fog/ecloud/requests/compute/get_environment.rb +21 -0
  414. data/lib/fog/ecloud/requests/compute/get_group.rb +8 -1
  415. data/lib/fog/ecloud/requests/compute/get_groups.rb +8 -1
  416. data/lib/fog/ecloud/requests/compute/get_hardware_configuration.rb +19 -0
  417. data/lib/fog/ecloud/requests/compute/get_hardware_configurations.rb +4 -0
  418. data/lib/fog/ecloud/requests/compute/get_internet_service.rb +12 -0
  419. data/lib/fog/ecloud/requests/compute/get_internet_services.rb +8 -0
  420. data/lib/fog/ecloud/requests/compute/get_ip_address.rb +11 -0
  421. data/lib/fog/ecloud/requests/compute/get_layout.rb +8 -1
  422. data/lib/fog/ecloud/requests/compute/get_layouts.rb +8 -1
  423. data/lib/fog/ecloud/requests/compute/get_network.rb +11 -0
  424. data/lib/fog/ecloud/requests/compute/get_networks.rb +20 -0
  425. data/lib/fog/ecloud/requests/compute/get_node.rb +11 -0
  426. data/lib/fog/ecloud/requests/compute/get_nodes.rb +9 -0
  427. data/lib/fog/ecloud/requests/compute/get_operating_system.rb +14 -0
  428. data/lib/fog/ecloud/requests/compute/get_operating_system_families.rb +20 -0
  429. data/lib/fog/ecloud/requests/compute/get_organization.rb +14 -0
  430. data/lib/fog/ecloud/requests/compute/get_organizations.rb +14 -2
  431. data/lib/fog/ecloud/requests/compute/get_public_ip.rb +11 -1
  432. data/lib/fog/ecloud/requests/compute/get_public_ips.rb +22 -0
  433. data/lib/fog/ecloud/requests/compute/get_row.rb +8 -1
  434. data/lib/fog/ecloud/requests/compute/get_rows.rb +2 -1
  435. data/lib/fog/ecloud/requests/compute/get_server.rb +11 -0
  436. data/lib/fog/ecloud/requests/compute/get_servers.rb +32 -1
  437. data/lib/fog/ecloud/requests/compute/get_ssh_key.rb +11 -0
  438. data/lib/fog/ecloud/requests/compute/get_ssh_keys.rb +20 -0
  439. data/lib/fog/ecloud/requests/compute/get_task.rb +4 -2
  440. data/lib/fog/ecloud/requests/compute/get_template.rb +11 -0
  441. data/lib/fog/ecloud/requests/compute/get_templates.rb +38 -0
  442. data/lib/fog/ecloud/requests/compute/get_virtual_machine_assigned_ips.rb +44 -0
  443. data/lib/fog/ecloud/requests/compute/groups_delete.rb +16 -1
  444. data/lib/fog/ecloud/requests/compute/internet_service_create.rb +36 -1
  445. data/lib/fog/ecloud/requests/compute/internet_service_delete.rb +23 -0
  446. data/lib/fog/ecloud/requests/compute/node_service_create.rb +49 -1
  447. data/lib/fog/ecloud/requests/compute/node_service_delete.rb +24 -0
  448. data/lib/fog/ecloud/requests/compute/rows_delete.rb +11 -1
  449. data/lib/fog/ecloud/requests/compute/virtual_machine_attach_disk.rb +62 -0
  450. data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +136 -16
  451. data/lib/fog/ecloud/requests/compute/virtual_machine_delete.rb +36 -1
  452. data/lib/fog/ecloud/requests/compute/virtual_machine_detach_disk.rb +71 -0
  453. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_assigned_ips.rb +82 -0
  454. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_hardware_configuration.rb +27 -3
  455. data/lib/fog/ecloud/requests/compute/virtual_machine_import.rb +120 -6
  456. data/lib/fog/glesys/models/compute/ip.rb +7 -7
  457. data/lib/fog/glesys/models/compute/ips.rb +7 -7
  458. data/lib/fog/glesys/models/compute/server.rb +6 -6
  459. data/lib/fog/glesys/models/compute/servers.rb +4 -4
  460. data/lib/fog/glesys/models/compute/template.rb +1 -1
  461. data/lib/fog/glesys/models/compute/templates.rb +2 -2
  462. data/lib/fog/go_grid/models/compute/image.rb +3 -3
  463. data/lib/fog/go_grid/models/compute/images.rb +2 -2
  464. data/lib/fog/go_grid/models/compute/password.rb +5 -5
  465. data/lib/fog/go_grid/models/compute/passwords.rb +3 -3
  466. data/lib/fog/go_grid/models/compute/server.rb +4 -4
  467. data/lib/fog/go_grid/models/compute/servers.rb +2 -2
  468. data/lib/fog/google/models/storage/directories.rb +2 -2
  469. data/lib/fog/google/models/storage/directory.rb +4 -4
  470. data/lib/fog/google/models/storage/file.rb +5 -5
  471. data/lib/fog/google/models/storage/files.rb +4 -4
  472. data/lib/fog/google/storage.rb +13 -2
  473. data/lib/fog/hp.rb +6 -3
  474. data/lib/fog/hp/models/compute/address.rb +8 -8
  475. data/lib/fog/hp/models/compute/addresses.rb +2 -2
  476. data/lib/fog/hp/models/compute/flavors.rb +2 -2
  477. data/lib/fog/hp/models/compute/image.rb +2 -2
  478. data/lib/fog/hp/models/compute/images.rb +2 -2
  479. data/lib/fog/hp/models/compute/key_pair.rb +3 -3
  480. data/lib/fog/hp/models/compute/key_pairs.rb +2 -2
  481. data/lib/fog/hp/models/compute/security_group.rb +4 -4
  482. data/lib/fog/hp/models/compute/security_groups.rb +3 -3
  483. data/lib/fog/hp/models/compute/server.rb +15 -15
  484. data/lib/fog/hp/models/compute/servers.rb +2 -2
  485. data/lib/fog/hp/models/storage/directories.rb +3 -3
  486. data/lib/fog/hp/models/storage/directory.rb +18 -18
  487. data/lib/fog/hp/models/storage/file.rb +4 -4
  488. data/lib/fog/hp/models/storage/files.rb +2 -2
  489. data/lib/fog/ibm/models/compute/address.rb +2 -2
  490. data/lib/fog/ibm/models/compute/addresses.rb +2 -2
  491. data/lib/fog/ibm/models/compute/image.rb +3 -3
  492. data/lib/fog/ibm/models/compute/images.rb +2 -2
  493. data/lib/fog/ibm/models/compute/key.rb +2 -2
  494. data/lib/fog/ibm/models/compute/keys.rb +3 -3
  495. data/lib/fog/ibm/models/compute/locations.rb +2 -2
  496. data/lib/fog/ibm/models/compute/server.rb +12 -12
  497. data/lib/fog/ibm/models/compute/servers.rb +2 -2
  498. data/lib/fog/ibm/models/compute/vlans.rb +2 -2
  499. data/lib/fog/ibm/models/storage/offerings.rb +1 -1
  500. data/lib/fog/ibm/models/storage/volume.rb +5 -5
  501. data/lib/fog/ibm/models/storage/volumes.rb +2 -2
  502. data/lib/fog/joyent/models/compute/flavors.rb +2 -2
  503. data/lib/fog/joyent/models/compute/images.rb +2 -2
  504. data/lib/fog/joyent/models/compute/key.rb +1 -1
  505. data/lib/fog/joyent/models/compute/keys.rb +3 -3
  506. data/lib/fog/joyent/models/compute/server.rb +13 -13
  507. data/lib/fog/joyent/models/compute/servers.rb +3 -3
  508. data/lib/fog/joyent/models/compute/snapshot.rb +4 -4
  509. data/lib/fog/joyent/models/compute/snapshots.rb +3 -3
  510. data/lib/fog/libvirt/compute.rb +6 -1
  511. data/lib/fog/libvirt/models/compute/interface.rb +1 -1
  512. data/lib/fog/libvirt/models/compute/interfaces.rb +1 -1
  513. data/lib/fog/libvirt/models/compute/network.rb +1 -1
  514. data/lib/fog/libvirt/models/compute/networks.rb +1 -1
  515. data/lib/fog/libvirt/models/compute/nic.rb +2 -2
  516. data/lib/fog/libvirt/models/compute/nodes.rb +1 -1
  517. data/lib/fog/libvirt/models/compute/pool.rb +7 -7
  518. data/lib/fog/libvirt/models/compute/pools.rb +1 -1
  519. data/lib/fog/libvirt/models/compute/server.rb +29 -28
  520. data/lib/fog/libvirt/models/compute/servers.rb +2 -2
  521. data/lib/fog/libvirt/models/compute/volume.rb +5 -5
  522. data/lib/fog/libvirt/models/compute/volumes.rb +1 -1
  523. data/lib/fog/libvirt/requests/compute/list_domains.rb +2 -2
  524. data/lib/fog/linode/models/compute/data_centers.rb +2 -2
  525. data/lib/fog/linode/models/compute/disk.rb +7 -7
  526. data/lib/fog/linode/models/compute/disks.rb +2 -2
  527. data/lib/fog/linode/models/compute/flavors.rb +2 -2
  528. data/lib/fog/linode/models/compute/images.rb +2 -2
  529. data/lib/fog/linode/models/compute/ip.rb +3 -3
  530. data/lib/fog/linode/models/compute/ips.rb +2 -2
  531. data/lib/fog/linode/models/compute/kernels.rb +2 -2
  532. data/lib/fog/linode/models/compute/server.rb +13 -13
  533. data/lib/fog/linode/models/compute/servers.rb +2 -2
  534. data/lib/fog/linode/models/compute/stack_scripts.rb +3 -3
  535. data/lib/fog/linode/models/dns/record.rb +6 -6
  536. data/lib/fog/linode/models/dns/records.rb +2 -2
  537. data/lib/fog/linode/models/dns/zone.rb +6 -6
  538. data/lib/fog/linode/models/dns/zones.rb +2 -2
  539. data/lib/fog/local/models/storage/directories.rb +3 -3
  540. data/lib/fog/local/models/storage/directory.rb +2 -2
  541. data/lib/fog/local/models/storage/file.rb +6 -6
  542. data/lib/fog/local/models/storage/files.rb +2 -2
  543. data/lib/fog/ninefold/models/compute/address.rb +5 -5
  544. data/lib/fog/ninefold/models/compute/addresses.rb +2 -2
  545. data/lib/fog/ninefold/models/compute/flavors.rb +2 -2
  546. data/lib/fog/ninefold/models/compute/images.rb +2 -2
  547. data/lib/fog/ninefold/models/compute/ip_forwarding_rule.rb +3 -3
  548. data/lib/fog/ninefold/models/compute/ip_forwarding_rules.rb +2 -2
  549. data/lib/fog/ninefold/models/compute/server.rb +9 -9
  550. data/lib/fog/ninefold/models/compute/servers.rb +2 -2
  551. data/lib/fog/openstack.rb +89 -65
  552. data/lib/fog/openstack/README.identity.md +69 -0
  553. data/lib/fog/openstack/compute.rb +71 -41
  554. data/lib/fog/openstack/identity.rb +43 -22
  555. data/lib/fog/openstack/image.rb +11 -5
  556. data/lib/fog/openstack/models/compute/address.rb +8 -8
  557. data/lib/fog/openstack/models/compute/addresses.rb +3 -3
  558. data/lib/fog/openstack/models/compute/flavor.rb +9 -4
  559. data/lib/fog/openstack/models/compute/flavors.rb +2 -2
  560. data/lib/fog/openstack/models/compute/host.rb +3 -2
  561. data/lib/fog/openstack/models/compute/hosts.rb +2 -2
  562. data/lib/fog/openstack/models/compute/image.rb +4 -3
  563. data/lib/fog/openstack/models/compute/images.rb +2 -2
  564. data/lib/fog/openstack/models/compute/key_pair.rb +3 -3
  565. data/lib/fog/openstack/models/compute/key_pairs.rb +1 -1
  566. data/lib/fog/openstack/models/compute/metadata.rb +4 -4
  567. data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
  568. data/lib/fog/openstack/models/compute/security_group.rb +5 -5
  569. data/lib/fog/openstack/models/compute/security_groups.rb +2 -2
  570. data/lib/fog/openstack/models/compute/server.rb +41 -27
  571. data/lib/fog/openstack/models/compute/servers.rb +2 -2
  572. data/lib/fog/openstack/models/compute/snapshot.rb +4 -3
  573. data/lib/fog/openstack/models/compute/snapshots.rb +2 -2
  574. data/lib/fog/openstack/models/compute/tenant.rb +1 -1
  575. data/lib/fog/openstack/models/compute/tenants.rb +7 -3
  576. data/lib/fog/openstack/models/compute/volume.rb +6 -5
  577. data/lib/fog/openstack/models/compute/volumes.rb +2 -2
  578. data/lib/fog/openstack/models/identity/ec2_credential.rb +44 -0
  579. data/lib/fog/openstack/models/identity/ec2_credentials.rb +53 -0
  580. data/lib/fog/openstack/models/identity/role.rb +4 -4
  581. data/lib/fog/openstack/models/identity/roles.rb +2 -2
  582. data/lib/fog/openstack/models/identity/tenant.rb +7 -7
  583. data/lib/fog/openstack/models/identity/tenants.rb +3 -3
  584. data/lib/fog/openstack/models/identity/user.rb +12 -6
  585. data/lib/fog/openstack/models/identity/users.rb +4 -5
  586. data/lib/fog/openstack/models/image/image.rb +10 -9
  587. data/lib/fog/openstack/models/image/images.rb +6 -6
  588. data/lib/fog/openstack/models/network/network.rb +6 -5
  589. data/lib/fog/openstack/models/network/networks.rb +3 -3
  590. data/lib/fog/openstack/models/network/port.rb +6 -5
  591. data/lib/fog/openstack/models/network/ports.rb +3 -3
  592. data/lib/fog/openstack/models/network/subnet.rb +6 -5
  593. data/lib/fog/openstack/models/network/subnets.rb +3 -3
  594. data/lib/fog/openstack/models/volume/volume.rb +4 -3
  595. data/lib/fog/openstack/models/volume/volumes.rb +2 -2
  596. data/lib/fog/openstack/network.rb +5 -3
  597. data/lib/fog/openstack/requests/compute/create_flavor.rb +4 -1
  598. data/lib/fog/openstack/requests/compute/create_security_group.rb +3 -2
  599. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -0
  600. data/lib/fog/openstack/requests/compute/create_server.rb +54 -7
  601. data/lib/fog/openstack/requests/compute/delete_security_group.rb +2 -0
  602. data/lib/fog/openstack/requests/compute/get_limits.rb +93 -0
  603. data/lib/fog/openstack/requests/compute/list_security_groups.rb +17 -41
  604. data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -0
  605. data/lib/fog/openstack/requests/compute/release_address.rb +13 -1
  606. data/lib/fog/openstack/requests/compute/reset_server_state.rb +24 -0
  607. data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +7 -2
  608. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +58 -0
  609. data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
  610. data/lib/fog/openstack/requests/identity/create_tenant.rb +1 -3
  611. data/lib/fog/openstack/requests/identity/delete_ec2_credential.rb +44 -0
  612. data/lib/fog/openstack/requests/identity/get_ec2_credential.rb +49 -0
  613. data/lib/fog/openstack/requests/identity/get_user_by_name.rb +8 -0
  614. data/lib/fog/openstack/requests/identity/list_ec2_credentials.rb +44 -0
  615. data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +7 -1
  616. data/lib/fog/openstack/requests/identity/list_users.rb +10 -1
  617. data/lib/fog/openstack/requests/identity/set_tenant.rb +21 -0
  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/volume.rb +6 -3
  621. data/lib/fog/ovirt/models/compute/cluster.rb +1 -1
  622. data/lib/fog/ovirt/models/compute/clusters.rb +2 -2
  623. data/lib/fog/ovirt/models/compute/interfaces.rb +3 -3
  624. data/lib/fog/ovirt/models/compute/server.rb +15 -15
  625. data/lib/fog/ovirt/models/compute/servers.rb +2 -2
  626. data/lib/fog/ovirt/models/compute/template.rb +5 -5
  627. data/lib/fog/ovirt/models/compute/templates.rb +2 -2
  628. data/lib/fog/ovirt/models/compute/volumes.rb +3 -3
  629. data/lib/fog/rackspace.rb +20 -11
  630. data/lib/fog/rackspace/block_storage.rb +1 -0
  631. data/lib/fog/rackspace/compute_v2.rb +10 -0
  632. data/lib/fog/rackspace/load_balancers.rb +2 -0
  633. data/lib/fog/rackspace/models/block_storage/snapshot.rb +3 -2
  634. data/lib/fog/rackspace/models/block_storage/snapshots.rb +2 -2
  635. data/lib/fog/rackspace/models/block_storage/volume.rb +9 -3
  636. data/lib/fog/rackspace/models/block_storage/volume_types.rb +3 -3
  637. data/lib/fog/rackspace/models/block_storage/volumes.rb +2 -2
  638. data/lib/fog/rackspace/models/compute/flavors.rb +2 -2
  639. data/lib/fog/rackspace/models/compute/image.rb +3 -3
  640. data/lib/fog/rackspace/models/compute/images.rb +2 -2
  641. data/lib/fog/rackspace/models/compute/server.rb +7 -7
  642. data/lib/fog/rackspace/models/compute/servers.rb +2 -2
  643. data/lib/fog/rackspace/models/compute_v2/attachment.rb +2 -2
  644. data/lib/fog/rackspace/models/compute_v2/attachments.rb +2 -2
  645. data/lib/fog/rackspace/models/compute_v2/flavors.rb +2 -2
  646. data/lib/fog/rackspace/models/compute_v2/image.rb +9 -0
  647. data/lib/fog/rackspace/models/compute_v2/images.rb +2 -2
  648. data/lib/fog/rackspace/models/compute_v2/server.rb +47 -14
  649. data/lib/fog/rackspace/models/compute_v2/servers.rb +10 -2
  650. data/lib/fog/rackspace/models/databases/database.rb +2 -2
  651. data/lib/fog/rackspace/models/databases/databases.rb +1 -1
  652. data/lib/fog/rackspace/models/databases/flavors.rb +2 -2
  653. data/lib/fog/rackspace/models/databases/instance.rb +10 -10
  654. data/lib/fog/rackspace/models/databases/instances.rb +2 -2
  655. data/lib/fog/rackspace/models/databases/user.rb +2 -2
  656. data/lib/fog/rackspace/models/databases/users.rb +1 -1
  657. data/lib/fog/rackspace/models/dns/callback.rb +1 -1
  658. data/lib/fog/rackspace/models/dns/record.rb +23 -5
  659. data/lib/fog/rackspace/models/dns/records.rb +2 -2
  660. data/lib/fog/rackspace/models/dns/zone.rb +5 -5
  661. data/lib/fog/rackspace/models/dns/zones.rb +2 -2
  662. data/lib/fog/rackspace/models/identity/credentials.rb +1 -1
  663. data/lib/fog/rackspace/models/identity/roles.rb +1 -1
  664. data/lib/fog/rackspace/models/identity/tenants.rb +1 -1
  665. data/lib/fog/rackspace/models/identity/user.rb +6 -6
  666. data/lib/fog/rackspace/models/identity/users.rb +3 -3
  667. data/lib/fog/rackspace/models/load_balancers/access_rule.rb +4 -4
  668. data/lib/fog/rackspace/models/load_balancers/access_rules.rb +1 -1
  669. data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +45 -27
  670. data/lib/fog/rackspace/models/load_balancers/load_balancers.rb +2 -2
  671. data/lib/fog/rackspace/models/load_balancers/node.rb +4 -4
  672. data/lib/fog/rackspace/models/load_balancers/nodes.rb +2 -2
  673. data/lib/fog/rackspace/models/load_balancers/virtual_ip.rb +3 -3
  674. data/lib/fog/rackspace/models/load_balancers/virtual_ips.rb +1 -1
  675. data/lib/fog/rackspace/models/storage/directories.rb +2 -2
  676. data/lib/fog/rackspace/models/storage/directory.rb +12 -12
  677. data/lib/fog/rackspace/models/storage/file.rb +71 -5
  678. data/lib/fog/rackspace/models/storage/files.rb +2 -2
  679. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +41 -0
  680. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +3 -0
  681. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +31 -0
  682. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +34 -0
  683. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +36 -0
  684. data/lib/fog/rackspace/requests/dns/add_records.rb +5 -1
  685. data/lib/fog/rackspace/requests/load_balancers/get_content_caching.rb +15 -0
  686. data/lib/fog/rackspace/requests/load_balancers/set_content_caching.rb +21 -0
  687. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +1 -1
  688. data/lib/fog/serverlove/models/compute/image.rb +11 -11
  689. data/lib/fog/serverlove/models/compute/images.rb +2 -2
  690. data/lib/fog/serverlove/models/compute/server.rb +10 -10
  691. data/lib/fog/serverlove/models/compute/servers.rb +2 -2
  692. data/lib/fog/storm_on_demand/models/compute/balancer.rb +7 -7
  693. data/lib/fog/storm_on_demand/models/compute/balancers.rb +1 -1
  694. data/lib/fog/storm_on_demand/models/compute/configs.rb +1 -1
  695. data/lib/fog/storm_on_demand/models/compute/images.rb +1 -1
  696. data/lib/fog/storm_on_demand/models/compute/private_ips.rb +2 -2
  697. data/lib/fog/storm_on_demand/models/compute/server.rb +5 -5
  698. data/lib/fog/storm_on_demand/models/compute/servers.rb +2 -2
  699. data/lib/fog/storm_on_demand/models/compute/stats.rb +1 -1
  700. data/lib/fog/storm_on_demand/models/compute/templates.rb +1 -1
  701. data/lib/fog/terremark/models/shared/address.rb +1 -1
  702. data/lib/fog/terremark/models/shared/addresses.rb +5 -5
  703. data/lib/fog/terremark/models/shared/images.rb +5 -5
  704. data/lib/fog/terremark/models/shared/internetservice.rb +6 -6
  705. data/lib/fog/terremark/models/shared/internetservices.rb +5 -5
  706. data/lib/fog/terremark/models/shared/network.rb +1 -1
  707. data/lib/fog/terremark/models/shared/networks.rb +6 -6
  708. data/lib/fog/terremark/models/shared/nodeservice.rb +3 -3
  709. data/lib/fog/terremark/models/shared/nodeservices.rb +4 -4
  710. data/lib/fog/terremark/models/shared/server.rb +17 -17
  711. data/lib/fog/terremark/models/shared/servers.rb +6 -6
  712. data/lib/fog/terremark/models/shared/task.rb +4 -4
  713. data/lib/fog/terremark/models/shared/tasks.rb +5 -5
  714. data/lib/fog/terremark/models/shared/vdc.rb +4 -4
  715. data/lib/fog/terremark/models/shared/vdcs.rb +5 -5
  716. data/lib/fog/terremark/parser.rb +1 -1
  717. data/lib/fog/terremark/shared.rb +1 -1
  718. data/lib/fog/vcloud/compute.rb +4 -4
  719. data/lib/fog/vcloud/models/compute/catalog.rb +1 -1
  720. data/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
  721. data/lib/fog/vcloud/models/compute/catalog_items.rb +4 -4
  722. data/lib/fog/vcloud/models/compute/catalogs.rb +3 -3
  723. data/lib/fog/vcloud/models/compute/ip.rb +1 -1
  724. data/lib/fog/vcloud/models/compute/ips.rb +3 -3
  725. data/lib/fog/vcloud/models/compute/network.rb +1 -1
  726. data/lib/fog/vcloud/models/compute/networks.rb +6 -6
  727. data/lib/fog/vcloud/models/compute/organization.rb +4 -4
  728. data/lib/fog/vcloud/models/compute/organizations.rb +4 -4
  729. data/lib/fog/vcloud/models/compute/server.rb +13 -13
  730. data/lib/fog/vcloud/models/compute/servers.rb +4 -4
  731. data/lib/fog/vcloud/models/compute/tasks.rb +3 -3
  732. data/lib/fog/vcloud/models/compute/vapp.rb +2 -2
  733. data/lib/fog/vcloud/models/compute/vapps.rb +2 -2
  734. data/lib/fog/vcloud/models/compute/vdc.rb +2 -2
  735. data/lib/fog/vcloud/models/compute/vdcs.rb +3 -3
  736. data/lib/fog/version.rb +3 -0
  737. data/lib/fog/virtual_box/compute.rb +11 -5
  738. data/lib/fog/virtual_box/models/compute/medium.rb +2 -2
  739. data/lib/fog/virtual_box/models/compute/mediums.rb +4 -4
  740. data/lib/fog/virtual_box/models/compute/nat_engine.rb +2 -2
  741. data/lib/fog/virtual_box/models/compute/network_adapter.rb +1 -1
  742. data/lib/fog/virtual_box/models/compute/network_adapters.rb +1 -1
  743. data/lib/fog/virtual_box/models/compute/server.rb +5 -5
  744. data/lib/fog/virtual_box/models/compute/servers.rb +2 -2
  745. data/lib/fog/vmfusion/compute.rb +6 -1
  746. data/lib/fog/vmfusion/models/compute/server.rb +1 -1
  747. data/lib/fog/voxel/models/compute/images.rb +2 -2
  748. data/lib/fog/voxel/models/compute/server.rb +6 -6
  749. data/lib/fog/voxel/models/compute/servers.rb +2 -2
  750. data/lib/fog/vsphere/compute.rb +78 -9
  751. data/lib/fog/vsphere/models/compute/cluster.rb +31 -0
  752. data/lib/fog/vsphere/models/compute/clusters.rb +26 -0
  753. data/lib/fog/vsphere/models/compute/datacenter.rb +39 -0
  754. data/lib/fog/vsphere/models/compute/datacenters.rb +23 -0
  755. data/lib/fog/vsphere/models/compute/datastore.rb +24 -0
  756. data/lib/fog/vsphere/models/compute/datastores.rb +25 -0
  757. data/lib/fog/vsphere/models/compute/folder.rb +28 -0
  758. data/lib/fog/vsphere/models/compute/folders.rb +27 -0
  759. data/lib/fog/vsphere/models/compute/interface.rb +39 -0
  760. data/lib/fog/vsphere/models/compute/interfaces.rb +33 -0
  761. data/lib/fog/vsphere/models/compute/network.rb +21 -0
  762. data/lib/fog/vsphere/models/compute/networks.rb +25 -0
  763. data/lib/fog/vsphere/models/compute/resource_pool.rb +23 -0
  764. data/lib/fog/vsphere/models/compute/resource_pools.rb +26 -0
  765. data/lib/fog/vsphere/models/compute/server.rb +106 -29
  766. data/lib/fog/vsphere/models/compute/servers.rb +16 -20
  767. data/lib/fog/vsphere/models/compute/template.rb +13 -0
  768. data/lib/fog/vsphere/models/compute/templates.rb +23 -0
  769. data/lib/fog/vsphere/models/compute/volume.rb +45 -0
  770. data/lib/fog/vsphere/models/compute/volumes.rb +33 -0
  771. data/lib/fog/vsphere/requests/compute/create_folder.rb +22 -0
  772. data/lib/fog/vsphere/requests/compute/create_vm.rb +114 -0
  773. data/lib/fog/vsphere/requests/compute/get_cluster.rb +25 -0
  774. data/lib/fog/vsphere/requests/compute/get_datacenter.rb +29 -0
  775. data/lib/fog/vsphere/requests/compute/get_datastore.rb +25 -0
  776. data/lib/fog/vsphere/requests/compute/get_folder.rb +73 -0
  777. data/lib/fog/vsphere/requests/compute/get_network.rb +25 -0
  778. data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +26 -0
  779. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +62 -0
  780. data/lib/fog/vsphere/requests/compute/list_clusters.rb +37 -0
  781. data/lib/fog/vsphere/requests/compute/list_datacenters.rb +34 -0
  782. data/lib/fog/vsphere/requests/compute/list_datastores.rb +40 -0
  783. data/lib/fog/vsphere/requests/compute/list_folders.rb +45 -0
  784. data/lib/fog/vsphere/requests/compute/list_networks.rb +38 -0
  785. data/lib/fog/vsphere/requests/compute/list_resource_pools.rb +39 -0
  786. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +132 -166
  787. data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +52 -0
  788. data/lib/fog/vsphere/requests/compute/list_vm_volumes.rb +51 -0
  789. data/lib/fog/vsphere/requests/compute/vm_clone.rb +134 -67
  790. data/lib/fog/vsphere/requests/compute/vm_destroy.rb +1 -8
  791. data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +1 -2
  792. data/lib/fog/xenserver.rb +26 -2
  793. data/lib/fog/xenserver/compute.rb +8 -0
  794. data/lib/fog/xenserver/examples/README.md +11 -0
  795. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +99 -0
  796. data/lib/fog/xenserver/examples/creating_servers.md +168 -0
  797. data/lib/fog/xenserver/examples/getting_started.md +163 -0
  798. data/lib/fog/xenserver/examples/storage_repositories.md +94 -0
  799. data/lib/fog/xenserver/models/compute/host.rb +75 -8
  800. data/lib/fog/xenserver/models/compute/host_metrics.rb +29 -0
  801. data/lib/fog/xenserver/models/compute/hosts.rb +8 -8
  802. data/lib/fog/xenserver/models/compute/network.rb +11 -11
  803. data/lib/fog/xenserver/models/compute/networks.rb +3 -3
  804. data/lib/fog/xenserver/models/compute/pbd.rb +11 -6
  805. data/lib/fog/xenserver/models/compute/pbds.rb +3 -3
  806. data/lib/fog/xenserver/models/compute/pif.rb +9 -9
  807. data/lib/fog/xenserver/models/compute/pifs.rb +3 -3
  808. data/lib/fog/xenserver/models/compute/pool.rb +30 -8
  809. data/lib/fog/xenserver/models/compute/pools.rb +3 -3
  810. data/lib/fog/xenserver/models/compute/server.rb +29 -29
  811. data/lib/fog/xenserver/models/compute/servers.rb +8 -8
  812. data/lib/fog/xenserver/models/compute/storage_repositories.rb +2 -2
  813. data/lib/fog/xenserver/models/compute/storage_repository.rb +52 -9
  814. data/lib/fog/xenserver/models/compute/vbd.rb +16 -16
  815. data/lib/fog/xenserver/models/compute/vbds.rb +3 -3
  816. data/lib/fog/xenserver/models/compute/vdi.rb +17 -17
  817. data/lib/fog/xenserver/models/compute/vdis.rb +3 -3
  818. data/lib/fog/xenserver/models/compute/vif.rb +10 -10
  819. data/lib/fog/xenserver/models/compute/vifs.rb +3 -3
  820. data/lib/fog/xenserver/requests/compute/create_sr.rb +72 -0
  821. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +30 -0
  822. data/lib/fog/xenserver/requests/compute/disable_host.rb +29 -0
  823. data/lib/fog/xenserver/requests/compute/enable_host.rb +28 -0
  824. data/lib/fog/xenserver/requests/compute/reboot_host.rb +23 -0
  825. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +23 -0
  826. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +25 -0
  827. data/lib/fog/zerigo/models/dns/record.rb +4 -4
  828. data/lib/fog/zerigo/models/dns/records.rb +2 -2
  829. data/lib/fog/zerigo/models/dns/zone.rb +6 -6
  830. data/lib/fog/zerigo/models/dns/zones.rb +2 -2
  831. data/lib/tasks/changelog_task.rb +98 -0
  832. data/lib/tasks/test_task.rb +46 -0
  833. data/tests/aws/models/cloud_watch/metrics_tests.rb +16 -1
  834. data/tests/aws/models/iam/users_tests.rb +16 -2
  835. data/tests/aws/requests/auto_scaling/model_tests.rb +1 -3
  836. data/tests/aws/requests/auto_scaling/notification_configuration_tests.rb +1 -0
  837. data/tests/aws/requests/auto_scaling/tag_tests.rb +1 -0
  838. data/tests/aws/requests/compute/instance_tests.rb +2 -0
  839. data/tests/aws/requests/compute/snapshot_tests.rb +19 -0
  840. data/tests/aws/requests/compute/spot_instance_tests.rb +4 -2
  841. data/tests/aws/requests/compute/volume_tests.rb +8 -0
  842. data/tests/aws/requests/storage/bucket_tests.rb +14 -0
  843. data/tests/aws/requests/storage/cors_utils_tests.rb +108 -0
  844. data/tests/aws/requests/storage/object_tests.rb +18 -1
  845. data/tests/aws/requests/storage/versioning_tests.rb +70 -0
  846. data/tests/brightbox/compute_tests.rb +96 -4
  847. data/tests/brightbox/models/compute/account_tests.rb +17 -0
  848. data/tests/brightbox/models/compute/server_tests.rb +21 -0
  849. data/tests/brightbox/oauth2_tests.rb +103 -0
  850. data/tests/brightbox/requests/compute/account_tests.rb +9 -2
  851. data/tests/brightbox/requests/compute/firewall_policy_tests.rb +33 -0
  852. data/tests/brightbox/requests/compute/firewall_rule_tests.rb +43 -0
  853. data/tests/brightbox/requests/compute/helper.rb +33 -30
  854. data/tests/brightbox/requests/compute/interface_tests.rb +18 -4
  855. data/tests/compute/helper.rb +28 -6
  856. data/tests/compute/models/flavors_tests.rb +4 -2
  857. data/tests/compute/models/server_tests.rb +5 -1
  858. data/tests/compute/models/servers_tests.rb +5 -2
  859. data/tests/core/wait_for_tests.rb +13 -0
  860. data/tests/dns/models/record_tests.rb +17 -3
  861. data/tests/ecloud/compute/models/admin_organization_tests.rb +16 -0
  862. data/tests/ecloud/compute/models/compute_pool_tests.rb +17 -0
  863. data/tests/ecloud/compute/models/detached_disk_tests.rb +26 -0
  864. data/tests/ecloud/compute/models/environment_tests.rb +23 -0
  865. data/tests/ecloud/compute/models/internet_service_tests.rb +28 -0
  866. data/tests/ecloud/compute/models/ip_address_tests.rb +19 -0
  867. data/tests/ecloud/compute/models/network_tests.rb +17 -0
  868. data/tests/ecloud/compute/models/operating_system_families_tests.rb +13 -0
  869. data/tests/ecloud/compute/models/operating_system_tests.rb +22 -0
  870. data/tests/ecloud/compute/models/organization_tests.rb +21 -0
  871. data/tests/ecloud/compute/models/public_ip_tests.rb +19 -0
  872. data/tests/ecloud/compute/models/server_tests.rb +143 -0
  873. data/tests/ecloud/compute/models/ssh_key_tests.rb +19 -0
  874. data/tests/ecloud/compute/models/template_tests.rb +20 -0
  875. data/tests/openstack/authenticate_tests.rb +142 -0
  876. data/tests/openstack/models/compute/server_tests.rb +45 -0
  877. data/tests/openstack/models/identity/ec2_credential_tests.rb +41 -0
  878. data/tests/openstack/models/identity/ec2_credentials_tests.rb +58 -0
  879. data/tests/openstack/models/identity/tenant_tests.rb +6 -0
  880. data/tests/openstack/requests/compute/address_tests.rb +20 -19
  881. data/tests/openstack/requests/compute/flavor_tests.rb +4 -2
  882. data/tests/openstack/requests/compute/helper.rb +20 -0
  883. data/tests/openstack/requests/compute/limit_tests.rb +60 -0
  884. data/tests/openstack/requests/compute/quota_tests.rb +18 -3
  885. data/tests/openstack/requests/compute/security_group_tests.rb +11 -3
  886. data/tests/openstack/requests/compute/server_tests.rb +29 -14
  887. data/tests/openstack/requests/identity/ec2_credentials_tests.rb +41 -0
  888. data/tests/openstack/requests/identity/role_tests.rb +0 -1
  889. data/tests/openstack/requests/identity/user_tests.rb +8 -0
  890. data/tests/rackspace/models/block_storage/snapshot_tests.rb +18 -11
  891. data/tests/rackspace/models/block_storage/volume_tests.rb +13 -7
  892. data/tests/rackspace/models/compute_v2/image_tests.rb +28 -0
  893. data/tests/rackspace/models/compute_v2/server_tests.rb +15 -0
  894. data/tests/rackspace/models/compute_v2/servers_tests.rb +6 -0
  895. data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +17 -0
  896. data/tests/rackspace/models/storage/file_tests.rb +178 -0
  897. data/tests/rackspace/requests/compute/address_tests.rb +11 -9
  898. data/tests/rackspace/requests/compute/flavor_tests.rb +6 -5
  899. data/tests/rackspace/requests/compute/image_tests.rb +12 -10
  900. data/tests/rackspace/requests/compute/resize_tests.rb +8 -6
  901. data/tests/rackspace/requests/compute/server_tests.rb +19 -17
  902. data/tests/rackspace/requests/compute_v2/address_tests.rb +43 -0
  903. data/tests/rackspace/requests/compute_v2/image_tests.rb +38 -10
  904. data/tests/rackspace/requests/dns/helper.rb +12 -26
  905. data/tests/rackspace/requests/dns/records_tests.rb +2 -2
  906. data/tests/rackspace/requests/load_balancers/content_caching_tests.rb +25 -0
  907. data/tests/rackspace/requests/load_balancers/helper.rb +5 -1
  908. data/tests/vsphere/compute_tests.rb +3 -3
  909. data/tests/vsphere/models/compute/server_tests.rb +1 -2
  910. data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +5 -13
  911. data/tests/vsphere/requests/compute/vm_clone_tests.rb +6 -4
  912. data/tests/xenserver/models/compute/host_metrics_tests.rb +48 -0
  913. data/tests/xenserver/models/compute/host_tests.rb +20 -1
  914. data/tests/xenserver/models/compute/pbd_tests.rb +33 -1
  915. data/tests/xenserver/models/compute/pool_tests.rb +7 -1
  916. data/tests/xenserver/models/compute/storage_repository_tests.rb +52 -1
  917. data/tests/xenserver/requests/compute/create_sr_tests.rb +54 -0
  918. data/tests/xenserver/requests/compute/destroy_sr_tests.rb +46 -0
  919. data/tests/xenserver/requests/compute/disable_host_tests.rb +16 -0
  920. data/tests/xenserver/requests/compute/enable_host_tests.rb +16 -0
  921. data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +48 -0
  922. metadata +312 -89
  923. data/docs/_config.yml +0 -39
  924. data/docs/_layouts/default.html +0 -111
  925. data/docs/about/contributing.markdown +0 -228
  926. data/docs/about/getting_started.markdown +0 -108
  927. data/docs/about/press.markdown +0 -52
  928. data/docs/about/structure.markdown +0 -78
  929. data/docs/about/users.markdown +0 -34
  930. data/docs/cdn/index.markdown +0 -148
  931. data/docs/compute/index.markdown +0 -122
  932. data/docs/dns/index.markdown +0 -79
  933. data/docs/index.markdown +0 -88
  934. data/docs/public/crossdomain.xml +0 -25
  935. data/docs/public/css/fog.css +0 -142
  936. data/docs/public/css/handheld.css +0 -8
  937. data/docs/public/css/style.css +0 -129
  938. data/docs/public/images/.gitignore +0 -3
  939. data/docs/public/images/engineyard.png +0 -0
  940. data/docs/public/images/fog.png +0 -0
  941. data/docs/public/js/libs/dd_belatedpng.js +0 -289
  942. data/docs/public/js/libs/dd_belatedpng.min.js +0 -13
  943. data/docs/public/js/libs/jquery-1.4.2.js +0 -6240
  944. data/docs/public/js/libs/jquery-1.4.2.min.js +0 -154
  945. data/docs/public/js/libs/modernizr-1.6.js +0 -892
  946. data/docs/public/js/libs/modernizr-1.6.min.js +0 -30
  947. data/docs/public/js/mylibs/.gitignore +0 -3
  948. data/docs/public/js/plugins.js +0 -34
  949. data/docs/public/js/profiling/config.js +0 -59
  950. data/docs/public/js/profiling/yahoo-profiling.css +0 -7
  951. data/docs/public/js/profiling/yahoo-profiling.js +0 -1028
  952. data/docs/public/js/profiling/yahoo-profiling.min.js +0 -39
  953. data/docs/public/js/script.js +0 -26
  954. data/docs/public/robots.txt +0 -5
  955. data/docs/storage/index.markdown +0 -204
  956. data/lib/fog/ecloud/requests/compute/get_admin_organizations.rb +0 -11
  957. data/lib/fog/ecloud/requests/compute/get_ip_addresses.rb +0 -11
  958. data/lib/fog/ecloud/requests/compute/get_operating_system_family.rb +0 -11
  959. data/lib/fog/ecloud/requests/compute/virtual_machine_add_ip.rb +0 -40
  960. data/lib/fog/vsphere/requests/compute/datacenters.rb +0 -34
  961. data/lib/fog/vsphere/requests/compute/find_vm_by_ref.rb +0 -41
  962. data/lib/fog/vsphere/requests/compute/vm_create.rb +0 -97
  963. data/tests/vsphere/requests/compute/find_vm_by_ref_tests.rb +0 -26
  964. data/tests/vsphere/requests/compute/vm_create_tests.rb +0 -20
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ def get_network(name, datacenter_name)
6
+ network = get_raw_network(name, datacenter_name)
7
+ raise(Fog::Compute::Vsphere::NotFound) unless network
8
+ network_attributes(network, datacenter_name)
9
+ end
10
+
11
+ protected
12
+
13
+ def get_raw_network(name, datacenter_name)
14
+ dc = find_raw_datacenter(datacenter_name)
15
+ dc.networkFolder.find(name)
16
+ end
17
+ end
18
+
19
+ class Mock
20
+ def get_network(id)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ def get_resource_pool(name, cluster_name, datacenter_name)
6
+ resource_pool = get_raw_resource_pool(name, cluster_name, datacenter_name)
7
+ raise(Fog::Compute::Vsphere::NotFound) unless resource_pool
8
+ resource_pool_attributes(resource_pool, cluster_name, datacenter_name)
9
+ end
10
+
11
+ protected
12
+
13
+ def get_raw_resource_pool(name, cluster_name, datacenter_name)
14
+ dc = get_raw_datacenter(datacenter_name)
15
+ cluster = dc.find_compute_resource(cluster_name)
16
+ cluster.resourcePool.find name
17
+ end
18
+ end
19
+
20
+ class Mock
21
+ def get_resource_pool(name, cluster_name, datacenter_name)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,62 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ def get_virtual_machine(id, datacenter_name = nil)
6
+ convert_vm_mob_ref_to_attr_hash(get_vm_ref(id, datacenter_name))
7
+ end
8
+
9
+ protected
10
+
11
+ def get_vm_ref(id, dc = nil)
12
+ vm = case id
13
+ # UUID based
14
+ when /[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/
15
+ @service.searchIndex.FindByUuid :uuid => id, :vmSearch => true, :instanceUuid => true, :datacenter => dc
16
+ else
17
+ # try to find based on VM name
18
+ if dc
19
+ get_raw_datacenter(dc).find_vm(id)
20
+ else
21
+ raw_datacenters.map { |d| d.find_vm(id) }.compact.first
22
+ end
23
+ end
24
+ vm ? vm : raise(Fog::Compute::Vsphere::NotFound, "#{id} was not found")
25
+ end
26
+ end
27
+
28
+ class Mock
29
+ def get_virtual_machine(id, datacenter_name = nil)
30
+ case id
31
+ when "5032c8a5-9c5e-ba7a-3804-832a03e16381", 'vm-715'
32
+ { :resource_pool => "Resources",
33
+ :memory_mb => 2196,
34
+ :power_state => "poweredOn",
35
+ :mac_addresses => { "Network adapter 1" => "00:50:56:b2:00:af" },
36
+ :hostname => "centos56gm.localdomain",
37
+ :cpus => 1,
38
+ :connection_state => "connected",
39
+ :mo_ref => "vm-715",
40
+ :overall_status => "green",
41
+ :datacenter => "Solutions",
42
+ :instance_uuid => "5029c440-85ee-c2a1-e9dd-b63e39364603",
43
+ :hypervisor => "gunab.puppetlabs.lan",
44
+ :guest_id => "rhel6_64Guest",
45
+ :cluster => "virtlabcluster",
46
+ :tools_state => "toolsOk",
47
+ :name => "jefftest",
48
+ :operatingsystem => "Red Hat Enterprise Linux 6 (64-bit)",
49
+ :path => "/",
50
+ :tools_version => "guestToolsUnmanaged",
51
+ :ipaddress => "192.168.100.187",
52
+ :id => "5032c8a5-9c5e-ba7a-3804-832a03e16381",
53
+ :uuid => "42329da7-e8ab-29ec-1892-d6a4a964912a"
54
+ }
55
+ end
56
+ end
57
+
58
+ end
59
+
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,37 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ def list_clusters(filters = { })
6
+ datacenter_name = filters[:datacenter]
7
+
8
+ raw_clusters(datacenter_name).map do |cluster|
9
+ cluster_attributes(cluster, datacenter_name)
10
+ end
11
+ end
12
+
13
+ def raw_clusters(datacenter)
14
+ find_raw_datacenter(datacenter).hostFolder.childEntity.grep(RbVmomi::VIM::ClusterComputeResource)
15
+ end
16
+
17
+ protected
18
+
19
+ def cluster_attributes cluster, datacenter_name
20
+ {
21
+ :id => managed_obj_id(cluster),
22
+ :name => cluster.name,
23
+ :num_host => cluster.summary.numHosts,
24
+ :num_cpu_cores => cluster.summary.numCpuCores,
25
+ :overall_status => cluster.summary.overallStatus,
26
+ :datacenter => datacenter_name || parent_attribute(cluster.path, :datacenter)[1],
27
+ }
28
+ end
29
+
30
+ end
31
+ class Mock
32
+ def list_clusters(filters = { })
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,34 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+
6
+ def list_datacenters filters = {}
7
+ raw_datacenters.map do |dc|
8
+ {
9
+ :id => managed_obj_id(dc),
10
+ :name => dc.name,
11
+ :status => dc.overallStatus
12
+ }
13
+ end
14
+ end
15
+
16
+ protected
17
+
18
+ def raw_datacenters
19
+ @raw_datacenters ||= @connection.rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter)
20
+ end
21
+
22
+ def find_datacenters name=nil
23
+ name ? [get_raw_datacenter(name)] : raw_datacenters
24
+ end
25
+ end
26
+
27
+ class Mock
28
+ def list_datacenters filters = {}
29
+ [ {:name => "Solutions", :status => "grey"}, {:name => "Solutions2", :status => "green" }]
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ def list_datastores(filters = { })
6
+ datacenter_name = filters[:datacenter]
7
+ # default to show all datastores
8
+ only_active = filters[:accessible] || false
9
+ raw_datastores(datacenter_name).map do |datastore|
10
+ next if only_active and !datastore.summary.accessible
11
+ datastore_attributes(datastore, datacenter_name)
12
+ end.compact
13
+ end
14
+
15
+ def raw_datastores(datacenter_name)
16
+ find_raw_datacenter(datacenter_name).datastore
17
+ end
18
+ protected
19
+
20
+ def datastore_attributes datastore, datacenter
21
+ {
22
+ :id => managed_obj_id(datastore),
23
+ :name => datastore.name,
24
+ :accessible => datastore.summary.accessible,
25
+ :type => datastore.summary.type,
26
+ :freespace => datastore.summary.freeSpace,
27
+ :capacity => datastore.summary.capacity,
28
+ :datacenter => datacenter,
29
+ }
30
+ end
31
+
32
+ end
33
+ class Mock
34
+ def list_datastores(datacenter_name)
35
+ []
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,45 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ # Grabs all sub folders within a given path folder.
6
+ #
7
+ # ==== Parameters
8
+ # * filters<~Hash>:
9
+ # * :datacenter<~String> - *REQUIRED* Your datacenter where you're
10
+ # looking for folders. Example: 'my-datacenter-name' (passed if you
11
+ # are using the models/collections)
12
+ # eg: vspconn.datacenters.first.vm_folders('mypath')
13
+ # * :path<~String> - Your path where you're looking for
14
+ # more folders, if return = none you will get an error. If you don't
15
+ # define it will look in the main datacenter folder for any folders
16
+ # in that datacenter.
17
+ #
18
+ # Example Usage Testing Only:
19
+ # vspconn = Fog::Compute[:vsphere]
20
+ # mydc = vspconn.datacenters.first
21
+ # folders = mydc.vm_folders
22
+ #
23
+ def list_folders(filters = { })
24
+ path = filters[:path] || filters['path'] || ''
25
+ datacenter_name = filters[:datacenter]
26
+ get_raw_vmfolders(path, datacenter_name).map do |folder|
27
+ folder_attributes(folder, datacenter_name)
28
+ end
29
+ end
30
+
31
+ protected
32
+
33
+ def get_raw_vmfolders(path, datacenter_name)
34
+ folder = get_raw_vmfolder(path, datacenter_name)
35
+ child_folders(folder).flatten.compact
36
+ end
37
+
38
+ def child_folders folder
39
+ [folder, folder.childEntity.grep(RbVmomi::VIM::Folder).map(&method(:child_folders)).flatten]
40
+ end
41
+
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,38 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ def list_networks(filters = { })
6
+ datacenter_name = filters[:datacenter]
7
+ # default to show all networks
8
+ only_active = filters[:accessible] || false
9
+ raw_networks(datacenter_name).map do |network|
10
+ next if only_active and !network.summary.accessible
11
+ network_attributes(network, datacenter_name)
12
+ end.compact
13
+ end
14
+
15
+ def raw_networks(datacenter_name)
16
+ find_raw_datacenter(datacenter_name).network
17
+ end
18
+
19
+ protected
20
+
21
+ def network_attributes network, datacenter
22
+ {
23
+ :id => managed_obj_id(network),
24
+ :name => network.name,
25
+ :accessible => network.summary.accessible,
26
+ :datacenter => datacenter,
27
+ }
28
+ end
29
+
30
+ end
31
+ class Mock
32
+ def list_networks(datacenter_name)
33
+ []
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,39 @@
1
+ module Fog
2
+ module Compute
3
+ class Vsphere
4
+ class Real
5
+ def list_resource_pools(filters = { })
6
+ datacenter_name = filters[:datacenter]
7
+ cluster_name = filters[:cluster]
8
+ cluster = get_raw_cluster(cluster_name, datacenter_name)
9
+ list_raw_resource_pools(cluster).map do |resource_pool|
10
+ resource_pool_attributes(resource_pool, cluster_name, datacenter_name)
11
+ end
12
+ end
13
+
14
+ protected
15
+
16
+ # root ResourcePool + Children if they exists
17
+ def list_raw_resource_pools(cluster)
18
+ [cluster.resourcePool, cluster.resourcePool.resourcePool].flatten
19
+ end
20
+
21
+ def resource_pool_attributes resource_pool, cluster, datacenter
22
+ {
23
+ :id => managed_obj_id(resource_pool),
24
+ :name => resource_pool.name,
25
+ :configured_memory_mb => resource_pool.summary.configuredMemoryMB,
26
+ :overall_status => resource_pool.overallStatus,
27
+ :cluster => cluster,
28
+ :datacenter => datacenter
29
+ }
30
+ end
31
+
32
+ end
33
+ class Mock
34
+ def list_resource_pools(filters = { })
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -2,97 +2,43 @@ module Fog
2
2
  module Compute
3
3
  class Vsphere
4
4
  class Real
5
- def list_virtual_machines(options = {})
5
+ def list_virtual_machines(options = { })
6
6
  # Listing all VM's can be quite slow and expensive. Try and optimize
7
7
  # based on the available options we have. These conditions are in
8
- # ascending order of time to complete for large deployments.
8
+ # ascending order of time to complete for large deployments.
9
+
10
+ options[:folder] ||= options['folder']
9
11
  if options['instance_uuid'] then
10
- list_all_virtual_machines_by_instance_uuid(options)
11
- elsif options['folder'] then
12
- list_all_virtual_machines_in_folder(options)
12
+ [service.get_virtual_machine(options['instance_uuid'])]
13
+ elsif options[:folder] && options[:datacenter] then
14
+ list_all_virtual_machines_in_folder(options[:folder], options[:datacenter])
13
15
  else
14
- list_all_virtual_machines
16
+ list_all_virtual_machines(options)
15
17
  end
16
18
  end
17
19
 
18
20
  private
19
21
 
20
- def list_all_virtual_machines_in_folder(options = {})
21
- # Tap gets rid of the leading empty string and "Datacenters" element
22
- # and returns the array.
23
- path_elements = options['folder'].split('/').tap { |ary| ary.shift 2 }
24
- # The DC name itself.
25
- dc_name = path_elements.shift
26
- # If the first path element contains "vm" this denotes the vmFolder
27
- # and needs to be shifted out since each DC contains only one
28
- # vmFolder
29
- path_elements.shift if path_elements[0] == 'vm'
30
- # Make sure @datacenters is populated (the keys are DataCenter instances)
31
- self.datacenters.include? dc_name or raise ArgumentError, "Could not find a Datacenter named #{dc_name}"
32
- # Get the datacenter managed object
33
- dc = @datacenters[dc_name]
34
-
35
- # Get the VM Folder (Group) efficiently
36
- vm_folder = dc.vmFolder
22
+ def list_all_virtual_machines_in_folder(path, datacenter_name)
23
+ folder = get_raw_vmfolder(path, datacenter_name)
37
24
 
38
- # Walk the tree resetting the folder pointer as we go
39
- folder = path_elements.inject(vm_folder) do |current_folder, sub_folder_name|
40
- # JJM VIM::Folder#find appears to be quite efficient as it uses the
41
- # searchIndex It certainly appears to be faster than
42
- # VIM::Folder#inventory since that returns _all_ managed objects of
43
- # a certain type _and_ their properties.
44
- sub_folder = current_folder.find(sub_folder_name, RbVmomi::VIM::Folder)
45
- raise ArgumentError, "Could not descend into #{sub_folder_name}. Please check your path." unless sub_folder
46
- sub_folder
47
- end
48
-
49
- # This should be efficient since we're not obtaining properties
50
- virtual_machines = folder.children.inject([]) do |ary, child|
51
- if child.is_a? RbVmomi::VIM::VirtualMachine then
52
- ary << convert_vm_mob_ref_to_attr_hash(child)
53
- end
54
- ary
55
- end
56
-
57
- # Return the managed objects themselves as an array. These may be converted
58
- # to an attribute has using convert_vm_mob_ref_to_attr_hash
59
- { 'virtual_machines' => virtual_machines }
25
+ folder.children.grep(RbVmomi::VIM::VirtualMachine).map(&method(:convert_vm_mob_ref_to_attr_hash))
60
26
  end
61
27
 
62
- def list_all_virtual_machines_by_instance_uuid(options = {})
63
- uuid = options['instance_uuid']
64
- search_filter = { :uuid => uuid, 'vmSearch' => true, 'instanceUuid' => true }
65
- vm_mob_ref = @connection.searchIndex.FindAllByUuid(search_filter).first
66
- if vm_attribute_hash = convert_vm_mob_ref_to_attr_hash(vm_mob_ref) then
67
- virtual_machines = [ vm_attribute_hash ]
68
- else
69
- virtual_machines = [ ]
70
- end
71
- { 'virtual_machines' => virtual_machines }
72
- end
28
+ def list_all_virtual_machines(options = { })
29
+ datacenters = find_datacenters(options[:datacenter])
30
+ # TODO: go though nested folders
31
+ vms = datacenters.map { |dc| dc.vmFolder.childEntity.grep(RbVmomi::VIM::VirtualMachine) }.flatten
32
+ # remove all template based virtual machines
33
+ vms.delete_if { |v| v.config.template }
73
34
 
74
- def list_all_virtual_machines
75
- virtual_machines = list_all_virtual_machine_mobs.collect do |vm_mob|
35
+ vms.map do |vm_mob|
76
36
  convert_vm_mob_ref_to_attr_hash(vm_mob)
77
37
  end
78
- { 'virtual_machines' => virtual_machines }
79
- end
80
-
81
-
82
- # NOTE: This is a private instance method required by the vm_clone
83
- # request. It's very hard to get the Managed Object Reference
84
- # of a Template because we can't search for it by instance_uuid
85
- # As a result, we need a list of all virtual machines, and we
86
- # need them in "native" format, not filter attribute format.
87
- def list_all_virtual_machine_mobs
88
- # Find each datacenter
89
- datacenters = @connection.rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter)
90
- # Next, search the "vmFolder" inventory of each data center:
91
- datacenters.map {|dc| dc.vmFolder.childEntity.grep(RbVmomi::VIM::VirtualMachine) }.flatten
92
38
  end
93
39
 
94
40
  def get_folder_path(folder, root = nil)
95
- if ( not folder.methods.include?('parent') ) or ( folder == root )
41
+ if (not folder.methods.include?('parent')) or (folder == root)
96
42
  return
97
43
  end
98
44
  "#{get_folder_path(folder.parent)}/#{folder.name}"
@@ -105,100 +51,120 @@ module Fog
105
51
  nil
106
52
  end
107
53
 
108
- def list_virtual_machines(options = {})
54
+ def list_virtual_machines(options = { })
109
55
  case options['instance_uuid']
110
- when nil
111
- rval = YAML.load <<-'ENDvmLISTING'
112
- ---
113
- virtual_machines:
114
- - name: centos56gm
115
- hypervisor: gunab.puppetlabs.lan
116
- tools_version: guestToolsCurrent
117
- ipaddress:
118
- mo_ref: vm-698
119
- power_state: poweredOff
120
- uuid: 42322347-d791-cd34-80b9-e25fe28ad37c
121
- is_a_template: true
122
- id: 50323f93-6835-1178-8b8f-9e2109890e1a
123
- tools_state: toolsNotRunning
124
- connection_state: connected
125
- instance_uuid: 50323f93-6835-1178-8b8f-9e2109890e1a
126
- hostname:
127
- mac_addresses:
128
- Network adapter 1: 00:50:56:b2:00:a1
129
- operatingsystem:
130
- - name: centos56gm2
131
- hypervisor: gunab.puppetlabs.lan
132
- tools_version: guestToolsCurrent
133
- ipaddress:
134
- mo_ref: vm-640
135
- power_state: poweredOff
136
- uuid: 564ddcbe-853a-d29a-b329-a0a3693a004d
137
- is_a_template: true
138
- id: 5257dee8-050c-cbcd-ae25-db0e582ab530
139
- tools_state: toolsNotRunning
140
- connection_state: connected
141
- instance_uuid: 5257dee8-050c-cbcd-ae25-db0e582ab530
142
- hostname:
143
- mac_addresses:
144
- Network adapter 1: 00:0c:29:3a:00:4d
145
- operatingsystem:
146
- - name: dashboard_gm
147
- hypervisor: gunab.puppetlabs.lan
148
- tools_version: guestToolsCurrent
149
- ipaddress: 192.168.100.184
150
- mo_ref: vm-669
151
- power_state: poweredOn
152
- uuid: 564d3f91-3452-a509-a678-1246f7897979
153
- is_a_template: false
154
- id: 5032739c-c871-c0d2-034f-9700a0b5383e
155
- tools_state: toolsOk
156
- connection_state: connected
157
- instance_uuid: 5032739c-c871-c0d2-034f-9700a0b5383e
158
- hostname: compliance.puppetlabs.vm
159
- mac_addresses:
160
- Network adapter 1: 00:50:56:b2:00:96
161
- operatingsystem: Red Hat Enterprise Linux 6 (64-bit)
162
- - name: jefftest
163
- hypervisor: gunab.puppetlabs.lan
164
- tools_version: guestToolsCurrent
165
- ipaddress: 192.168.100.187
166
- mo_ref: vm-715
167
- power_state: poweredOn
168
- uuid: 42329da7-e8ab-29ec-1892-d6a4a964912a
169
- is_a_template: false
170
- id: 5032c8a5-9c5e-ba7a-3804-832a03e16381
171
- tools_state: toolsOk
172
- connection_state: connected
173
- instance_uuid: 5032c8a5-9c5e-ba7a-3804-832a03e16381
174
- hostname: centos56gm.localdomain
175
- mac_addresses:
176
- Network adapter 1: 00:50:56:b2:00:af
177
- operatingsystem: CentOS 4/5 (32-bit)
178
- ENDvmLISTING
179
- when '5032c8a5-9c5e-ba7a-3804-832a03e16381'
180
- YAML.load <<-'5032c8a5-9c5e-ba7a-3804-832a03e16381'
181
- ---
182
- virtual_machines:
183
- - name: jefftest
184
- hypervisor: gunab.puppetlabs.lan
185
- tools_version: guestToolsCurrent
186
- ipaddress: 192.168.100.187
187
- mo_ref: vm-715
188
- power_state: poweredOn
189
- uuid: 42329da7-e8ab-29ec-1892-d6a4a964912a
190
- is_a_template: false
191
- id: 5032c8a5-9c5e-ba7a-3804-832a03e16381
192
- tools_state: toolsOk
193
- connection_state: connected
194
- instance_uuid: 5032c8a5-9c5e-ba7a-3804-832a03e16381
195
- hostname: centos56gm.localdomain
196
- mac_addresses:
197
- Network adapter 1: 00:50:56:b2:00:af
198
- operatingsystem: CentOS 4/5 (32-bit)
199
- 5032c8a5-9c5e-ba7a-3804-832a03e16381
200
- when 'does-not-exist-and-is-not-a-uuid', '50323f93-6835-1178-8b8f-9e2109890e1a'
201
- { 'virtual_machines' => [] }
56
+ when nil
57
+
58
+ [
59
+ { :resource_pool => "Resources",
60
+ :memory_mb => 2196,
61
+ :mac_addresses => { "Network adapter 1" => "00:50:56:a9:00:28" },
62
+ :power_state => "poweredOn",
63
+ :cpus => 1,
64
+ :hostname => "dhcp75-197.virt.bos.redhat.com",
65
+ :mo_ref => "vm-562",
66
+ :connection_state => "connected",
67
+ :overall_status => "green",
68
+ :datacenter => "Solutions",
69
+ :volumes =>
70
+ [{
71
+ :id => "6000C29c-a47d-4cd9-5249-c371de775f06",
72
+ :datastore => "Storage1",
73
+ :mode => "persistent",
74
+ :size => 8388608,
75
+ :thin => true,
76
+ :name => "Hard disk 1",
77
+ :filename => "[Storage1] rhel6-mfojtik/rhel6-mfojtik.vmdk",
78
+ :size_gb => 8
79
+ }],
80
+ :interfaces =>
81
+ [{ :mac => "00:50:56:a9:00:28",
82
+ :network => "VM Network",
83
+ :name => "Network adapter 1",
84
+ :status => "ok",
85
+ :summary => "VM Network",
86
+ }],
87
+ :hypervisor => "gunab.puppetlabs.lan",
88
+ :guest_id => "rhel6_64Guest",
89
+ :tools_state => "toolsOk",
90
+ :cluster => "Solutionscluster",
91
+ :name => "rhel64",
92
+ :operatingsystem => "Red Hat Enterprise Linux 6 (64-bit)",
93
+ :uuid => "4229f0e9-bfdc-d9a7-7bac-12070772e6dc",
94
+ :path => "/Datacenters/Solutions/vm",
95
+ :id => "5029c440-85ee-c2a1-e9dd-b63e39364603",
96
+ :tools_version => "guestToolsUnmanaged",
97
+ :ipaddress => "192.168.100.184",
98
+ },
99
+ { :resource_pool => "Resources",
100
+ :memory_mb => 512,
101
+ :power_state => "poweredOn",
102
+ :mac_addresses => { "Network adapter 1" => "00:50:56:a9:00:00" },
103
+ :hostname => nil,
104
+ :cpus => 1,
105
+ :connection_state => "connected",
106
+ :mo_ref => "vm-621",
107
+ :overall_status => "green",
108
+ :datacenter => "Solutions",
109
+ :volumes =>
110
+ [{ :thin => false,
111
+ :size_gb => 10,
112
+ :datastore => "datastore1",
113
+ :filename => "[datastore1] i-1342439683/i-1342439683.vmdk",
114
+ :size => 10485762,
115
+ :name => "Hard disk 1",
116
+ :mode => "persistent",
117
+ :id => "6000C29b-f364-d073-8316-8e98ac0a0eae" }],
118
+ :interfaces =>
119
+ [{ :summary => "VM Network",
120
+ :mac => "00:50:56:a9:00:00",
121
+ :status => "ok",
122
+ :network => "VM Network",
123
+ :name => "Network adapter 1" }],
124
+ :instance_uuid => "502916a3-b42e-17c7-43ce-b3206e9524dc",
125
+ :hypervisor => "gunab.puppetlabs.lan",
126
+ :guest_id => nil,
127
+ :cluster => "Solutionscluster",
128
+ :tools_state => "toolsNotInstalled",
129
+ :uuid => "4229e0de-30cb-ceb2-21f9-4d8d8beabb52",
130
+ :name => "i-1342439683",
131
+ :operatingsystem => nil,
132
+ :path => "/",
133
+ :tools_version => "guestToolsNotInstalled",
134
+ :id => "502916a3-b42e-17c7-43ce-b3206e9524dc",
135
+ :ipaddress => nil }
136
+
137
+
138
+ ]
139
+ when '5032c8a5-9c5e-ba7a-3804-832a03e16381'
140
+ [{ :resource_pool => "Resources",
141
+ :memory_mb => 2196,
142
+ :power_state => "poweredOn",
143
+ :mac_addresses => { "Network adapter 1" => "00:50:56:b2:00:af" },
144
+ :hostname => "centos56gm.localdomain",
145
+ :cpus => 1,
146
+ :connection_state => "connected",
147
+ :mo_ref => "vm-715",
148
+ :overall_status => "green",
149
+ :datacenter => "Solutions",
150
+ :instance_uuid => "5029c440-85ee-c2a1-e9dd-b63e39364603",
151
+ :hypervisor => "gunab.puppetlabs.lan",
152
+ :guest_id => "rhel6_64Guest",
153
+ :cluster => "Solutionscluster",
154
+ :tools_state => "toolsOk",
155
+ :name => "jefftest",
156
+ :operatingsystem => "Red Hat Enterprise Linux 6 (64-bit)",
157
+ :path => "/",
158
+ :tools_version => "guestToolsUnmanaged",
159
+ :ipaddress => "192.168.100.187",
160
+ :id => "5032c8a5-9c5e-ba7a-3804-832a03e16381",
161
+ :uuid => "42329da7-e8ab-29ec-1892-d6a4a964912a"
162
+
163
+ }
164
+
165
+ ]
166
+ when 'does-not-exist-and-is-not-a-uuid', '50323f93-6835-1178-8b8f-9e2109890e1a'
167
+ []
202
168
  end
203
169
  end
204
170
  end