fog 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (388) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile.lock +3 -3
  3. data/bin/fog +0 -5
  4. data/changelog.txt +88 -0
  5. data/fog.gemspec +3 -3
  6. data/lib/fog.rb +1 -2
  7. data/lib/fog/aws/elb.rb +2 -0
  8. data/lib/fog/aws/iam.rb +7 -0
  9. data/lib/fog/aws/parsers/iam/get_group.rb +55 -0
  10. data/lib/fog/aws/parsers/iam/get_user_policy.rb +27 -0
  11. data/lib/fog/aws/parsers/iam/update_group.rb +26 -0
  12. data/lib/fog/aws/parsers/iam/update_user.rb +27 -0
  13. data/lib/fog/aws/requests/iam/create_access_key.rb +1 -1
  14. data/lib/fog/aws/requests/iam/get_group.rb +44 -0
  15. data/lib/fog/aws/requests/iam/get_user_policy.rb +36 -0
  16. data/lib/fog/aws/requests/iam/update_group.rb +39 -0
  17. data/lib/fog/aws/requests/iam/update_signing_certificate.rb +32 -0
  18. data/lib/fog/aws/requests/iam/update_user.rb +39 -0
  19. data/lib/fog/aws/ses.rb +2 -0
  20. data/lib/fog/aws/simpledb.rb +2 -0
  21. data/lib/fog/bin.rb +3 -8
  22. data/lib/fog/bin/aws.rb +2 -14
  23. data/lib/fog/bin/bluebox.rb +6 -8
  24. data/lib/fog/bin/dnsimple.rb +30 -0
  25. data/lib/fog/bin/ecloud.rb +30 -0
  26. data/lib/fog/bin/go_grid.rb +1 -7
  27. data/lib/fog/bin/linode.rb +0 -6
  28. data/lib/fog/bin/local.rb +1 -7
  29. data/lib/fog/bin/new_servers.rb +1 -7
  30. data/lib/fog/bin/rackspace.rb +2 -14
  31. data/lib/fog/bin/slicehost.rb +2 -8
  32. data/lib/fog/bin/terremark.rb +0 -5
  33. data/lib/fog/bin/voxel.rb +30 -0
  34. data/lib/fog/cdn/aws.rb +2 -0
  35. data/lib/fog/compute.rb +6 -3
  36. data/lib/fog/compute/aws.rb +4 -18
  37. data/lib/fog/compute/ecloud.rb +1306 -0
  38. data/lib/fog/compute/models/aws/key_pair.rb +0 -2
  39. data/lib/fog/compute/models/aws/security_group.rb +4 -4
  40. data/lib/fog/compute/models/aws/server.rb +13 -3
  41. data/lib/fog/compute/models/aws/snapshot.rb +0 -2
  42. data/lib/fog/compute/models/aws/volume.rb +0 -2
  43. data/lib/fog/compute/models/bluebox/server.rb +23 -11
  44. data/lib/fog/compute/models/brightbox/server.rb +8 -0
  45. data/lib/fog/compute/models/ecloud/backup_internet_service.rb +56 -0
  46. data/lib/fog/compute/models/ecloud/backup_internet_services.rb +33 -0
  47. data/lib/fog/compute/models/ecloud/catalog.rb +28 -0
  48. data/lib/fog/compute/models/ecloud/catalog_item.rb +29 -0
  49. data/lib/fog/compute/models/ecloud/firewall_acl.rb +24 -0
  50. data/lib/fog/compute/models/ecloud/firewall_acls.rb +31 -0
  51. data/lib/fog/compute/models/ecloud/internet_service.rb +117 -0
  52. data/lib/fog/compute/models/ecloud/internet_services.rb +33 -0
  53. data/lib/fog/compute/models/ecloud/ip.rb +49 -0
  54. data/lib/fog/compute/models/ecloud/ips.rb +32 -0
  55. data/lib/fog/compute/models/ecloud/network.rb +72 -0
  56. data/lib/fog/compute/models/ecloud/networks.rb +33 -0
  57. data/lib/fog/compute/models/ecloud/node.rb +43 -0
  58. data/lib/fog/compute/models/ecloud/nodes.rb +31 -0
  59. data/lib/fog/compute/models/ecloud/public_ip.rb +22 -0
  60. data/lib/fog/compute/models/ecloud/public_ips.rb +36 -0
  61. data/lib/fog/compute/models/ecloud/server.rb +209 -0
  62. data/lib/fog/compute/models/ecloud/servers.rb +55 -0
  63. data/lib/fog/compute/models/ecloud/task.rb +21 -0
  64. data/lib/fog/compute/models/ecloud/tasks.rb +31 -0
  65. data/lib/fog/compute/models/ecloud/vdc.rb +81 -0
  66. data/lib/fog/compute/models/ecloud/vdcs.rb +40 -0
  67. data/lib/fog/compute/models/go_grid/server.rb +15 -1
  68. data/lib/fog/compute/models/rackspace/server.rb +16 -0
  69. data/lib/fog/compute/models/slicehost/server.rb +16 -0
  70. data/lib/fog/compute/models/voxel/image.rb +12 -0
  71. data/lib/fog/compute/models/voxel/images.rb +30 -0
  72. data/lib/fog/compute/models/voxel/server.rb +77 -0
  73. data/lib/fog/compute/models/voxel/servers.rb +31 -0
  74. data/lib/fog/compute/new_servers.rb +2 -2
  75. data/lib/fog/compute/parsers/voxel/basic.rb +31 -0
  76. data/lib/fog/compute/parsers/voxel/devices_list.rb +111 -0
  77. data/lib/fog/compute/parsers/voxel/images_list.rb +59 -0
  78. data/lib/fog/compute/parsers/voxel/voxcloud_create.rb +40 -0
  79. data/lib/fog/compute/parsers/voxel/voxcloud_delete.rb +31 -0
  80. data/lib/fog/compute/parsers/voxel/voxcloud_status.rb +42 -0
  81. data/lib/fog/compute/rackspace.rb +0 -16
  82. data/lib/fog/compute/requests/aws/associate_address.rb +2 -0
  83. data/lib/fog/compute/requests/aws/authorize_security_group_ingress.rb +28 -8
  84. data/lib/fog/compute/requests/aws/create_security_group.rb +2 -0
  85. data/lib/fog/compute/requests/aws/create_tags.rb +2 -0
  86. data/lib/fog/compute/requests/aws/delete_key_pair.rb +2 -0
  87. data/lib/fog/compute/requests/aws/delete_security_group.rb +2 -0
  88. data/lib/fog/compute/requests/aws/delete_snapshot.rb +2 -0
  89. data/lib/fog/compute/requests/aws/delete_tags.rb +2 -0
  90. data/lib/fog/compute/requests/aws/delete_volume.rb +2 -0
  91. data/lib/fog/compute/requests/aws/disassociate_address.rb +2 -0
  92. data/lib/fog/compute/requests/aws/modify_image_attributes.rb +2 -0
  93. data/lib/fog/compute/requests/aws/modify_snapshot_attribute.rb +2 -0
  94. data/lib/fog/compute/requests/aws/reboot_instances.rb +2 -0
  95. data/lib/fog/compute/requests/aws/release_address.rb +2 -0
  96. data/lib/fog/compute/requests/aws/revoke_security_group_ingress.rb +2 -0
  97. data/lib/fog/compute/requests/ecloud/add_backup_internet_service.rb +109 -0
  98. data/lib/fog/compute/requests/ecloud/add_internet_service.rb +149 -0
  99. data/lib/fog/compute/requests/ecloud/add_node.rb +62 -0
  100. data/lib/fog/compute/requests/ecloud/clone_vapp.rb +40 -0
  101. data/lib/fog/compute/requests/ecloud/configure_internet_service.rb +112 -0
  102. data/lib/fog/compute/requests/ecloud/configure_network.rb +44 -0
  103. data/lib/fog/compute/requests/ecloud/configure_network_ip.rb +66 -0
  104. data/lib/fog/compute/requests/ecloud/configure_node.rb +56 -0
  105. data/lib/fog/compute/requests/ecloud/configure_vapp.rb +144 -0
  106. data/lib/fog/compute/requests/ecloud/delete_internet_service.rb +22 -0
  107. data/lib/fog/compute/requests/ecloud/delete_node.rb +22 -0
  108. data/lib/fog/compute/requests/ecloud/delete_vapp.rb +29 -0
  109. data/lib/fog/compute/requests/ecloud/get_catalog.rb +44 -0
  110. data/lib/fog/compute/requests/ecloud/get_catalog_item.rb +47 -0
  111. data/lib/fog/compute/requests/ecloud/get_customization_options.rb +22 -0
  112. data/lib/fog/compute/requests/ecloud/get_firewall_acl.rb +11 -0
  113. data/lib/fog/compute/requests/ecloud/get_firewall_acls.rb +11 -0
  114. data/lib/fog/compute/requests/ecloud/get_internet_services.rb +82 -0
  115. data/lib/fog/compute/requests/ecloud/get_network.rb +44 -0
  116. data/lib/fog/compute/requests/ecloud/get_network_extensions.rb +33 -0
  117. data/lib/fog/compute/requests/ecloud/get_network_ip.rb +43 -0
  118. data/lib/fog/compute/requests/ecloud/get_network_ips.rb +35 -0
  119. data/lib/fog/compute/requests/ecloud/get_node.rb +40 -0
  120. data/lib/fog/compute/requests/ecloud/get_nodes.rb +41 -0
  121. data/lib/fog/compute/requests/ecloud/get_organization.rb +49 -0
  122. data/lib/fog/compute/requests/ecloud/get_public_ip.rb +34 -0
  123. data/lib/fog/compute/requests/ecloud/get_public_ips.rb +38 -0
  124. data/lib/fog/compute/requests/ecloud/get_task.rb +11 -0
  125. data/lib/fog/compute/requests/ecloud/get_task_list.rb +11 -0
  126. data/lib/fog/compute/requests/ecloud/get_vapp.rb +99 -0
  127. data/lib/fog/compute/requests/ecloud/get_vapp_template.rb +11 -0
  128. data/lib/fog/compute/requests/ecloud/get_vdc.rb +84 -0
  129. data/lib/fog/compute/requests/ecloud/get_versions.rb +37 -0
  130. data/lib/fog/compute/requests/ecloud/instantiate_vapp_template.rb +142 -0
  131. data/lib/fog/compute/requests/ecloud/login.rb +48 -0
  132. data/lib/fog/compute/requests/ecloud/power_off.rb +23 -0
  133. data/lib/fog/compute/requests/ecloud/power_on.rb +23 -0
  134. data/lib/fog/compute/requests/ecloud/power_reset.rb +11 -0
  135. data/lib/fog/compute/requests/ecloud/power_shutdown.rb +11 -0
  136. data/lib/fog/compute/requests/voxel/devices_list.rb +24 -0
  137. data/lib/fog/compute/requests/voxel/devices_power.rb +22 -0
  138. data/lib/fog/compute/requests/voxel/images_list.rb +31 -0
  139. data/lib/fog/compute/requests/voxel/voxcloud_create.rb +22 -0
  140. data/lib/fog/compute/requests/voxel/voxcloud_delete.rb +20 -0
  141. data/lib/fog/compute/requests/voxel/voxcloud_status.rb +29 -0
  142. data/lib/fog/compute/slicehost.rb +2 -0
  143. data/lib/fog/compute/voxel.rb +112 -0
  144. data/lib/fog/core.rb +1 -0
  145. data/lib/fog/core/credentials.rb +6 -2
  146. data/lib/fog/core/parser.rb +2 -0
  147. data/lib/fog/core/scp.rb +67 -0
  148. data/lib/fog/dns.rb +6 -0
  149. data/lib/fog/dns/aws.rb +2 -0
  150. data/lib/fog/dns/bluebox.rb +110 -0
  151. data/lib/fog/dns/dnsimple.rb +95 -0
  152. data/lib/fog/dns/models/bluebox/record.rb +52 -0
  153. data/lib/fog/dns/models/bluebox/records.rb +36 -0
  154. data/lib/fog/dns/models/bluebox/zone.rb +63 -0
  155. data/lib/fog/dns/models/bluebox/zones.rb +28 -0
  156. data/lib/fog/dns/models/dnsimple/record.rb +54 -0
  157. data/lib/fog/dns/models/dnsimple/records.rb +38 -0
  158. data/lib/fog/dns/models/dnsimple/zone.rb +50 -0
  159. data/lib/fog/dns/models/dnsimple/zones.rb +28 -0
  160. data/lib/fog/dns/parsers/bluebox/create_record.rb +26 -0
  161. data/lib/fog/dns/parsers/bluebox/create_zone.rb +26 -0
  162. data/lib/fog/dns/parsers/bluebox/get_record.rb +21 -0
  163. data/lib/fog/dns/parsers/bluebox/get_records.rb +27 -0
  164. data/lib/fog/{compute/parsers/terremark_ecloud/get_ip_address.rb → dns/parsers/bluebox/get_zone.rb} +6 -6
  165. data/lib/fog/dns/parsers/bluebox/get_zones.rb +30 -0
  166. data/lib/fog/dns/requests/bluebox/create_record.rb +48 -0
  167. data/lib/fog/dns/requests/bluebox/create_zone.rb +52 -0
  168. data/lib/fog/dns/requests/bluebox/delete_record.rb +31 -0
  169. data/lib/fog/dns/requests/bluebox/delete_zone.rb +31 -0
  170. data/lib/fog/dns/requests/bluebox/get_record.rb +40 -0
  171. data/lib/fog/dns/requests/bluebox/get_records.rb +41 -0
  172. data/lib/fog/dns/requests/bluebox/get_zone.rb +44 -0
  173. data/lib/fog/dns/requests/bluebox/get_zones.rb +43 -0
  174. data/lib/fog/dns/requests/bluebox/update_record.rb +34 -0
  175. data/lib/fog/dns/requests/bluebox/update_zone.rb +30 -0
  176. data/lib/fog/dns/requests/dnsimple/create_domain.rb +27 -0
  177. data/lib/fog/dns/requests/dnsimple/create_record.rb +48 -0
  178. data/lib/fog/dns/requests/dnsimple/delete_domain.rb +26 -0
  179. data/lib/fog/dns/requests/dnsimple/delete_record.rb +21 -0
  180. data/lib/fog/dns/requests/dnsimple/get_domain.rb +37 -0
  181. data/lib/fog/dns/requests/dnsimple/list_domains.rb +35 -0
  182. data/lib/fog/dns/requests/dnsimple/list_records.rb +32 -0
  183. data/lib/fog/dns/requests/dnsimple/update_record.rb +42 -0
  184. data/lib/fog/dns/slicehost.rb +2 -0
  185. data/lib/fog/dns/zerigo.rb +2 -0
  186. data/lib/fog/providers.rb +3 -1
  187. data/lib/fog/providers/aws.rb +0 -4
  188. data/lib/fog/providers/bluebox.rb +1 -8
  189. data/lib/fog/providers/dnsimple.rb +11 -0
  190. data/lib/fog/providers/ecloud.rb +11 -0
  191. data/lib/fog/providers/go_grid.rb +0 -8
  192. data/lib/fog/providers/google.rb +0 -3
  193. data/lib/fog/providers/linode.rb +0 -8
  194. data/lib/fog/providers/local.rb +0 -8
  195. data/lib/fog/providers/new_servers.rb +0 -11
  196. data/lib/fog/providers/rackspace.rb +0 -2
  197. data/lib/fog/providers/slicehost.rb +0 -11
  198. data/lib/fog/providers/voxel.rb +16 -0
  199. data/lib/fog/providers/zerigo.rb +0 -3
  200. data/lib/fog/storage/aws.rb +7 -19
  201. data/lib/fog/storage/google.rb +2 -2
  202. data/lib/fog/storage/models/aws/directory.rb +0 -3
  203. data/lib/fog/storage/models/aws/file.rb +0 -3
  204. data/lib/fog/storage/models/google/directory.rb +0 -3
  205. data/lib/fog/storage/models/google/file.rb +0 -3
  206. data/lib/fog/storage/models/local/directory.rb +0 -3
  207. data/lib/fog/storage/models/local/file.rb +29 -1
  208. data/lib/fog/storage/models/local/files.rb +8 -5
  209. data/lib/fog/storage/models/rackspace/directory.rb +1 -3
  210. data/lib/fog/storage/parsers/aws/get_bucket_website.rb +26 -0
  211. data/lib/fog/storage/rackspace.rb +0 -16
  212. data/lib/fog/storage/requests/aws/delete_bucket_website.rb +32 -0
  213. data/lib/fog/storage/requests/aws/get_bucket_website.rb +42 -0
  214. data/lib/fog/storage/requests/aws/put_bucket_website.rb +49 -0
  215. data/lib/fog/terremark.rb +0 -5
  216. data/spec/ecloud/bin_spec.rb +22 -0
  217. data/spec/{vcloud/terremark/ecloud → ecloud}/models/backup_internet_service_spec.rb +5 -5
  218. data/spec/{vcloud/terremark/ecloud → ecloud}/models/backup_internet_services_spec.rb +4 -4
  219. data/spec/{vcloud/terremark/ecloud → ecloud}/models/internet_service_spec.rb +5 -5
  220. data/spec/{vcloud/terremark/ecloud → ecloud}/models/internet_services_spec.rb +4 -4
  221. data/spec/{vcloud/terremark/ecloud → ecloud}/models/ip_spec.rb +5 -5
  222. data/spec/{vcloud/terremark/ecloud → ecloud}/models/ips_spec.rb +4 -4
  223. data/spec/{vcloud/terremark/ecloud → ecloud}/models/network_spec.rb +5 -5
  224. data/spec/{vcloud/terremark/ecloud → ecloud}/models/networks_spec.rb +4 -4
  225. data/spec/{vcloud/terremark/ecloud → ecloud}/models/node_spec.rb +5 -5
  226. data/spec/{vcloud/terremark/ecloud → ecloud}/models/nodes_spec.rb +4 -4
  227. data/spec/{vcloud/terremark/ecloud → ecloud}/models/public_ip_spec.rb +5 -5
  228. data/spec/{vcloud/terremark/ecloud → ecloud}/models/public_ips_spec.rb +4 -4
  229. data/spec/{vcloud/terremark/ecloud → ecloud}/models/server_spec.rb +4 -4
  230. data/spec/{vcloud/terremark/ecloud → ecloud}/models/vdc_spec.rb +5 -5
  231. data/spec/{vcloud/terremark/ecloud → ecloud}/models/vdcs_spec.rb +4 -4
  232. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/add_backup_internet_service_spec.rb +2 -2
  233. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/add_internet_service_spec.rb +2 -2
  234. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/add_node_spec.rb +2 -2
  235. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/configure_internet_service_spec.rb +2 -2
  236. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/configure_network_ip_spec.rb +2 -2
  237. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/configure_node_spec.rb +2 -2
  238. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/configure_vapp_spec.rb +2 -2
  239. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/delete_internet_service_spec.rb +2 -2
  240. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/delete_node_spec.rb +2 -2
  241. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/delete_vapp_spec.rb +2 -2
  242. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_catalog_item_spec.rb +2 -2
  243. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_catalog_spec.rb +2 -2
  244. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_customization_options_spec.rb +2 -2
  245. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_internet_services_spec.rb +2 -2
  246. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_network_ip_spec.rb +2 -2
  247. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_network_ips_spec.rb +2 -2
  248. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_network_spec.rb +2 -2
  249. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_node_spec.rb +2 -2
  250. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_nodes_spec.rb +2 -2
  251. data/spec/{vcloud → ecloud}/requests/get_organization_spec.rb +2 -2
  252. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_public_ip_spec.rb +2 -2
  253. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_public_ips_spec.rb +2 -2
  254. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_vapp_spec.rb +2 -2
  255. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/get_vdc_spec.rb +2 -2
  256. data/spec/ecloud/requests/get_versions_spec.rb +57 -0
  257. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/instantiate_vapp_template_spec.rb +3 -3
  258. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/login_spec.rb +2 -2
  259. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/power_off_spec.rb +2 -2
  260. data/spec/{vcloud/terremark/ecloud → ecloud}/requests/power_on_spec.rb +2 -2
  261. data/spec/{vcloud → ecloud}/spec_helper.rb +14 -29
  262. data/spec/{vcloud → ecloud}/vcloud_spec.rb +4 -4
  263. data/spec/spec_helper.rb +0 -1
  264. data/tests/compute/helper.rb +12 -1
  265. data/tests/compute/models/flavors_tests.rb +2 -0
  266. data/tests/compute/models/server_tests.rb +28 -1
  267. data/tests/compute/requests/voxel/image_tests.rb +46 -0
  268. data/tests/compute/requests/voxel/server_tests.rb +123 -0
  269. data/tests/dns/helper.rb +10 -1
  270. data/tests/dns/models/record_tests.rb +0 -1
  271. data/tests/dns/requests/bluebox/dns_tests.rb +271 -0
  272. data/tests/dns/requests/dnsimple/dns_tests.rb +130 -0
  273. data/tests/helper.rb +1 -1
  274. data/tests/helpers/mock_helper.rb +2 -0
  275. data/tests/storage/models/directory_test.rb +2 -1
  276. metadata +244 -224
  277. data/lib/fog/bin/terremark_ecloud.rb +0 -28
  278. data/lib/fog/bin/vcloud.rb +0 -59
  279. data/lib/fog/compute/parsers/terremark_ecloud/get_catalog.rb +0 -36
  280. data/lib/fog/compute/parsers/terremark_ecloud/get_catalog_item.rb +0 -43
  281. data/lib/fog/compute/parsers/terremark_ecloud/get_ip_addresses.rb +0 -27
  282. data/lib/fog/compute/parsers/terremark_ecloud/get_network.rb +0 -59
  283. data/lib/fog/compute/parsers/terremark_ecloud/get_organization.rb +0 -35
  284. data/lib/fog/compute/parsers/terremark_ecloud/get_task.rb +0 -42
  285. data/lib/fog/compute/parsers/terremark_ecloud/get_task_list.rb +0 -51
  286. data/lib/fog/compute/parsers/terremark_ecloud/get_vdc.rb +0 -110
  287. data/lib/fog/compute/parsers/terremark_ecloud/get_versions.rb +0 -28
  288. data/lib/fog/compute/parsers/terremark_ecloud/login.rb +0 -27
  289. data/lib/fog/compute/requests/terremark_ecloud/get_catalog.rb +0 -19
  290. data/lib/fog/compute/requests/terremark_ecloud/get_catalog_item.rb +0 -19
  291. data/lib/fog/compute/requests/terremark_ecloud/get_ip_address.rb +0 -19
  292. data/lib/fog/compute/requests/terremark_ecloud/get_ip_addresses.rb +0 -19
  293. data/lib/fog/compute/requests/terremark_ecloud/get_network.rb +0 -19
  294. data/lib/fog/compute/requests/terremark_ecloud/get_organization.rb +0 -19
  295. data/lib/fog/compute/requests/terremark_ecloud/get_task.rb +0 -19
  296. data/lib/fog/compute/requests/terremark_ecloud/get_task_list.rb +0 -19
  297. data/lib/fog/compute/requests/terremark_ecloud/get_vdc.rb +0 -19
  298. data/lib/fog/compute/requests/terremark_ecloud/get_versions.rb +0 -26
  299. data/lib/fog/compute/requests/terremark_ecloud/login.rb +0 -29
  300. data/lib/fog/compute/terremark_ecloud.rb +0 -93
  301. data/lib/fog/providers/terremark_ecloud.rb +0 -17
  302. data/lib/fog/terremark/ecloud.rb +0 -73
  303. data/lib/fog/vcloud.rb +0 -337
  304. data/lib/fog/vcloud/collection.rb +0 -30
  305. data/lib/fog/vcloud/generators.rb +0 -33
  306. data/lib/fog/vcloud/mock_data_classes.rb +0 -767
  307. data/lib/fog/vcloud/model.rb +0 -22
  308. data/lib/fog/vcloud/models/vdc.rb +0 -26
  309. data/lib/fog/vcloud/models/vdcs.rb +0 -35
  310. data/lib/fog/vcloud/requests/get_network.rb +0 -47
  311. data/lib/fog/vcloud/requests/get_organization.rb +0 -47
  312. data/lib/fog/vcloud/requests/get_vdc.rb +0 -82
  313. data/lib/fog/vcloud/requests/get_versions.rb +0 -34
  314. data/lib/fog/vcloud/requests/login.rb +0 -46
  315. data/lib/fog/vcloud/terremark/ecloud.rb +0 -187
  316. data/lib/fog/vcloud/terremark/ecloud/models/backup_internet_service.rb +0 -60
  317. data/lib/fog/vcloud/terremark/ecloud/models/backup_internet_services.rb +0 -36
  318. data/lib/fog/vcloud/terremark/ecloud/models/catalog.rb +0 -31
  319. data/lib/fog/vcloud/terremark/ecloud/models/catalog_item.rb +0 -31
  320. data/lib/fog/vcloud/terremark/ecloud/models/firewall_acl.rb +0 -28
  321. data/lib/fog/vcloud/terremark/ecloud/models/firewall_acls.rb +0 -34
  322. data/lib/fog/vcloud/terremark/ecloud/models/internet_service.rb +0 -121
  323. data/lib/fog/vcloud/terremark/ecloud/models/internet_services.rb +0 -36
  324. data/lib/fog/vcloud/terremark/ecloud/models/ip.rb +0 -51
  325. data/lib/fog/vcloud/terremark/ecloud/models/ips.rb +0 -35
  326. data/lib/fog/vcloud/terremark/ecloud/models/network.rb +0 -77
  327. data/lib/fog/vcloud/terremark/ecloud/models/networks.rb +0 -36
  328. data/lib/fog/vcloud/terremark/ecloud/models/node.rb +0 -47
  329. data/lib/fog/vcloud/terremark/ecloud/models/nodes.rb +0 -33
  330. data/lib/fog/vcloud/terremark/ecloud/models/public_ip.rb +0 -25
  331. data/lib/fog/vcloud/terremark/ecloud/models/public_ips.rb +0 -39
  332. data/lib/fog/vcloud/terremark/ecloud/models/server.rb +0 -211
  333. data/lib/fog/vcloud/terremark/ecloud/models/servers.rb +0 -57
  334. data/lib/fog/vcloud/terremark/ecloud/models/task.rb +0 -23
  335. data/lib/fog/vcloud/terremark/ecloud/models/tasks.rb +0 -33
  336. data/lib/fog/vcloud/terremark/ecloud/models/vdc.rb +0 -83
  337. data/lib/fog/vcloud/terremark/ecloud/models/vdcs.rb +0 -42
  338. data/lib/fog/vcloud/terremark/ecloud/requests/add_backup_internet_service.rb +0 -111
  339. data/lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb +0 -152
  340. data/lib/fog/vcloud/terremark/ecloud/requests/add_node.rb +0 -64
  341. data/lib/fog/vcloud/terremark/ecloud/requests/clone_vapp.rb +0 -42
  342. data/lib/fog/vcloud/terremark/ecloud/requests/configure_internet_service.rb +0 -115
  343. data/lib/fog/vcloud/terremark/ecloud/requests/configure_network.rb +0 -46
  344. data/lib/fog/vcloud/terremark/ecloud/requests/configure_network_ip.rb +0 -68
  345. data/lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb +0 -58
  346. data/lib/fog/vcloud/terremark/ecloud/requests/configure_vapp.rb +0 -147
  347. data/lib/fog/vcloud/terremark/ecloud/requests/delete_internet_service.rb +0 -25
  348. data/lib/fog/vcloud/terremark/ecloud/requests/delete_node.rb +0 -24
  349. data/lib/fog/vcloud/terremark/ecloud/requests/delete_vapp.rb +0 -32
  350. data/lib/fog/vcloud/terremark/ecloud/requests/get_catalog.rb +0 -46
  351. data/lib/fog/vcloud/terremark/ecloud/requests/get_catalog_item.rb +0 -49
  352. data/lib/fog/vcloud/terremark/ecloud/requests/get_customization_options.rb +0 -24
  353. data/lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acl.rb +0 -13
  354. data/lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acls.rb +0 -13
  355. data/lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb +0 -84
  356. data/lib/fog/vcloud/terremark/ecloud/requests/get_network.rb +0 -47
  357. data/lib/fog/vcloud/terremark/ecloud/requests/get_network_extensions.rb +0 -35
  358. data/lib/fog/vcloud/terremark/ecloud/requests/get_network_ip.rb +0 -45
  359. data/lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb +0 -37
  360. data/lib/fog/vcloud/terremark/ecloud/requests/get_node.rb +0 -42
  361. data/lib/fog/vcloud/terremark/ecloud/requests/get_nodes.rb +0 -43
  362. data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ip.rb +0 -36
  363. data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb +0 -41
  364. data/lib/fog/vcloud/terremark/ecloud/requests/get_task.rb +0 -13
  365. data/lib/fog/vcloud/terremark/ecloud/requests/get_task_list.rb +0 -14
  366. data/lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb +0 -101
  367. data/lib/fog/vcloud/terremark/ecloud/requests/get_vapp_template.rb +0 -13
  368. data/lib/fog/vcloud/terremark/ecloud/requests/get_vdc.rb +0 -87
  369. data/lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb +0 -144
  370. data/lib/fog/vcloud/terremark/ecloud/requests/power_off.rb +0 -25
  371. data/lib/fog/vcloud/terremark/ecloud/requests/power_on.rb +0 -25
  372. data/lib/fog/vcloud/terremark/ecloud/requests/power_reset.rb +0 -13
  373. data/lib/fog/vcloud/terremark/ecloud/requests/power_shutdown.rb +0 -13
  374. data/lib/fog/vcloud/terremark/vcloud.rb +0 -39
  375. data/lib/fog/vcloud/terremark/vcloud/requests/get_vdc.rb +0 -57
  376. data/spec/vcloud/bin_spec.rb +0 -28
  377. data/spec/vcloud/models/vdc_spec.rb +0 -51
  378. data/spec/vcloud/models/vdcs_spec.rb +0 -1
  379. data/spec/vcloud/requests/get_network_spec.rb +0 -44
  380. data/spec/vcloud/requests/get_vdc_spec.rb +0 -62
  381. data/spec/vcloud/requests/get_versions_spec.rb +0 -54
  382. data/spec/vcloud/requests/login_spec.rb +0 -24
  383. data/tests/compute/requests/terremark_ecloud/catalog_tests.rb +0 -47
  384. data/tests/compute/requests/terremark_ecloud/helper.rb +0 -45
  385. data/tests/compute/requests/terremark_ecloud/network_tests.rb +0 -30
  386. data/tests/compute/requests/terremark_ecloud/organization_tests.rb +0 -28
  387. data/tests/compute/requests/terremark_ecloud/task_tests.rb +0 -39
  388. data/tests/compute/requests/terremark_ecloud/vdc_tests.rb +0 -60
@@ -0,0 +1,55 @@
1
+ require 'fog/compute/models/ecloud/server'
2
+
3
+ module Fog
4
+ module Ecloud
5
+ class Compute
6
+
7
+ class Servers < Fog::Ecloud::Collection
8
+
9
+ undef_method :create
10
+
11
+ model Fog::Ecloud::Compute::Server
12
+
13
+ attribute :href, :aliases => :Href
14
+
15
+ def all
16
+ check_href!(:parent => "Vdc")
17
+ load(_vapps)
18
+ end
19
+
20
+ def get(uri)
21
+ if data = connection.get_vapp(uri)
22
+ new(data.body)
23
+ end
24
+ rescue Fog::Errors::NotFound
25
+ nil
26
+ end
27
+
28
+ def create( catalog_item_uri, options )
29
+ options[:vdc_uri] = href
30
+ options[:cpus] ||= 1
31
+ options[:memory] ||= 512
32
+ data = connection.instantiate_vapp_template( catalog_item_uri, options ).body
33
+ object = new(data)
34
+ object
35
+ end
36
+
37
+ private
38
+
39
+ def _resource_entities
40
+ connection.get_vdc(href).body[:ResourceEntities][:ResourceEntity]
41
+ end
42
+
43
+ def _vapps
44
+ resource_entities = _resource_entities
45
+ if resource_entities.nil?
46
+ []
47
+ else
48
+ resource_entities
49
+ end
50
+ end
51
+
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Ecloud
3
+ class Compute
4
+ class Task < Fog::Ecloud::Model
5
+
6
+ identity :href, :aliases => :Href
7
+
8
+ ignore_attributes :xmlns, :xmlns_i, :xmlns_xsi, :xmlns_xsd
9
+
10
+ attribute :status
11
+ attribute :type
12
+ attribute :result, :aliases => :Result
13
+ attribute :owner, :aliases => :Owner
14
+ attribute :start_time, :aliases => :startTime, :type => :time
15
+ attribute :end_time, :aliases => :endTime, :type => :time
16
+ attribute :error, :aliases => :Error
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,31 @@
1
+ require 'fog/compute/models/ecloud/task'
2
+
3
+ module Fog
4
+ module Ecloud
5
+ class Compute
6
+
7
+ class Tasks < Fog::Ecloud::Collection
8
+
9
+ model Fog::Ecloud::Compute::Task
10
+
11
+ attribute :href, :aliases => :Href
12
+
13
+ def all
14
+ check_href!
15
+ if data = connection.get_task_list(href).body[:Task]
16
+ load(data)
17
+ end
18
+ end
19
+
20
+ def get(uri)
21
+ if data = connection.get_task(uri)
22
+ new(data.body)
23
+ end
24
+ rescue Fog::Errors::NotFound
25
+ nil
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,81 @@
1
+ module Fog
2
+ module Ecloud
3
+ class Compute
4
+ class Vdc < Fog::Ecloud::Model
5
+
6
+ identity :href
7
+
8
+ ignore_attributes :xmlns, :xmlns_xsi, :xmlns_xsd
9
+
10
+ attribute :name
11
+ attribute :type
12
+ attribute :description, :aliases => :Description
13
+ attribute :other_links, :aliases => :Link
14
+ attribute :compute_capacity, :aliases => :ComputeCapacity
15
+ attribute :storage_capacity, :aliases => :StorageCapacity
16
+ attribute :available_networks, :aliases => :AvailableNetworks, :squash => :Network
17
+ attribute :resource_entities, :aliases => :ResourceEntities, :squash => :ResourceEntity
18
+ attribute :deployed_vm_quota
19
+ attribute :instantiated_vm_quota
20
+
21
+ def public_ips
22
+ @public_ips ||= collection_based_on_type("application/vnd.tmrk.ecloud.publicIpsList+xml")
23
+ end
24
+
25
+ def internet_services
26
+ @internet_services ||= collection_based_on_type("application/vnd.tmrk.ecloud.internetServicesList+xml")
27
+ end
28
+
29
+ def backup_internet_services
30
+ @backup_internet_services ||= collection_based_on_type("application/vnd.tmrk.ecloud.internetServicesList+xml", BackupInternetServices)
31
+ end
32
+
33
+ def networks
34
+ @networks ||= Fog::Ecloud::Compute::Networks.
35
+ new( :connection => connection,
36
+ :href => href )
37
+ end
38
+
39
+ def servers
40
+ @servers ||= Fog::Ecloud::Compute::Servers.
41
+ new( :connection => connection,
42
+ :href => href )
43
+ end
44
+
45
+ def tasks
46
+ @tasks ||= Fog::Ecloud::Compute::Tasks.
47
+ new( :connection => connection,
48
+ :href => href + "/tasksList" )
49
+ end
50
+
51
+ def catalog
52
+ @catalog ||= collection_based_on_type("application/vnd.vmware.vcloud.catalog+xml")
53
+ end
54
+
55
+ def firewall_acls
56
+ @firewall_acls ||= collection_based_on_type("application/vnd.tmrk.ecloud.firewallAclsList+xml")
57
+ end
58
+
59
+ private
60
+
61
+ def collection_based_on_type(type, klass = nil)
62
+ load_unless_loaded!
63
+ if link = other_links.detect { |link| link[:type] == type }
64
+ case type
65
+ when "application/vnd.tmrk.ecloud.publicIpsList+xml"
66
+ Fog::Ecloud::Compute::PublicIps
67
+ when "application/vnd.tmrk.ecloud.internetServicesList+xml"
68
+ klass || Fog::Ecloud::Compute::InternetServices
69
+ when "application/vnd.vmware.vcloud.catalog+xml"
70
+ Fog::Ecloud::Compute::Catalog
71
+ when "application/vnd.tmrk.ecloud.firewallAclsList+xml"
72
+ Fog::Ecloud::Compute::FirewallAcls
73
+ end.new( :connection => connection, :href => link[:href] )
74
+ else
75
+ [ ]
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,40 @@
1
+ require 'fog/compute/models/ecloud/vdc'
2
+
3
+ module Fog
4
+ module Ecloud
5
+ class Compute
6
+
7
+ class Vdcs < Collection
8
+
9
+ model Fog::Ecloud::Compute::Vdc
10
+
11
+ undef_method :create
12
+
13
+ def all
14
+ data = connection.get_organization(organization_uri).body[:Link].select { |link| link[:type] == "application/vnd.vmware.vcloud.vdc+xml" }
15
+ data.each { |link| link.delete_if { |key, value| [:rel].include?(key) } }
16
+ load(data)
17
+ end
18
+
19
+ def get(uri)
20
+ if data = connection.get_vdc(uri)
21
+ new(data.body)
22
+ end
23
+ rescue Fog::Errors::NotFound
24
+ nil
25
+ end
26
+
27
+ def organization_uri
28
+ @organizatio_uri ||= connection.default_organization_uri
29
+ end
30
+
31
+ private
32
+
33
+ def organization_uri=(new_organization_uri)
34
+ @organization_uri = new_organization_uri
35
+ end
36
+
37
+ end
38
+ end
39
+ end
40
+ end
@@ -7,12 +7,14 @@ module Fog
7
7
  class BlockInstantiationError < StandardError; end
8
8
 
9
9
  class Server < Fog::Model
10
+ extend Fog::Deprecation
11
+ deprecate(:ip, :public_ip_address)
10
12
 
11
13
  identity :id
12
14
 
13
15
  attribute :name
14
16
  attribute :image_id # id or name
15
- attribute :ip
17
+ attribute :public_ip_address, :aliases => 'ip'
16
18
  attribute :memory # server.ram
17
19
  attribute :state
18
20
  attribute :description # Optional
@@ -33,6 +35,10 @@ module Fog
33
35
  connection.grid_image_get(:image => image_id)
34
36
  end
35
37
 
38
+ def private_ip_address
39
+ nil
40
+ end
41
+
36
42
  def ready?
37
43
  @state && @state["name"] == 'On'
38
44
  end
@@ -71,6 +77,14 @@ module Fog
71
77
  Fog::SSH.new(ip['ip'], username, options).run(commands)
72
78
  end
73
79
 
80
+ def scp(local_path, remote_path)
81
+ requires :ip, :username
82
+
83
+ options = {}
84
+ options[:key_data] = [private_key] if private_key
85
+ Fog::SCP.new(ip['ip'], username, options).upload(local_path, remote_path)
86
+ end
87
+
74
88
  def setup(credentials = {})
75
89
  requires :ip, :identity, :public_key, :username
76
90
  Fog::SSH.new(ip['ip'], username, credentials).run([
@@ -47,6 +47,10 @@ module Fog
47
47
  connection.images(:server => self)
48
48
  end
49
49
 
50
+ def private_ip_address
51
+ nil
52
+ end
53
+
50
54
  def private_key_path
51
55
  @private_key_path ||= Fog.credentials[:private_key_path]
52
56
  @private_key_path &&= File.expand_path(@private_key_path)
@@ -56,6 +60,10 @@ module Fog
56
60
  @private_key ||= private_key_path && File.read(private_key_path)
57
61
  end
58
62
 
63
+ def public_ip_address
64
+ addresses.first
65
+ end
66
+
59
67
  def public_key_path
60
68
  @public_key_path ||= Fog.credentials[:public_key_path]
61
69
  @public_key_path &&= File.expand_path(@public_key_path)
@@ -111,6 +119,14 @@ module Fog
111
119
  Fog::SSH.new(addresses['public'].first, username, options).run(commands)
112
120
  end
113
121
 
122
+ def scp(local_path, remote_path)
123
+ requires :addresses, :username
124
+
125
+ options = {}
126
+ options[:key_data] = [private_key] if private_key
127
+ Fog::SCP.new(addresses['public'].first, username, options).upload(local_path, remote_path)
128
+ end
129
+
114
130
  def username
115
131
  @username ||= 'root'
116
132
  end
@@ -43,6 +43,10 @@ module Fog
43
43
  connection.images.get(image_id)
44
44
  end
45
45
 
46
+ def private_ip_address
47
+ nil
48
+ end
49
+
46
50
  def private_key_path
47
51
  @private_key_path ||= Fog.credentials[:private_key_path]
48
52
  @private_key_path &&= File.expand_path(@private_key_path)
@@ -52,6 +56,10 @@ module Fog
52
56
  @private_key ||= private_key_path && File.read(private_key_path)
53
57
  end
54
58
 
59
+ def public_ip_address
60
+ addresses.first
61
+ end
62
+
55
63
  def public_key_path
56
64
  @public_key_path ||= Fog.credentials[:public_key_path]
57
65
  @public_key_path &&= File.expand_path(@public_key_path)
@@ -101,6 +109,14 @@ module Fog
101
109
  Fog::SSH.new(addresses.first, username, options).run(commands)
102
110
  end
103
111
 
112
+ def scp(local_path, remote_path)
113
+ requires :addresses, :username
114
+
115
+ options = {}
116
+ options[:key_data] = [private_key] if private_key
117
+ Fog::SCP.new(addresses.first, username, options).upload(local_path, remote_path)
118
+ end
119
+
104
120
  def username
105
121
  @username ||= 'root'
106
122
  end
@@ -0,0 +1,12 @@
1
+ require 'fog/core/model'
2
+
3
+ module Fog
4
+ module Voxel
5
+ class Compute
6
+ class Image < Fog::Model
7
+ identity :id
8
+ attribute :name
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,30 @@
1
+ require 'fog/core/collection'
2
+ require 'fog/compute/models/voxel/image'
3
+
4
+ module Fog
5
+ module Voxel
6
+ class Compute
7
+
8
+ class Images < Fog::Collection
9
+
10
+ model Fog::Voxel::Compute::Image
11
+
12
+ def all
13
+ data = connection.images_list.body['images']
14
+ load(data)
15
+ end
16
+
17
+ def get(image_id)
18
+ data = connection.images_list(image_id).body['images']
19
+
20
+ if data.empty?
21
+ nil
22
+ else
23
+ new(data.first)
24
+ end
25
+ end
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,77 @@
1
+ require 'fog/core/model'
2
+
3
+ module Fog
4
+ module Voxel
5
+ class Compute
6
+
7
+ class Server < Fog::Model
8
+
9
+ identity :id
10
+
11
+ attribute :name
12
+ attribute :processing_cores
13
+ attribute :image_id
14
+ attribute :facility
15
+ attribute :disk_size
16
+ attribute :ip_assignments, :aliases => 'ipassignments'
17
+
18
+ def initialize(attributes={})
19
+ super
20
+ end
21
+
22
+ def destroy
23
+ requires :id
24
+ connection.voxcloud_delete(id)
25
+ true
26
+ end
27
+
28
+ def image
29
+ requires :image_id
30
+ connection.images.get(image_id)
31
+ end
32
+
33
+ def ready?
34
+ status == 'SUCCEEDED'
35
+ end
36
+
37
+ def private_ip_address
38
+ ip_assignments.select {|ip_assignment| ip_assignment['type'] == 'internal'}.first
39
+ end
40
+
41
+ def public_ip_address
42
+ ip_assignments.select {|ip_assignment| ip_assignment['type'] == 'external'}.first
43
+ end
44
+
45
+ def reboot
46
+ requires :id
47
+ connection.devices_power(id, :reboot)
48
+ true
49
+ end
50
+
51
+ def status
52
+ @status ||= connection.voxcloud_status(id).body['devices'].first['status']
53
+ end
54
+
55
+ def save
56
+ raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if identity
57
+ requires :name, :image_id, :processing_cores, :facility, :disk_size
58
+
59
+ data = connection.voxcloud_create({
60
+ :disk_size => disk_size,
61
+ :facility => facility,
62
+ :hostname => name,
63
+ :image_id => image_id,
64
+ :processing_cores => processing_cores
65
+ }).body
66
+
67
+ merge_attributes(data['device'])
68
+
69
+ true
70
+ end
71
+
72
+ end
73
+
74
+ end
75
+
76
+ end
77
+ end