fog-google 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +11 -0
  3. data/.gitignore +1 -0
  4. data/.hound.yml +2 -0
  5. data/.rubocop.yml +225 -5
  6. data/.travis.yml +13 -11
  7. data/CONTRIBUTORS.md +1 -0
  8. data/Gemfile +1 -1
  9. data/README.md +31 -16
  10. data/Rakefile +15 -39
  11. data/examples/backend_services.rb +12 -11
  12. data/examples/bootstrap.rb +11 -1
  13. data/examples/{create.rb → create_instance.rb} +20 -11
  14. data/examples/dns/project.rb +2 -3
  15. data/examples/dns/zones.rb +21 -21
  16. data/examples/get_list_images.rb +31 -15
  17. data/examples/get_list_snapshots.rb +20 -10
  18. data/examples/image_create.rb +5 -5
  19. data/examples/l7_load_balance.rb +56 -58
  20. data/examples/load-balance.rb +22 -23
  21. data/examples/metadata.rb +17 -9
  22. data/examples/monitoring/metric_descriptors.rb +19 -6
  23. data/examples/monitoring/timeseries_collection.rb +23 -11
  24. data/examples/monitoring/timeseries_descriptors.rb +23 -11
  25. data/examples/network.rb +25 -29
  26. data/examples/precreated_client.rb +3 -6
  27. data/examples/sql/flags.rb +2 -2
  28. data/examples/sql/instances.rb +18 -18
  29. data/examples/sql/operations.rb +9 -9
  30. data/examples/sql/ssl_certs.rb +13 -13
  31. data/examples/sql/tiers.rb +2 -2
  32. data/examples/storage.rb +37 -0
  33. data/examples/storage_json.rb +37 -0
  34. data/fog-google.gemspec +24 -21
  35. data/lib/fog/bin/google.rb +34 -32
  36. data/lib/fog/{google/compute.rb → compute/google.rb} +207 -151
  37. data/lib/fog/{google/models/compute → compute/google/models}/address.rb +24 -28
  38. data/lib/fog/{google/models/compute → compute/google/models}/addresses.rb +10 -14
  39. data/lib/fog/{google/models/compute → compute/google/models}/backend_service.rb +28 -34
  40. data/lib/fog/{google/models/compute → compute/google/models}/backend_services.rb +2 -5
  41. data/lib/fog/{google/models/compute → compute/google/models}/disk.rb +35 -39
  42. data/lib/fog/{google/models/compute → compute/google/models}/disk_type.rb +4 -6
  43. data/lib/fog/{google/models/compute → compute/google/models}/disk_types.rb +7 -10
  44. data/lib/fog/{google/models/compute → compute/google/models}/disks.rb +9 -12
  45. data/lib/fog/{google/models/compute → compute/google/models}/firewall.rb +10 -14
  46. data/lib/fog/{google/models/compute → compute/google/models}/firewalls.rb +1 -4
  47. data/lib/fog/compute/google/models/flavor.rb +31 -0
  48. data/lib/fog/{google/models/compute → compute/google/models}/flavors.rb +2 -5
  49. data/lib/fog/{google/models/compute → compute/google/models}/forwarding_rule.rb +24 -28
  50. data/lib/fog/{google/models/compute → compute/google/models}/forwarding_rules.rb +8 -11
  51. data/lib/fog/compute/google/models/global_forwarding_rule.rb +82 -0
  52. data/lib/fog/{google/models/compute → compute/google/models}/global_forwarding_rules.rb +2 -5
  53. data/lib/fog/compute/google/models/http_health_check.rb +80 -0
  54. data/lib/fog/{google/models/compute → compute/google/models}/http_health_checks.rb +2 -5
  55. data/lib/fog/{google/models/compute → compute/google/models}/image.rb +18 -22
  56. data/lib/fog/{google/models/compute → compute/google/models}/images.rb +24 -17
  57. data/lib/fog/{google/models/compute → compute/google/models}/instance_group.rb +5 -8
  58. data/lib/fog/{google/models/compute → compute/google/models}/instance_groups.rb +10 -13
  59. data/lib/fog/{google/models/compute → compute/google/models}/network.rb +9 -13
  60. data/lib/fog/{google/models/compute → compute/google/models}/networks.rb +1 -4
  61. data/lib/fog/{google/models/compute → compute/google/models}/operation.rb +16 -18
  62. data/lib/fog/{google/models/compute → compute/google/models}/operations.rb +8 -11
  63. data/lib/fog/{google/models/compute → compute/google/models}/project.rb +5 -7
  64. data/lib/fog/{google/models/compute → compute/google/models}/projects.rb +0 -3
  65. data/lib/fog/{google/models/compute → compute/google/models}/region.rb +5 -7
  66. data/lib/fog/{google/models/compute → compute/google/models}/regions.rb +1 -4
  67. data/lib/fog/compute/google/models/resource_view.rb +108 -0
  68. data/lib/fog/compute/google/models/resource_views.rb +54 -0
  69. data/lib/fog/{google/models/compute → compute/google/models}/route.rb +12 -16
  70. data/lib/fog/{google/models/compute → compute/google/models}/routes.rb +1 -4
  71. data/lib/fog/{google/models/compute → compute/google/models}/server.rb +81 -92
  72. data/lib/fog/{google/models/compute → compute/google/models}/servers.rb +13 -16
  73. data/lib/fog/compute/google/models/snapshot.rb +44 -0
  74. data/lib/fog/{google/models/compute → compute/google/models}/snapshots.rb +1 -4
  75. data/lib/fog/compute/google/models/subnetwork.rb +49 -0
  76. data/lib/fog/compute/google/models/subnetworks.rb +29 -0
  77. data/lib/fog/{google/models/compute → compute/google/models}/target_http_proxies.rb +2 -5
  78. data/lib/fog/{google/models/compute → compute/google/models}/target_http_proxy.rb +18 -22
  79. data/lib/fog/{google/models/compute → compute/google/models}/target_instance.rb +23 -28
  80. data/lib/fog/{google/models/compute → compute/google/models}/target_instances.rb +9 -12
  81. data/lib/fog/{google/models/compute → compute/google/models}/target_pool.rb +24 -28
  82. data/lib/fog/{google/models/compute → compute/google/models}/target_pools.rb +6 -9
  83. data/lib/fog/{google/models/compute → compute/google/models}/url_map.rb +32 -36
  84. data/lib/fog/{google/models/compute → compute/google/models}/url_maps.rb +1 -4
  85. data/lib/fog/compute/google/models/zone.rb +21 -0
  86. data/lib/fog/{google/models/compute → compute/google/models}/zones.rb +0 -3
  87. data/lib/fog/{google/requests/compute → compute/google/requests}/add_backend_service_backends.rb +5 -5
  88. data/lib/fog/{google/requests/compute → compute/google/requests}/add_instance_group_instance.rb +4 -4
  89. data/lib/fog/compute/google/requests/add_region_view_resources.rb +27 -0
  90. data/lib/fog/{google/requests/compute → compute/google/requests}/add_server_access_config.rb +8 -8
  91. data/lib/fog/{google/requests/compute → compute/google/requests}/add_target_pool_health_checks.rb +6 -6
  92. data/lib/fog/{google/requests/compute → compute/google/requests}/add_target_pool_instances.rb +6 -6
  93. data/lib/fog/{google/requests/compute → compute/google/requests}/add_url_map_host_rules.rb +6 -6
  94. data/lib/fog/{google/requests/compute → compute/google/requests}/add_url_map_path_matchers.rb +7 -7
  95. data/lib/fog/compute/google/requests/add_zone_view_resources.rb +27 -0
  96. data/lib/fog/compute/google/requests/attach_disk.rb +34 -0
  97. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_address.rb +4 -4
  98. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_backend_service.rb +8 -8
  99. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_disk.rb +9 -11
  100. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_firewall.rb +3 -3
  101. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_forwarding_rule.rb +8 -8
  102. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_global_forwarding_rule.rb +12 -12
  103. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_global_operation.rb +3 -3
  104. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_http_health_check.rb +7 -7
  105. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_image.rb +7 -7
  106. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_instance_group.rb +4 -4
  107. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_network.rb +3 -3
  108. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_region_operation.rb +6 -6
  109. data/lib/fog/compute/google/requests/delete_region_view.rb +24 -0
  110. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_route.rb +3 -3
  111. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_server.rb +15 -17
  112. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_server_access_config.rb +6 -6
  113. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_snapshot.rb +3 -3
  114. data/lib/fog/compute/google/requests/delete_subnetwork.rb +49 -0
  115. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_target_http_proxy.rb +7 -7
  116. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_target_instance.rb +9 -11
  117. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_target_pool.rb +8 -8
  118. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_url_map.rb +7 -7
  119. data/lib/fog/{google/requests/compute → compute/google/requests}/delete_zone_operation.rb +5 -7
  120. data/lib/fog/compute/google/requests/delete_zone_view.rb +24 -0
  121. data/lib/fog/{google/requests/compute → compute/google/requests}/detach_disk.rb +5 -5
  122. data/lib/fog/{google/requests/compute → compute/google/requests}/get_address.rb +4 -4
  123. data/lib/fog/{google/requests/compute → compute/google/requests}/get_backend_service.rb +5 -7
  124. data/lib/fog/{google/requests/compute → compute/google/requests}/get_backend_service_health.rb +6 -6
  125. data/lib/fog/{google/requests/compute → compute/google/requests}/get_backend_services.rb +6 -6
  126. data/lib/fog/compute/google/requests/get_disk.rb +46 -0
  127. data/lib/fog/compute/google/requests/get_disk_type.rb +40 -0
  128. data/lib/fog/{google/requests/compute → compute/google/requests}/get_firewall.rb +3 -3
  129. data/lib/fog/compute/google/requests/get_forwarding_rule.rb +44 -0
  130. data/lib/fog/compute/google/requests/get_global_forwarding_rule.rb +30 -0
  131. data/lib/fog/{google/requests/compute → compute/google/requests}/get_global_operation.rb +8 -8
  132. data/lib/fog/compute/google/requests/get_http_health_check.rb +37 -0
  133. data/lib/fog/{google/requests/compute → compute/google/requests}/get_image.rb +4 -4
  134. data/lib/fog/{google/requests/compute → compute/google/requests}/get_instance_group.rb +5 -5
  135. data/lib/fog/compute/google/requests/get_machine_type.rb +41 -0
  136. data/lib/fog/{google/requests/compute → compute/google/requests}/get_network.rb +3 -3
  137. data/lib/fog/{google/requests/compute → compute/google/requests}/get_project.rb +2 -2
  138. data/lib/fog/{google/requests/compute → compute/google/requests}/get_region.rb +9 -9
  139. data/lib/fog/{google/requests/compute → compute/google/requests}/get_region_operation.rb +11 -11
  140. data/lib/fog/compute/google/requests/get_region_view.rb +24 -0
  141. data/lib/fog/{google/requests/compute → compute/google/requests}/get_route.rb +3 -3
  142. data/lib/fog/compute/google/requests/get_server.rb +71 -0
  143. data/lib/fog/{google/requests/compute → compute/google/requests}/get_server_serial_port_output.rb +4 -4
  144. data/lib/fog/{google/requests/compute → compute/google/requests}/get_snapshot.rb +5 -7
  145. data/lib/fog/compute/google/requests/get_subnetwork.rb +45 -0
  146. data/lib/fog/{google/requests/compute → compute/google/requests}/get_target_http_proxy.rb +4 -6
  147. data/lib/fog/compute/google/requests/get_target_instance.rb +28 -0
  148. data/lib/fog/{google/requests/compute → compute/google/requests}/get_target_pool.rb +6 -6
  149. data/lib/fog/{google/requests/compute → compute/google/requests}/get_target_pool_health.rb +7 -7
  150. data/lib/fog/{google/requests/compute → compute/google/requests}/get_url_map.rb +4 -6
  151. data/lib/fog/{google/requests/compute → compute/google/requests}/get_zone.rb +8 -8
  152. data/lib/fog/{google/requests/compute → compute/google/requests}/get_zone_operation.rb +10 -12
  153. data/lib/fog/compute/google/requests/get_zone_view.rb +24 -0
  154. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_address.rb +5 -5
  155. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_backend_service.rb +17 -17
  156. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_disk.rb +26 -30
  157. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_firewall.rb +4 -4
  158. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_forwarding_rule.rb +13 -13
  159. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_global_forwarding_rule.rb +13 -13
  160. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_http_health_check.rb +11 -11
  161. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_image.rb +14 -14
  162. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_instance_group.rb +6 -6
  163. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_network.rb +6 -6
  164. data/lib/fog/compute/google/requests/insert_region_view.rb +25 -0
  165. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_route.rb +11 -11
  166. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_server.rb +57 -57
  167. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_snapshot.rb +8 -8
  168. data/lib/fog/compute/google/requests/insert_subnetwork.rb +75 -0
  169. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_target_http_proxy.rb +9 -9
  170. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_target_instance.rb +11 -11
  171. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_target_pool.rb +11 -11
  172. data/lib/fog/{google/requests/compute → compute/google/requests}/insert_url_map.rb +9 -9
  173. data/lib/fog/compute/google/requests/insert_zone_view.rb +26 -0
  174. data/lib/fog/{google/requests/compute → compute/google/requests}/list_addresses.rb +3 -3
  175. data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_addresses.rb +3 -3
  176. data/lib/fog/compute/google/requests/list_aggregated_disk_types.rb +38 -0
  177. data/lib/fog/compute/google/requests/list_aggregated_disks.rb +37 -0
  178. data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_instance_groups.rb +3 -3
  179. data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_machine_types.rb +1 -1
  180. data/lib/fog/compute/google/requests/list_aggregated_servers.rb +37 -0
  181. data/lib/fog/compute/google/requests/list_aggregated_subnetworks.rb +34 -0
  182. data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_target_instances.rb +10 -13
  183. data/lib/fog/compute/google/requests/list_backend_services.rb +27 -0
  184. data/lib/fog/compute/google/requests/list_disk_types.rb +44 -0
  185. data/lib/fog/compute/google/requests/list_disks.rb +27 -0
  186. data/lib/fog/{google/requests/compute → compute/google/requests}/list_firewalls.rb +1 -1
  187. data/lib/fog/compute/google/requests/list_forwarding_rules.rb +27 -0
  188. data/lib/fog/compute/google/requests/list_global_forwarding_rules.rb +28 -0
  189. data/lib/fog/{google/requests/compute → compute/google/requests}/list_global_operations.rb +1 -1
  190. data/lib/fog/compute/google/requests/list_http_health_checks.rb +27 -0
  191. data/lib/fog/compute/google/requests/list_images.rb +27 -0
  192. data/lib/fog/{google/requests/compute → compute/google/requests}/list_instance_group_instances.rb +4 -4
  193. data/lib/fog/{google/requests/compute → compute/google/requests}/list_instance_groups.rb +3 -3
  194. data/lib/fog/{google/requests/compute → compute/google/requests}/list_machine_types.rb +6 -8
  195. data/lib/fog/{google/requests/compute → compute/google/requests}/list_networks.rb +1 -1
  196. data/lib/fog/{google/requests/compute → compute/google/requests}/list_region_operations.rb +3 -3
  197. data/lib/fog/compute/google/requests/list_region_view_resources.rb +24 -0
  198. data/lib/fog/compute/google/requests/list_region_views.rb +23 -0
  199. data/lib/fog/compute/google/requests/list_regions.rb +83 -0
  200. data/lib/fog/{google/requests/compute → compute/google/requests}/list_routes.rb +2 -2
  201. data/lib/fog/compute/google/requests/list_servers.rb +29 -0
  202. data/lib/fog/{google/requests/compute → compute/google/requests}/list_snapshots.rb +3 -3
  203. data/lib/fog/compute/google/requests/list_subnetworks.rb +35 -0
  204. data/lib/fog/compute/google/requests/list_target_http_proxies.rb +27 -0
  205. data/lib/fog/compute/google/requests/list_target_instances.rb +28 -0
  206. data/lib/fog/compute/google/requests/list_target_pools.rb +27 -0
  207. data/lib/fog/compute/google/requests/list_url_maps.rb +27 -0
  208. data/lib/fog/{google/requests/compute → compute/google/requests}/list_zone_operations.rb +3 -3
  209. data/lib/fog/compute/google/requests/list_zone_view_resources.rb +24 -0
  210. data/lib/fog/compute/google/requests/list_zone_views.rb +23 -0
  211. data/lib/fog/compute/google/requests/list_zones.rb +26 -0
  212. data/lib/fog/{google/requests/compute → compute/google/requests}/remove_instance_group_instance.rb +4 -4
  213. data/lib/fog/{google/requests/compute → compute/google/requests}/remove_target_pool_health_checks.rb +6 -6
  214. data/lib/fog/{google/requests/compute → compute/google/requests}/remove_target_pool_instance.rb +6 -6
  215. data/lib/fog/{google/requests/compute → compute/google/requests}/remove_target_pool_instances.rb +6 -6
  216. data/lib/fog/{google/requests/compute → compute/google/requests}/reset_server.rb +4 -4
  217. data/lib/fog/{google/requests/compute → compute/google/requests}/set_common_instance_metadata.rb +3 -3
  218. data/lib/fog/{google/requests/compute → compute/google/requests}/set_forwarding_rule_target.rb +6 -6
  219. data/lib/fog/{google/requests/compute → compute/google/requests}/set_global_forwarding_rule_target.rb +6 -6
  220. data/lib/fog/{google/requests/compute → compute/google/requests}/set_metadata.rb +8 -8
  221. data/lib/fog/{google/requests/compute → compute/google/requests}/set_server_disk_auto_delete.rb +6 -6
  222. data/lib/fog/{google/requests/compute → compute/google/requests}/set_server_scheduling.rb +7 -7
  223. data/lib/fog/{google/requests/compute → compute/google/requests}/set_tags.rb +6 -6
  224. data/lib/fog/{google/requests/compute → compute/google/requests}/set_target_http_proxy_url_map.rb +5 -5
  225. data/lib/fog/{google/requests/compute → compute/google/requests}/start_server.rb +4 -4
  226. data/lib/fog/{google/requests/compute → compute/google/requests}/stop_server.rb +4 -4
  227. data/lib/fog/{google/requests/compute → compute/google/requests}/update_url_map.rb +8 -8
  228. data/lib/fog/{google/requests/compute → compute/google/requests}/validate_url_map.rb +5 -5
  229. data/lib/fog/{google/dns.rb → dns/google.rb} +9 -9
  230. data/lib/fog/{google/models/dns → dns/google/models}/change.rb +5 -7
  231. data/lib/fog/{google/models/dns → dns/google/models}/changes.rb +1 -4
  232. data/lib/fog/{google/models/dns → dns/google/models}/project.rb +6 -8
  233. data/lib/fog/{google/models/dns → dns/google/models}/projects.rb +0 -3
  234. data/lib/fog/{google/models/dns → dns/google/models}/record.rb +17 -27
  235. data/lib/fog/{google/models/dns → dns/google/models}/records.rb +2 -5
  236. data/lib/fog/{google/models/dns → dns/google/models}/zone.rb +6 -8
  237. data/lib/fog/{google/models/dns → dns/google/models}/zones.rb +1 -4
  238. data/lib/fog/{google/requests/dns → dns/google/requests}/create_change.rb +17 -17
  239. data/lib/fog/dns/google/requests/create_managed_zone.rb +82 -0
  240. data/lib/fog/{google/requests/dns → dns/google/requests}/delete_managed_zone.rb +6 -6
  241. data/lib/fog/{google/requests/dns → dns/google/requests}/get_change.rb +7 -7
  242. data/lib/fog/{google/requests/dns → dns/google/requests}/get_managed_zone.rb +4 -4
  243. data/lib/fog/{google/requests/dns → dns/google/requests}/get_project.rb +12 -12
  244. data/lib/fog/{google/requests/dns → dns/google/requests}/list_changes.rb +7 -7
  245. data/lib/fog/{google/requests/dns → dns/google/requests}/list_managed_zones.rb +5 -5
  246. data/lib/fog/{google/requests/dns → dns/google/requests}/list_resource_record_sets.rb +11 -11
  247. data/lib/fog/google.rb +78 -71
  248. data/lib/fog/google/models/monitoring/metric_descriptor.rb +3 -3
  249. data/lib/fog/google/models/monitoring/metric_descriptors.rb +3 -3
  250. data/lib/fog/google/models/monitoring/timeseries.rb +2 -2
  251. data/lib/fog/google/models/monitoring/timeseries_collection.rb +3 -3
  252. data/lib/fog/google/models/monitoring/timeseries_descriptor.rb +1 -1
  253. data/lib/fog/google/models/monitoring/timeseries_descriptors.rb +3 -3
  254. data/lib/fog/google/models/sql/backup_run.rb +8 -8
  255. data/lib/fog/google/models/sql/backup_runs.rb +3 -3
  256. data/lib/fog/google/models/sql/flag.rb +5 -5
  257. data/lib/fog/google/models/sql/flags.rb +3 -3
  258. data/lib/fog/google/models/sql/instance.rb +54 -68
  259. data/lib/fog/google/models/sql/instances.rb +4 -4
  260. data/lib/fog/google/models/sql/operation.rb +15 -15
  261. data/lib/fog/google/models/sql/operations.rb +5 -5
  262. data/lib/fog/google/models/sql/ssl_cert.rb +17 -19
  263. data/lib/fog/google/models/sql/ssl_certs.rb +5 -5
  264. data/lib/fog/google/models/sql/tier.rb +3 -3
  265. data/lib/fog/google/models/sql/tiers.rb +3 -3
  266. data/lib/fog/google/monitoring.rb +8 -8
  267. data/lib/fog/google/requests/monitoring/list_metric_descriptors.rb +131 -131
  268. data/lib/fog/google/requests/monitoring/list_timeseries.rb +32 -32
  269. data/lib/fog/google/requests/monitoring/list_timeseries_descriptors.rb +50 -50
  270. data/lib/fog/google/requests/sql/clone_instance.rb +41 -41
  271. data/lib/fog/google/requests/sql/delete_instance.rb +26 -26
  272. data/lib/fog/google/requests/sql/delete_ssl_cert.rb +27 -27
  273. data/lib/fog/google/requests/sql/export_instance.rb +22 -22
  274. data/lib/fog/google/requests/sql/get_backup_run.rb +5 -5
  275. data/lib/fog/google/requests/sql/get_instance.rb +12 -12
  276. data/lib/fog/google/requests/sql/get_operation.rb +21 -21
  277. data/lib/fog/google/requests/sql/get_ssl_cert.rb +21 -21
  278. data/lib/fog/google/requests/sql/import_instance.rb +21 -21
  279. data/lib/fog/google/requests/sql/insert_instance.rb +76 -78
  280. data/lib/fog/google/requests/sql/insert_ssl_cert.rb +33 -33
  281. data/lib/fog/google/requests/sql/list_backup_runs.rb +4 -4
  282. data/lib/fog/google/requests/sql/list_flags.rb +84 -84
  283. data/lib/fog/google/requests/sql/list_instances.rb +3 -3
  284. data/lib/fog/google/requests/sql/list_operations.rb +13 -13
  285. data/lib/fog/google/requests/sql/list_ssl_certs.rb +13 -13
  286. data/lib/fog/google/requests/sql/list_tiers.rb +39 -39
  287. data/lib/fog/google/requests/sql/reset_instance_ssl_config.rb +16 -16
  288. data/lib/fog/google/requests/sql/restart_instance.rb +16 -16
  289. data/lib/fog/google/requests/sql/restore_instance_backup.rb +5 -5
  290. data/lib/fog/google/requests/sql/set_instance_root_password.rb +20 -20
  291. data/lib/fog/google/requests/sql/update_instance.rb +52 -52
  292. data/lib/fog/google/sql.rb +7 -7
  293. data/lib/fog/google/version.rb +1 -1
  294. data/lib/fog/parsers/storage/google.rb +15 -0
  295. data/lib/fog/{google/parsers/storage → parsers/storage/google}/access_control_list.rb +13 -13
  296. data/lib/fog/{google/parsers/storage → parsers/storage/google}/copy_object.rb +3 -3
  297. data/lib/fog/parsers/storage/google/get_bucket.rb +58 -0
  298. data/lib/fog/parsers/storage/google/get_bucket_logging.rb +36 -0
  299. data/lib/fog/parsers/storage/google/get_bucket_object_versions.rb +84 -0
  300. data/lib/fog/{google/parsers/storage → parsers/storage/google}/get_bucket_versioning.rb +3 -3
  301. data/lib/fog/{google/parsers/storage → parsers/storage/google}/get_request_payment.rb +1 -1
  302. data/lib/fog/{google/parsers/storage → parsers/storage/google}/get_service.rb +8 -8
  303. data/lib/fog/storage/google.rb +20 -0
  304. data/lib/fog/storage/google_json.rb +146 -0
  305. data/lib/fog/storage/google_json/models/directories.rb +26 -0
  306. data/lib/fog/storage/google_json/models/directory.rb +65 -0
  307. data/lib/fog/storage/google_json/models/file.rb +148 -0
  308. data/lib/fog/storage/google_json/models/files.rb +89 -0
  309. data/lib/fog/storage/google_json/requests/copy_object.rb +66 -0
  310. data/lib/fog/storage/google_json/requests/delete_bucket.rb +42 -0
  311. data/lib/fog/{google/requests/storage → storage/google_json/requests}/delete_object.rb +12 -12
  312. data/lib/fog/storage/google_json/requests/get_bucket.rb +86 -0
  313. data/lib/fog/{google/requests/storage → storage/google_json/requests}/get_bucket_acl.rb +12 -17
  314. data/lib/fog/storage/google_json/requests/get_object.rb +98 -0
  315. data/lib/fog/storage/google_json/requests/get_object_acl.rb +59 -0
  316. data/lib/fog/storage/google_json/requests/get_object_http_url.rb +40 -0
  317. data/lib/fog/storage/google_json/requests/get_object_https_url.rb +41 -0
  318. data/lib/fog/storage/google_json/requests/get_object_torrent.rb +13 -0
  319. data/lib/fog/storage/google_json/requests/get_object_url.rb +22 -0
  320. data/lib/fog/storage/google_json/requests/get_service.rb +54 -0
  321. data/lib/fog/storage/google_json/requests/head_object.rb +54 -0
  322. data/lib/fog/storage/google_json/requests/put_bucket.rb +68 -0
  323. data/lib/fog/storage/google_json/requests/put_bucket_acl.rb +34 -0
  324. data/lib/fog/storage/google_json/requests/put_object.rb +118 -0
  325. data/lib/fog/storage/google_json/requests/put_object_acl.rb +31 -0
  326. data/lib/fog/storage/google_json/requests/put_object_url.rb +45 -0
  327. data/lib/fog/{google/storage.rb → storage/google_xml.rb} +49 -53
  328. data/lib/fog/storage/google_xml/models/directories.rb +34 -0
  329. data/lib/fog/{google/models/storage → storage/google_xml/models}/directory.rb +13 -21
  330. data/lib/fog/{google/models/storage → storage/google_xml/models}/file.rb +34 -46
  331. data/lib/fog/{google/models/storage → storage/google_xml/models}/files.rb +21 -30
  332. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/copy_object.rb +15 -21
  333. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/delete_bucket.rb +10 -12
  334. data/lib/fog/storage/google_xml/requests/delete_object.rb +44 -0
  335. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_bucket.rb +33 -43
  336. data/lib/fog/storage/google_xml/requests/get_bucket_acl.rb +53 -0
  337. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object.rb +25 -37
  338. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_acl.rb +16 -24
  339. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_http_url.rb +8 -12
  340. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_https_url.rb +8 -12
  341. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_torrent.rb +10 -16
  342. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_url.rb +1 -1
  343. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_service.rb +13 -17
  344. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/head_object.rb +14 -20
  345. data/lib/fog/storage/google_xml/requests/put_bucket.rb +71 -0
  346. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/put_bucket_acl.rb +12 -14
  347. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/put_object.rb +23 -27
  348. data/lib/fog/{google/requests/storage → storage/google_xml/requests}/put_object_acl.rb +12 -14
  349. data/lib/fog/storage/google_xml/requests/put_object_url.rb +42 -0
  350. data/tasks/bundler.rake +3 -0
  351. data/tasks/console.rake +12 -0
  352. data/tasks/lint.rake +3 -0
  353. data/tasks/smoke.rake +15 -0
  354. data/tasks/test.rake +13 -0
  355. data/test/helpers/integration_test_helper.rb +3 -3
  356. data/test/helpers/test_collection.rb +1 -1
  357. data/test/helpers/test_helper.rb +8 -8
  358. data/test/integration/compute/test_servers.rb +1 -1
  359. data/test/integration/factories/backend_services_factory.rb +2 -2
  360. data/test/integration/factories/collection_factory.rb +4 -4
  361. data/test/integration/factories/disks_factory.rb +3 -3
  362. data/test/integration/factories/forwarding_rules_factory.rb +3 -4
  363. data/test/integration/factories/global_forwarding_rules_factory.rb +2 -2
  364. data/test/integration/factories/http_health_checks_factory.rb +1 -1
  365. data/test/integration/factories/images_factory.rb +2 -2
  366. data/test/integration/factories/servers_factory.rb +4 -4
  367. data/test/integration/factories/target_http_proxies_factory.rb +2 -2
  368. data/test/integration/factories/target_instances_factory.rb +3 -3
  369. data/test/integration/factories/target_pools_factory.rb +4 -4
  370. data/test/integration/factories/url_maps_factory.rb +2 -2
  371. data/test/integration/storage/test_buckets.rb +56 -0
  372. data/test/integration/storage/test_directories.rb +60 -0
  373. data/test/integration/storage/test_files.rb +132 -0
  374. data/test/integration/storage/test_objects.rb +111 -0
  375. data/test/integration/test_authentication.rb +14 -10
  376. data/tests/helper.rb +40 -42
  377. data/tests/helpers/collection_helper.rb +26 -37
  378. data/tests/helpers/compute/flavors_helper.rb +4 -8
  379. data/tests/helpers/compute/server_helper.rb +1 -5
  380. data/tests/helpers/compute/servers_helper.rb +0 -2
  381. data/tests/helpers/formats_helper.rb +12 -12
  382. data/tests/helpers/formats_helper_tests.rb +43 -47
  383. data/tests/helpers/mock_helper.rb +6 -8
  384. data/tests/helpers/model_helper.rb +6 -10
  385. data/tests/helpers/schema_validator_tests.rb +41 -47
  386. data/tests/helpers/succeeds_helper.rb +1 -1
  387. data/tests/models/dns/change_tests.rb +8 -10
  388. data/tests/models/dns/changes_tests.rb +8 -12
  389. data/tests/models/dns/projects_tests.rb +2 -5
  390. data/tests/models/dns/record_tests.rb +9 -10
  391. data/tests/models/dns/records_tests.rb +9 -13
  392. data/tests/models/dns/zone_tests.rb +6 -6
  393. data/tests/models/dns/zones_tests.rb +5 -5
  394. data/tests/models/monitoring/metric_descriptors_tests.rb +2 -5
  395. data/tests/models/monitoring/timeseries_collection_tests.rb +3 -6
  396. data/tests/models/monitoring/timeseries_descriptors_tests.rb +3 -6
  397. data/tests/models/sql/flags_tests.rb +2 -5
  398. data/tests/models/sql/instance_tests.rb +4 -7
  399. data/tests/models/sql/instances_tests.rb +4 -9
  400. data/tests/models/sql/operation_tests.rb +3 -6
  401. data/tests/models/sql/operations_tests.rb +4 -9
  402. data/tests/models/sql/ssl_cert_tests.rb +3 -6
  403. data/tests/models/sql/ssl_certs_tests.rb +4 -9
  404. data/tests/models/sql/tiers_tests.rb +2 -5
  405. data/tests/requests/compute/backend_service_tests.rb +43 -47
  406. data/tests/requests/compute/disk_tests.rb +42 -46
  407. data/tests/requests/compute/disk_type_tests.rb +18 -21
  408. data/tests/requests/compute/firewall_tests.rb +42 -45
  409. data/tests/requests/compute/forwarding_rules_tests.rb +44 -48
  410. data/tests/requests/compute/global_forwarding_rules_tests.rb +44 -48
  411. data/tests/requests/compute/http_health_checks_tests.rb +44 -48
  412. data/tests/requests/compute/image_tests.rb +41 -45
  413. data/tests/requests/compute/network_tests.rb +38 -41
  414. data/tests/requests/compute/operation_tests.rb +2 -3
  415. data/tests/requests/compute/region_tests.rb +18 -18
  416. data/tests/requests/compute/server_tests.rb +45 -47
  417. data/tests/requests/compute/target_http_proxies_test.rb +39 -43
  418. data/tests/requests/compute/target_instances_tests.rb +43 -47
  419. data/tests/requests/compute/target_pools_tests.rb +43 -47
  420. data/tests/requests/compute/url_maps_tests.rb +42 -46
  421. data/tests/requests/compute/zone_tests.rb +15 -19
  422. data/tests/requests/dns/change_tests.rb +18 -22
  423. data/tests/requests/dns/managed_zone_tests.rb +27 -30
  424. data/tests/requests/dns/project_tests.rb +13 -16
  425. data/tests/requests/dns/record_tests.rb +15 -18
  426. data/tests/requests/monitoring/metric_descriptor_tests.rb +9 -12
  427. data/tests/requests/monitoring/timeseries_collection_tests.rb +9 -12
  428. data/tests/requests/monitoring/timeseries_descriptor_tests.rb +10 -13
  429. data/tests/requests/sql/flag_tests.rb +11 -14
  430. data/tests/requests/sql/instance_tests.rb +36 -39
  431. data/tests/requests/sql/operation_tests.rb +17 -20
  432. data/tests/requests/sql/ssl_cert_tests.rb +21 -24
  433. data/tests/requests/sql/tier_tests.rb +9 -12
  434. data/tests/requests/storage/bucket_tests.rb +30 -36
  435. data/tests/requests/storage/object_tests.rb +21 -27
  436. metadata +309 -235
  437. data/examples/eric-fail.rb +0 -36
  438. data/examples/image_all.rb +0 -6
  439. data/examples/launch_micro_instance.rb +0 -29
  440. data/gemfiles/Gemfile.2.0.0+ +0 -6
  441. data/gemfiles/Gemfile.2.0.0- +0 -10
  442. data/lib/fog/google/models/compute/flavor.rb +0 -33
  443. data/lib/fog/google/models/compute/global_forwarding_rule.rb +0 -86
  444. data/lib/fog/google/models/compute/http_health_check.rb +0 -84
  445. data/lib/fog/google/models/compute/snapshot.rb +0 -48
  446. data/lib/fog/google/models/compute/zone.rb +0 -23
  447. data/lib/fog/google/models/storage/directories.rb +0 -39
  448. data/lib/fog/google/parsers/storage/get_bucket.rb +0 -58
  449. data/lib/fog/google/parsers/storage/get_bucket_logging.rb +0 -36
  450. data/lib/fog/google/parsers/storage/get_bucket_object_versions.rb +0 -84
  451. data/lib/fog/google/requests/compute/attach_disk.rb +0 -34
  452. data/lib/fog/google/requests/compute/get_disk.rb +0 -52
  453. data/lib/fog/google/requests/compute/get_disk_type.rb +0 -42
  454. data/lib/fog/google/requests/compute/get_forwarding_rule.rb +0 -46
  455. data/lib/fog/google/requests/compute/get_global_forwarding_rule.rb +0 -32
  456. data/lib/fog/google/requests/compute/get_http_health_check.rb +0 -39
  457. data/lib/fog/google/requests/compute/get_machine_type.rb +0 -43
  458. data/lib/fog/google/requests/compute/get_server.rb +0 -75
  459. data/lib/fog/google/requests/compute/get_target_instance.rb +0 -32
  460. data/lib/fog/google/requests/compute/list_aggregated_disk_types.rb +0 -40
  461. data/lib/fog/google/requests/compute/list_aggregated_disks.rb +0 -40
  462. data/lib/fog/google/requests/compute/list_aggregated_servers.rb +0 -40
  463. data/lib/fog/google/requests/compute/list_backend_services.rb +0 -29
  464. data/lib/fog/google/requests/compute/list_disk_types.rb +0 -46
  465. data/lib/fog/google/requests/compute/list_disks.rb +0 -29
  466. data/lib/fog/google/requests/compute/list_forwarding_rules.rb +0 -29
  467. data/lib/fog/google/requests/compute/list_global_forwarding_rules.rb +0 -30
  468. data/lib/fog/google/requests/compute/list_http_health_checks.rb +0 -29
  469. data/lib/fog/google/requests/compute/list_images.rb +0 -29
  470. data/lib/fog/google/requests/compute/list_regions.rb +0 -85
  471. data/lib/fog/google/requests/compute/list_servers.rb +0 -31
  472. data/lib/fog/google/requests/compute/list_target_http_proxies.rb +0 -30
  473. data/lib/fog/google/requests/compute/list_target_instances.rb +0 -30
  474. data/lib/fog/google/requests/compute/list_target_pools.rb +0 -29
  475. data/lib/fog/google/requests/compute/list_url_maps.rb +0 -29
  476. data/lib/fog/google/requests/compute/list_zones.rb +0 -28
  477. data/lib/fog/google/requests/dns/create_managed_zone.rb +0 -82
  478. data/lib/fog/google/requests/storage/put_bucket.rb +0 -71
  479. data/lib/fog/google/requests/storage/put_object_url.rb +0 -50
@@ -1,6 +1,3 @@
1
- require 'fog/core/collection'
2
- require 'fog/google/models/compute/project'
3
-
4
1
  module Fog
5
2
  module Compute
6
3
  class Google
@@ -1,5 +1,3 @@
1
- require 'fog/core/model'
2
-
3
1
  module Fog
4
2
  module Compute
5
3
  class Google
@@ -12,19 +10,19 @@ module Fog
12
10
 
13
11
  attribute :kind
14
12
  attribute :id
15
- attribute :creation_timestamp, :aliases => 'creationTimestamp'
13
+ attribute :creation_timestamp, :aliases => "creationTimestamp"
16
14
  attribute :deprecated
17
15
  attribute :description
18
16
  attribute :quotas
19
- attribute :self_link, :aliases => 'selfLink'
17
+ attribute :self_link, :aliases => "selfLink"
20
18
  attribute :status
21
19
  attribute :zones
22
20
 
23
- DOWN_STATE = 'DOWN'
24
- UP_STATE = 'UP'
21
+ DOWN_STATE = "DOWN"
22
+ UP_STATE = "UP"
25
23
 
26
24
  def up?
27
- self.status == UP_STATE
25
+ status == UP_STATE
28
26
  end
29
27
  end
30
28
  end
@@ -1,6 +1,3 @@
1
- require 'fog/core/collection'
2
- require 'fog/google/models/compute/region'
3
-
4
1
  module Fog
5
2
  module Compute
6
3
  class Google
@@ -9,7 +6,7 @@ module Fog
9
6
 
10
7
  def all
11
8
  data = service.list_regions.body
12
- load(data['items'] || [])
9
+ load(data["items"] || [])
13
10
  end
14
11
 
15
12
  def get(identity)
@@ -0,0 +1,108 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ # the resource view model creates either a region view or zone view depending on which is parameter is passed
5
+ class ResourceView < Fog::Model
6
+ identity :name
7
+
8
+ attribute :kind, :aliases => "kind"
9
+ attribute :self_link, :aliases => "selfLink"
10
+ attribute :id, :aliases => "id"
11
+ attribute :creation_timestamp, :aliases => "creationTimestamp"
12
+ attribute :description, :aliases => "description"
13
+ attribute :region, :aliases => "region" # string, required for region views
14
+ attribute :labels, :aliases => "labels" # array of hashes including 'key' and 'value' as keys
15
+ attribute :zone, :aliases => "zone" # string, required for zone views
16
+ attribute :last_modified, :aliases => "lastModified"
17
+ attribute :members, :aliases => "members" # array of members of resource view
18
+ attribute :num_members, :aliases => "numMemebers" # integer
19
+
20
+ def save
21
+ requires :name
22
+ labels ||= []
23
+ members ||= []
24
+
25
+ if region
26
+ options = {
27
+ "description" => description,
28
+ "labels" => labels,
29
+ "lastModified" => last_modified,
30
+ "members" => members,
31
+ "numMembers" => num_members
32
+ }
33
+ @region = region
34
+ data = service.insert_region_view(name, region, options).body
35
+ operation = service.get_region_view(data["resource"]["name"], nil, @region).body
36
+ end
37
+
38
+ if zone
39
+ options = {
40
+ "description" => description,
41
+ "labels" => labels,
42
+ "lastModified" => last_modified,
43
+ "members" => members,
44
+ "numMembers" => num_members
45
+ }
46
+ @zone = zone
47
+ data = service.insert_zone_view(name, zone, options).body
48
+ operation = service.get_zone_view(data["resource"]["name"], @zone).body
49
+ end
50
+ reload
51
+ end
52
+
53
+ def destroy(async = false)
54
+ requires :name
55
+ # parse the self link to get the zone or region
56
+ selflink = self_link.split("/")
57
+ if selflink[7] == "regions"
58
+ operation = service.delete_region_view(name, selflink[8])
59
+ end
60
+
61
+ if selflink[7] == "zones"
62
+ operation = service.delete_zone_view(name, selflink[8])
63
+ end
64
+
65
+ unless async
66
+ # wait until "DONE" to ensure the operation doesn't fail, raises
67
+ # exception on error
68
+ Fog.wait_for do
69
+ operation.body.nil?
70
+ end
71
+ end
72
+ operation
73
+ end
74
+
75
+ def add_resources(resources)
76
+ resources = [resources] unless resources.class == Array
77
+ resources.map { |resource| resource.class == String ? resource : resource.self_link }
78
+ service.add_zone_view_resources(self, resources, @zone) if @zone
79
+ service.add_region_view_resources(self, reources, @region) if @region
80
+ reload
81
+ end
82
+
83
+ def ready?
84
+ service.get_zone_view(name, @zone) if @zone
85
+ service.get_region_view(name, @region) if @region
86
+ true
87
+ rescue Fog::Errors::NotFound
88
+ false
89
+ end
90
+
91
+ def reload
92
+ requires :name
93
+
94
+ return unless data = begin
95
+ collection.get(name, region, zone)
96
+ rescue Excon::Errors::SocketError
97
+ nil
98
+ end
99
+
100
+ new_attributes = data.attributes
101
+ merge_attributes(new_attributes)
102
+ self
103
+ end
104
+ RUNNING_STATE = "READY"
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,54 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class ResourceViews < Fog::Collection
5
+ model Fog::Compute::Google::ResourceView
6
+
7
+ def all(filters = {})
8
+ if filters["region"].nil? && filters["zone"].nil?
9
+ data = []
10
+ service.list_regions.body["items"].each do |region|
11
+ data += service.list_region_views(region["name"]).body["items"] || []
12
+ end
13
+ service.list_zones.body["items"].each do |zone|
14
+ data += service.list_zone_views(zone["name"]).body["items"] || []
15
+ end
16
+ elsif filters["zone"]
17
+ data = service.list_zone_views(filters["zone"]).body["items"] || []
18
+ else
19
+ data = service.list_region_views(filters["region"]).body["items"] || []
20
+ end
21
+ load(data)
22
+ end
23
+
24
+ def get(identity, region = nil, zone = nil)
25
+ response = nil
26
+
27
+ if region.nil? & zone.nil?
28
+ service.list_regions.body["items"].each do |region|
29
+ begin
30
+ response = service.get_region_view(identity, region["name"])
31
+ break if response.status == 200
32
+ rescue Fog::Errors::Error
33
+ end
34
+ end
35
+ service.list_zones.body["items"].each do |zone|
36
+ begin
37
+ response = service.get_zone_view(identity, zone["name"])
38
+ break if response.status == 200
39
+ rescue Fog::Errors::Error
40
+ end
41
+ end
42
+ elsif region
43
+ response = service.get_region_view(identity, region)
44
+ else
45
+ response = service.get_zone_view(identity, zone)
46
+ end
47
+
48
+ return nil if response.nil?
49
+ new(response.body)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,5 +1,3 @@
1
- require 'fog/core/model'
2
-
3
1
  module Fog
4
2
  module Compute
5
3
  class Google
@@ -12,36 +10,34 @@ module Fog
12
10
 
13
11
  attribute :kind
14
12
  attribute :id
15
- attribute :creation_timestamp, :aliases => 'creationTimestamp'
13
+ attribute :creation_timestamp, :aliases => "creationTimestamp"
16
14
  attribute :description
17
- attribute :dest_range, :aliases => 'destRange'
15
+ attribute :dest_range, :aliases => "destRange"
18
16
  attribute :network
19
- attribute :next_hop_gateway, :aliases => 'nextHopGateway'
20
- attribute :next_hop_instance, :aliases => 'nextHopInstance'
21
- attribute :next_hop_ip, :aliases => 'nextHopIp'
22
- attribute :next_hop_network, :aliases => 'nextHopNetwork'
17
+ attribute :next_hop_gateway, :aliases => "nextHopGateway"
18
+ attribute :next_hop_instance, :aliases => "nextHopInstance"
19
+ attribute :next_hop_ip, :aliases => "nextHopIp"
20
+ attribute :next_hop_network, :aliases => "nextHopNetwork"
23
21
  attribute :priority
24
- attribute :self_link, :aliases => 'selfLink'
22
+ attribute :self_link, :aliases => "selfLink"
25
23
  attribute :tags
26
24
  attribute :warnings
27
25
 
28
26
  def save
29
27
  requires :identity, :network, :dest_range, :priority
30
28
 
31
- data = service.insert_route(identity, self.network, self.dest_range, self.priority, self.attributes)
32
- operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
29
+ data = service.insert_route(identity, network, dest_range, priority, attributes)
30
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"])
33
31
  operation.wait_for { !pending? }
34
32
  reload
35
33
  end
36
34
 
37
- def destroy(async=true)
35
+ def destroy(async = true)
38
36
  requires :identity
39
37
 
40
38
  data = service.delete_route(identity)
41
- operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
42
- unless async
43
- operation.wait_for { ready? }
44
- end
39
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"])
40
+ operation.wait_for { ready? } unless async
45
41
  operation
46
42
  end
47
43
  end
@@ -1,6 +1,3 @@
1
- require 'fog/core/collection'
2
- require 'fog/google/models/compute/route'
3
-
4
1
  module Fog
5
2
  module Compute
6
3
  class Google
@@ -9,7 +6,7 @@ module Fog
9
6
 
10
7
  def all
11
8
  data = service.list_routes.body
12
- load(data['items'] || [])
9
+ load(data["items"] || [])
13
10
  end
14
11
 
15
12
  def get(identity)
@@ -1,5 +1,4 @@
1
- require 'fog/compute/models/server'
2
- require 'net/ssh/proxy/command'
1
+ require "fog/compute/models/server"
3
2
 
4
3
  module Fog
5
4
  module Compute
@@ -9,25 +8,25 @@ module Fog
9
8
 
10
9
  attribute :kind
11
10
  attribute :id
12
- attribute :can_ip_forward, :aliases => 'canIpForward'
13
- attribute :creation_timestamp, :aliases => 'creationTimestamp'
11
+ attribute :can_ip_forward, :aliases => "canIpForward"
12
+ attribute :creation_timestamp, :aliases => "creationTimestamp"
14
13
  attribute :description
15
14
  attribute :disks
16
- attribute :machine_type, :aliases => 'machineType'
15
+ attribute :machine_type, :aliases => "machineType"
17
16
  attribute :metadata
18
- attribute :network_interfaces, :aliases => 'networkInterfaces'
17
+ attribute :network_interfaces, :aliases => "networkInterfaces"
19
18
  attribute :scheduling
20
- attribute :self_link, :aliases => 'selfLink'
21
- attribute :service_accounts, :aliases => 'serviceAccounts'
22
- attribute :state, :aliases => 'status'
23
- attribute :status_message, :aliases => 'statusMessage'
19
+ attribute :self_link, :aliases => "selfLink"
20
+ attribute :service_accounts, :aliases => "serviceAccounts"
21
+ attribute :state, :aliases => "status"
22
+ attribute :status_message, :aliases => "statusMessage"
24
23
  attribute :tags
25
24
  attribute :zone, :aliases => :zone_name
26
25
 
27
26
  # These attributes are not available in the representation of an 'instance' returned by the GCE API.
28
27
  # They are useful only for the create process
29
- attribute :network, :aliases => 'network'
30
- attribute :external_ip, :aliases => 'externalIP'
28
+ attribute :network, :aliases => "network"
29
+ attribute :external_ip, :aliases => "externalIP"
31
30
  attribute :auto_restart
32
31
  attribute :on_host_maintenance
33
32
  attribute :preemptible
@@ -35,33 +34,33 @@ module Fog
35
34
  # Security account scope aliases used by official gcloud utility
36
35
  # List derived from 'gcloud compute instances create --help'
37
36
  GCE_SCOPE_ALIASES = {
38
- 'compute-ro' => 'compute.readonly',
39
- 'compute-rw' => 'compute',
40
- 'computeaccounts-ro' => 'computeaccounts.readonly',
41
- 'computeaccounts-rw' => 'computeaccounts',
42
- 'logging-write' => 'logging.write',
43
- 'sql' => 'sqlservice',
44
- 'sql-admin' => 'sqlservice.admin',
45
- 'storage-full' => 'devstorage.full_control',
46
- 'storage-ro' => 'devstorage.read_only',
47
- 'storage-rw' => 'devstorage.read_write'
48
- }
49
-
50
- def image_name=(args)
37
+ "compute-ro" => "compute.readonly",
38
+ "compute-rw" => "compute",
39
+ "computeaccounts-ro" => "computeaccounts.readonly",
40
+ "computeaccounts-rw" => "computeaccounts",
41
+ "logging-write" => "logging.write",
42
+ "sql" => "sqlservice",
43
+ "sql-admin" => "sqlservice.admin",
44
+ "storage-full" => "devstorage.full_control",
45
+ "storage-ro" => "devstorage.read_only",
46
+ "storage-rw" => "devstorage.read_write"
47
+ }
48
+
49
+ def image_name=(_args)
51
50
  Fog::Logger.deprecation("image_name= is no longer used [light_black](#{caller.first})[/]")
52
51
  end
53
52
 
54
53
  def image_name
55
54
  boot_disk = disks.first
56
55
  unless boot_disk.is_a?(Disk)
57
- source = boot_disk['source']
56
+ source = boot_disk["source"]
58
57
  match = source.match(%r{/zones/(.*)/disks/(.*)$})
59
58
  boot_disk = service.disks.get match[2], match[1]
60
59
  end
61
60
  boot_disk.source_image.nil? ? nil : boot_disk.source_image
62
61
  end
63
62
 
64
- def kernel=(args)
63
+ def kernel=(_args)
65
64
  Fog::Logger.deprecation("kernel= is no longer used [light_black](#{caller.first})[/]")
66
65
  end
67
66
 
@@ -75,35 +74,32 @@ module Fog
75
74
  end
76
75
 
77
76
  def flavor_id=(flavor_id)
78
- machine_type=flavor_id
77
+ machine_type = flavor_id
79
78
  end
80
79
 
81
- def destroy(async=true)
80
+ def destroy(async = true)
82
81
  requires :name, :zone
83
82
 
84
83
  data = service.delete_server(name, zone_name)
85
- operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
86
- unless async
87
- operation.wait_for { ready? }
88
- end
84
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
85
+ operation.wait_for { ready? } unless async
89
86
  operation
90
87
  end
91
88
 
92
89
  # not used since v1
93
90
  def image
94
91
  Fog::Logger.deprecation("Server.image is deprecated, get source_image from boot disk")
95
- service.get_image(self.image_name.split('/')[-1])
92
+ service.get_image(image_name.split("/")[-1])
96
93
  end
97
94
 
98
95
  def public_ip_address
99
96
  ip = nil
100
- if self.network_interfaces.respond_to? :each
101
- self.network_interfaces.each do |netif|
102
- if netif["accessConfigs"].respond_to? :each
103
- netif["accessConfigs"].each do |access_config|
104
- if access_config["name"] == "External NAT"
105
- ip = access_config['natIP']
106
- end
97
+ if network_interfaces.respond_to? :each
98
+ network_interfaces.each do |netif|
99
+ next unless netif["accessConfigs"].respond_to? :each
100
+ netif["accessConfigs"].each do |access_config|
101
+ if access_config["name"] == "External NAT"
102
+ ip = access_config["natIP"]
107
103
  end
108
104
  end
109
105
  end
@@ -114,8 +110,8 @@ module Fog
114
110
 
115
111
  def private_ip_address
116
112
  ip = nil
117
- if self.network_interfaces.respond_to? :first
118
- ip = self.network_interfaces.first['networkIP']
113
+ if network_interfaces.respond_to? :first
114
+ ip = network_interfaces.first["networkIP"]
119
115
  end
120
116
  ip
121
117
  end
@@ -128,102 +124,95 @@ module Fog
128
124
  requires :identity, :zone
129
125
 
130
126
  data = service.attach_disk(identity, zone_name, disk, options)
131
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
127
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
132
128
  end
133
129
 
134
130
  def detach_disk(device_name)
135
131
  requires :identity, :zone
136
132
 
137
133
  data = service.detach_disk(identity, zone, device_name)
138
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
134
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
139
135
  end
140
136
 
141
137
  def reboot
142
138
  requires :identity, :zone
143
139
 
144
140
  data = service.reset_server(identity, zone_name)
145
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
141
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
146
142
  end
147
143
 
148
144
  def start
149
145
  requires :identity, :zone
150
146
 
151
147
  data = service.start_server(identity, zone_name)
152
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
148
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
153
149
  end
154
150
 
155
151
  def stop
156
152
  requires :identity, :zone
157
153
 
158
154
  data = service.stop_server(identity, zone_name)
159
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
155
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
160
156
  end
161
157
 
162
158
  def serial_port_output
163
159
  requires :identity, :zone
164
160
 
165
161
  data = service.get_server_serial_port_output(identity, zone_name)
166
- data.body['contents']
162
+ data.body["contents"]
167
163
  end
168
164
 
169
165
  def set_disk_auto_delete(auto_delete, device_name)
170
166
  requires :identity, :zone
171
167
 
172
168
  data = service.set_server_disk_auto_delete(identity, zone_name, auto_delete, device_name)
173
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
169
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
174
170
  end
175
171
 
176
172
  def set_scheduling(on_host_maintenance, automatic_restart, preemptible)
177
173
  requires :identity, :zone
178
174
 
179
175
  data = service.set_server_scheduling(identity, zone_name, on_host_maintenance, automatic_restart, preemptible)
180
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
176
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
181
177
  end
182
178
 
183
179
  def set_metadata(metadata = {})
184
180
  requires :identity, :zone
185
181
 
186
- data = service.set_metadata(identity, zone_name, self.metadata['fingerprint'], metadata)
187
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
182
+ data = service.set_metadata(identity, zone_name, self.metadata["fingerprint"], metadata)
183
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
188
184
  end
189
185
 
190
186
  def set_tags(tags = [])
191
187
  requires :identity, :zone
192
188
 
193
- data = service.set_tags(identity, zone_name, self.tags['fingerprint'], tags)
194
- Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
189
+ data = service.set_tags(identity, zone_name, self.tags["fingerprint"], tags)
190
+ Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
195
191
  end
196
192
 
197
193
  def ready?
198
- self.state == RUNNING
194
+ state == RUNNING
199
195
  end
200
196
 
201
197
  def zone_name
202
- zone.nil? ? nil : zone.split('/')[-1]
198
+ zone.nil? ? nil : zone.split("/")[-1]
203
199
  end
204
200
 
205
- def add_ssh_key username, key
206
- if self.metadata.nil?
207
- self.metadata = Hash.new("")
208
- end
201
+ def add_ssh_key(username, key)
202
+ self.metadata = Hash.new("") if metadata.nil?
209
203
 
210
204
  # You can have multiple SSH keys, seperated by newlines.
211
205
  # https://developers.google.com/compute/docs/console?hl=en#sshkeys
212
- if !self.metadata["sshKeys"]
213
- self.metadata["sshKeys"] = ""
214
- end
206
+ metadata["sshKeys"] = "" unless metadata["sshKeys"]
215
207
 
216
- if !self.metadata["sshKeys"].empty?
217
- self.metadata["sshKeys"] += "\n"
218
- end
208
+ metadata["sshKeys"] += "\n" unless metadata["sshKeys"].empty?
219
209
 
220
- self.metadata["sshKeys"] += "#{username}:#{key.strip}"
210
+ metadata["sshKeys"] += "#{username}:#{key.strip}"
221
211
 
222
- return self.metadata
212
+ metadata
223
213
  end
224
214
 
225
215
  def map_service_accounts(scope_array)
226
-
227
216
  scope_array_expanded = scope_array.map do |e|
228
217
  if GCE_SCOPE_ALIASES[e]
229
218
  GCE_SCOPE_ALIASES[e]
@@ -240,12 +229,12 @@ module Fog
240
229
  end
241
230
  end
242
231
 
243
- return scope_array_finalized
232
+ scope_array_finalized
244
233
  end
245
234
 
246
235
  def reload
247
- data = service.get_server(self.name, zone_name).body
248
- self.merge_attributes(data)
236
+ data = service.get_server(name, zone_name).body
237
+ merge_attributes(data)
249
238
  end
250
239
 
251
240
  def save
@@ -254,37 +243,37 @@ module Fog
254
243
  requires :zone_name
255
244
  requires :disks
256
245
 
257
- if not service.zones.find{ |zone| zone.name == self.zone_name }
258
- raise ArgumentError.new "#{self.zone_name.inspect} is either down or you don't have permission to use it."
246
+ unless service.zones.detect { |zone| zone.name == zone_name }
247
+ raise ArgumentError.new "#{zone_name.inspect} is either down or you don't have permission to use it."
259
248
  end
260
249
 
261
- self.add_ssh_key(self.username, self.public_key) if self.public_key
250
+ add_ssh_key(username, public_key) if public_key
262
251
 
263
252
  options = {
264
- 'machineType' => machine_type,
265
- 'networkInterfaces' => network_interfaces,
266
- 'network' => network,
267
- 'externalIp' => external_ip,
268
- 'disks' => disks,
269
- 'metadata' => metadata,
270
- 'serviceAccounts' => service_accounts,
271
- 'tags' => tags,
272
- 'auto_restart' => auto_restart,
273
- 'on_host_maintenance' => on_host_maintenance,
274
- 'preemptible' => preemptible,
275
- 'can_ip_forward' => can_ip_forward
276
- }.delete_if {|key, value| value.nil?}
253
+ "machineType" => machine_type,
254
+ "networkInterfaces" => network_interfaces,
255
+ "network" => network,
256
+ "externalIp" => external_ip,
257
+ "disks" => disks,
258
+ "metadata" => metadata,
259
+ "serviceAccounts" => service_accounts,
260
+ "tags" => tags,
261
+ "auto_restart" => auto_restart,
262
+ "on_host_maintenance" => on_host_maintenance,
263
+ "preemptible" => preemptible,
264
+ "can_ip_forward" => can_ip_forward
265
+ }.delete_if { |_key, value| value.nil? }
277
266
 
278
267
  if service_accounts
279
- options['serviceAccounts'] = [{
268
+ options["serviceAccounts"] = [{
280
269
  "kind" => "compute#serviceAccount",
281
270
  "email" => "default",
282
- "scopes" => self.map_service_accounts(service_accounts)
271
+ "scopes" => map_service_accounts(service_accounts)
283
272
  }]
284
273
  end
285
274
 
286
275
  data = service.insert_server(name, zone_name, options)
287
- operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'], data.body['zone'])
276
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], data.body["zone"])
288
277
  operation.wait_for { !pending? }
289
278
  reload
290
279
  end