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
@@ -1,88 +0,0 @@
1
- module Google # deviates from other bin stuff to accomodate gem
2
- class << self
3
- def class_for(key)
4
- case key
5
- when :compute
6
- Fog::Compute::Google
7
- when :dns
8
- Fog::DNS::Google
9
- when :monitoring
10
- Fog::Google::Monitoring
11
- when :storage
12
- Fog::Storage::Google
13
- when :sql
14
- Fog::Google::SQL
15
- else
16
- raise ArgumentError, "Unsupported #{self} service: #{key}"
17
- end
18
- end
19
-
20
- def [](service)
21
- @@connections ||= Hash.new do |hash, key|
22
- hash[key] = case key
23
- when :compute
24
- Fog::Logger.warning("Google[:compute] is not recommended, use Compute[:google] for portability")
25
- Fog::Compute.new(:provider => 'Google')
26
- when :dns
27
- Fog::Logger.warning("Google[:dns] is not recommended, use DNS[:google] for portability")
28
- Fog::DNS.new(:provider => 'Google')
29
- when :monitoring
30
- Fog::Google::Monitoring.new
31
- when :sql
32
- Fog::Google::SQL.new
33
- when :storage
34
- Fog::Logger.warning("Google[:storage] is not recommended, use Storage[:google] for portability")
35
- Fog::Storage.new(:provider => 'Google')
36
- else
37
- raise ArgumentError, "Unrecognized service: #{key.inspect}"
38
- end
39
- end
40
- @@connections[service]
41
- end
42
-
43
- def account
44
- @@connections[:compute].account
45
- end
46
-
47
- def services
48
- Fog::Google.services
49
- end
50
-
51
- # based off of virtual_box.rb
52
- def available?
53
- # Make sure the gem we use is enabled.
54
- availability = if Gem::Specification.respond_to?(:find_all_by_name)
55
- !Gem::Specification.find_all_by_name('google-api-client').empty? # newest rubygems
56
- else
57
- !Gem.source_index.find_name('google-api-client').empty? # legacy
58
- end
59
- # Then make sure we have all of the requirements
60
- for service in services
61
- begin
62
- service = self.class_for(service)
63
- availability &&= service.requirements.all? { |requirement| Fog.credentials.include?(requirement) }
64
- rescue ArgumentError => e
65
- Fog::Logger.warning(e.message)
66
- availability = false
67
- rescue => e
68
- availability = false
69
- end
70
- end
71
-
72
- if availability
73
- for service in services
74
- for collection in self.class_for(service).collections
75
- unless self.respond_to?(collection)
76
- self.class_eval <<-EOS, __FILE__, __LINE__
77
- def self.#{collection}
78
- self[:#{service}].#{collection}
79
- end
80
- EOS
81
- end
82
- end
83
- end
84
- end
85
- availability
86
- end
87
- end
88
- end
@@ -1,58 +0,0 @@
1
- module Libvirt # deviates from other bin stuff to accomodate gem
2
- class << self
3
- def class_for(key)
4
- case key
5
- when :compute
6
- Fog::Compute::Libvirt
7
- else
8
- raise ArgumentError, "Unrecognized service: #{key}"
9
- end
10
- end
11
-
12
- def [](service)
13
- @@connections ||= Hash.new do |hash, key|
14
- hash[key] = case key
15
- when :compute
16
- Fog::Logger.warning("Libvirt[:compute] is not recommended, use Compute[:libvirt] for portability")
17
- Fog::Compute.new(:provider => 'Libvirt')
18
- else
19
- raise ArgumentError, "Unrecognized service: #{key.inspect}"
20
- end
21
- end
22
- @@connections[service]
23
- end
24
-
25
- def available?
26
- begin
27
- availability=true unless Gem::Specification::find_by_name("ruby-libvirt").nil?
28
- rescue Gem::LoadError
29
- availability=false
30
- rescue
31
- availability_gem=Gem.available?("ruby-libvirt")
32
- end
33
-
34
- if availability
35
- for service in services
36
- for collection in self.class_for(service).collections
37
- unless self.respond_to?(collection)
38
- self.class_eval <<-EOS, __FILE__, __LINE__
39
- def self.#{collection}
40
- self[:#{service}].#{collection}
41
- end
42
- EOS
43
- end
44
- end
45
- end
46
- end
47
- availability
48
- end
49
-
50
- def collections
51
- services.map {|service| self[service].collections}.flatten.sort_by {|service| service.to_s}
52
- end
53
-
54
- def services
55
- Fog::Libvirt.services
56
- end
57
- end
58
- end
@@ -1,5 +0,0 @@
1
- require 'fog/google/compute'
2
- require 'fog/google/dns'
3
- require 'fog/google/monitoring'
4
- require 'fog/google/storage'
5
- require 'fog/google/sql'
@@ -1,31 +0,0 @@
1
- # Fog with Google
2
-
3
- Fog currently supports two Google Cloud services: [Google Compute Engine](https://developers.google.com/compute/) and [Google Cloud Storage](https://developers.google.com/storage/). The main maintainer for the Google sections is @icco.
4
-
5
- ## Storage
6
-
7
- Google Cloud Storage originally was very similar to Amazon's S3. Because of this, Fog implements the [XML GCS API](https://developers.google.com/storage/docs/xml-api-overview). We eventually want to move to the new [JSON API](https://developers.google.com/storage/docs/json_api/), once it has similar performance characteristics to the XML API. If this migration interests you, send us a pull request!
8
-
9
- ## Compute
10
-
11
- Google Compute Engine is a Virtual Machine hosting service. Currently it is built on version [v1](https://developers.google.com/compute/docs/reference/v1/) of the GCE API.
12
-
13
- Our implementation of the API currently supports
14
-
15
- * Server creation, deletion and bootstrapping
16
- * Persistent Disk creation and deletion
17
- * Image lookup
18
- * Network and Firewall configuration
19
- * Operations
20
- * Snapshots
21
- * Instance Metadata
22
- * Project Metadata
23
-
24
- Features we are looking forward to implementing in the future:
25
-
26
- * Image creation
27
- * Load balancer configuration
28
-
29
- If you are using Fog to interact with GCE, please keep Fog up to date and [file issues](https://github.com/fog/fog/issues?labels=google) for any anomalies you see or features you would like.
30
-
31
- Thanks!
@@ -1,17 +0,0 @@
1
- namespace :google do
2
- namespace :smoke do
3
-
4
- desc "Smoke tests for Google Compute Engine."
5
- task :compute do
6
- require 'fog'
7
-
8
- puts "These smoke tests assume you have a file at ~/.fog which has your credentials for connecting to GCE."
9
-
10
- Dir.glob("./examples/*.rb").each do |file|
11
- puts "Running #{file}:"
12
- require file
13
- test()
14
- end
15
- end
16
- end
17
- end
@@ -1,1070 +0,0 @@
1
- require 'fog/google/core'
2
-
3
- module Fog
4
- module Compute
5
- class Google < Fog::Service
6
- requires :google_project
7
- recognizes :app_name, :app_version, :google_client_email, :google_key_location, :google_key_string,
8
- :google_client, :google_json_key_location, :google_json_key_string
9
-
10
- GOOGLE_COMPUTE_API_VERSION = 'v1'
11
- GOOGLE_COMPUTE_BASE_URL = 'https://www.googleapis.com/compute/'
12
- GOOGLE_COMPUTE_API_SCOPE_URLS = %w(https://www.googleapis.com/auth/compute
13
- https://www.googleapis.com/auth/devstorage.read_write
14
- https://www.googleapis.com/auth/ndev.cloudman
15
- https://www.googleapis.com/auth/cloud-platform)
16
- GOOGLE_COMPUTE_DEFAULT_NETWORK = 'default'
17
-
18
- request_path 'fog/google/requests/compute'
19
- request :list_servers
20
- request :list_aggregated_servers
21
- request :list_addresses
22
- request :list_aggregated_addresses
23
- request :list_disks
24
- request :list_aggregated_disks
25
- request :list_disk_types
26
- request :list_aggregated_disk_types
27
- request :list_firewalls
28
- request :list_images
29
- request :list_machine_types
30
- request :list_aggregated_machine_types
31
- request :list_networks
32
- request :list_zones
33
- request :list_regions
34
- request :list_global_operations
35
- request :list_region_operations
36
- request :list_zone_operations
37
- request :list_snapshots
38
- request :list_http_health_checks
39
- request :list_target_pools
40
- request :list_forwarding_rules
41
- request :list_routes
42
- request :list_backend_services
43
- request :list_global_forwarding_rules
44
- request :list_url_maps
45
- request :list_target_http_proxies
46
- request :list_zone_views
47
- request :list_region_views
48
- request :list_region_view_resources
49
- request :list_zone_view_resources
50
- request :list_target_instances
51
-
52
- request :get_server
53
- request :get_address
54
- request :get_disk
55
- request :get_disk_type
56
- request :get_firewall
57
- request :get_image
58
- request :get_machine_type
59
- request :get_network
60
- request :get_zone
61
- request :get_region
62
- request :get_snapshot
63
- request :get_global_operation
64
- request :get_region_operation
65
- request :get_zone_operation
66
- request :get_http_health_check
67
- request :get_target_pool
68
- request :get_target_pool_health
69
- request :get_forwarding_rule
70
- request :get_project
71
- request :get_route
72
- request :get_backend_service
73
- request :get_backend_service_health
74
- request :get_url_map
75
- request :get_global_forwarding_rule
76
- request :get_target_http_proxy
77
- request :get_zone_view
78
- request :get_region_view
79
- request :get_target_instance
80
-
81
- request :delete_address
82
- request :delete_disk
83
- request :delete_snapshot
84
- request :delete_firewall
85
- request :delete_image
86
- request :delete_network
87
- request :delete_server
88
- request :delete_global_operation
89
- request :delete_region_operation
90
- request :delete_zone_operation
91
- request :delete_http_health_check
92
- request :delete_target_pool
93
- request :delete_forwarding_rule
94
- request :delete_route
95
- request :delete_backend_service
96
- request :delete_url_map
97
- request :delete_target_http_proxy
98
- request :delete_global_forwarding_rule
99
- request :delete_zone_view
100
- request :delete_region_view
101
- request :delete_target_instance
102
-
103
- request :insert_address
104
- request :insert_disk
105
- request :insert_firewall
106
- request :insert_image
107
- request :insert_network
108
- request :insert_server
109
- request :insert_snapshot
110
- request :insert_http_health_check
111
- request :insert_target_pool
112
- request :insert_forwarding_rule
113
- request :insert_route
114
- request :insert_backend_service
115
- request :insert_url_map
116
- request :insert_target_http_proxy
117
- request :insert_global_forwarding_rule
118
- request :insert_zone_view
119
- request :insert_region_view
120
- request :insert_target_instance
121
-
122
- request :set_metadata
123
- request :set_tags
124
- request :set_forwarding_rule_target
125
- request :set_global_forwarding_rule_target
126
- request :set_target_http_proxy_url_map
127
-
128
- request :add_target_pool_instances
129
- request :add_target_pool_health_checks
130
- request :add_backend_service_backends
131
- request :add_url_map_host_rules
132
- request :add_url_map_path_matchers
133
- request :add_zone_view_resources
134
- request :add_region_view_resources
135
-
136
- request :remove_target_pool_instances
137
- request :remove_target_pool_health_checks
138
- request :set_common_instance_metadata
139
-
140
- request :attach_disk
141
- request :detach_disk
142
- request :get_server_serial_port_output
143
- request :reset_server
144
- request :set_server_disk_auto_delete
145
- request :set_server_scheduling
146
- request :add_server_access_config
147
- request :delete_server_access_config
148
- request :update_url_map
149
- request :validate_url_map
150
- request :start_server
151
- request :stop_server
152
-
153
- model_path 'fog/google/models/compute'
154
- model :server
155
- collection :servers
156
-
157
- model :image
158
- collection :images
159
-
160
- model :flavor
161
- collection :flavors
162
-
163
- model :disk
164
- collection :disks
165
-
166
- model :disk_type
167
- collection :disk_types
168
-
169
- model :address
170
- collection :addresses
171
-
172
- model :operation
173
- collection :operations
174
-
175
- model :snapshot
176
- collection :snapshots
177
-
178
- model :zone
179
- collection :zones
180
-
181
- model :region
182
- collection :regions
183
-
184
- model :http_health_check
185
- collection :http_health_checks
186
-
187
- model :target_pool
188
- collection :target_pools
189
-
190
- model :forwarding_rule
191
- collection :forwarding_rules
192
-
193
- model :project
194
- collection :projects
195
-
196
- model :firewall
197
- collection :firewalls
198
-
199
- model :network
200
- collection :networks
201
-
202
- model :route
203
- collection :routes
204
-
205
- model :backend_service
206
- collection :backend_services
207
-
208
- model :target_http_proxy
209
- collection :target_http_proxies
210
-
211
- model :url_map
212
- collection :url_maps
213
-
214
- model :global_forwarding_rule
215
- collection :global_forwarding_rules
216
-
217
- model :resource_view
218
- collection :resource_views
219
-
220
- model :target_instance
221
- collection :target_instances
222
-
223
- class Mock
224
- include Fog::Google::Shared
225
-
226
- def initialize(options)
227
- shared_initialize(options[:google_project], GOOGLE_COMPUTE_API_VERSION, GOOGLE_COMPUTE_BASE_URL)
228
- end
229
-
230
- def self.data(api_version)
231
- @data ||= Hash.new do |hash, key|
232
- case key
233
- when 'debian-cloud'
234
- hash[key] = {
235
- :images => {
236
- "debian-6-squeeze-v20130816" => {
237
- "kind" => "compute#image",
238
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-6-squeeze-v20130816",
239
- "id" => "14841592146580482051",
240
- "creationTimestamp" => "2013-09-04T13:21:53.292-07:00",
241
- "name" => "debian-6-squeeze-v20130816",
242
- "description" => "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-08-16",
243
- "sourceType" => "RAW",
244
- "rawDisk" => {
245
- "containerType" => "TAR",
246
- "source" => ""
247
- },
248
- "status" => "READY"
249
- },
250
- "debian-7-wheezy-v20130816" => {
251
- "kind" => "compute#image",
252
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20130816",
253
- "id" => "4213305957435180899",
254
- "creationTimestamp" => "2013-09-04T13:24:30.479-07:00",
255
- "name" => "debian-7-wheezy-v20130816",
256
- "description" => "Debian GNU/Linux 7.1 (wheezy) built on 2013-08-16",
257
- "sourceType" => "RAW",
258
- "rawDisk" => {
259
- "containerType" => "TAR",
260
- "source" => ""
261
- },
262
- "status" => "READY"
263
- },
264
- "debian-7-wheezy-v20131014" => {
265
- "kind" => "compute#image",
266
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20131014",
267
- "id" => "4213305957435180899",
268
- "creationTimestamp" => "2013-09-04T13:24:30.479-07:00",
269
- "name" => "debian-7-wheezy-v20131014",
270
- "description" => "Debian GNU/Linux 7.1 (wheezy) built on 2013-10-14",
271
- "sourceType" => "RAW",
272
- "rawDisk" => {
273
- "containerType" => "TAR",
274
- "source" => ""
275
- },
276
- "status" => "READY"
277
- },
278
- "debian-7-wheezy-v20140408" => {
279
- "kind" => "compute#image",
280
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20140408",
281
- "id" => "17312518942796567788",
282
- "creationTimestamp" => "2013-11-25T15:17:00.436-08:00",
283
- "name" => "debian-7-wheezy-v20131120",
284
- "description" => "Debian GNU/Linux 7.2 (wheezy) built on 2013-11-20",
285
- "sourceType" => "RAW",
286
- "rawDisk" => {
287
- "containerType" => "TAR",
288
- "source" => ""
289
- },
290
- "status" => "READY",
291
- "archiveSizeBytes" => "341857472"
292
- }
293
- }
294
- }
295
- when 'centos-cloud'
296
- hash[key] = {
297
- :images => {
298
- "centos-6-v20130813" => {
299
- "kind" => "compute#image",
300
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/centos-cloud/global/images/centos-6-v20130813",
301
- "id" => "4670523370938782739",
302
- "creationTimestamp" => "2013-08-19T11:56:47.004-07:00",
303
- "name" => "centos-6-v20130813",
304
- "description" => "SCSI-enabled CentOS 6; Created Tue, 13 Aug 2013 00:00:00 +0000",
305
- "sourceType" => "RAW",
306
- "rawDisk" => {
307
- "containerType" => "TAR",
308
- "source" => ""
309
- },
310
- "status" => "READY"
311
- }
312
- }
313
- }
314
- else
315
- hash[key] = {
316
- :target_http_proxies => {
317
- "test-target-http-proxy" => {
318
- "kind" => "compute#targetHttpProxy",
319
- "id" => "1361932147851415729",
320
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
321
- "name" => "test-target-http-proxy",
322
- "description" => '',
323
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies/test-target-http-proxy",
324
- "urlMap" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps/test-url-map"
325
- }
326
- },
327
- :url_maps => {
328
- "test-url-map" => {
329
- "kind" => "compute#urlMap",
330
- "id" => "1361932147851415729",
331
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
332
- "name" => 'test-url-map',
333
- "description" => '',
334
- "hostRules" => [],
335
- "pathMatchers" => [],
336
- "tests" => [],
337
- "defaultService" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServices/fog-backend-service-test",
338
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/urlMaps/test-url-map"
339
- }
340
- },
341
- :target_pools => {
342
- "test-target-pool" => {
343
- 'kind' => "compute#targetPool",
344
- "id" => "1361932147851415729",
345
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1/targetPools/test-target-pool",
346
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
347
- 'name' => "test-target-pool",
348
- "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1",
349
- "healthChecks" => ["https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/test-check"],
350
- "instances" => ["https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a/instances/test-instance"],
351
- }
352
- },
353
-
354
- :http_health_checks => {
355
- "test-http-health-check" => {
356
- "checkIntervalSec" => 5,
357
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
358
- "healthyThreshold" => 2,
359
- "id" => "1361932147851415729",
360
- "kind" => "compute#httphealthCheck",
361
- "name" => "test-http-health-check",
362
- "port" => 80,
363
- "requestPath" => '/',
364
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/test-http-health-check",
365
- "timeoutSec" => 5,
366
- "unhealthyThreshold" => 2
367
- }
368
- },
369
- :global_forwarding_rules => {
370
- "test-global-forwarding-rule" => {
371
- "kind" => "compute#forwardingRule",
372
- "id" => "1361932147851415729",
373
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
374
- "name" => 'test-global-forwarding-rule',
375
- "IPAddress" => '107.178.255.155',
376
- "IPProtocol" => 'TCP',
377
- "portRange" => '80-80',
378
- "target" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/targetHttpProxies/proxy",
379
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/forwardngRules/test-global-forwarding-rule"
380
- }
381
- },
382
- :forwarding_rules => {
383
- "test-forwarding-rule" => {
384
- "kind" => "compute#forwardingRule",
385
- "id" => "1361932147851415729",
386
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
387
- "name" => 'test-forwarding-rule',
388
- "IPAddress" => '107.178.255.155',
389
- "IPProtocol" => 'TCP',
390
- "portRange" => '80-80',
391
- "target" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1/targetPools/target_pool",
392
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1/forwardngRules/test-forwarding-rule",
393
- "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/us-central1"
394
- }
395
- },
396
- :target_instances => {
397
- "test-target-instance" => {
398
- "kind" => "compute#targetInstance",
399
- "name" => "test-target-instance",
400
- "natPolicy" => "NO_NAT",
401
- "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a",
402
- "instance" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a/instances/test-instance",
403
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/us-central1-a/targetInstances/test-target-instance",
404
- "id" => "1361932147851415729",
405
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
406
-
407
- }
408
- },
409
- :backend_services =>{
410
- "test-backend-service" => {
411
- "kind" => "compute#backend_service",
412
- "id" => "1361932147851415729",
413
- "creationTimestamp" => '2014-08-23T10:06:13.951-07:00',
414
- "name" => "test-backend-service",
415
- "description" => '',
416
- "backends" => [
417
- {
418
- "description" => '',
419
- "group" => "https://www.googleapis.com/resourceviews/v1beta1/projects#{@project}/zones/us-central1-a/zoneViews/name",
420
- "balancingMode" => "RATE",
421
- "capacityScaler" => 1.1,
422
- "maxRate" => 0.5,
423
- }],
424
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/backendServices/test-backend-service"
425
- }
426
- },
427
- :servers => {
428
- "fog-1" => {
429
- "kind" => "compute#instance",
430
- "id" => "1361932147851415727",
431
- "creationTimestamp" => "2013-09-26T04:55:43.881-07:00",
432
- "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a",
433
- "status" => "RUNNING",
434
- "name" => "fog-1380196541",
435
- "tags" => { "fingerprint" => "42WmSpB8rSM=" },
436
- "machineType" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/machineTypes/n1-standard-1",
437
- "canIpForward" => false,
438
- "networkInterfaces" => [
439
- {
440
- "network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/global/networks/default",
441
- "networkIP" => "10.240.121.54",
442
- "name" => "nic0",
443
- "accessConfigs" => [
444
- {
445
- "kind" => "compute#accessConfig",
446
- "type" => "ONE_TO_ONE_NAT",
447
- "name" => "External NAT",
448
- "natIP" => "108.59.81.28"
449
- }
450
- ]
451
- }
452
- ],
453
- "disks" => [
454
- {
455
- "kind" => "compute#attachedDisk",
456
- "index" => 0,
457
- "type" => "PERSISTENT",
458
- "mode" => "READ_WRITE",
459
- "source" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/disks/fog-1",
460
- "deviceName" => "persistent-disk-0",
461
- "boot" => true
462
- }
463
- ],
464
- "metadata" => {
465
- "kind" => "compute#metadata",
466
- "fingerprint" => "5_hasd_gC3E=",
467
- "items" => [
468
- {
469
- "key" => "sshKeys",
470
- "value" => "sysadmin:ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEA1zc7mx+0H8Roywet/L0aVX6MUdkDfzd/17kZhprAbpUXYOILv9AG4lIzQk6xGxDIltghytjfVGme/4A42Sb0Z9LN0pxB4KnWTNoOSHPJtp6jbXpq6PdN9r3Z5NKQg0A/Tfw7gt2N0GDsj6vpK8VbHHdW78JAVUxql18ootJxjaksdocsiHNK8iA6/v9qiLRhX3fOgtK7KpxxdZxLRzFg9vkp8jcGISgpZt27kOgXWhR5YLhi8pRJookzphO5O4yhflgoHoAE65XkfrsRCe0HU5QTbY2jH88rBVkq0KVlZh/lEsuwfmG4d77kEqaCGGro+j1Wrvo2K3DSQ+rEcvPp2CYRUySjhaeLF18UzQLtxNeoN14QOYqlm9ITdkCnmq5w4Wn007MjSOFp8LEq2RekrnddGXjg1/vgmXtaVSGzJAlXwtVfZor3dTRmF0JCpr7DsiupBaDFtLUlGFFlSKmPDVMPOOB5wajexmcvSp2Vu4U3yP8Lai/9/ZxMdsGPhpdCsWVL83B5tF4oYj1HVIycbYIxIIfFqOxZcCru3CMfe9jmzKgKLv2UtkfOS8jpS/Os2gAiB3wPweH3agvtwYAYBVMDwt5cnrhgHYWoOz7ABD8KgmCrD7Y9HikiCqIUNkgUFd9YmjcYi5FkU5rFXIawN7efs341lsdf923lsdf923fs= johndoe@acme"
471
- }
472
- ]
473
- },
474
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/instances/fog-1380196541"
475
- }
476
- },
477
- :zones => {
478
- "europe-west1-a" => {
479
- "kind" => "compute#zone",
480
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/europe-west1-a",
481
- "id" => "10419676573632995924",
482
- "creationTimestamp" => "2013-09-26T02:56:13.115-07:00",
483
- "name" => "europe-west1-a",
484
- "description" => "europe-west1-a",
485
- "status" => "UP",
486
- "maintenanceWindows" => [
487
- {
488
- "name" => "2014-01-18-planned-outage",
489
- "description" => "maintenance zone",
490
- "beginTime" => "2014-01-18T12:00:00.000-08:00",
491
- "endTime" => "2014-02-02T12:00:00.000-08:00"
492
- }
493
- ],
494
- "quotas" => [
495
- {"metric" => "INSTANCES", "limit" => 16.0, "usage" => 0.0},
496
- {"metric" => "CPUS", "limit" => 24.0, "usage" => 0.0},
497
- {"metric" => "DISKS", "limit" => 16.0, "usage" => 0.0},
498
- {"metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0}
499
- ],
500
- "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/europe-west1"
501
- },
502
- "us-central1-a" => {
503
- "kind" => "compute#zone",
504
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a",
505
- "id" => "6562457277909136262",
506
- "creationTimestamp" => "2013-09-26T02:56:13.116-07:00",
507
- "name" => "us-central1-a",
508
- "description" => "us-central1-a",
509
- "status" => "UP",
510
- "maintenanceWindows" => nil,
511
- "quotas" => [
512
- {"metric" => "INSTANCES", "limit" => 16.0, "usage" => 1.0},
513
- {"metric" => "CPUS", "limit" => 24.0, "usage" => 1.0},
514
- {"metric" => "DISKS", "limit" => 16.0, "usage" => 0.0},
515
- {"metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0}
516
- ],
517
- "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1"
518
- },
519
- "us-central1-b" => {
520
- "kind" => "compute#zone",
521
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-b",
522
- "id" => "8701502109626061015",
523
- "creationTimestamp" => "2013-09-26T02:56:13.124-07:00",
524
- "name" => "us-central1-b",
525
- "description" => "us-central1-b",
526
- "status" => "UP",
527
- "maintenanceWindows" => [{"name" => "2013-10-26-planned-outage",
528
- "description" => "maintenance zone",
529
- "beginTime" => "2013-10-26T12:00:00.000-07:00",
530
- "endTime" => "2013-11-10T12:00:00.000-08:00"}],
531
- "quotas" => [
532
- {"metric" => "INSTANCES", "limit" => 16.0, "usage" => 0.0},
533
- {"metric" => "CPUS", "limit" => 24.0, "usage" => 0.0},
534
- {"metric" => "DISKS", "limit" => 16.0, "usage" => 0.0},
535
- {"metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0}
536
- ],
537
- "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1"
538
- },
539
- "us-central2-a" => {
540
- "kind" => "compute#zone",
541
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central2-a",
542
- "id" => "13611654493253680292",
543
- "creationTimestamp" => "2013-09-26T02:56:13.125-07:00",
544
- "name" => "us-central2-a",
545
- "description" => "us-central2-a",
546
- "status" => "UP",
547
- "maintenanceWindows" => [
548
- {
549
- "name" => "2013-10-12-planned-outage",
550
- "description" => "maintenance zone",
551
- "beginTime" => "2013-10-12T12:00:00.000-07:00",
552
- "endTime" => "2013-10-27T12:00:00.000-07:00"
553
- }
554
- ],
555
- "quotas" => [
556
- {"metric" => "INSTANCES", "limit" => 16.0, "usage" => 0.0},
557
- {"metric" => "CPUS", "limit" => 24.0, "usage" => 0.0},
558
- {"metric" => "DISKS", "limit" => 16.0, "usage" => 0.0},
559
- {"metric" => "DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0}
560
- ],
561
- "region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central2"
562
- }
563
- },
564
- :regions => {
565
- "us-central1" => {
566
- "creationTimestamp" => '2014-01-21T10:30:54.895-08:00',
567
- "description" => 'us-central1',
568
- "id" => '18201118976141502843',
569
- "kind" => "compute#region",
570
- "name" =>"us-central1",
571
- "quotas" => [
572
- {"metric" =>"CPUS", "limit" => 1050.0, "usage" => 28.0},
573
- {"metric" =>"DISKS_TOTAL_GB", "limit" => 10000.0, "usage" => 292.0},
574
- {"metric" =>"STATIC_ADDRESSES", "limit" => 10.0, "usage" => 0.0},
575
- {"metric" =>"IN_USE_ADDRESSES", "limit" => 1050.0, "usage" => 30.0},
576
- {"metric" =>"SSD_TOTAL_GB", "limit" => 1024.0, "usage" => 0.0}
577
- ],
578
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/us-central1",
579
- "status" => "UP",
580
- "zones" => [
581
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a",
582
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-b",
583
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-f",
584
- ]
585
- },
586
- "europe-west1" => {
587
- "creationTimestamp" => '2014-01-21T10:30:54.891-08:00',
588
- "description" => 'europe-west1',
589
- "id" => '18201118976141502843',
590
- "kind" => "compute#region",
591
- "name" =>"europe-west1",
592
- "quotas" => [
593
- {"metric" =>"CPUS", "limit" => 24.0, "usage" => 0.0},
594
- {"metric" =>"DISKS_TOTAL_GB", "limit" => 2048.0, "usage" => 0.0},
595
- {"metric" =>"STATIC_ADDRESSES", "limit" => 7.0, "usage" => 0.0},
596
- {"metric" =>"IN_USE_ADDRESSES", "limit" => 23.0, "usage" => 0.0},
597
- {"metric" =>"SSD_TOTAL_GB", "limit" => 1024.0, "usage" => 0.0}
598
- ],
599
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/erope-west1",
600
- "status" => "UP",
601
- "zones" => [
602
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/europe-west1-a",
603
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/europe-west1-b",
604
- ]
605
- },
606
- "asia-east1" => {
607
- "creationTimestamp" => '2014-01-21T10:30:54.895-08:00',
608
- "description" => 'asia-east1',
609
- "id" => '18201118976141502843',
610
- "kind" => "compute#region",
611
- "name" =>"asia-east1",
612
- "quotas" => [
613
- {"metric" =>"CPUS", "limit" => 1050.0, "usage" => 28.0},
614
- {"metric" =>"DISKS_TOTAL_GB", "limit" => 10000.0, "usage" => 292.0},
615
- {"metric" =>"STATIC_ADDRESSES", "limit" => 10.0, "usage" => 0.0},
616
- {"metric" =>"IN_USE_ADDRESSES", "limit" => 1050.0, "usage" => 30.0},
617
- {"metric" =>"SSD_TOTAL_GB", "limit" => 1024.0, "usage" => 0.0}
618
- ],
619
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/regions/asia-east1",
620
- "status" => "UP",
621
- "zones" => [
622
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/asia-east1-a",
623
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/asia-east1-b",
624
- "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/asia-east1-c",
625
- ]
626
- }
627
- },
628
-
629
- :machine_types => Hash.new do |machine_types_hash, zone|
630
- machine_types_hash[zone] = {
631
- "f1-micro" => {
632
- "kind" => "compute#machineType",
633
- "id" => "4618642685664990776",
634
- "creationTimestamp" => "2013-04-25T13:32:49.088-07:00",
635
- "name" => "f1-micro",
636
- "description" => "1 vCPU (shared physical core) and 0.6 GB RAM",
637
- "guestCpus" => 1,
638
- "memoryMb" => 614,
639
- "imageSpaceGb" => 0,
640
- "maximumPersistentDisks" => 4,
641
- "maximumPersistentDisksSizeGb" => "3072",
642
- "zone" => zone,
643
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/f1-micro"
644
- },
645
- "g1-small" => {
646
- "kind" => "compute#machineType",
647
- "id" => "7224129552184485774",
648
- "creationTimestamp" => "2013-04-25T13:32:45.550-07:00",
649
- "name" => "g1-small",
650
- "description" => "1 vCPU (shared physical core) and 1.7 GB RAM",
651
- "guestCpus" => 1,
652
- "memoryMb" => 1740,
653
- "imageSpaceGb" => 0,
654
- "maximumPersistentDisks" => 4,
655
- "maximumPersistentDisksSizeGb" => "3072",
656
- "zone" => zone,
657
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/g1-small"
658
- },
659
- "n1-highcpu-2" => {
660
- "kind" => "compute#machineType",
661
- "id" => "13043554592196512955",
662
- "creationTimestamp" => "2012-11-16T11:46:10.572-08:00",
663
- "name" => "n1-highcpu-2",
664
- "description" => "2 vCPUs, 1.8 GB RAM",
665
- "guestCpus" => 2,
666
- "memoryMb" => 1843,
667
- "imageSpaceGb" => 10,
668
- "maximumPersistentDisks" => 16,
669
- "maximumPersistentDisksSizeGb" => "10240",
670
- "zone" => zone,
671
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-2"
672
- },
673
- "n1-highcpu-2-d" => {
674
- "kind" => "compute#machineType",
675
- "id" => "13043555176034896271",
676
- "creationTimestamp" => "2012-11-16T11:47:07.825-08:00",
677
- "name" => "n1-highcpu-2-d",
678
- "description" => "2 vCPUs, 1.8 GB RAM, 1 scratch disk (870 GB)",
679
- "guestCpus" => 2,
680
- "memoryMb" => 1843,
681
- "imageSpaceGb" => 10,
682
- "scratchDisks" => [
683
- {
684
- "diskGb" => 870
685
- }
686
- ],
687
- "maximumPersistentDisks" => 16,
688
- "maximumPersistentDisksSizeGb" => "10240",
689
- "zone" => zone,
690
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-2-d"
691
- },
692
- "n1-highcpu-4" => {
693
- "kind" => "compute#machineType",
694
- "id" => "13043555705736970382",
695
- "creationTimestamp" => "2012-11-16T11:48:06.087-08:00",
696
- "name" => "n1-highcpu-4",
697
- "description" => "4 vCPUs, 3.6 GB RAM",
698
- "guestCpus" => 4,
699
- "memoryMb" => 3686,
700
- "imageSpaceGb" => 10,
701
- "maximumPersistentDisks" => 16,
702
- "maximumPersistentDisksSizeGb" => "10240",
703
- "zone" => zone,
704
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-4"
705
- },
706
- "n1-highcpu-4-d" => {
707
- "kind" => "compute#machineType",
708
- "id" => "13043556330284250611",
709
- "creationTimestamp" => "2012-11-16T11:49:07.563-08:00",
710
- "name" => "n1-highcpu-4-d",
711
- "description" => "4 vCPUS, 3.6 GB RAM, 1 scratch disk (1770 GB)",
712
- "guestCpus" => 4,
713
- "memoryMb" => 3686,
714
- "imageSpaceGb" => 10,
715
- "scratchDisks" => [
716
- {
717
- "diskGb" => 1770
718
- }
719
- ],
720
- "maximumPersistentDisks" => 16,
721
- "maximumPersistentDisksSizeGb" => "10240",
722
- "zone" => zone,
723
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-4-d"
724
- },
725
- "n1-highcpu-8" => {
726
- "kind" => "compute#machineType",
727
- "id" => "13043556949665240937",
728
- "creationTimestamp" => "2012-11-16T11:50:15.128-08:00",
729
- "name" => "n1-highcpu-8",
730
- "description" => "8 vCPUs, 7.2 GB RAM",
731
- "guestCpus" => 8,
732
- "memoryMb" => 7373,
733
- "imageSpaceGb" => 10,
734
- "maximumPersistentDisks" => 16,
735
- "maximumPersistentDisksSizeGb" => "10240",
736
- "zone" => zone,
737
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-8"
738
- },
739
- "n1-highcpu-8-d" => {
740
- "kind" => "compute#machineType",
741
- "id" => "13043557458004959701",
742
- "creationTimestamp" => "2012-11-16T11:51:04.549-08:00",
743
- "name" => "n1-highcpu-8-d",
744
- "description" => "8 vCPUS, 7.2 GB RAM, 2 scratch disks (1770 GB, 1770 GB)",
745
- "guestCpus" => 8,
746
- "memoryMb" => 7373,
747
- "imageSpaceGb" => 10,
748
- "scratchDisks" => [
749
- {
750
- "diskGb" => 1770
751
- },
752
- {
753
- "diskGb" => 1770
754
- }
755
- ],
756
- "maximumPersistentDisks" => 16,
757
- "maximumPersistentDisksSizeGb" => "10240",
758
- "zone" => zone,
759
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highcpu-8-d"
760
- },
761
- "n1-highmem-2" => {
762
- "kind" => "compute#machineType",
763
- "id" => "13043551079318055993",
764
- "creationTimestamp" => "2012-11-16T11:40:06.129-08:00",
765
- "name" => "n1-highmem-2",
766
- "description" => "2 vCPUs, 13 GB RAM",
767
- "guestCpus" => 2,
768
- "memoryMb" => 13312,
769
- "imageSpaceGb" => 10,
770
- "maximumPersistentDisks" => 16,
771
- "maximumPersistentDisksSizeGb" => "10240",
772
- "zone" => zone,
773
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-2"
774
- },
775
- "n1-highmem-2-d" => {
776
- "kind" => "compute#machineType",
777
- "id" => "13043551625558644085",
778
- "creationTimestamp" => "2012-11-16T11:40:59.630-08:00",
779
- "name" => "n1-highmem-2-d",
780
- "description" => "2 vCPUs, 13 GB RAM, 1 scratch disk (870 GB)",
781
- "guestCpus" => 2,
782
- "memoryMb" => 13312,
783
- "imageSpaceGb" => 10,
784
- "scratchDisks" => [
785
- {
786
- "diskGb" => 870
787
- }
788
- ],
789
- "maximumPersistentDisks" => 16,
790
- "maximumPersistentDisksSizeGb" => "10240",
791
- "zone" => zone,
792
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-2-d"
793
- },
794
- "n1-highmem-4" => {
795
- "kind" => "compute#machineType",
796
- "id" => "13043552263604939569",
797
- "creationTimestamp" => "2012-11-16T11:42:08.983-08:00",
798
- "name" => "n1-highmem-4",
799
- "description" => "4 vCPUs, 26 GB RAM",
800
- "guestCpus" => 4,
801
- "memoryMb" => 26624,
802
- "imageSpaceGb" => 10,
803
- "maximumPersistentDisks" => 16,
804
- "maximumPersistentDisksSizeGb" => "10240",
805
- "zone" => zone,
806
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-4"
807
- },
808
- "n1-highmem-4-d" => {
809
- "kind" => "compute#machineType",
810
- "id" => "13043552953632709737",
811
- "creationTimestamp" => "2012-11-16T11:43:17.400-08:00",
812
- "name" => "n1-highmem-4-d",
813
- "description" => "4 vCPUs, 26 GB RAM, 1 scratch disk (1770 GB)",
814
- "guestCpus" => 4,
815
- "memoryMb" => 26624,
816
- "imageSpaceGb" => 10,
817
- "scratchDisks" => [
818
- {
819
- "diskGb" => 1770
820
- }
821
- ],
822
- "maximumPersistentDisks" => 16,
823
- "maximumPersistentDisksSizeGb" => "10240",
824
- "zone" => zone,
825
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-4-d"
826
- },
827
- "n1-highmem-8" => {
828
- "kind" => "compute#machineType",
829
- "id" => "13043553584275586275",
830
- "creationTimestamp" => "2012-11-16T11:44:25.985-08:00",
831
- "name" => "n1-highmem-8",
832
- "description" => "8 vCPUs, 52 GB RAM",
833
- "guestCpus" => 8,
834
- "memoryMb" => 53248,
835
- "imageSpaceGb" => 10,
836
- "maximumPersistentDisks" => 16,
837
- "maximumPersistentDisksSizeGb" => "10240",
838
- "zone" => zone,
839
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-8"
840
- },
841
- "n1-highmem-8-d" => {
842
- "kind" => "compute#machineType",
843
- "id" => "13043554021673472746",
844
- "creationTimestamp" => "2012-11-16T11:45:08.195-08:00",
845
- "name" => "n1-highmem-8-d",
846
- "description" => "8 vCPUs, 52 GB RAM, 2 scratch disks (1770 GB, 1770 GB)",
847
- "guestCpus" => 8,
848
- "memoryMb" => 53248,
849
- "imageSpaceGb" => 10,
850
- "scratchDisks" => [
851
- {
852
- "diskGb" => 1770
853
- },
854
- {
855
- "diskGb" => 1770
856
- }
857
- ],
858
- "maximumPersistentDisks" => 16,
859
- "maximumPersistentDisksSizeGb" => "10240",
860
- "zone" => zone,
861
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-highmem-8-d"
862
- },
863
- "n1-standard-1" => {
864
- "kind" => "compute#machineType",
865
- "id" => "12907738072351752276",
866
- "creationTimestamp" => "2012-06-07T13:48:14.670-07:00",
867
- "name" => "n1-standard-1",
868
- "description" => "1 vCPU, 3.75 GB RAM",
869
- "guestCpus" => 1,
870
- "memoryMb" => 3840,
871
- "imageSpaceGb" => 10,
872
- "maximumPersistentDisks" => 16,
873
- "maximumPersistentDisksSizeGb" => "10240",
874
- "zone" => zone,
875
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-1"
876
- },
877
- "n1-standard-1-d" => {
878
- "kind" => "compute#machineType",
879
- "id" => "12908559201265214706",
880
- "creationTimestamp" => "2012-06-07T13:48:34.258-07:00",
881
- "name" => "n1-standard-1-d",
882
- "description" => "1 vCPU, 3.75 GB RAM, 1 scratch disk (420 GB)",
883
- "guestCpus" => 1,
884
- "memoryMb" => 3840,
885
- "imageSpaceGb" => 10,
886
- "scratchDisks" => [
887
- {
888
- "diskGb" => 420
889
- }
890
- ],
891
- "maximumPersistentDisks" => 16,
892
- "maximumPersistentDisksSizeGb" => "10240",
893
- "zone" => zone,
894
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-1-d"
895
- },
896
- "n1-standard-2" => {
897
- "kind" => "compute#machineType",
898
- "id" => "12908559320241551184",
899
- "creationTimestamp" => "2012-06-07T13:48:56.867-07:00",
900
- "name" => "n1-standard-2",
901
- "description" => "2 vCPUs, 7.5 GB RAM",
902
- "guestCpus" => 2,
903
- "memoryMb" => 7680,
904
- "imageSpaceGb" => 10,
905
- "maximumPersistentDisks" => 16,
906
- "maximumPersistentDisksSizeGb" => "10240",
907
- "zone" => zone,
908
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-2"
909
- },
910
- "n1-standard-2-d" => {
911
- "kind" => "compute#machineType",
912
- "id" => "12908559582417967837",
913
- "creationTimestamp" => "2012-06-07T13:49:19.448-07:00",
914
- "name" => "n1-standard-2-d",
915
- "description" => "2 vCPUs, 7.5 GB RAM, 1 scratch disk (870 GB)",
916
- "guestCpus" => 2,
917
- "memoryMb" => 7680,
918
- "imageSpaceGb" => 10,
919
- "scratchDisks" => [
920
- {
921
- "diskGb" => 870
922
- }
923
- ],
924
- "maximumPersistentDisks" => 16,
925
- "maximumPersistentDisksSizeGb" => "10240",
926
- "zone" => zone,
927
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-2-d"
928
- },
929
- "n1-standard-4" => {
930
- "kind" => "compute#machineType",
931
- "id" => "12908559692070444049",
932
- "creationTimestamp" => "2012-06-07T13:49:40.050-07:00",
933
- "name" => "n1-standard-4",
934
- "description" => "4 vCPUs, 15 GB RAM",
935
- "guestCpus" => 4,
936
- "memoryMb" => 15360,
937
- "imageSpaceGb" => 10,
938
- "maximumPersistentDisks" => 16,
939
- "maximumPersistentDisksSizeGb" => "10240",
940
- "zone" => zone,
941
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-4"
942
- },
943
- "n1-standard-4-d" => {
944
- "kind" => "compute#machineType",
945
- "id" => "12908559991903153608",
946
- "creationTimestamp" => "2012-06-07T13:50:05.677-07:00",
947
- "name" => "n1-standard-4-d",
948
- "description" => "4 vCPUs, 15 GB RAM, 1 scratch disk (1770 GB)",
949
- "guestCpus" => 4,
950
- "memoryMb" => 15360,
951
- "imageSpaceGb" => 10,
952
- "scratchDisks" => [
953
- {
954
- "diskGb" => 1770
955
- }
956
- ],
957
- "maximumPersistentDisks" => 16,
958
- "maximumPersistentDisksSizeGb" => "10240",
959
- "zone" => zone,
960
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-4-d"
961
- },
962
- "n1-standard-8" => {
963
- "kind" => "compute#machineType",
964
- "id" => "12908560197989714867",
965
- "creationTimestamp" => "2012-06-07T13:50:42.334-07:00",
966
- "name" => "n1-standard-8",
967
- "description" => "8 vCPUs, 30 GB RAM",
968
- "guestCpus" => 8,
969
- "memoryMb" => 30720,
970
- "imageSpaceGb" => 10,
971
- "maximumPersistentDisks" => 16,
972
- "maximumPersistentDisksSizeGb" => "10240",
973
- "zone" => zone,
974
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-8"
975
- },
976
- "n1-standard-8-d" => {
977
- "kind" => "compute#machineType",
978
- "id" => "12908560709887590691",
979
- "creationTimestamp" => "2012-06-07T13:51:19.936-07:00",
980
- "name" => "n1-standard-8-d",
981
- "description" => "8 vCPUs, 30 GB RAM, 2 scratch disks (1770 GB, 1770 GB)",
982
- "guestCpus" => 8,
983
- "memoryMb" => 30720,
984
- "imageSpaceGb" => 10,
985
- "scratchDisks" => [
986
- {
987
- "diskGb" => 1770
988
- },
989
- {
990
- "diskGb" => 1770
991
- }
992
- ],
993
- "maximumPersistentDisks" => 16,
994
- "maximumPersistentDisksSizeGb" => "10240",
995
- "zone" => zone,
996
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/#{zone}/machineTypes/n1-standard-8-d"
997
- }
998
- }
999
- end,
1000
- :images => {},
1001
- :disks => {
1002
- "fog-1" => {
1003
- "kind" => "compute#disk",
1004
- "id" => "3338131294770784461",
1005
- "creationTimestamp" => "2013-12-18T19:47:10.583-08:00",
1006
- "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a",
1007
- "status" => "READY",
1008
- "name" => "fog-1",
1009
- "sizeGb" => "10",
1010
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/disks/fog-1",
1011
- "sourceImage" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20131120",
1012
- "sourceImageId" => "17312518942796567788",
1013
- "type" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/diskTypes/pd-standard",
1014
- },
1015
- "fog-2" => {
1016
- "kind" => "compute#disk",
1017
- "id" => "3338131294770784462",
1018
- "creationTimestamp" => "2013-12-18T19:47:10.583-08:00",
1019
- "zone" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a",
1020
- "status" => "READY",
1021
- "name" => "fog-2",
1022
- "sizeGb" => "10",
1023
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/disks/fog-1",
1024
- "type" => "https://www.googleapis.com/compute/#{api_version}/projects/#{key}/zones/us-central1-a/diskTypes/pd-ssd",
1025
- }
1026
- },
1027
- :operations => {}
1028
- }
1029
- end
1030
- end
1031
- end
1032
-
1033
- def self.reset
1034
- @data = nil
1035
- end
1036
-
1037
- def data(project=@project)
1038
- self.class.data(api_version)[project]
1039
- end
1040
-
1041
- def reset_data
1042
- # not particularly useful because it deletes zones
1043
- self.class.data(api_version).delete(@project)
1044
- end
1045
-
1046
- def random_operation
1047
- "operation-#{Fog::Mock.random_numbers(13)}-#{Fog::Mock.random_hex(13)}-#{Fog::Mock.random_hex(8)}"
1048
- end
1049
- end
1050
-
1051
- class Real
1052
- include Fog::Google::Shared
1053
-
1054
- attr_accessor :client
1055
- attr_reader :compute
1056
-
1057
- def initialize(options)
1058
- shared_initialize(options[:google_project], GOOGLE_COMPUTE_API_VERSION, GOOGLE_COMPUTE_BASE_URL)
1059
- options.merge!(:google_api_scope_url => GOOGLE_COMPUTE_API_SCOPE_URLS.join(' '))
1060
-
1061
- @client = initialize_google_client(options)
1062
- @compute = @client.discovered_api('compute', api_version)
1063
- @resourceviews = @client.discovered_api('resourceviews', 'v1beta1')
1064
- end
1065
- end
1066
-
1067
- RUNNING = 'RUNNING'
1068
- end
1069
- end
1070
- end