fog 1.29.0 → 1.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (499) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +88 -0
  3. data/CONTRIBUTING.md +1 -1
  4. data/fog.gemspec +3 -7
  5. data/lib/fog.rb +0 -1
  6. data/lib/fog/bin.rb +0 -1
  7. data/lib/fog/cloudstack/models/compute/public_ip_address.rb +78 -35
  8. data/lib/fog/cloudstack/models/compute/public_ip_addresses.rb +7 -5
  9. data/lib/fog/cloudstack/requests/compute/associate_ip_address.rb +2 -2
  10. data/lib/fog/cloudstack/requests/compute/disable_static_nat.rb +26 -0
  11. data/lib/fog/cloudstack/requests/compute/disassociate_ip_address.rb +1 -1
  12. data/lib/fog/cloudstack/requests/compute/enable_static_nat.rb +43 -0
  13. data/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb +14 -4
  14. data/lib/fog/dynect/models/dns/records.rb +0 -1
  15. data/lib/fog/glesys/models/compute/server.rb +2 -4
  16. data/lib/fog/hp/storage.rb +25 -5
  17. data/lib/fog/linode/requests/compute/avail_datacenters.rb +2 -1
  18. data/lib/fog/opennebula/compute.rb +3 -0
  19. data/lib/fog/opennebula/models/compute/flavor.rb +11 -7
  20. data/lib/fog/opennebula/models/compute/networks.rb +11 -1
  21. data/lib/fog/opennebula/models/compute/servers.rb +4 -0
  22. data/lib/fog/opennebula/requests/compute/image_pool.rb +27 -0
  23. data/lib/fog/opennebula/requests/compute/list_networks.rb +1 -1
  24. data/lib/fog/opennebula/requests/compute/template_pool.rb +23 -4
  25. data/lib/fog/opennebula/requests/compute/vm_disk_snapshot.rb +22 -0
  26. data/lib/fog/opennebula/requests/compute/vm_shutdown.rb +18 -0
  27. data/lib/fog/openstack/compute.rb +34 -24
  28. data/lib/fog/openstack/core.rb +26 -13
  29. data/lib/fog/openstack/models/orchestration/resource.rb +1 -1
  30. data/lib/fog/openstack/models/orchestration/stack.rb +1 -1
  31. data/lib/fog/openstack/network.rb +34 -10
  32. data/lib/fog/openstack/requests/storage/get_object_http_url.rb +1 -1
  33. data/lib/fog/openstack/requests/storage/get_object_https_url.rb +9 -8
  34. data/lib/fog/openstack/requests/volume/list_snapshots.rb +4 -3
  35. data/lib/fog/rackspace/docs/compute_v2.md +4 -0
  36. data/lib/fog/rackspace/requests/cdn_v2/update_service.rb +3 -0
  37. data/lib/fog/vcloud_director/compute.rb +7 -4
  38. data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +15 -0
  39. data/lib/fog/version.rb +1 -1
  40. data/lib/fog/vsphere/compute.rb +7 -1
  41. data/lib/fog/vsphere/models/compute/server.rb +3 -0
  42. data/lib/fog/vsphere/requests/compute/create_vm.rb +3 -0
  43. data/lib/fog/vsphere/requests/compute/get_datacenter.rb +1 -1
  44. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +7 -1
  45. data/lib/fog/vsphere/requests/compute/vm_clone.rb +3 -0
  46. data/lib/fog/xenserver/compute.rb +9 -8
  47. data/lib/fog/xenserver/core.rb +16 -16
  48. data/lib/fog/xenserver/requests/compute/create_server.rb +1 -1
  49. data/lib/fog/xenserver/requests/compute/create_vbd.rb +1 -1
  50. data/lib/fog/xenserver/requests/compute/create_vif.rb +1 -1
  51. data/lib/tasks/changelog_task.rb +1 -0
  52. data/spec/fog/bin_spec.rb +0 -3
  53. data/tests/cloudstack/compute/models/public_ip_address_tests.rb +27 -0
  54. data/tests/cloudstack/compute/models/public_ip_addresses_tests.rb +5 -0
  55. data/tests/compute/helper.rb +8 -0
  56. data/tests/helper.rb +1 -9
  57. data/tests/helpers/mock_helper.rb +1 -9
  58. data/tests/opennebula/models/compute/flavor_tests.rb +7 -0
  59. data/tests/opennebula/models/compute/flavors_tests.rb +0 -1
  60. data/tests/opennebula/models/compute/networks_tests.rb +1 -0
  61. data/tests/opennebula/requests/compute/vm_disk_snapshot_test.rb +49 -0
  62. data/tests/storage/helper.rb +0 -3
  63. metadata +25 -552
  64. data/lib/fog/bin/google.rb +0 -88
  65. data/lib/fog/bin/libvirt.rb +0 -58
  66. data/lib/fog/google.rb +0 -5
  67. data/lib/fog/google/README.md +0 -31
  68. data/lib/fog/google/Rakefile +0 -17
  69. data/lib/fog/google/compute.rb +0 -1070
  70. data/lib/fog/google/core.rb +0 -210
  71. data/lib/fog/google/dns.rb +0 -98
  72. data/lib/fog/google/examples/backend_services.rb +0 -22
  73. data/lib/fog/google/examples/bootstrap.rb +0 -9
  74. data/lib/fog/google/examples/create.rb +0 -49
  75. data/lib/fog/google/examples/dns/project.rb +0 -8
  76. data/lib/fog/google/examples/dns/zones.rb +0 -43
  77. data/lib/fog/google/examples/eric-fail.rb +0 -36
  78. data/lib/fog/google/examples/get_list_images.rb +0 -26
  79. data/lib/fog/google/examples/get_list_snapshots.rb +0 -18
  80. data/lib/fog/google/examples/image_all.rb +0 -6
  81. data/lib/fog/google/examples/image_create.rb +0 -17
  82. data/lib/fog/google/examples/l7_load_balance.rb +0 -73
  83. data/lib/fog/google/examples/launch_micro_instance.rb +0 -29
  84. data/lib/fog/google/examples/load-balance.rb +0 -98
  85. data/lib/fog/google/examples/metadata.rb +0 -30
  86. data/lib/fog/google/examples/monitoring/metric_descriptors.rb +0 -11
  87. data/lib/fog/google/examples/monitoring/timeseries_collection.rb +0 -15
  88. data/lib/fog/google/examples/monitoring/timeseries_descriptors.rb +0 -15
  89. data/lib/fog/google/examples/network.rb +0 -38
  90. data/lib/fog/google/examples/precreated_client.rb +0 -14
  91. data/lib/fog/google/examples/sql/flags.rb +0 -7
  92. data/lib/fog/google/examples/sql/instances.rb +0 -38
  93. data/lib/fog/google/examples/sql/operations.rb +0 -20
  94. data/lib/fog/google/examples/sql/ssl_certs.rb +0 -28
  95. data/lib/fog/google/examples/sql/tiers.rb +0 -7
  96. data/lib/fog/google/models/compute/address.rb +0 -94
  97. data/lib/fog/google/models/compute/addresses.rb +0 -40
  98. data/lib/fog/google/models/compute/backend_service.rb +0 -92
  99. data/lib/fog/google/models/compute/backend_services.rb +0 -22
  100. data/lib/fog/google/models/compute/disk.rb +0 -120
  101. data/lib/fog/google/models/compute/disk_type.rb +0 -28
  102. data/lib/fog/google/models/compute/disk_types.rb +0 -40
  103. data/lib/fog/google/models/compute/disks.rb +0 -41
  104. data/lib/fog/google/models/compute/firewall.rb +0 -46
  105. data/lib/fog/google/models/compute/firewalls.rb +0 -25
  106. data/lib/fog/google/models/compute/flavor.rb +0 -33
  107. data/lib/fog/google/models/compute/flavors.rb +0 -31
  108. data/lib/fog/google/models/compute/forwarding_rule.rb +0 -86
  109. data/lib/fog/google/models/compute/forwarding_rules.rb +0 -41
  110. data/lib/fog/google/models/compute/global_forwarding_rule.rb +0 -86
  111. data/lib/fog/google/models/compute/global_forwarding_rules.rb +0 -23
  112. data/lib/fog/google/models/compute/http_health_check.rb +0 -84
  113. data/lib/fog/google/models/compute/http_health_checks.rb +0 -26
  114. data/lib/fog/google/models/compute/image.rb +0 -90
  115. data/lib/fog/google/models/compute/images.rb +0 -73
  116. data/lib/fog/google/models/compute/network.rb +0 -43
  117. data/lib/fog/google/models/compute/networks.rb +0 -25
  118. data/lib/fog/google/models/compute/operation.rb +0 -75
  119. data/lib/fog/google/models/compute/operations.rb +0 -37
  120. data/lib/fog/google/models/compute/project.rb +0 -30
  121. data/lib/fog/google/models/compute/projects.rb +0 -20
  122. data/lib/fog/google/models/compute/region.rb +0 -32
  123. data/lib/fog/google/models/compute/regions.rb +0 -25
  124. data/lib/fog/google/models/compute/resource_view.rb +0 -116
  125. data/lib/fog/google/models/compute/resource_views.rb +0 -57
  126. data/lib/fog/google/models/compute/route.rb +0 -50
  127. data/lib/fog/google/models/compute/routes.rb +0 -25
  128. data/lib/fog/google/models/compute/server.rb +0 -258
  129. data/lib/fog/google/models/compute/servers.rb +0 -80
  130. data/lib/fog/google/models/compute/snapshot.rb +0 -48
  131. data/lib/fog/google/models/compute/snapshots.rb +0 -26
  132. data/lib/fog/google/models/compute/target_http_proxies.rb +0 -22
  133. data/lib/fog/google/models/compute/target_http_proxy.rb +0 -75
  134. data/lib/fog/google/models/compute/target_instance.rb +0 -74
  135. data/lib/fog/google/models/compute/target_instances.rb +0 -28
  136. data/lib/fog/google/models/compute/target_pool.rb +0 -113
  137. data/lib/fog/google/models/compute/target_pools.rb +0 -41
  138. data/lib/fog/google/models/compute/url_map.rb +0 -95
  139. data/lib/fog/google/models/compute/url_maps.rb +0 -22
  140. data/lib/fog/google/models/compute/zone.rb +0 -23
  141. data/lib/fog/google/models/compute/zones.rb +0 -24
  142. data/lib/fog/google/models/dns/change.rb +0 -40
  143. data/lib/fog/google/models/dns/changes.rb +0 -52
  144. data/lib/fog/google/models/dns/project.rb +0 -75
  145. data/lib/fog/google/models/dns/projects.rb +0 -25
  146. data/lib/fog/google/models/dns/record.rb +0 -112
  147. data/lib/fog/google/models/dns/records.rb +0 -52
  148. data/lib/fog/google/models/dns/zone.rb +0 -74
  149. data/lib/fog/google/models/dns/zones.rb +0 -34
  150. data/lib/fog/google/models/monitoring/metric_descriptor.rb +0 -20
  151. data/lib/fog/google/models/monitoring/metric_descriptors.rb +0 -28
  152. data/lib/fog/google/models/monitoring/timeseries.rb +0 -17
  153. data/lib/fog/google/models/monitoring/timeseries_collection.rb +0 -31
  154. data/lib/fog/google/models/monitoring/timeseries_descriptor.rb +0 -20
  155. data/lib/fog/google/models/monitoring/timeseries_descriptors.rb +0 -31
  156. data/lib/fog/google/models/sql/backup_run.rb +0 -34
  157. data/lib/fog/google/models/sql/backup_runs.rb +0 -38
  158. data/lib/fog/google/models/sql/flag.rb +0 -22
  159. data/lib/fog/google/models/sql/flags.rb +0 -21
  160. data/lib/fog/google/models/sql/instance.rb +0 -353
  161. data/lib/fog/google/models/sql/instances.rb +0 -39
  162. data/lib/fog/google/models/sql/operation.rb +0 -61
  163. data/lib/fog/google/models/sql/operations.rb +0 -49
  164. data/lib/fog/google/models/sql/ssl_cert.rb +0 -73
  165. data/lib/fog/google/models/sql/ssl_certs.rb +0 -49
  166. data/lib/fog/google/models/sql/tier.rb +0 -20
  167. data/lib/fog/google/models/sql/tiers.rb +0 -21
  168. data/lib/fog/google/models/storage/directories.rb +0 -39
  169. data/lib/fog/google/models/storage/directory.rb +0 -74
  170. data/lib/fog/google/models/storage/file.rb +0 -144
  171. data/lib/fog/google/models/storage/files.rb +0 -104
  172. data/lib/fog/google/monitoring.rb +0 -89
  173. data/lib/fog/google/parsers/storage/access_control_list.rb +0 -44
  174. data/lib/fog/google/parsers/storage/copy_object.rb +0 -18
  175. data/lib/fog/google/parsers/storage/get_bucket.rb +0 -58
  176. data/lib/fog/google/parsers/storage/get_bucket_logging.rb +0 -36
  177. data/lib/fog/google/parsers/storage/get_bucket_object_versions.rb +0 -84
  178. data/lib/fog/google/parsers/storage/get_bucket_versioning.rb +0 -20
  179. data/lib/fog/google/parsers/storage/get_request_payment.rb +0 -16
  180. data/lib/fog/google/parsers/storage/get_service.rb +0 -28
  181. data/lib/fog/google/requests/compute/add_backend_service_backends.rb +0 -29
  182. data/lib/fog/google/requests/compute/add_region_view_resources.rb +0 -27
  183. data/lib/fog/google/requests/compute/add_server_access_config.rb +0 -32
  184. data/lib/fog/google/requests/compute/add_target_pool_health_checks.rb +0 -27
  185. data/lib/fog/google/requests/compute/add_target_pool_instances.rb +0 -27
  186. data/lib/fog/google/requests/compute/add_url_map_host_rules.rb +0 -25
  187. data/lib/fog/google/requests/compute/add_url_map_path_matchers.rb +0 -29
  188. data/lib/fog/google/requests/compute/add_zone_view_resources.rb +0 -27
  189. data/lib/fog/google/requests/compute/attach_disk.rb +0 -34
  190. data/lib/fog/google/requests/compute/delete_address.rb +0 -24
  191. data/lib/fog/google/requests/compute/delete_backend_service.rb +0 -43
  192. data/lib/fog/google/requests/compute/delete_disk.rb +0 -48
  193. data/lib/fog/google/requests/compute/delete_firewall.rb +0 -23
  194. data/lib/fog/google/requests/compute/delete_forwarding_rule.rb +0 -49
  195. data/lib/fog/google/requests/compute/delete_global_forwarding_rule.rb +0 -48
  196. data/lib/fog/google/requests/compute/delete_global_operation.rb +0 -25
  197. data/lib/fog/google/requests/compute/delete_http_health_check.rb +0 -41
  198. data/lib/fog/google/requests/compute/delete_image.rb +0 -42
  199. data/lib/fog/google/requests/compute/delete_network.rb +0 -23
  200. data/lib/fog/google/requests/compute/delete_region_operation.rb +0 -29
  201. data/lib/fog/google/requests/compute/delete_region_view.rb +0 -24
  202. data/lib/fog/google/requests/compute/delete_route.rb +0 -23
  203. data/lib/fog/google/requests/compute/delete_server.rb +0 -69
  204. data/lib/fog/google/requests/compute/delete_server_access_config.rb +0 -26
  205. data/lib/fog/google/requests/compute/delete_snapshot.rb +0 -23
  206. data/lib/fog/google/requests/compute/delete_target_http_proxy.rb +0 -43
  207. data/lib/fog/google/requests/compute/delete_target_instance.rb +0 -48
  208. data/lib/fog/google/requests/compute/delete_target_pool.rb +0 -49
  209. data/lib/fog/google/requests/compute/delete_url_map.rb +0 -43
  210. data/lib/fog/google/requests/compute/delete_zone_operation.rb +0 -29
  211. data/lib/fog/google/requests/compute/delete_zone_view.rb +0 -24
  212. data/lib/fog/google/requests/compute/detach_disk.rb +0 -25
  213. data/lib/fog/google/requests/compute/get_address.rb +0 -24
  214. data/lib/fog/google/requests/compute/get_backend_service.rb +0 -26
  215. data/lib/fog/google/requests/compute/get_backend_service_health.rb +0 -27
  216. data/lib/fog/google/requests/compute/get_backend_services.rb +0 -23
  217. data/lib/fog/google/requests/compute/get_disk.rb +0 -52
  218. data/lib/fog/google/requests/compute/get_disk_type.rb +0 -42
  219. data/lib/fog/google/requests/compute/get_firewall.rb +0 -23
  220. data/lib/fog/google/requests/compute/get_forwarding_rule.rb +0 -46
  221. data/lib/fog/google/requests/compute/get_global_forwarding_rule.rb +0 -32
  222. data/lib/fog/google/requests/compute/get_global_operation.rb +0 -50
  223. data/lib/fog/google/requests/compute/get_http_health_check.rb +0 -39
  224. data/lib/fog/google/requests/compute/get_image.rb +0 -36
  225. data/lib/fog/google/requests/compute/get_machine_type.rb +0 -43
  226. data/lib/fog/google/requests/compute/get_network.rb +0 -23
  227. data/lib/fog/google/requests/compute/get_project.rb +0 -22
  228. data/lib/fog/google/requests/compute/get_region.rb +0 -37
  229. data/lib/fog/google/requests/compute/get_region_operation.rb +0 -55
  230. data/lib/fog/google/requests/compute/get_region_view.rb +0 -24
  231. data/lib/fog/google/requests/compute/get_route.rb +0 -23
  232. data/lib/fog/google/requests/compute/get_server.rb +0 -75
  233. data/lib/fog/google/requests/compute/get_server_serial_port_output.rb +0 -24
  234. data/lib/fog/google/requests/compute/get_snapshot.rb +0 -27
  235. data/lib/fog/google/requests/compute/get_target_http_proxy.rb +0 -27
  236. data/lib/fog/google/requests/compute/get_target_instance.rb +0 -32
  237. data/lib/fog/google/requests/compute/get_target_pool.rb +0 -40
  238. data/lib/fog/google/requests/compute/get_target_pool_health.rb +0 -29
  239. data/lib/fog/google/requests/compute/get_url_map.rb +0 -27
  240. data/lib/fog/google/requests/compute/get_zone.rb +0 -36
  241. data/lib/fog/google/requests/compute/get_zone_operation.rb +0 -55
  242. data/lib/fog/google/requests/compute/get_zone_view.rb +0 -24
  243. data/lib/fog/google/requests/compute/insert_address.rb +0 -25
  244. data/lib/fog/google/requests/compute/insert_backend_service.rb +0 -63
  245. data/lib/fog/google/requests/compute/insert_disk.rb +0 -113
  246. data/lib/fog/google/requests/compute/insert_firewall.rb +0 -43
  247. data/lib/fog/google/requests/compute/insert_forwarding_rule.rb +0 -60
  248. data/lib/fog/google/requests/compute/insert_global_forwarding_rule.rb +0 -56
  249. data/lib/fog/google/requests/compute/insert_http_health_check.rb +0 -59
  250. data/lib/fog/google/requests/compute/insert_image.rb +0 -64
  251. data/lib/fog/google/requests/compute/insert_network.rb +0 -29
  252. data/lib/fog/google/requests/compute/insert_region_view.rb +0 -25
  253. data/lib/fog/google/requests/compute/insert_route.rb +0 -35
  254. data/lib/fog/google/requests/compute/insert_server.rb +0 -191
  255. data/lib/fog/google/requests/compute/insert_snapshot.rb +0 -40
  256. data/lib/fog/google/requests/compute/insert_target_http_proxy.rb +0 -52
  257. data/lib/fog/google/requests/compute/insert_target_instance.rb +0 -55
  258. data/lib/fog/google/requests/compute/insert_target_pool.rb +0 -58
  259. data/lib/fog/google/requests/compute/insert_url_map.rb +0 -55
  260. data/lib/fog/google/requests/compute/insert_zone_view.rb +0 -27
  261. data/lib/fog/google/requests/compute/list_addresses.rb +0 -23
  262. data/lib/fog/google/requests/compute/list_aggregated_addresses.rb +0 -23
  263. data/lib/fog/google/requests/compute/list_aggregated_disk_types.rb +0 -40
  264. data/lib/fog/google/requests/compute/list_aggregated_disks.rb +0 -40
  265. data/lib/fog/google/requests/compute/list_aggregated_machine_types.rb +0 -22
  266. data/lib/fog/google/requests/compute/list_aggregated_servers.rb +0 -40
  267. data/lib/fog/google/requests/compute/list_backend_services.rb +0 -29
  268. data/lib/fog/google/requests/compute/list_disk_types.rb +0 -46
  269. data/lib/fog/google/requests/compute/list_disks.rb +0 -29
  270. data/lib/fog/google/requests/compute/list_firewalls.rb +0 -22
  271. data/lib/fog/google/requests/compute/list_forwarding_rules.rb +0 -29
  272. data/lib/fog/google/requests/compute/list_global_forwarding_rules.rb +0 -30
  273. data/lib/fog/google/requests/compute/list_global_operations.rb +0 -24
  274. data/lib/fog/google/requests/compute/list_http_health_checks.rb +0 -29
  275. data/lib/fog/google/requests/compute/list_images.rb +0 -29
  276. data/lib/fog/google/requests/compute/list_machine_types.rb +0 -30
  277. data/lib/fog/google/requests/compute/list_networks.rb +0 -22
  278. data/lib/fog/google/requests/compute/list_region_operations.rb +0 -25
  279. data/lib/fog/google/requests/compute/list_region_view_resources.rb +0 -25
  280. data/lib/fog/google/requests/compute/list_region_views.rb +0 -23
  281. data/lib/fog/google/requests/compute/list_regions.rb +0 -85
  282. data/lib/fog/google/requests/compute/list_routes.rb +0 -22
  283. data/lib/fog/google/requests/compute/list_servers.rb +0 -31
  284. data/lib/fog/google/requests/compute/list_snapshots.rb +0 -23
  285. data/lib/fog/google/requests/compute/list_target_http_proxies.rb +0 -30
  286. data/lib/fog/google/requests/compute/list_target_instances.rb +0 -30
  287. data/lib/fog/google/requests/compute/list_target_pools.rb +0 -29
  288. data/lib/fog/google/requests/compute/list_url_maps.rb +0 -29
  289. data/lib/fog/google/requests/compute/list_zone_operations.rb +0 -25
  290. data/lib/fog/google/requests/compute/list_zone_view_resources.rb +0 -25
  291. data/lib/fog/google/requests/compute/list_zone_views.rb +0 -23
  292. data/lib/fog/google/requests/compute/list_zones.rb +0 -28
  293. data/lib/fog/google/requests/compute/remove_target_pool_health_checks.rb +0 -27
  294. data/lib/fog/google/requests/compute/remove_target_pool_instance.rb +0 -27
  295. data/lib/fog/google/requests/compute/remove_target_pool_instances.rb +0 -27
  296. data/lib/fog/google/requests/compute/reset_server.rb +0 -24
  297. data/lib/fog/google/requests/compute/set_common_instance_metadata.rb +0 -26
  298. data/lib/fog/google/requests/compute/set_forwarding_rule_target.rb +0 -27
  299. data/lib/fog/google/requests/compute/set_global_forwarding_rule_target.rb +0 -27
  300. data/lib/fog/google/requests/compute/set_metadata.rb +0 -39
  301. data/lib/fog/google/requests/compute/set_server_disk_auto_delete.rb +0 -26
  302. data/lib/fog/google/requests/compute/set_server_scheduling.rb +0 -29
  303. data/lib/fog/google/requests/compute/set_tags.rb +0 -24
  304. data/lib/fog/google/requests/compute/set_target_http_proxy_url_map.rb +0 -27
  305. data/lib/fog/google/requests/compute/start_server.rb +0 -24
  306. data/lib/fog/google/requests/compute/stop_server.rb +0 -24
  307. data/lib/fog/google/requests/compute/update_url_map.rb +0 -39
  308. data/lib/fog/google/requests/compute/validate_url_map.rb +0 -24
  309. data/lib/fog/google/requests/dns/create_change.rb +0 -64
  310. data/lib/fog/google/requests/dns/create_managed_zone.rb +0 -82
  311. data/lib/fog/google/requests/dns/delete_managed_zone.rb +0 -35
  312. data/lib/fog/google/requests/dns/get_change.rb +0 -42
  313. data/lib/fog/google/requests/dns/get_managed_zone.rb +0 -37
  314. data/lib/fog/google/requests/dns/get_project.rb +0 -42
  315. data/lib/fog/google/requests/dns/list_changes.rb +0 -41
  316. data/lib/fog/google/requests/dns/list_managed_zones.rb +0 -31
  317. data/lib/fog/google/requests/dns/list_resource_record_sets.rb +0 -50
  318. data/lib/fog/google/requests/monitoring/list_metric_descriptors.rb +0 -191
  319. data/lib/fog/google/requests/monitoring/list_timeseries.rb +0 -68
  320. data/lib/fog/google/requests/monitoring/list_timeseries_descriptors.rb +0 -87
  321. data/lib/fog/google/requests/sql/clone_instance.rb +0 -84
  322. data/lib/fog/google/requests/sql/delete_instance.rb +0 -67
  323. data/lib/fog/google/requests/sql/delete_ssl_cert.rb +0 -68
  324. data/lib/fog/google/requests/sql/export_instance.rb +0 -56
  325. data/lib/fog/google/requests/sql/get_backup_run.rb +0 -30
  326. data/lib/fog/google/requests/sql/get_instance.rb +0 -48
  327. data/lib/fog/google/requests/sql/get_operation.rb +0 -66
  328. data/lib/fog/google/requests/sql/get_ssl_cert.rb +0 -66
  329. data/lib/fog/google/requests/sql/import_instance.rb +0 -55
  330. data/lib/fog/google/requests/sql/insert_instance.rb +0 -165
  331. data/lib/fog/google/requests/sql/insert_ssl_cert.rb +0 -80
  332. data/lib/fog/google/requests/sql/list_backup_runs.rb +0 -30
  333. data/lib/fog/google/requests/sql/list_flags.rb +0 -143
  334. data/lib/fog/google/requests/sql/list_instances.rb +0 -32
  335. data/lib/fog/google/requests/sql/list_operations.rb +0 -52
  336. data/lib/fog/google/requests/sql/list_ssl_certs.rb +0 -51
  337. data/lib/fog/google/requests/sql/list_tiers.rb +0 -82
  338. data/lib/fog/google/requests/sql/reset_instance_ssl_config.rb +0 -49
  339. data/lib/fog/google/requests/sql/restart_instance.rb +0 -47
  340. data/lib/fog/google/requests/sql/restore_instance_backup.rb +0 -30
  341. data/lib/fog/google/requests/sql/set_instance_root_password.rb +0 -54
  342. data/lib/fog/google/requests/sql/update_instance.rb +0 -132
  343. data/lib/fog/google/requests/storage/copy_object.rb +0 -68
  344. data/lib/fog/google/requests/storage/delete_bucket.rb +0 -41
  345. data/lib/fog/google/requests/storage/delete_object.rb +0 -46
  346. data/lib/fog/google/requests/storage/get_bucket.rb +0 -106
  347. data/lib/fog/google/requests/storage/get_bucket_acl.rb +0 -59
  348. data/lib/fog/google/requests/storage/get_object.rb +0 -108
  349. data/lib/fog/google/requests/storage/get_object_acl.rb +0 -70
  350. data/lib/fog/google/requests/storage/get_object_http_url.rb +0 -44
  351. data/lib/fog/google/requests/storage/get_object_https_url.rb +0 -44
  352. data/lib/fog/google/requests/storage/get_object_torrent.rb +0 -45
  353. data/lib/fog/google/requests/storage/get_object_url.rb +0 -33
  354. data/lib/fog/google/requests/storage/get_service.rb +0 -48
  355. data/lib/fog/google/requests/storage/head_object.rb +0 -60
  356. data/lib/fog/google/requests/storage/put_bucket.rb +0 -71
  357. data/lib/fog/google/requests/storage/put_bucket_acl.rb +0 -58
  358. data/lib/fog/google/requests/storage/put_object.rb +0 -89
  359. data/lib/fog/google/requests/storage/put_object_acl.rb +0 -51
  360. data/lib/fog/google/requests/storage/put_object_url.rb +0 -50
  361. data/lib/fog/google/sql.rb +0 -132
  362. data/lib/fog/google/storage.rb +0 -300
  363. data/lib/fog/libvirt.rb +0 -1
  364. data/lib/fog/libvirt/compute.rb +0 -137
  365. data/lib/fog/libvirt/core.rb +0 -11
  366. data/lib/fog/libvirt/models/compute/README.md +0 -76
  367. data/lib/fog/libvirt/models/compute/interface.rb +0 -25
  368. data/lib/fog/libvirt/models/compute/interfaces.rb +0 -20
  369. data/lib/fog/libvirt/models/compute/network.rb +0 -29
  370. data/lib/fog/libvirt/models/compute/networks.rb +0 -20
  371. data/lib/fog/libvirt/models/compute/nic.rb +0 -50
  372. data/lib/fog/libvirt/models/compute/nics.rb +0 -12
  373. data/lib/fog/libvirt/models/compute/node.rb +0 -29
  374. data/lib/fog/libvirt/models/compute/nodes.rb +0 -20
  375. data/lib/fog/libvirt/models/compute/pool.rb +0 -84
  376. data/lib/fog/libvirt/models/compute/pools.rb +0 -20
  377. data/lib/fog/libvirt/models/compute/server.rb +0 -401
  378. data/lib/fog/libvirt/models/compute/servers.rb +0 -21
  379. data/lib/fog/libvirt/models/compute/templates/network.xml.erb +0 -6
  380. data/lib/fog/libvirt/models/compute/templates/pool.xml.erb +0 -6
  381. data/lib/fog/libvirt/models/compute/templates/server.xml.erb +0 -54
  382. data/lib/fog/libvirt/models/compute/templates/volume.xml.erb +0 -26
  383. data/lib/fog/libvirt/models/compute/util/uri.rb +0 -138
  384. data/lib/fog/libvirt/models/compute/util/util.rb +0 -32
  385. data/lib/fog/libvirt/models/compute/volume.rb +0 -122
  386. data/lib/fog/libvirt/models/compute/volumes.rb +0 -20
  387. data/lib/fog/libvirt/requests/compute/clone_volume.rb +0 -18
  388. data/lib/fog/libvirt/requests/compute/create_domain.rb +0 -17
  389. data/lib/fog/libvirt/requests/compute/create_volume.rb +0 -16
  390. data/lib/fog/libvirt/requests/compute/define_domain.rb +0 -17
  391. data/lib/fog/libvirt/requests/compute/define_pool.rb +0 -16
  392. data/lib/fog/libvirt/requests/compute/destroy_interface.rb +0 -18
  393. data/lib/fog/libvirt/requests/compute/destroy_network.rb +0 -17
  394. data/lib/fog/libvirt/requests/compute/get_node_info.rb +0 -37
  395. data/lib/fog/libvirt/requests/compute/list_domains.rb +0 -105
  396. data/lib/fog/libvirt/requests/compute/list_interfaces.rb +0 -57
  397. data/lib/fog/libvirt/requests/compute/list_networks.rb +0 -55
  398. data/lib/fog/libvirt/requests/compute/list_pool_volumes.rb +0 -19
  399. data/lib/fog/libvirt/requests/compute/list_pools.rb +0 -71
  400. data/lib/fog/libvirt/requests/compute/list_volumes.rb +0 -88
  401. data/lib/fog/libvirt/requests/compute/mock_files/domain.xml +0 -40
  402. data/lib/fog/libvirt/requests/compute/pool_action.rb +0 -19
  403. data/lib/fog/libvirt/requests/compute/update_display.rb +0 -31
  404. data/lib/fog/libvirt/requests/compute/vm_action.rb +0 -19
  405. data/lib/fog/libvirt/requests/compute/volume_action.rb +0 -18
  406. data/spec/fog/bin/libvirt_spec.rb +0 -10
  407. data/tests/brightbox/compute/image_selector_tests.rb +0 -103
  408. data/tests/google/credentials_tests.rb +0 -73
  409. data/tests/google/helpers/google_tests_helper.rb +0 -89
  410. data/tests/google/models/compute/backend_service_tests.rb +0 -6
  411. data/tests/google/models/compute/backend_services_tests.rb +0 -8
  412. data/tests/google/models/compute/disk_tests.rb +0 -9
  413. data/tests/google/models/compute/disk_types_tests.rb +0 -22
  414. data/tests/google/models/compute/disks_tests.rb +0 -9
  415. data/tests/google/models/compute/forwarding_rule_tests.rb +0 -8
  416. data/tests/google/models/compute/forwarding_rules_tests.rb +0 -8
  417. data/tests/google/models/compute/global_forwarding_rule_tests.rb +0 -7
  418. data/tests/google/models/compute/global_forwarding_rules_tests.rb +0 -7
  419. data/tests/google/models/compute/http_health_check_tests.rb +0 -5
  420. data/tests/google/models/compute/http_health_checks_tests.rb +0 -5
  421. data/tests/google/models/compute/image_tests.rb +0 -6
  422. data/tests/google/models/compute/images_tests.rb +0 -6
  423. data/tests/google/models/compute/region_tests.rb +0 -10
  424. data/tests/google/models/compute/regions_tests.rb +0 -19
  425. data/tests/google/models/compute/server_tests.rb +0 -37
  426. data/tests/google/models/compute/servers_tests.rb +0 -14
  427. data/tests/google/models/compute/target_http_proxies_tests.rb +0 -7
  428. data/tests/google/models/compute/target_http_proxy_test.rb +0 -6
  429. data/tests/google/models/compute/target_instance_tests.rb +0 -7
  430. data/tests/google/models/compute/target_instances_tests.rb +0 -7
  431. data/tests/google/models/compute/target_pool_tests.rb +0 -12
  432. data/tests/google/models/compute/target_pools_tests.rb +0 -11
  433. data/tests/google/models/compute/url_map_tests.rb +0 -6
  434. data/tests/google/models/compute/url_maps_tests.rb +0 -7
  435. data/tests/google/models/dns/change_tests.rb +0 -28
  436. data/tests/google/models/dns/changes_tests.rb +0 -36
  437. data/tests/google/models/dns/projects_tests.rb +0 -12
  438. data/tests/google/models/dns/record_tests.rb +0 -42
  439. data/tests/google/models/dns/records_tests.rb +0 -36
  440. data/tests/google/models/dns/zone_tests.rb +0 -28
  441. data/tests/google/models/dns/zones_tests.rb +0 -14
  442. data/tests/google/models/monitoring/metric_descriptors_tests.rb +0 -12
  443. data/tests/google/models/monitoring/timeseries_collection_tests.rb +0 -12
  444. data/tests/google/models/monitoring/timeseries_descriptors_tests.rb +0 -13
  445. data/tests/google/models/sql/flags_tests.rb +0 -12
  446. data/tests/google/models/sql/instance_tests.rb +0 -56
  447. data/tests/google/models/sql/instances_tests.rb +0 -32
  448. data/tests/google/models/sql/operation_tests.rb +0 -25
  449. data/tests/google/models/sql/operations_tests.rb +0 -38
  450. data/tests/google/models/sql/ssl_cert_tests.rb +0 -24
  451. data/tests/google/models/sql/ssl_certs_tests.rb +0 -39
  452. data/tests/google/models/sql/tiers_tests.rb +0 -12
  453. data/tests/google/requests/compute/backend_service_tests.rb +0 -83
  454. data/tests/google/requests/compute/disk_tests.rb +0 -74
  455. data/tests/google/requests/compute/disk_type_tests.rb +0 -45
  456. data/tests/google/requests/compute/firewall_tests.rb +0 -88
  457. data/tests/google/requests/compute/forwarding_rules_tests.rb +0 -83
  458. data/tests/google/requests/compute/global_forwarding_rules_tests.rb +0 -83
  459. data/tests/google/requests/compute/http_health_checks_tests.rb +0 -83
  460. data/tests/google/requests/compute/image_tests.rb +0 -83
  461. data/tests/google/requests/compute/network_tests.rb +0 -75
  462. data/tests/google/requests/compute/operation_tests.rb +0 -20
  463. data/tests/google/requests/compute/region_tests.rb +0 -39
  464. data/tests/google/requests/compute/server_tests.rb +0 -84
  465. data/tests/google/requests/compute/target_http_proxies_test.rb +0 -79
  466. data/tests/google/requests/compute/target_instances_tests.rb +0 -83
  467. data/tests/google/requests/compute/target_pools_tests.rb +0 -82
  468. data/tests/google/requests/compute/url_maps_tests.rb +0 -82
  469. data/tests/google/requests/compute/zone_tests.rb +0 -37
  470. data/tests/google/requests/dns/change_tests.rb +0 -86
  471. data/tests/google/requests/dns/managed_zone_tests.rb +0 -66
  472. data/tests/google/requests/dns/project_tests.rb +0 -29
  473. data/tests/google/requests/dns/record_tests.rb +0 -49
  474. data/tests/google/requests/monitoring/metric_descriptor_tests.rb +0 -25
  475. data/tests/google/requests/monitoring/timeseries_collection_tests.rb +0 -25
  476. data/tests/google/requests/monitoring/timeseries_descriptor_tests.rb +0 -26
  477. data/tests/google/requests/sql/flag_tests.rb +0 -27
  478. data/tests/google/requests/sql/instance_tests.rb +0 -129
  479. data/tests/google/requests/sql/operation_tests.rb +0 -42
  480. data/tests/google/requests/sql/ssl_cert_tests.rb +0 -61
  481. data/tests/google/requests/sql/tier_tests.rb +0 -25
  482. data/tests/google/requests/storage/bucket_tests.rb +0 -77
  483. data/tests/google/requests/storage/object_tests.rb +0 -84
  484. data/tests/libvirt/compute_tests.rb +0 -17
  485. data/tests/libvirt/models/compute/interface_tests.rb +0 -27
  486. data/tests/libvirt/models/compute/interfaces_tests.rb +0 -14
  487. data/tests/libvirt/models/compute/network_tests.rb +0 -27
  488. data/tests/libvirt/models/compute/networks_tests.rb +0 -13
  489. data/tests/libvirt/models/compute/nic_tests.rb +0 -31
  490. data/tests/libvirt/models/compute/nics_tests.rb +0 -10
  491. data/tests/libvirt/models/compute/pool_tests.rb +0 -27
  492. data/tests/libvirt/models/compute/pools_tests.rb +0 -13
  493. data/tests/libvirt/models/compute/server_tests.rb +0 -58
  494. data/tests/libvirt/models/compute/servers_tests.rb +0 -14
  495. data/tests/libvirt/models/compute/volume_tests.rb +0 -38
  496. data/tests/libvirt/models/compute/volumes_tests.rb +0 -14
  497. data/tests/libvirt/requests/compute/create_domain_tests.rb +0 -21
  498. data/tests/libvirt/requests/compute/define_domain_tests.rb +0 -11
  499. data/tests/libvirt/requests/compute/update_display.rb +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 450665b606e103251fe5b57065161cb47a810cd0
4
- data.tar.gz: e3a0cbc70aed6d1a5063a82fcf75eb0dbe0b8f57
3
+ metadata.gz: 541b4b4ec03b04b08598ee747100a9492dcf4e73
4
+ data.tar.gz: 3a1e2471be28574eb326288a1688dfd8af1f54a8
5
5
  SHA512:
6
- metadata.gz: 9a3502e0de24115509ecf04e5b898db461e2147f4dcdbd366917a43ab1a074dc8430ba25ca5f52b63c21c2984af7bc9d96e66175d08a9f2874902b356ece19c8
7
- data.tar.gz: 3e9d7533fb040cdafc27e583ab4fe58ebd4aee60cc7580aebc180d39afe334755c4610d5da0cd2c6b70803352318a1ab813cf6c98482872d0d2ee30cb91cfda4
6
+ metadata.gz: 1802c2977fcd068ecdc7a080555d258fc92a37418001ac50b51fb84c1509692d2dc197c5d2814bdd67175ca87827a83c931e9331cf89b285f09195b1796a2e35
7
+ data.tar.gz: 3203ecb30b25ce2dac15913c0fca2f5dc3beda29aaa339674740e0bc6fbe236f1099436eb7f0e742db232a50ad9ab9d561da1f1897bc16333bd6bfa9a6a419fe
@@ -1,3 +1,91 @@
1
+ ## 1.30.0 05/07/2015
2
+ *Hash* 7de752a9554c0437a7112ec47829f52988ef1444
3
+
4
+ Statistic | Value
5
+ ------------- | --------:
6
+ Collaborators | 2
7
+ Downloads | 9587472
8
+ Forks | 1436
9
+ Open Issues | 85
10
+ Watchers | 3479
11
+
12
+ **MVP!** Josef Stribny
13
+
14
+ #### [Brightbox]
15
+ * Remove provider specific helper test. thanks Paul Thornthwaite
16
+
17
+ #### [GleSYS]
18
+ * server/create: sync required and optional args with API spec. thanks Tobias Nygren
19
+
20
+ #### [Rackspace|Documentation]
21
+ * Documenting the Networks option. thanks James Belchamber
22
+
23
+ #### [cloudstack|compute]
24
+ * Public IP Address model improvement. thanks Atsushi Sasaki
25
+
26
+ #### [dynect|dns]
27
+ * include SOA and NS records in #records response. thanks Richard Henning
28
+
29
+ #### [misc]
30
+ * Add missing attributes to stack and resource. thanks Bill Wei
31
+ * Supporting openstack auth v3 - project/user domain for compute/network. thanks Christophe Larsonneur
32
+ * Introduce disk-snapshot and VM shutdown functionality. thanks Evgeny Yurchenko
33
+ * image_pool request introduced. thanks Evgeny Yurchenko
34
+ * Fixes #3543, adds support for cpuHotAdd and memoryHotAdd. thanks Francois Herbert
35
+ * update CONTRIBUTING to point to design document in wiki. thanks Isaac Hollander McCreery
36
+ * Hash#reject! returns nil if no changes were made; it is not correct behavior in assignment. thanks Jaroslav Barton
37
+ * Fix the 'redirect to master' functionality. When authenticating towards a slave host, the error HOST_IS_SLAVE is returned by the slave host together with the IP address of the master host. Previously this resulted in an InvalidLogin exception which was hiding the actual cause. Now it results in an HostIsSlave exception which is then used to redirect the connection to the master host in case :xenserver_redirect_to_master is true. thanks Jonas Kongslund
38
+ * Remove libvirt provider specific files. thanks Josef Stribny
39
+ * Add modular dependency on extracted fog-libvirt. thanks Josef Stribny
40
+ * Remove libvirt bin file. thanks Josef Stribny
41
+ * Travis: Install libvirt header files to compile ruby-libvirt. thanks Josef Stribny
42
+ * Remove dependency on fog-libvirt altogether. thanks Josef Stribny
43
+ * Remove libvirt tests from fog. thanks Josef Stribny
44
+ * Added vsphere_debug flag for stderr debugging. thanks Lukas Zapletal
45
+ * add Linode Singapore DC to mock data. thanks Marques Johansson
46
+ * Set proper content type and clear operations after request. thanks Matt Darby
47
+ * Fixing Unrecognized argument: path warning message. thanks Miguel Martinez
48
+ * name and storage profile VM configuraiton during vApp instantiation. thanks Miguel Martinez
49
+ * vcloud-token on instantiation. thanks Miguel Martinez
50
+ * Remove Google code. thanks Paulo Henrique Lopes Ribeiro
51
+ * Remove Google tests. thanks Paulo Henrique Lopes Ribeiro
52
+ * Remove Google main file. thanks Paulo Henrique Lopes Ribeiro
53
+ * Remove Google Binary. thanks Paulo Henrique Lopes Ribeiro
54
+ * Remove mocks for Google. thanks Paulo Henrique Lopes Ribeiro
55
+ * Depend on fog-google. thanks Paulo Henrique Lopes Ribeiro
56
+ * Force version 0.0.2 of fog-google. thanks Paulo Henrique Lopes Ribeiro
57
+ * add firmware support for vsphere. thanks Samuel Keeley
58
+ * Allow passing query options to snapshots endpoint. thanks Sean Handley
59
+ * Change openstack_prj to openstack_project. thanks TerryHowe
60
+ * Host and port options support for create_temp_url. thanks biomancer
61
+ * Fix hp storage tests. thanks biomancer
62
+ * Use sane default ports for get_object_http(s)_url. thanks biomancer
63
+ * Compatibility fix for ruby 1.8.7 that does not have URI.encode_www_form method. thanks biomancer
64
+ * Make port option overridable for get_object_http(s)_url. thanks biomancer
65
+ * Fixing indentation. thanks eyurchenko
66
+ * Tests added for vm_disk_snapshot, vm_shutdown and image_pool requests. thanks eyurchenko
67
+ * Remove empty Mock classes. thanks eyurchenko
68
+ * Return to "standard" template name. thanks eyurchenko
69
+ * Remove puts (leftovers from debugging tests). thanks eyurchenko
70
+
71
+ #### [opennebula]
72
+ * added get_by_name for network model. thanks ller
73
+ * identify the network by id or name within a flavor. thanks ller
74
+ * fixed networks.get_by_name. thanks ller
75
+ * changed list_networks mock names. thanks ller
76
+ * added mock for template_pool. thanks ller
77
+ * added flavor tests. thanks ller
78
+ * flavor: fixed get_vcpu and get_memory; added tests. thanks ller
79
+ * removed dead debug code. thanks ller
80
+ * added better string escaping for schedule requirements and raw sections. thanks ller
81
+ * fix: escape RAW parameter the right way. thanks ller
82
+ * fixed networks.get_by_name, added tests. thanks ller
83
+
84
+ #### [vsphere|compute]
85
+ * Find virtual machines and templates under a folder. thanks Kevin Menard
86
+ * Fixed spacing. thanks Kevin Menard
87
+
88
+
1
89
  ## 1.29.0 04/02/2015
2
90
  *Hash* 90e96f36e6f70a12f0c6794a149231c337293887
3
91
 
@@ -29,7 +29,7 @@ New contributors are always welcome, when it doubt please ask questions. We stri
29
29
 
30
30
  Before we go into more detail, please be aware that Fog is going through some growing pains right now. A lot of things are moving right now, and things may not be documented as well as we would like.
31
31
 
32
- It might be wise to check out the [Roadmap](https://github.com/fog/fog/wiki/Roadmap) in the Wiki for more information.
32
+ It might be wise to check out the [Roadmap](https://github.com/fog/fog/wiki/Roadmap) and [Design Document](https://github.com/fog/fog/wiki/fog-design-document) in the Wiki for more information.
33
33
 
34
34
  For right now, there are three major things in motion:
35
35
 
@@ -11,8 +11,8 @@ Gem::Specification.new do |s|
11
11
  ## If your rubyforge_project name is different, then edit it and comment out
12
12
  ## the sub! line in the Rakefile
13
13
  s.name = "fog"
14
- s.version = "1.29.0"
15
- s.date = "2015-04-02"
14
+ s.version = "1.30.0"
15
+ s.date = "2015-05-07"
16
16
  s.rubyforge_project = "fog"
17
17
 
18
18
  ## Make sure your summary is short. The description may be as long
@@ -56,6 +56,7 @@ Gem::Specification.new do |s|
56
56
  s.add_dependency("fog-aws", "~> 0.0")
57
57
  s.add_dependency("fog-brightbox", "~> 0.4")
58
58
  s.add_dependency("fog-ecloud")
59
+ s.add_dependency("fog-google", ">= 0.0.2")
59
60
  s.add_dependency("fog-local")
60
61
  s.add_dependency("fog-powerdns", ">= 0.1.1")
61
62
  s.add_dependency("fog-profitbricks")
@@ -71,7 +72,6 @@ Gem::Specification.new do |s|
71
72
 
72
73
  s.add_development_dependency("docker-api", ">= 1.13.6")
73
74
  s.add_development_dependency("fission")
74
- s.add_development_dependency("google-api-client", "~> 0.6", ">= 0.6.2")
75
75
  s.add_development_dependency("minitest")
76
76
  s.add_development_dependency("minitest-stub-const")
77
77
  s.add_development_dependency("opennebula")
@@ -85,10 +85,6 @@ Gem::Specification.new do |s|
85
85
  s.add_development_dependency("thor")
86
86
  s.add_development_dependency("yard")
87
87
 
88
- if ENV["FOG_USE_LIBVIRT"]
89
- s.add_development_dependency("ruby-libvirt","~> 0.5.0")
90
- end
91
-
92
88
  s.files = `git ls-files`.split("\n")
93
89
  s.test_files = `git ls-files -- {spec,tests}/*`.split("\n")
94
90
  end
data/lib/fog.rb CHANGED
@@ -39,7 +39,6 @@ require 'fog/hp'
39
39
  require 'fog/ibm'
40
40
  require 'fog/internet_archive'
41
41
  require 'fog/joyent'
42
- require 'fog/libvirt'
43
42
  require 'fog/linode'
44
43
  require 'fog/local'
45
44
  require 'fog/bare_metal_cloud'
@@ -71,7 +71,6 @@ require 'fog/bin/hp'
71
71
  require 'fog/bin/ibm'
72
72
  require 'fog/bin/internet_archive'
73
73
  require 'fog/bin/joyent'
74
- require 'fog/bin/libvirt'
75
74
  require 'fog/bin/linode'
76
75
  require 'fog/bin/local'
77
76
  require 'fog/bin/bare_metal_cloud'
@@ -2,51 +2,94 @@ module Fog
2
2
  module Compute
3
3
  class Cloudstack
4
4
  class PublicIpAddress < Fog::Model
5
- identity :id, :aliases => 'id'
6
- attribute :network_id, :aliases => 'networkid'
7
- attribute :associated_network_id, :aliases => 'associatednetworkid'
8
- attribute :physical_network_id, :aliases => 'physicalnetworkid'
9
- attribute :ip_address, :aliases => 'ipaddress'
10
- attribute :mac_address, :aliases => 'macaddress'
11
- attribute :state, :aliases => 'state'
12
- attribute :traffic_type, :aliases => 'traffictype'
13
- attribute :is_default, :aliases => 'isdefault', :type => :boolean
14
- attribute :is_source_nat, :aliases => 'issourcenat', :type => :boolean
15
- attribute :is_static_nat, :aliases => 'isstaticnat', :type => :boolean
16
- attribute :is_system, :aliases => 'issytem', :type => :boolean
17
- attribute :is_portable, :aliases => 'isportable', :type => :boolean
18
- attribute :allocated, :aliases => 'allocated', :type => :time
19
- attribute :zone_id, :aliases => 'zone_id'
20
- attribute :domain_id, :aliases => 'domain_id'
21
- attribute :tags, :type => :array
22
- attribute :type
5
+ identity :id
23
6
 
24
- def save
25
- requires :display_text, :name
7
+ attribute :account
8
+ attribute :allocated, :type => :time
9
+ attribute :associated_network_id, :aliases => 'associatednetworkid'
10
+ attribute :associated_network_name, :aliases => 'associatednetworkname'
11
+ attribute :domain
12
+ attribute :domain_id, :aliases => 'domainid'
13
+ attribute :for_virtual_network, :type => :boolean, :aliases => 'forvirtualnetwork'
14
+ attribute :ip_address, :aliases => 'ipaddress'
15
+ attribute :is_portable, :type => :boolean, :aliases => 'isportable'
16
+ attribute :is_source_nat, :type => :boolean, :aliases => 'issourcenat'
17
+ attribute :is_static_nat, :type => :boolean, :aliases => 'isstaticnat'
18
+ attribute :is_system, :type => :boolean, :aliases => 'issystem'
19
+ attribute :network_id, :type => :boolean, :aliases => 'networkid'
20
+ attribute :physical_network_id, :aliases => 'physicalnetworkid'
21
+ attribute :project
22
+ attribute :project_id, :aliases => 'projectid'
23
+ attribute :purpose
24
+ attribute :state
25
+ attribute :server_display_name, :aliases => 'virtualmachinedisplayname'
26
+ attribute :server_id, :aliases => 'virtualmachineid'
27
+ attribute :server_name, :aliases => 'virtualmachinename'
28
+ attribute :vlan_id, :aliases => 'vlanid'
29
+ attribute :vlan_name, :aliases => 'vlanname'
30
+ attribute :server_ip_address, :aliases => 'vmipaddress'
31
+ attribute :vpc_id, :aliases => 'vpcid'
32
+ attribute :zone_id, :aliases => 'zoneid'
33
+ attribute :zone_name, :aliases => 'zonename'
34
+ attribute :tags, :type => :array
35
+ attribute :job_id, :aliases => 'jobid' # only on associate
26
36
 
27
- options = {
28
- 'displaytext' => display_text,
29
- 'name' => name,
30
- 'customized' => is_customized,
31
- 'disksize' => disk_size,
32
- 'domain_id' => domain_id,
33
- 'storagetype' => storage_type,
34
- 'tags' => tags
35
- }
37
+ def initialize(attributes = {})
38
+ # assign server first to prevent race condition with persisted?
39
+ self.server = attributes.delete(:server)
40
+ super
41
+ end
36
42
 
37
- response = service.associate_ip_address(options)
38
- merge_attributes(response['associateipaddressresponse'])
43
+ def ready?
44
+ state == 'Allocated'
39
45
  end
40
46
 
41
47
  def destroy
42
- requires :id
48
+ requires :identity
49
+ service.disassociate_ip_address('id' => id)
50
+ true
51
+ end
43
52
 
44
- response = service.disassociate_ip_address('id' => id )
45
- success_status = response['disassociateipaddressresponse']['success']
53
+ def server=(new_server)
54
+ @server = new_server
55
+ if persisted?
56
+ if !server_id.nil? && (new_server.nil? || server_id != new_server.id)
57
+ service.disable_static_nat('ipaddressid' => id)
58
+ self.server_display_name = nil
59
+ self.server_id = nil
60
+ self.server_name = nil
61
+ self.server_ip_address = nil
62
+ self.is_static_nat = false
63
+ end
64
+ unless new_server.nil?
65
+ service.enable_static_nat(
66
+ 'ipaddressid' => id, 'virtualmachineid' => new_server.id)
67
+ end
68
+ end
69
+ end
46
70
 
47
- success_status == 'true'
71
+ def server
72
+ service.servers.get(server_id)
48
73
  end
49
74
 
75
+ def save
76
+ raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
77
+ options = {
78
+ 'account' => account,
79
+ 'domainid' => domain_id,
80
+ 'isportable' => is_portable,
81
+ 'networkid' => network_id,
82
+ 'projectid' => project_id,
83
+ 'vpcid' => vpc_id,
84
+ 'zoneid' => zone_id,
85
+ }
86
+ response = service.associate_ip_address(options)
87
+ merge_attributes(response['associateipaddressresponse'])
88
+ if @server
89
+ self.server = @server
90
+ end
91
+ true
92
+ end
50
93
  end
51
94
  end
52
95
  end
@@ -1,5 +1,5 @@
1
1
  require 'fog/core/collection'
2
- require 'fog/cloudstack/models/compute/address'
2
+ require 'fog/cloudstack/models/compute/public_ip_address'
3
3
 
4
4
  module Fog
5
5
  module Compute
@@ -14,10 +14,12 @@ module Fog
14
14
  end
15
15
 
16
16
  def get(address_id)
17
- options = { 'id' => address_id }
18
- response = service.list_public_ip_addresses(options)
19
- public_ip_addresses = response["listpublicipaddressesresponse"]["publicipaddress"].first
20
- new(public_ip_addresses)
17
+ response = service.list_public_ip_addresses('id' => address_id)
18
+ if public_ip_address = response["listpublicipaddressesresponse"]["publicipaddress"].first
19
+ new(public_ip_address)
20
+ end
21
+ rescue Fog::Compute::Cloudstack::BadRequest
22
+ nil
21
23
  end
22
24
  end
23
25
  end
@@ -22,8 +22,9 @@ module Fog
22
22
 
23
23
  class Mock
24
24
  def associate_ip_address(*args)
25
+ public_ip_address_id = Fog::Cloudstack.uuid
25
26
  public_ip_address = {
26
- "id" => "f2f2f2f2-f2f2-f2f2-f2f2-f2f2f2f2f2",
27
+ "id" => public_ip_address_id,
27
28
  "ipaddress" => "192.168.200.3",
28
29
  "allocated" => "2014-12-22T22:32:39+0000",
29
30
  "zoneid" => "0e276270-7950-4483-bf21-3dc897dbe08a",
@@ -48,7 +49,6 @@ module Fog
48
49
  {'associateipaddressresponse' => public_ip_address}
49
50
  end
50
51
  end
51
-
52
52
  end
53
53
  end
54
54
  end
@@ -19,6 +19,32 @@ module Fog
19
19
  end
20
20
  end
21
21
 
22
+ class Mock
23
+ def disable_static_nat(*args)
24
+ ip_address_id = args[0].is_a?(Hash) ? args[0]['ipaddressid'] : args[0]
25
+
26
+ address = self.data[:public_ip_addresses][ip_address_id]
27
+
28
+ unless address
29
+ raise Fog::Compute::Cloudstack::BadRequest.new(
30
+ "Unable to execute API command disablestaticnat due to invalid value. \
31
+ Invalid parameter ipaddressid value=#{ip_address_id} due to incorrect long value format, \
32
+ or entity does not exist or due to incorrect parameter annotation for the field in api cmd class.")
33
+ end
34
+
35
+ if address['virtualmachineid'].nil?
36
+ raise Fog::Compute::Cloudstack::BadRequest.new(
37
+ "Specified IP address id is not associated with any vm Id")
38
+ end
39
+
40
+ address.merge!(
41
+ 'virtualmachineid' => nil,
42
+ 'virtualmachinname' => nil,
43
+ 'virtualmachinedisplayname' => nil
44
+ )
45
+ {'enablestaticnatresponse' => {'success' => 'true'}}
46
+ end
47
+ end
22
48
  end
23
49
  end
24
50
  end
@@ -21,7 +21,7 @@ module Fog
21
21
 
22
22
  class Mock
23
23
  def disassociate_ip_address(*args)
24
- public_ip_address_id = options['id']
24
+ public_ip_address_id = args[0].is_a?(Hash) ? args[0]['id'] : args[0]
25
25
  if self.data[:public_ip_addresses][public_ip_address_id]
26
26
  self.data[:public_ip_addresses].delete(public_ip_address_id)
27
27
  { "disassociateipaddressresponse" => { "success" => "true" }}
@@ -20,6 +20,49 @@ module Fog
20
20
  end
21
21
  end
22
22
 
23
+ class Mock
24
+ def enable_static_nat(*args)
25
+ ip_address_id = nil
26
+ virtual_machine_id = nil
27
+ if args[0].is_a? Hash
28
+ ip_address_id = args[0]['ipaddressid']
29
+ virtual_machine_id = args[0]['virtualmachineid']
30
+ else
31
+ ip_address_id = args[0]
32
+ virtual_machine_id = args[1]
33
+ end
34
+
35
+ server = self.data[:servers][virtual_machine_id]
36
+ address = self.data[:public_ip_addresses][ip_address_id]
37
+
38
+ unless server
39
+ raise Fog::Compute::Cloudstack::BadRequest.new(
40
+ "Unable to execute API command enablestaticnat due to invalid value. \
41
+ Invalid parameter virtualmachineid value=#{virtual_machine_id} due to incorrect long value format, \
42
+ or entity does not exist or due to incorrect parameter annotation for the field in api cmd class.")
43
+ end
44
+
45
+ unless address
46
+ raise Fog::Compute::Cloudstack::BadRequest.new(
47
+ "Unable to execute API command enablestaticnat due to invalid value. \
48
+ Invalid parameter ipaddressid value=#{ip_address_id} due to incorrect long value format, \
49
+ or entity does not exist or due to incorrect parameter annotation for the field in api cmd class.")
50
+ end
51
+
52
+ unless address['virtualmachineid'].nil?
53
+ raise Fog::Compute::Cloudstack::BadRequest.new(
54
+ "Failed to enable static nat for the ip address id=#{ip_address_id} \
55
+ as vm id=#{virtual_machine_id} is already associated with ip id=#{ip_address_id}")
56
+ end
57
+
58
+ address.merge!(
59
+ 'virtualmachineid' => server['id'],
60
+ 'virtualmachinname' => server['name'],
61
+ 'virtualmachinedisplayname' => server['displayname']
62
+ )
63
+ {'enablestaticnatresponse' => {'success' => 'true'}}
64
+ end
65
+ end
23
66
  end
24
67
  end
25
68
  end
@@ -23,12 +23,22 @@ module Fog
23
23
  end
24
24
 
25
25
  class Mock
26
- def list_public_ip_addresses(*arg)
27
- public_ip_addresses = self.data[:public_ip_addresses]
28
- { "listpublicipaddressesresponse" => { "count"=> public_ip_addresses.count, "publicipaddress"=> public_ip_addresses.values } }
26
+ def list_public_ip_addresses(*args)
27
+ public_ip_address_id = args[0].is_a?(Hash) ? args[0]['id'] : nil
28
+ if public_ip_address_id
29
+ public_ip_addresses = [self.data[:public_ip_addresses][public_ip_address_id]]
30
+ else
31
+ public_ip_addresses = self.data[:public_ip_addresses].values
32
+ end
33
+
34
+ {
35
+ 'listpublicipaddressesresponse' => {
36
+ 'count' => public_ip_addresses.size,
37
+ 'publicipaddress' => public_ip_addresses
38
+ }
39
+ }
29
40
  end
30
41
  end
31
-
32
42
  end
33
43
  end
34
44
  end