fog 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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