fog-maestrodev 1.7.0.20121114190951 → 1.8.0.20130109172219

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -36,6 +36,7 @@ module Fog
36
36
  model :pbd
37
37
  model :guest_metrics
38
38
  model :vbd_metrics
39
+ model :host_metrics
39
40
 
40
41
  request_path 'fog/xenserver/requests/compute'
41
42
  request :create_server
@@ -59,6 +60,13 @@ module Fog
59
60
  request :reboot_server
60
61
  request :provision_server
61
62
  request :scan_sr
63
+ request :unplug_pbd
64
+ request :destroy_sr
65
+ request :create_sr
66
+ request :reboot_host
67
+ request :disable_host
68
+ request :enable_host
69
+ request :shutdown_host
62
70
 
63
71
  class Real
64
72
 
@@ -0,0 +1,11 @@
1
+ # fog/xenserver compute examples
2
+
3
+ fog/xenserver examples contributed by BVox World S.L.U.
4
+ Original examples from https://github.com/bvox/fog-xenserver-examples
5
+
6
+ Maintainer: Sergio Rubio <rubiojr@bvox.net>
7
+
8
+ A general introduction to Fog is available at:
9
+
10
+ http://fog.io
11
+
@@ -0,0 +1,99 @@
1
+ # How To Change the Default Storage Repository to File-based VHD-on-EXT3
2
+
3
+ **NOTE: Requires fog > 1.8 (currently in development as of this writing)**
4
+
5
+ This tutorial explains how to convert a local Logical Volume Manager (LVM)
6
+ based storage repository into a file-based (VHD) storage repository.
7
+
8
+ It's the fog/xenserver version of the original Citrix KB article:
9
+
10
+ http://support.citrix.com/article/ctx116324
11
+
12
+ To create this tutorial, I've used a vanilla XCP 1.6 ISO install in VirtualBox.
13
+
14
+ ## Create the connection
15
+
16
+ ```ruby
17
+ require 'fog'
18
+
19
+ conn = Fog::Compute.new({
20
+ :provider => 'XenServer',
21
+ :xenserver_url => '192.168.1.39',
22
+ :xenserver_username => 'root',
23
+ :xenserver_password => 'secret'
24
+ })
25
+ ```
26
+
27
+ ## Remove the LVM-backed storage repository (SR).
28
+
29
+ Find the default LVM storage repository:
30
+
31
+ ```ruby
32
+ #
33
+ # Equivalent to:
34
+ # xe sr-list type=lvm
35
+ #
36
+ lvm_sr = nil
37
+ conn.storage_repositories.each do |sr|
38
+ lvm_sr = sr if sr.type == 'lvm'
39
+ end
40
+ ```
41
+
42
+ Determine the UUID for your default SR's physical block device:
43
+
44
+ ```ruby
45
+ #
46
+ # Equivalent to:
47
+ # xe pbd-list sr-uuid=your SR UUID
48
+ #
49
+ if lvm_sr
50
+ conn.pbds.each do |pbd|
51
+ # Unplug it if found
52
+ # Equivalent to:
53
+ # xe pbd-unplug uuid=your PBD UUID
54
+ #
55
+ pbd.unplug if pbd.storage_repository.uuid == lvm_sr.uuid
56
+ end
57
+ # Destroy the SR
58
+ lvm_sr.destroy
59
+ end
60
+ ```
61
+
62
+ Create a new VHD-backed SR:
63
+
64
+ ```ruby
65
+ #
66
+ # Equivalent to:
67
+ #
68
+ # xe sr-create content-type="local SR" \
69
+ # host-uuid=5d189b7a-cd5e-4029-9940-d4daaa34633d \
70
+ # type=ext device-config-device=/dev/sda3 shared=false \
71
+ # name-label="Local File SR"
72
+ #
73
+ sr = conn.storage_repositories.create :name => 'Local File SR',
74
+ :host => conn.hosts.first,
75
+ :type => 'ext',
76
+ :content_type => 'local SR',
77
+ :device_config => { :device => '/dev/sda3' },
78
+ :shared => false
79
+ ```
80
+
81
+ Set your SR as the default SR on the system:
82
+
83
+ ```ruby
84
+ #
85
+ # Equivalent command:
86
+ # xe pool-param-set suspend-image-SR='YOUR NEW SR UUID' uuid=bleh
87
+ #
88
+ conn.pools.first.default_storage_repository = sr
89
+ ```
90
+
91
+ Set your SR as the default location for suspended VM images:
92
+
93
+ ```ruby
94
+ #
95
+ # Equivalent command:
96
+ # xe pool-param-set suspend-image-SR= YOUR NEW SR UUID uuid=bleh
97
+ #
98
+ conn.pools.first.suspend_image_sr = sr
99
+ ```
@@ -0,0 +1,168 @@
1
+ # Creating servers (VMs) and templates
2
+
3
+ The basic server creation steps are detailed in the getting started tutorial.
4
+
5
+ Now let's do something a little bit more complex and probably more useful in
6
+ day-to-day operations. That is:
7
+
8
+ 1. Uploading a VHD image.
9
+ 2. Create a new template with it.
10
+ 3. Spin a new server using the recently added template.
11
+
12
+ ## Part I: Upload the VHD
13
+
14
+ Assuming we have an image file 'ubuntu.vhd' ready to be uploaded, let's create
15
+ the connection to the XenServer host and upload the image to the storage repository,
16
+ using SSH. The code also assumes that you have a file storage repository mounted
17
+ somewhere in /var/run/sr-mount/#{sr-UUID} (the standard XenServer base directory
18
+ for mounted storage repositories).
19
+
20
+ require 'fog'
21
+ require 'net/scp'
22
+ require 'uuidtools'
23
+
24
+ #
25
+ # Create the connection to the XenServer host
26
+ #
27
+ xenserver = Fog::Compute.new({
28
+ :provider => 'XenServer',
29
+ :xenserver_url => 'xenserver-test',
30
+ :xenserver_username => 'root',
31
+ :xenserver_password => 'secret',
32
+ })
33
+
34
+
35
+ We'll be uploading the image to the "Local File SR" storage repository, so
36
+ we need the reference to this SR (Storage Repository):
37
+
38
+ sr = xenserver.storage_repositories.find { |sr| sr.name == "Local File SR" }
39
+
40
+ XenServer uses UUIDs to store images in the storage repositories, so we will
41
+ emulate that behavior, creating a new UUID for our image and uploading it.
42
+
43
+ #
44
+ # Use the excelent uuidtools gem to create the new UUID
45
+ # for the image
46
+ #
47
+ image_uuid = UUIDTools::UUID.random_create.to_s
48
+
49
+
50
+ To upload the new image using SCP, we need the destination directory, where the
51
+ SR is mounted. In our case, the storage repository mount point is
52
+ /var/run/sr-mount/#{sr.uuid} (where sr.uuid is the UUID of the storage
53
+ repository). We will upload the new image there:
54
+
55
+ sr_mount_point = "/var/run/sr-mount/#{sr.uuid}"
56
+ # Target image file path. We will upload the local image to the destination
57
+ # using SCP
58
+ destination = File.join(sr_mount_point, "#{image_uuid}.vhd")
59
+ # source image, located in the current directory
60
+ source = 'ubuntu.vhd'
61
+ # Use the XenServer root credentials to upload
62
+ Net::SSH.start('xenserver-test', 'root', :password => 'secret') do |ssh|
63
+ ssh.scp.upload!(source, destination) do |ch, name, sent, total|
64
+ # print progress
65
+ p = (sent.to_f * 100 / total.to_f).to_i.to_s
66
+ print "\rProgress: #{p}% completed"
67
+ end
68
+ end
69
+
70
+ We need to let the XenServer know, that there's a new image:
71
+
72
+ sr.scan
73
+
74
+ Now that XenServer is aware of the new image, get its reference
75
+ and set the image name attribute to 'ubuntu-template'
76
+
77
+ ubuntu_vdi = xenserver.vdis.find { |vdi| vdi.uuid == image_uuid }
78
+ ubuntu_vdi.set_attribute 'name_label', 'ubuntu-template'
79
+
80
+ Good! the image is ready to be used.
81
+
82
+ ## Part II: create the server template
83
+
84
+ We have the image ready to be used by our new template.
85
+
86
+ Templates are regular servers, so let's create one with 512 MB of RAM, 1 CPU
87
+ and a network card. The main difference with a regular server from an API
88
+ point of view is that we will not start it.
89
+
90
+ We will also create the template as PV (paravirtual):
91
+
92
+ server_mem = (512 * 1024 * 1024).to_s
93
+ server = xenserver.servers.new :name => "ubuntu-template",
94
+ # Required when using Server.new
95
+ :affinity => xenserver.hosts.first,
96
+ :other_config => {},
97
+ :pv_bootloader => 'pygrub', # PV related
98
+ :hvm_boot_policy => '', # PV related
99
+ :pv_args => '-- console=hvc0', # PV related
100
+ :memory_static_max => mem,
101
+ :memory_static_min => mem,
102
+ :memory_dynamic_max => mem,
103
+ :memory_dynamic_min => mem
104
+ server.save
105
+
106
+ We need to attach the disk image to a VBD and to the server
107
+
108
+ xenserver.vbds.create :server => server, :vdi => ubuntu_vdi
109
+
110
+ Note that we're using Server.new here, instead of Server.create.
111
+ Server.create would start the server, and that's not what we want here.
112
+
113
+ Let's add the NIC (VIF or virtual interface) to the server.
114
+
115
+ I have a network in my XenServer named "Pool-wide network associated with eth0"
116
+ bridged to the physical eth0 NIC and I will attach the new NIC to that network.
117
+
118
+ Don't be scared by the VIF creation code. There are easier ways to create a
119
+ VIF, and we'll be dealing with that and some other cases in the networking
120
+ tutorial (TODO).
121
+
122
+ First, let's find the network since we'll need the reference.
123
+
124
+ net = xenserver.networks.find { |n| n.name == 'Pool-wide network associated with eth0' }
125
+
126
+ To create the VM VIF, we need to set some attributes and use the
127
+ create_vif_custom request:
128
+
129
+ vif_attr = {
130
+ 'MAC_autogenerated' => 'True',
131
+ 'VM' => server.reference, # we need the VM reference here
132
+ 'network' => net.reference, # we need the Network reference here
133
+ 'MAC' => '', # ignored, since we use autogeneration
134
+ 'device' => '0',
135
+ 'MTU' => '0',
136
+ 'other_config' => {},
137
+ 'qos_algorithm_type' => 'ratelimit',
138
+ 'qos_algorithm_params' => {}
139
+ }
140
+ xenserver.create_vif_custom vif_attr
141
+
142
+
143
+ The template is now ready to be used and we can list it!
144
+
145
+ xenserver.servers.custom_templates.find { |t| puts t.name }
146
+
147
+ ## Party III: spin a new server using the brand new template
148
+
149
+ Now that we have the template in place, it's easy to create as many servers
150
+ as you want. All of them will share hardware specs with the template. That is,
151
+ 512 MB of RAM, 1 CPU, 1 NIC attached to the 'Pool-wide network...':
152
+
153
+ xenserver.servers.create :name => 'my-brand-new-server',
154
+ :template_name => 'ubuntu-template'
155
+
156
+
157
+ # The End
158
+
159
+ Pretty similar code is used by knife-xenserver (http://github.com/bvox/knife-xenserver)
160
+ to upload new templates. Have a look at it if you're interested, it's full of
161
+ examples and fog/xenserver tricks to manage XenServer/XCP hosts.
162
+
163
+ The full source code used in this tutorial is available at:
164
+
165
+ https://github.com/bvox/fog-xenserver-examples/blob/master/upload_template_and_create.rb
166
+
167
+ Enjoy!
168
+
@@ -0,0 +1,163 @@
1
+ # Getting started: the compute service
2
+
3
+ ## Connecting, retrieving and managing server objects
4
+
5
+ First, create a connection to the XenServer host:
6
+
7
+ require 'fog'
8
+ require 'pp'
9
+
10
+ #
11
+ # http://rubydoc.info/github/fog/fog/Fog/Compute/XenServer/Real
12
+ #
13
+ conn = Fog::Compute.new({
14
+ :provider => 'XenServer',
15
+ :xenserver_url => 'xenserver-test',
16
+ :xenserver_username => 'root',
17
+ :xenserver_password => 'changeme',
18
+ :xenserver_defaults => {
19
+ :template => "squeeze-test"
20
+ }
21
+ })
22
+
23
+ ## Listing servers (VMs) and templates
24
+
25
+ We try to follow fog naming conventions and behavior as much as we can, so the
26
+ terminology used in fog/xenserver is a little bit different from the one
27
+ used in XAPI/XenServer documents. In particular:
28
+
29
+ * A Fog::Compute::XenServer::Server is a XenServer VM or DomU
30
+
31
+ * A Fog::Compute::XenServer::Host is a Hypervisor or Dom0
32
+
33
+ Having that in mind, we can start doing things with out XenServer host.
34
+
35
+ Listing all the servers (VMs):
36
+
37
+ conn.servers.all
38
+
39
+ This will return a list of Fog::Compute::XenServer::Server.
40
+
41
+ List all the servers whose name matches Ubuntu:
42
+
43
+ conn.servers.all :name_matches => "Ubuntu"
44
+
45
+ Listing the first server running (templates aren't included by default
46
+ in the list):
47
+
48
+ server = conn.servers.first
49
+
50
+ Listing custom templates, that is, the ones created by the user:
51
+
52
+ custom = conn.servers.custom_templates
53
+
54
+ Listing built-in templates (the templates available after a fresh install):
55
+
56
+ built_in = conn.servers.builtin_templates
57
+
58
+ Templates are regular Fog::Compute::XenServer::Server objects too, so you can
59
+ inspect some of their attributes. The relevant XAPI documentation:
60
+
61
+ http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=VM
62
+
63
+ Fog::Compute::XenServer::Server attributes and operations usually map to the
64
+ ones found in the official Citrix documentation, and they are available at:
65
+
66
+ http://rubydoc.info/github/fog/fog/Fog/Compute/XenServer/Server
67
+
68
+ and
69
+
70
+ https://github.com/fog/fog/blob/master/lib/fog/xenserver/models/compute/server.rb
71
+
72
+ ## Server operations and attributes
73
+
74
+ Getting server VIFs (virtual network interfaces):
75
+
76
+ # http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=VIF
77
+ server.networks
78
+ # or server.vifs
79
+
80
+ Listing the server VBDs (virtual block devices):
81
+
82
+ # http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=VBD
83
+ server.vbds
84
+
85
+
86
+ Get VDIs objects (virtual disk images) attached to the server:
87
+
88
+ server.vbds.each do |vbd|
89
+ # http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=VDI
90
+ vdi = vbd.vdi
91
+ # In bytes
92
+ puts vdi.virtual_size
93
+ puts vdi.physical_utilisation
94
+ end
95
+
96
+ ## Server creation and life-cycle management
97
+
98
+ Creating a new server/VM:
99
+
100
+ server = conn.servers.create :name => 'foobar',
101
+ :template_name => 'squeeze-test'
102
+
103
+ The server is automatically started after that.
104
+
105
+ Note that template_name is optional if you have specified the ':template'
106
+ parameter when when creating the connection.
107
+
108
+ If you don't want to automatically start the server, use 'new' instead of 'create':
109
+
110
+ server = conn.servers.new :name => 'foobar',
111
+ :template_name => 'squeeze-test'
112
+
113
+ and set auto_start to false when saving it:
114
+
115
+ server.save :auto_start => false
116
+
117
+ Shutting down the server, By forcing it
118
+
119
+ server.stop 'hard'
120
+ # server.hard_shutdown is equivalent
121
+
122
+ Doing a clean shutdown
123
+
124
+ server.stop 'clean'
125
+ # server.clean_shutdown is equivalent
126
+
127
+ And finally, destroy it (it will force a shutdown first if running):
128
+
129
+ server.destroy
130
+
131
+ # XenServer Host (Dom0) operations
132
+
133
+ The are some operations that can be performed on the host, without retrieving
134
+ and/or manipulating servers:
135
+
136
+ Listing all the VBDs (virtual block devices):
137
+
138
+ # http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=VBD
139
+ conn.vbds.all
140
+
141
+ This will retrieve the list of every single VBD available in the XenServer.
142
+
143
+ Same thing applies to the virtual disk images:
144
+
145
+ conn.vdis.all
146
+
147
+ Listing Storage Repositories (Xen SRs), where the disk images are stored:
148
+
149
+ # http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=SR
150
+ conn.storage_repositories
151
+
152
+
153
+ XenServer Pools:
154
+
155
+ # http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=pool
156
+ conn.pools
157
+
158
+
159
+ Retrieve the default storage repository in a pool:
160
+
161
+ conn.pools.first.default_storage_repository
162
+ # or the equivalent conn.pools.first.default_sr
163
+