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
@@ -1,57 +0,0 @@
1
- require 'fog/vcloud/terremark/ecloud/models/server'
2
-
3
- module Fog
4
- class Vcloud
5
- module Terremark
6
- class Ecloud
7
-
8
- class Servers < Fog::Vcloud::Collection
9
-
10
- undef_method :create
11
-
12
- model Fog::Vcloud::Terremark::Ecloud::Server
13
-
14
- attribute :href, :aliases => :Href
15
-
16
- def all
17
- check_href!(:parent => "Vdc")
18
- load(_vapps)
19
- end
20
-
21
- def get(uri)
22
- if data = connection.get_vapp(uri)
23
- new(data.body)
24
- end
25
- rescue Fog::Errors::NotFound
26
- nil
27
- end
28
-
29
- def create( catalog_item_uri, options )
30
- options[:vdc_uri] = href
31
- options[:cpus] ||= 1
32
- options[:memory] ||= 512
33
- data = connection.instantiate_vapp_template( catalog_item_uri, options ).body
34
- object = new(data)
35
- object
36
- end
37
-
38
- private
39
-
40
- def _resource_entities
41
- connection.get_vdc(href).body[:ResourceEntities][:ResourceEntity]
42
- end
43
-
44
- def _vapps
45
- resource_entities = _resource_entities
46
- if resource_entities.nil?
47
- []
48
- else
49
- resource_entities
50
- end
51
- end
52
-
53
- end
54
- end
55
- end
56
- end
57
- end
@@ -1,23 +0,0 @@
1
- module Fog
2
- class Vcloud
3
- module Terremark
4
- class Ecloud
5
- class Task < Fog::Vcloud::Model
6
-
7
- identity :href, :aliases => :Href
8
-
9
- ignore_attributes :xmlns, :xmlns_i, :xmlns_xsi, :xmlns_xsd
10
-
11
- attribute :status
12
- attribute :type
13
- attribute :result, :aliases => :Result
14
- attribute :owner, :aliases => :Owner
15
- attribute :start_time, :aliases => :startTime, :type => :time
16
- attribute :end_time, :aliases => :endTime, :type => :time
17
- attribute :error, :aliases => :Error
18
-
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,33 +0,0 @@
1
- require 'fog/vcloud/terremark/ecloud/models/task'
2
-
3
- module Fog
4
- class Vcloud
5
- module Terremark
6
- class Ecloud
7
-
8
- class Tasks < Fog::Vcloud::Collection
9
-
10
- model Fog::Vcloud::Terremark::Ecloud::Task
11
-
12
- attribute :href, :aliases => :Href
13
-
14
- def all
15
- check_href!
16
- if data = connection.get_task_list(href).body[:Task]
17
- load(data)
18
- end
19
- end
20
-
21
- def get(uri)
22
- if data = connection.get_task(uri)
23
- new(data.body)
24
- end
25
- rescue Fog::Errors::NotFound
26
- nil
27
- end
28
-
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,83 +0,0 @@
1
- module Fog
2
- class Vcloud
3
- module Terremark
4
- class Ecloud
5
- class Vdc < Fog::Vcloud::Model
6
-
7
- identity :href
8
-
9
- ignore_attributes :xmlns, :xmlns_xsi, :xmlns_xsd
10
-
11
- attribute :name
12
- attribute :type
13
- attribute :description, :aliases => :Description
14
- attribute :other_links, :aliases => :Link
15
- attribute :compute_capacity, :aliases => :ComputeCapacity
16
- attribute :storage_capacity, :aliases => :StorageCapacity
17
- attribute :available_networks, :aliases => :AvailableNetworks, :squash => :Network
18
- attribute :resource_entities, :aliases => :ResourceEntities, :squash => :ResourceEntity
19
- attribute :deployed_vm_quota
20
- attribute :instantiated_vm_quota
21
-
22
- def public_ips
23
- @public_ips ||= collection_based_on_type("application/vnd.tmrk.ecloud.publicIpsList+xml")
24
- end
25
-
26
- def internet_services
27
- @internet_services ||= collection_based_on_type("application/vnd.tmrk.ecloud.internetServicesList+xml")
28
- end
29
-
30
- def backup_internet_services
31
- @backup_internet_services ||= collection_based_on_type("application/vnd.tmrk.ecloud.internetServicesList+xml", BackupInternetServices)
32
- end
33
-
34
- def networks
35
- @networks ||= Fog::Vcloud::Terremark::Ecloud::Networks.
36
- new( :connection => connection,
37
- :href => href )
38
- end
39
-
40
- def servers
41
- @servers ||= Fog::Vcloud::Terremark::Ecloud::Servers.
42
- new( :connection => connection,
43
- :href => href )
44
- end
45
-
46
- def tasks
47
- @tasks ||= Fog::Vcloud::Terremark::Ecloud::Tasks.
48
- new( :connection => connection,
49
- :href => href + "/tasksList" )
50
- end
51
-
52
- def catalog
53
- @catalog ||= collection_based_on_type("application/vnd.vmware.vcloud.catalog+xml")
54
- end
55
-
56
- def firewall_acls
57
- @firewall_acls ||= collection_based_on_type("application/vnd.tmrk.ecloud.firewallAclsList+xml")
58
- end
59
-
60
- private
61
-
62
- def collection_based_on_type(type, klass = nil)
63
- load_unless_loaded!
64
- if link = other_links.detect { |link| link[:type] == type }
65
- case type
66
- when "application/vnd.tmrk.ecloud.publicIpsList+xml"
67
- Fog::Vcloud::Terremark::Ecloud::PublicIps
68
- when "application/vnd.tmrk.ecloud.internetServicesList+xml"
69
- klass || Fog::Vcloud::Terremark::Ecloud::InternetServices
70
- when "application/vnd.vmware.vcloud.catalog+xml"
71
- Fog::Vcloud::Terremark::Ecloud::Catalog
72
- when "application/vnd.tmrk.ecloud.firewallAclsList+xml"
73
- Fog::Vcloud::Terremark::Ecloud::FirewallAcls
74
- end.new( :connection => connection, :href => link[:href] )
75
- else
76
- [ ]
77
- end
78
- end
79
- end
80
- end
81
- end
82
- end
83
- end
@@ -1,42 +0,0 @@
1
- require 'fog/vcloud/terremark/ecloud/models/vdc'
2
-
3
- module Fog
4
- class Vcloud
5
- module Terremark
6
- class Ecloud
7
-
8
- class Vdcs < Collection
9
-
10
- model Fog::Vcloud::Terremark::Ecloud::Vdc
11
-
12
- undef_method :create
13
-
14
- def all
15
- data = connection.get_organization(organization_uri).body[:Link].select { |link| link[:type] == "application/vnd.vmware.vcloud.vdc+xml" }
16
- data.each { |link| link.delete_if { |key, value| [:rel].include?(key) } }
17
- load(data)
18
- end
19
-
20
- def get(uri)
21
- if data = connection.get_vdc(uri)
22
- new(data.body)
23
- end
24
- rescue Fog::Errors::NotFound
25
- nil
26
- end
27
-
28
- def organization_uri
29
- @organizatio_uri ||= connection.default_organization_uri
30
- end
31
-
32
- private
33
-
34
- def organization_uri=(new_organization_uri)
35
- @organization_uri = new_organization_uri
36
- end
37
-
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,111 +0,0 @@
1
- module Fog
2
- class Vcloud
3
- module Terremark
4
- class Ecloud
5
- module Shared
6
- def validate_backup_internet_service_data(service_data, configure=false)
7
- required_opts = [:name, :protocol, :description, :enabled]
8
- if configure
9
- required_opts + [ :id, :href, :timeout ]
10
- end
11
- unless required_opts.all? { |opt| service_data.keys.include?(opt) }
12
- raise ArgumentError.new("Required Backup Internet Service data missing: #{(required_opts - service_data.keys).map(&:inspect).join(", ")}")
13
- end
14
- end
15
- end
16
-
17
- class Real
18
- include Shared
19
-
20
- def add_backup_internet_service(internet_services_uri, service_data)
21
- validate_backup_internet_service_data(service_data)
22
- if monitor = service_data[:monitor]
23
- validate_internet_service_monitor(monitor)
24
- ensure_monitor_defaults!(monitor)
25
- end
26
-
27
- request(
28
- :body => generate_backup_internet_service_request(service_data),
29
- :expects => 200,
30
- :headers => {'Content-Type' => 'application/xml'},
31
- :method => 'POST',
32
- :uri => internet_services_uri,
33
- :parse => true
34
- )
35
- end
36
-
37
- private
38
-
39
- def generate_backup_internet_service_request(service_data)
40
- builder = Builder::XmlMarkup.new
41
- builder.CreateBackupInternetServiceRequest("xmlns" => "urn:tmrk:eCloudExtensions-2.5") {
42
- builder.Name(service_data[:name])
43
- builder.Protocol(service_data[:protocol])
44
- builder.Enabled(service_data[:enabled])
45
- builder.Description(service_data[:description])
46
- builder.RedirectURL(service_data[:redirect_url])
47
- if monitor = service_data[:monitor]
48
- generate_monitor_section(builder,monitor)
49
- end
50
- }
51
- end
52
- end
53
-
54
- class Mock
55
- include Shared
56
-
57
- #
58
- # Based on
59
- # http://support.theenterprisecloud.com/kb/default.asp?id=729&Lang=1&SID=
60
- # and many tears shed.
61
- #
62
-
63
- def add_backup_internet_service(internet_services_uri, service_data)
64
- validate_backup_internet_service_data(service_data)
65
-
66
- internet_services_uri = ensure_unparsed(internet_services_uri)
67
-
68
- if vdc_internet_service_collection = mock_data.vdc_internet_service_collection_from_href(internet_services_uri)
69
- new_backup_internet_service = MockBackupInternetService.new(service_data, vdc_internet_service_collection.backup_internet_services)
70
- vdc_internet_service_collection.backup_internet_services << new_backup_internet_service
71
- xml = generate_backup_internet_service_added_response(new_backup_internet_service)
72
-
73
- mock_it 200, xml, {'Content-Type' => 'application/vnd.tmrk.ecloud.internetService+xml'}
74
- else
75
- mock_error 200, "401 Unauthorized"
76
- end
77
- end
78
-
79
- private
80
-
81
- def generate_backup_internet_service_added_response(new_backup_internet_service)
82
- builder = Builder::XmlMarkup.new
83
- builder.InternetService("xmlns" => "urn:tmrk:eCloudExtensions-2.5", "xmlns:i" => "http://www.w3.org/2001/XMLSchema-instance") {
84
- builder.Id new_backup_internet_service.object_id
85
- builder.Href new_backup_internet_service.href
86
- builder.Name new_backup_internet_service.name
87
- # so broken
88
- builder.PublicIpAddress do
89
- builder.Id -2147483648
90
- builder.Id "http://totally.invalid/1234"
91
- builder.Name
92
- end
93
- builder.Port new_backup_internet_service.port
94
- builder.Protocol new_backup_internet_service.protocol
95
- builder.Enabled new_backup_internet_service.enabled
96
- builder.Timeout new_backup_internet_service.timeout
97
- builder.Description new_backup_internet_service.description
98
- builder.RedirectURL new_backup_internet_service.redirect_url
99
- builder.Monitor "i:nil" => true
100
- # so broken
101
- builder.IsBackupService false
102
- builder.BackupService "i:nil" => true
103
- builder.BackupOf "i:nil" => true
104
- }
105
- end
106
- end
107
- end
108
- end
109
- end
110
- end
111
-
@@ -1,152 +0,0 @@
1
- module Fog
2
- class Vcloud
3
- module Terremark
4
- class Ecloud
5
- module Shared
6
- def validate_internet_service_monitor(monitor)
7
- #FIXME: Refactor this type of function into something generic
8
- unless ['Disabled','HTTP','ECV'].include?(monitor[:type])
9
- raise ArgumentError.new("Supported monitor types are: ECV & HTTP")
10
- end
11
-
12
- required_opts = case monitor[:type]
13
- when "Disabled"
14
- [:type, :is_enabled]
15
- else
16
- [:type, :url_send_string, :http_headers, :receive_string, :is_enabled]
17
- end
18
-
19
- unless required_opts.all? { |opt| monitor.keys.include?(opt) && monitor[opt] }
20
- raise ArgumentError.new("Required Monitor data missing: #{(required_opts - monitor.keys).map(&:inspect).join(", ")}")
21
- end
22
-
23
- case monitor[:type]
24
- when "HTTP", "ECV"
25
- unless monitor[:http_headers].is_a?(Array) || monitor[:http_headers].is_a?(String)
26
- raise ArgumentError.new("Monitor :http_headers must be a String or Array")
27
- end
28
- end
29
-
30
- unless [true, false, "true", "false"].include?(monitor[:is_enabled])
31
- raise ArgumentError.new("Monitor :is_enabled must be true or false")
32
- end
33
- end
34
-
35
- def validate_internet_service_data(service_data, configure=false)
36
- required_opts = [:name, :protocol, :port, :description, :enabled]
37
- if configure
38
- required_opts + [ :id, :href, :timeout ]
39
- end
40
- unless required_opts.all? { |opt| service_data.keys.include?(opt) }
41
- raise ArgumentError.new("Required Internet Service data missing: #{(required_opts - service_data.keys).map(&:inspect).join(", ")}")
42
- end
43
- end
44
-
45
- def ensure_monitor_defaults!(monitor)
46
- if monitor[:http_headers].is_a?(String)
47
- monitor[:http_headers] = [ monitor[:http_headers] ]
48
- end
49
-
50
- unless monitor[:retries]
51
- monitor[:retries] = 3
52
- end
53
-
54
- unless monitor[:response_timeout]
55
- monitor[:response_timeout] = 2
56
- end
57
-
58
- unless monitor[:down_time]
59
- monitor[:down_time] = 30
60
- end
61
-
62
- unless monitor[:interval]
63
- monitor[:interval] = 5
64
- end
65
- end
66
- end
67
-
68
- class Real
69
- include Shared
70
-
71
- def add_internet_service(internet_services_uri, service_data)
72
- validate_internet_service_data(service_data)
73
- if monitor = service_data[:monitor]
74
- validate_internet_service_monitor(monitor)
75
- ensure_monitor_defaults!(monitor)
76
- end
77
-
78
- request(
79
- :body => generate_internet_service_request(service_data),
80
- :expects => 200,
81
- :headers => {'Content-Type' => 'application/vnd.tmrk.ecloud.internetService+xml'},
82
- :method => 'POST',
83
- :uri => internet_services_uri,
84
- :parse => true
85
- )
86
- end
87
-
88
- private
89
-
90
- def generate_internet_service_request(service_data)
91
- builder = Builder::XmlMarkup.new
92
- builder.CreateInternetServiceRequest(ecloud_xmlns) {
93
- builder.Name(service_data[:name])
94
- builder.Protocol(service_data[:protocol])
95
- builder.Port(service_data[:port])
96
- builder.Enabled(service_data[:enabled])
97
- builder.Description(service_data[:description])
98
- builder.RedirectURL(service_data[:redirect_url])
99
- if monitor = service_data[:monitor]
100
- generate_monitor_section(builder,monitor)
101
- end
102
- }
103
- end
104
-
105
- def generate_monitor_section(builder, monitor)
106
- builder.Monitor {
107
- builder.MonitorType(monitor[:type])
108
- case monitor[:type]
109
- when "ECV","HTTP"
110
- builder.UrlSendString(monitor[:url_send_string])
111
- builder.HttpHeader(monitor[:http_headers].join("\n"))
112
- builder.ReceiveString(monitor[:receive_string])
113
- builder.Interval(monitor[:interval])
114
- builder.ResponseTimeOut(monitor[:response_timeout])
115
- builder.DownTime(monitor[:downtime])
116
- builder.Retries(monitor[:retries])
117
- end
118
- builder.IsEnabled(monitor[:is_enabled])
119
- }
120
- end
121
-
122
- end
123
-
124
- class Mock
125
- include Shared
126
-
127
- #
128
- # Based on
129
- # http://support.theenterprisecloud.com/kb/default.asp?id=561&Lang=1&SID=
130
- #
131
-
132
- def add_internet_service(internet_services_uri, service_data)
133
- validate_internet_service_data(service_data)
134
-
135
- internet_services_uri = ensure_unparsed(internet_services_uri)
136
-
137
- if public_ip_internet_service_collection = mock_data.public_ip_internet_service_collection_from_href(internet_services_uri)
138
- new_public_ip_internet_service = MockPublicIpInternetService.new(service_data, public_ip_internet_service_collection)
139
- public_ip_internet_service_collection.items << new_public_ip_internet_service
140
- xml = generate_internet_service(Builder::XmlMarkup.new, new_public_ip_internet_service, true)
141
-
142
- mock_it 200, xml, {'Content-Type' => 'application/vnd.tmrk.ecloud.internetService+xml'}
143
- else
144
- mock_error 200, "401 Unauthorized"
145
- end
146
- end
147
- end
148
- end
149
- end
150
- end
151
- end
152
-