fog 1.8.0 → 1.9.0

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