fog-google 0.6.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -7
  3. data/README.md +17 -15
  4. data/ci/.gitignore +1 -0
  5. data/ci/README.md +70 -0
  6. data/ci/credentials.yml.tpl +13 -0
  7. data/ci/docker-image/Dockerfile +20 -0
  8. data/ci/pipeline.yml +63 -0
  9. data/ci/tasks/run-int.sh +34 -0
  10. data/ci/tasks/run-int.yml +15 -0
  11. data/ci/tasks/utils.sh +10 -0
  12. data/examples/l7_load_balance.rb +16 -8
  13. data/examples/metadata.rb +2 -1
  14. data/examples/monitoring/timeseries_collection.rb +2 -2
  15. data/examples/sql/instances.rb +3 -7
  16. data/examples/sql/operations.rb +2 -2
  17. data/examples/sql/ssl_certs.rb +4 -4
  18. data/fog-google.gemspec +11 -12
  19. data/lib/fog/bin/google.rb +16 -13
  20. data/lib/fog/compute/google.rb +30 -29
  21. data/lib/fog/compute/google/mock.rb +380 -377
  22. data/lib/fog/compute/google/models/address.rb +46 -16
  23. data/lib/fog/compute/google/models/addresses.rb +22 -14
  24. data/lib/fog/compute/google/models/backend_service.rb +27 -26
  25. data/lib/fog/compute/google/models/backend_services.rb +6 -5
  26. data/lib/fog/compute/google/models/disk.rb +32 -42
  27. data/lib/fog/compute/google/models/disk_type.rb +1 -0
  28. data/lib/fog/compute/google/models/disk_types.rb +18 -12
  29. data/lib/fog/compute/google/models/disks.rb +35 -19
  30. data/lib/fog/compute/google/models/firewall.rb +31 -8
  31. data/lib/fog/compute/google/models/firewalls.rb +7 -6
  32. data/lib/fog/compute/google/models/forwarding_rule.rb +31 -34
  33. data/lib/fog/compute/google/models/forwarding_rules.rb +27 -17
  34. data/lib/fog/compute/google/models/global_address.rb +7 -37
  35. data/lib/fog/compute/google/models/global_addresses.rb +17 -17
  36. data/lib/fog/compute/google/models/global_forwarding_rule.rb +33 -37
  37. data/lib/fog/compute/google/models/global_forwarding_rules.rb +7 -6
  38. data/lib/fog/compute/google/models/http_health_check.rb +56 -32
  39. data/lib/fog/compute/google/models/http_health_checks.rb +4 -4
  40. data/lib/fog/compute/google/models/image.rb +27 -34
  41. data/lib/fog/compute/google/models/images.rb +38 -38
  42. data/lib/fog/compute/google/models/instance_group.rb +4 -4
  43. data/lib/fog/compute/google/models/instance_groups.rb +15 -13
  44. data/lib/fog/compute/google/models/{flavor.rb → machine_type.rb} +6 -14
  45. data/lib/fog/compute/google/models/machine_types.rb +37 -0
  46. data/lib/fog/compute/google/models/network.rb +17 -11
  47. data/lib/fog/compute/google/models/networks.rb +5 -4
  48. data/lib/fog/compute/google/models/operation.rb +3 -3
  49. data/lib/fog/compute/google/models/operations.rb +20 -9
  50. data/lib/fog/compute/google/models/project.rb +2 -2
  51. data/lib/fog/compute/google/models/projects.rb +3 -2
  52. data/lib/fog/compute/google/models/region.rb +2 -2
  53. data/lib/fog/compute/google/models/regions.rb +5 -4
  54. data/lib/fog/compute/google/models/route.rb +5 -2
  55. data/lib/fog/compute/google/models/routes.rb +5 -4
  56. data/lib/fog/compute/google/models/server.rb +358 -171
  57. data/lib/fog/compute/google/models/servers.rb +66 -33
  58. data/lib/fog/compute/google/models/snapshot.rb +22 -10
  59. data/lib/fog/compute/google/models/snapshots.rb +7 -5
  60. data/lib/fog/compute/google/models/ssl_certificate.rb +10 -3
  61. data/lib/fog/compute/google/models/ssl_certificates.rb +5 -4
  62. data/lib/fog/compute/google/models/subnetwork.rb +31 -2
  63. data/lib/fog/compute/google/models/subnetworks.rb +16 -8
  64. data/lib/fog/compute/google/models/target_http_proxies.rb +4 -3
  65. data/lib/fog/compute/google/models/target_http_proxy.rb +29 -27
  66. data/lib/fog/compute/google/models/target_https_proxies.rb +4 -3
  67. data/lib/fog/compute/google/models/target_https_proxy.rb +46 -27
  68. data/lib/fog/compute/google/models/target_instance.rb +21 -23
  69. data/lib/fog/compute/google/models/target_instances.rb +21 -13
  70. data/lib/fog/compute/google/models/target_pool.rb +87 -44
  71. data/lib/fog/compute/google/models/target_pools.rb +21 -13
  72. data/lib/fog/compute/google/models/url_map.rb +58 -28
  73. data/lib/fog/compute/google/models/url_maps.rb +4 -3
  74. data/lib/fog/compute/google/models/zone.rb +10 -6
  75. data/lib/fog/compute/google/models/zones.rb +4 -3
  76. data/lib/fog/compute/google/real.rb +2 -3
  77. data/lib/fog/compute/google/requests/add_backend_service_backends.rb +2 -14
  78. data/lib/fog/compute/google/requests/add_instance_group_instances.rb +13 -15
  79. data/lib/fog/compute/google/requests/add_server_access_config.rb +15 -17
  80. data/lib/fog/compute/google/requests/add_target_pool_health_checks.rb +15 -12
  81. data/lib/fog/compute/google/requests/add_target_pool_instances.rb +13 -12
  82. data/lib/fog/compute/google/requests/attach_disk.rb +6 -20
  83. data/lib/fog/compute/google/requests/create_disk_snapshot.rb +22 -0
  84. data/lib/fog/compute/google/requests/delete_address.rb +6 -8
  85. data/lib/fog/compute/google/requests/delete_backend_service.rb +3 -29
  86. data/lib/fog/compute/google/requests/delete_disk.rb +8 -31
  87. data/lib/fog/compute/google/requests/delete_firewall.rb +1 -7
  88. data/lib/fog/compute/google/requests/delete_forwarding_rule.rb +5 -36
  89. data/lib/fog/compute/google/requests/delete_global_address.rb +1 -6
  90. data/lib/fog/compute/google/requests/delete_global_forwarding_rule.rb +4 -35
  91. data/lib/fog/compute/google/requests/delete_global_operation.rb +2 -9
  92. data/lib/fog/compute/google/requests/delete_http_health_check.rb +4 -28
  93. data/lib/fog/compute/google/requests/delete_image.rb +4 -29
  94. data/lib/fog/compute/google/requests/delete_instance_group.rb +1 -8
  95. data/lib/fog/compute/google/requests/delete_network.rb +1 -7
  96. data/lib/fog/compute/google/requests/delete_region_operation.rb +5 -14
  97. data/lib/fog/compute/google/requests/delete_route.rb +5 -7
  98. data/lib/fog/compute/google/requests/delete_server.rb +4 -54
  99. data/lib/fog/compute/google/requests/delete_server_access_config.rb +5 -11
  100. data/lib/fog/compute/google/requests/delete_snapshot.rb +1 -7
  101. data/lib/fog/compute/google/requests/delete_ssl_certificate.rb +1 -7
  102. data/lib/fog/compute/google/requests/delete_subnetwork.rb +12 -32
  103. data/lib/fog/compute/google/requests/delete_target_http_proxy.rb +4 -30
  104. data/lib/fog/compute/google/requests/delete_target_https_proxy.rb +3 -9
  105. data/lib/fog/compute/google/requests/delete_target_instance.rb +5 -33
  106. data/lib/fog/compute/google/requests/delete_target_pool.rb +5 -36
  107. data/lib/fog/compute/google/requests/delete_url_map.rb +4 -30
  108. data/lib/fog/compute/google/requests/delete_zone_operation.rb +1 -8
  109. data/lib/fog/compute/google/requests/deprecate_image.rb +20 -0
  110. data/lib/fog/compute/google/requests/detach_disk.rb +4 -11
  111. data/lib/fog/compute/google/requests/expand_subnetwork_ip_cidr_range.rb +36 -0
  112. data/lib/fog/compute/google/requests/get_address.rb +6 -8
  113. data/lib/fog/compute/google/requests/get_backend_service.rb +1 -6
  114. data/lib/fog/compute/google/requests/get_backend_service_health.rb +3 -8
  115. data/lib/fog/compute/google/requests/get_disk.rb +7 -31
  116. data/lib/fog/compute/google/requests/get_disk_type.rb +4 -27
  117. data/lib/fog/compute/google/requests/get_firewall.rb +1 -7
  118. data/lib/fog/compute/google/requests/get_forwarding_rule.rb +6 -30
  119. data/lib/fog/compute/google/requests/get_global_address.rb +1 -6
  120. data/lib/fog/compute/google/requests/get_global_forwarding_rule.rb +4 -17
  121. data/lib/fog/compute/google/requests/get_global_operation.rb +7 -36
  122. data/lib/fog/compute/google/requests/get_http_health_check.rb +4 -24
  123. data/lib/fog/compute/google/requests/get_image.rb +4 -22
  124. data/lib/fog/compute/google/requests/get_image_from_family.rb +9 -20
  125. data/lib/fog/compute/google/requests/get_instance_group.rb +1 -8
  126. data/lib/fog/compute/google/requests/get_machine_type.rb +5 -28
  127. data/lib/fog/compute/google/requests/get_network.rb +1 -7
  128. data/lib/fog/compute/google/requests/get_project.rb +1 -6
  129. data/lib/fog/compute/google/requests/get_region.rb +3 -23
  130. data/lib/fog/compute/google/requests/get_region_operation.rb +7 -42
  131. data/lib/fog/compute/google/requests/get_route.rb +4 -7
  132. data/lib/fog/compute/google/requests/get_server.rb +4 -58
  133. data/lib/fog/compute/google/requests/get_server_serial_port_output.rb +21 -9
  134. data/lib/fog/compute/google/requests/get_snapshot.rb +1 -8
  135. data/lib/fog/compute/google/requests/get_ssl_certificate.rb +1 -6
  136. data/lib/fog/compute/google/requests/get_subnetwork.rb +11 -29
  137. data/lib/fog/compute/google/requests/get_target_http_proxy.rb +4 -12
  138. data/lib/fog/compute/google/requests/get_target_https_proxy.rb +3 -9
  139. data/lib/fog/compute/google/requests/get_target_instance.rb +5 -15
  140. data/lib/fog/compute/google/requests/get_target_pool.rb +5 -27
  141. data/lib/fog/compute/google/requests/get_target_pool_health.rb +7 -24
  142. data/lib/fog/compute/google/requests/get_url_map.rb +4 -12
  143. data/lib/fog/compute/google/requests/get_zone.rb +3 -22
  144. data/lib/fog/compute/google/requests/get_zone_operation.rb +8 -38
  145. data/lib/fog/compute/google/requests/insert_address.rb +12 -9
  146. data/lib/fog/compute/google/requests/insert_backend_service.rb +7 -49
  147. data/lib/fog/compute/google/requests/insert_disk.rb +25 -96
  148. data/lib/fog/compute/google/requests/insert_firewall.rb +46 -26
  149. data/lib/fog/compute/google/requests/insert_forwarding_rule.rb +14 -47
  150. data/lib/fog/compute/google/requests/insert_global_address.rb +7 -8
  151. data/lib/fog/compute/google/requests/insert_global_forwarding_rule.rb +11 -43
  152. data/lib/fog/compute/google/requests/insert_http_health_check.rb +9 -46
  153. data/lib/fog/compute/google/requests/insert_image.rb +8 -51
  154. data/lib/fog/compute/google/requests/insert_instance_group.rb +16 -19
  155. data/lib/fog/compute/google/requests/insert_network.rb +16 -13
  156. data/lib/fog/compute/google/requests/insert_route.rb +18 -20
  157. data/lib/fog/compute/google/requests/insert_server.rb +74 -235
  158. data/lib/fog/compute/google/requests/insert_ssl_certificate.rb +10 -14
  159. data/lib/fog/compute/google/requests/insert_subnetwork.rb +37 -53
  160. data/lib/fog/compute/google/requests/insert_target_http_proxy.rb +11 -39
  161. data/lib/fog/compute/google/requests/insert_target_https_proxy.rb +13 -10
  162. data/lib/fog/compute/google/requests/insert_target_instance.rb +10 -42
  163. data/lib/fog/compute/google/requests/insert_target_pool.rb +7 -45
  164. data/lib/fog/compute/google/requests/insert_url_map.rb +10 -41
  165. data/lib/fog/compute/google/requests/invalidate_url_map_cache.rb +22 -0
  166. data/lib/fog/compute/google/requests/list_addresses.rb +12 -9
  167. data/lib/fog/compute/google/requests/list_aggregated_addresses.rb +5 -7
  168. data/lib/fog/compute/google/requests/list_aggregated_disk_types.rb +9 -25
  169. data/lib/fog/compute/google/requests/list_aggregated_disks.rb +17 -24
  170. data/lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb +22 -0
  171. data/lib/fog/compute/google/requests/list_aggregated_instance_groups.rb +2 -7
  172. data/lib/fog/compute/google/requests/list_aggregated_machine_types.rb +8 -8
  173. data/lib/fog/compute/google/requests/list_aggregated_servers.rb +9 -24
  174. data/lib/fog/compute/google/requests/list_aggregated_subnetworks.rb +20 -20
  175. data/lib/fog/compute/google/requests/list_aggregated_target_instances.rb +11 -26
  176. data/lib/fog/compute/google/requests/list_aggregated_target_pools.rb +24 -0
  177. data/lib/fog/compute/google/requests/list_backend_services.rb +1 -6
  178. data/lib/fog/compute/google/requests/list_disk_types.rb +9 -31
  179. data/lib/fog/compute/google/requests/list_disks.rb +13 -14
  180. data/lib/fog/compute/google/requests/list_firewalls.rb +7 -7
  181. data/lib/fog/compute/google/requests/list_forwarding_rules.rb +10 -14
  182. data/lib/fog/compute/google/requests/list_global_addresses.rb +24 -0
  183. data/lib/fog/compute/google/requests/list_global_forwarding_rules.rb +9 -15
  184. data/lib/fog/compute/google/requests/list_global_operations.rb +10 -9
  185. data/lib/fog/compute/google/requests/list_http_health_checks.rb +8 -13
  186. data/lib/fog/compute/google/requests/list_images.rb +10 -14
  187. data/lib/fog/compute/google/requests/list_instance_group_instances.rb +3 -8
  188. data/lib/fog/compute/google/requests/list_instance_groups.rb +1 -7
  189. data/lib/fog/compute/google/requests/list_machine_types.rb +10 -15
  190. data/lib/fog/compute/google/requests/list_networks.rb +8 -8
  191. data/lib/fog/compute/google/requests/list_region_operations.rb +12 -10
  192. data/lib/fog/compute/google/requests/list_regions.rb +7 -69
  193. data/lib/fog/compute/google/requests/list_routes.rb +11 -7
  194. data/lib/fog/compute/google/requests/list_servers.rb +9 -16
  195. data/lib/fog/compute/google/requests/list_snapshots.rb +5 -9
  196. data/lib/fog/compute/google/requests/list_ssl_certificates.rb +9 -6
  197. data/lib/fog/compute/google/requests/list_subnetworks.rb +24 -22
  198. data/lib/fog/compute/google/requests/list_target_http_proxies.rb +10 -14
  199. data/lib/fog/compute/google/requests/list_target_https_proxies.rb +7 -7
  200. data/lib/fog/compute/google/requests/list_target_instances.rb +12 -15
  201. data/lib/fog/compute/google/requests/list_target_pools.rb +11 -14
  202. data/lib/fog/compute/google/requests/list_url_maps.rb +10 -14
  203. data/lib/fog/compute/google/requests/list_zone_operations.rb +11 -10
  204. data/lib/fog/compute/google/requests/list_zones.rb +10 -12
  205. data/lib/fog/compute/google/requests/patch_firewall.rb +25 -0
  206. data/lib/fog/compute/google/requests/patch_url_map.rb +19 -0
  207. data/lib/fog/compute/google/requests/remove_instance_group_instances.rb +13 -15
  208. data/lib/fog/compute/google/requests/remove_target_pool_health_checks.rb +13 -12
  209. data/lib/fog/compute/google/requests/remove_target_pool_instance.rb +13 -12
  210. data/lib/fog/compute/google/requests/remove_target_pool_instances.rb +13 -12
  211. data/lib/fog/compute/google/requests/reset_server.rb +1 -8
  212. data/lib/fog/compute/google/requests/set_common_instance_metadata.rb +6 -11
  213. data/lib/fog/compute/google/requests/set_forwarding_rule_target.rb +7 -13
  214. data/lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb +6 -13
  215. data/lib/fog/compute/google/requests/set_server_disk_auto_delete.rb +8 -10
  216. data/lib/fog/compute/google/requests/set_server_metadata.rb +35 -0
  217. data/lib/fog/compute/google/requests/set_server_scheduling.rb +7 -15
  218. data/lib/fog/compute/google/requests/set_server_tags.rb +23 -0
  219. data/lib/fog/compute/google/requests/set_snapshot_labels.rb +23 -0
  220. data/lib/fog/compute/google/requests/set_subnetwork_private_ip_google_access.rb +40 -0
  221. data/lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb +8 -13
  222. data/lib/fog/compute/google/requests/set_target_https_proxy_ssl_certificates.rb +22 -0
  223. data/lib/fog/compute/google/requests/set_target_https_proxy_url_map.rb +8 -13
  224. data/lib/fog/compute/google/requests/set_target_pool_backup.rb +29 -0
  225. data/lib/fog/compute/google/requests/start_server.rb +3 -10
  226. data/lib/fog/compute/google/requests/stop_server.rb +3 -10
  227. data/lib/fog/compute/google/requests/update_firewall.rb +32 -28
  228. data/lib/fog/compute/google/requests/update_http_health_check.rb +23 -0
  229. data/lib/fog/compute/google/requests/update_url_map.rb +11 -24
  230. data/lib/fog/compute/google/requests/validate_url_map.rb +8 -10
  231. data/lib/fog/dns/google.rb +4 -3
  232. data/lib/fog/dns/google/models/change.rb +2 -2
  233. data/lib/fog/dns/google/models/changes.rb +6 -5
  234. data/lib/fog/dns/google/models/project.rb +6 -6
  235. data/lib/fog/dns/google/models/projects.rb +3 -2
  236. data/lib/fog/dns/google/models/record.rb +16 -10
  237. data/lib/fog/dns/google/models/records.rb +8 -4
  238. data/lib/fog/dns/google/models/zone.rb +1 -1
  239. data/lib/fog/dns/google/models/zones.rb +4 -3
  240. data/lib/fog/dns/google/real.rb +2 -3
  241. data/lib/fog/dns/google/requests/create_change.rb +9 -46
  242. data/lib/fog/dns/google/requests/create_managed_zone.rb +7 -62
  243. data/lib/fog/dns/google/requests/delete_managed_zone.rb +3 -17
  244. data/lib/fog/dns/google/requests/get_change.rb +3 -24
  245. data/lib/fog/dns/google/requests/get_managed_zone.rb +3 -19
  246. data/lib/fog/dns/google/requests/get_project.rb +3 -23
  247. data/lib/fog/dns/google/requests/list_changes.rb +11 -24
  248. data/lib/fog/dns/google/requests/list_managed_zones.rb +7 -14
  249. data/lib/fog/dns/google/requests/list_resource_record_sets.rb +11 -33
  250. data/lib/fog/google/models/monitoring/metric_descriptors.rb +24 -7
  251. data/lib/fog/google/models/monitoring/monitored_resource_descriptors.rb +18 -7
  252. data/lib/fog/google/models/monitoring/timeseries_collection.rb +25 -15
  253. data/lib/fog/google/models/pubsub/subscription.rb +5 -5
  254. data/lib/fog/google/models/pubsub/subscriptions.rb +4 -3
  255. data/lib/fog/google/models/pubsub/topic.rb +3 -4
  256. data/lib/fog/google/models/pubsub/topics.rb +4 -3
  257. data/lib/fog/google/models/sql/backup_run.rb +8 -5
  258. data/lib/fog/google/models/sql/backup_runs.rb +9 -9
  259. data/lib/fog/google/models/sql/flag.rb +2 -1
  260. data/lib/fog/google/models/sql/flags.rb +1 -1
  261. data/lib/fog/google/models/sql/instance.rb +76 -91
  262. data/lib/fog/google/models/sql/instances.rb +5 -8
  263. data/lib/fog/google/models/sql/operation.rb +24 -18
  264. data/lib/fog/google/models/sql/operations.rb +7 -9
  265. data/lib/fog/google/models/sql/ssl_cert.rb +11 -11
  266. data/lib/fog/google/models/sql/ssl_certs.rb +8 -8
  267. data/lib/fog/google/models/sql/tier.rb +1 -1
  268. data/lib/fog/google/models/sql/tiers.rb +1 -1
  269. data/lib/fog/google/models/sql/user.rb +44 -0
  270. data/lib/fog/google/models/sql/users.rb +21 -0
  271. data/lib/fog/google/monitoring.rb +5 -0
  272. data/lib/fog/google/monitoring/real.rb +2 -3
  273. data/lib/fog/google/pubsub.rb +1 -0
  274. data/lib/fog/google/pubsub/real.rb +1 -1
  275. data/lib/fog/google/requests/monitoring/create_metric_descriptor.rb +49 -0
  276. data/lib/fog/google/requests/monitoring/create_timeseries.rb +27 -0
  277. data/lib/fog/google/requests/monitoring/delete_metric_descriptor.rb +17 -0
  278. data/lib/fog/google/requests/monitoring/get_metric_descriptor.rb +17 -0
  279. data/lib/fog/google/requests/monitoring/get_monitored_resource_descriptor.rb +19 -0
  280. data/lib/fog/google/requests/monitoring/list_metric_descriptors.rb +8 -230
  281. data/lib/fog/google/requests/monitoring/list_monitored_resource_descriptors.rb +9 -45
  282. data/lib/fog/google/requests/monitoring/list_timeseries.rb +26 -60
  283. data/lib/fog/google/requests/pubsub/acknowledge_subscription.rb +11 -28
  284. data/lib/fog/google/requests/pubsub/create_subscription.rb +8 -27
  285. data/lib/fog/google/requests/pubsub/create_topic.rb +3 -16
  286. data/lib/fog/google/requests/pubsub/delete_subscription.rb +3 -10
  287. data/lib/fog/google/requests/pubsub/delete_topic.rb +3 -11
  288. data/lib/fog/google/requests/pubsub/get_subscription.rb +3 -26
  289. data/lib/fog/google/requests/pubsub/get_topic.rb +3 -23
  290. data/lib/fog/google/requests/pubsub/list_subscriptions.rb +7 -17
  291. data/lib/fog/google/requests/pubsub/list_topics.rb +7 -11
  292. data/lib/fog/google/requests/pubsub/publish_topic.rb +6 -39
  293. data/lib/fog/google/requests/pubsub/pull_subscription.rb +7 -48
  294. data/lib/fog/google/requests/sql/clone_instance.rb +20 -64
  295. data/lib/fog/google/requests/sql/delete_backup_run.rb +21 -0
  296. data/lib/fog/google/requests/sql/delete_instance.rb +4 -49
  297. data/lib/fog/google/requests/sql/delete_ssl_cert.rb +4 -50
  298. data/lib/fog/google/requests/sql/delete_user.rb +22 -0
  299. data/lib/fog/google/requests/sql/export_instance.rb +35 -38
  300. data/lib/fog/google/requests/sql/get_backup_run.rb +5 -14
  301. data/lib/fog/google/requests/sql/get_instance.rb +4 -30
  302. data/lib/fog/google/requests/sql/get_operation.rb +5 -49
  303. data/lib/fog/google/requests/sql/get_ssl_cert.rb +4 -48
  304. data/lib/fog/google/requests/sql/import_instance.rb +23 -36
  305. data/lib/fog/google/requests/sql/insert_backup_run.rb +26 -0
  306. data/lib/fog/google/requests/sql/insert_instance.rb +9 -146
  307. data/lib/fog/google/requests/sql/insert_ssl_cert.rb +10 -62
  308. data/lib/fog/google/requests/sql/insert_user.rb +23 -0
  309. data/lib/fog/google/requests/sql/list_backup_runs.rb +5 -10
  310. data/lib/fog/google/requests/sql/list_flags.rb +3 -124
  311. data/lib/fog/google/requests/sql/list_instances.rb +8 -15
  312. data/lib/fog/google/requests/sql/list_operations.rb +8 -34
  313. data/lib/fog/google/requests/sql/list_ssl_certs.rb +4 -33
  314. data/lib/fog/google/requests/sql/list_tiers.rb +2 -62
  315. data/lib/fog/google/requests/sql/list_users.rb +22 -0
  316. data/lib/fog/google/requests/sql/reset_instance_ssl_config.rb +4 -29
  317. data/lib/fog/google/requests/sql/restart_instance.rb +4 -29
  318. data/lib/fog/google/requests/sql/restore_instance_backup.rb +11 -12
  319. data/lib/fog/google/requests/sql/update_instance.rb +13 -116
  320. data/lib/fog/google/requests/sql/update_user.rb +25 -0
  321. data/lib/fog/google/shared.rb +53 -69
  322. data/lib/fog/google/sql.rb +16 -4
  323. data/lib/fog/google/sql/real.rb +2 -2
  324. data/lib/fog/google/version.rb +1 -1
  325. data/lib/fog/parsers/storage/google/get_bucket_object_versions.rb +12 -8
  326. data/lib/fog/storage/google_json.rb +10 -4
  327. data/lib/fog/storage/google_json/models/directories.rb +17 -10
  328. data/lib/fog/storage/google_json/models/directory.rb +28 -31
  329. data/lib/fog/storage/google_json/models/file.rb +36 -88
  330. data/lib/fog/storage/google_json/models/files.rb +16 -25
  331. data/lib/fog/storage/google_json/real.rb +4 -4
  332. data/lib/fog/storage/google_json/requests/copy_object.rb +15 -50
  333. data/lib/fog/storage/google_json/requests/delete_bucket.rb +4 -25
  334. data/lib/fog/storage/google_json/requests/delete_object.rb +5 -29
  335. data/lib/fog/storage/google_json/requests/get_bucket.rb +25 -68
  336. data/lib/fog/storage/google_json/requests/get_bucket_acl.rb +14 -38
  337. data/lib/fog/storage/google_json/requests/get_object.rb +53 -75
  338. data/lib/fog/storage/google_json/requests/get_object_acl.rb +14 -40
  339. data/lib/fog/storage/google_json/requests/get_object_http_url.rb +6 -13
  340. data/lib/fog/storage/google_json/requests/get_object_https_url.rb +5 -12
  341. data/lib/fog/storage/google_json/requests/get_object_metadata.rb +30 -0
  342. data/lib/fog/storage/google_json/requests/get_object_url.rb +2 -3
  343. data/lib/fog/storage/google_json/requests/list_bucket_acl.rb +24 -0
  344. data/lib/fog/storage/google_json/requests/list_buckets.rb +12 -16
  345. data/lib/fog/storage/google_json/requests/list_object_acl.rb +27 -0
  346. data/lib/fog/storage/google_json/requests/list_objects.rb +5 -20
  347. data/lib/fog/storage/google_json/requests/put_bucket.rb +23 -57
  348. data/lib/fog/storage/google_json/requests/put_bucket_acl.rb +11 -18
  349. data/lib/fog/storage/google_json/requests/put_object.rb +68 -97
  350. data/lib/fog/storage/google_json/requests/put_object_acl.rb +16 -14
  351. data/lib/fog/storage/google_json/requests/put_object_url.rb +8 -14
  352. data/lib/fog/storage/google_json/utils.rb +2 -2
  353. data/lib/fog/storage/google_xml/models/file.rb +2 -2
  354. data/lib/fog/storage/google_xml/models/files.rb +2 -2
  355. data/lib/fog/storage/google_xml/real.rb +1 -1
  356. data/lib/fog/storage/google_xml/requests/copy_object.rb +1 -1
  357. data/lib/fog/storage/google_xml/requests/get_bucket.rb +3 -3
  358. data/lib/fog/storage/google_xml/requests/get_object.rb +5 -5
  359. data/lib/fog/storage/google_xml/requests/get_service.rb +2 -2
  360. data/lib/fog/storage/google_xml/requests/put_bucket_acl.rb +1 -1
  361. data/lib/fog/storage/google_xml/requests/put_object_acl.rb +1 -1
  362. data/test/helpers/client_helper.rb +44 -16
  363. data/test/helpers/integration_test_helper.rb +10 -4
  364. data/test/helpers/test_collection.rb +3 -3
  365. data/test/integration/compute/addresses/addresses_shared.rb +59 -0
  366. data/test/integration/compute/addresses/test_compute_address_models.rb +105 -0
  367. data/test/integration/compute/addresses/test_compute_address_requests.rb +52 -0
  368. data/test/integration/compute/{test_disks.rb → disks/test_compute_disk_models.rb} +0 -0
  369. data/test/integration/compute/disks/test_compute_disk_requests.rb +92 -0
  370. data/test/integration/compute/test_compute_addresses_collection.rb +5 -5
  371. data/test/integration/compute/test_compute_networks_collection.rb +11 -23
  372. data/test/integration/compute/test_disk_types.rb +3 -3
  373. data/test/integration/compute/test_regions.rb +6 -6
  374. data/test/integration/compute/test_servers.rb +0 -17
  375. data/test/integration/compute/test_target_pools.rb +5 -0
  376. data/test/integration/factories/collection_factory.rb +8 -4
  377. data/test/integration/factories/disks_factory.rb +4 -0
  378. data/test/integration/factories/forwarding_rules_factory.rb +1 -0
  379. data/test/integration/factories/global_forwarding_rules_factory.rb +1 -0
  380. data/test/integration/factories/servers_factory.rb +3 -2
  381. data/test/integration/factories/target_instances_factory.rb +1 -1
  382. data/test/integration/monitoring/test_metric_descriptors.rb +129 -0
  383. data/test/integration/monitoring/test_monitored_resource_descriptors.rb +37 -0
  384. data/test/integration/monitoring/test_timeseries.rb +202 -0
  385. data/test/integration/pubsub/pubsub_shared.rb +75 -0
  386. data/test/integration/pubsub/test_pubsub_models.rb +135 -0
  387. data/test/integration/pubsub/test_pubsub_requests.rb +49 -110
  388. data/test/integration/sql/sql_instances_shared.rb +57 -0
  389. data/test/integration/sql/test_flags.rb +31 -0
  390. data/test/integration/sql/test_instances.rb +97 -0
  391. data/test/integration/sql/test_instances_second_gen.rb +88 -0
  392. data/test/integration/sql/test_tiers.rb +34 -0
  393. data/test/integration/storage/storage_shared.rb +96 -0
  394. data/test/integration/storage/test_buckets.rb +93 -36
  395. data/test/integration/storage/test_directories.rb +48 -41
  396. data/test/integration/storage/test_files.rb +134 -98
  397. data/test/integration/storage/test_objects.rb +137 -75
  398. metadata +90 -110
  399. data/lib/fog/compute/google/models/flavors.rb +0 -28
  400. data/lib/fog/compute/google/models/resource_view.rb +0 -108
  401. data/lib/fog/compute/google/models/resource_views.rb +0 -54
  402. data/lib/fog/compute/google/requests/add_region_view_resources.rb +0 -27
  403. data/lib/fog/compute/google/requests/add_url_map_host_rules.rb +0 -25
  404. data/lib/fog/compute/google/requests/add_url_map_path_matchers.rb +0 -29
  405. data/lib/fog/compute/google/requests/add_zone_view_resources.rb +0 -27
  406. data/lib/fog/compute/google/requests/delete_region_view.rb +0 -24
  407. data/lib/fog/compute/google/requests/delete_zone_view.rb +0 -24
  408. data/lib/fog/compute/google/requests/get_backend_services.rb +0 -23
  409. data/lib/fog/compute/google/requests/get_region_view.rb +0 -24
  410. data/lib/fog/compute/google/requests/get_zone_view.rb +0 -24
  411. data/lib/fog/compute/google/requests/insert_region_view.rb +0 -25
  412. data/lib/fog/compute/google/requests/insert_snapshot.rb +0 -40
  413. data/lib/fog/compute/google/requests/insert_zone_view.rb +0 -26
  414. data/lib/fog/compute/google/requests/list_region_view_resources.rb +0 -24
  415. data/lib/fog/compute/google/requests/list_region_views.rb +0 -23
  416. data/lib/fog/compute/google/requests/list_zone_view_resources.rb +0 -24
  417. data/lib/fog/compute/google/requests/list_zone_views.rb +0 -23
  418. data/lib/fog/compute/google/requests/set_metadata.rb +0 -39
  419. data/lib/fog/compute/google/requests/set_tags.rb +0 -24
  420. data/lib/fog/google/requests/sql/set_instance_root_password.rb +0 -54
  421. data/lib/fog/storage/google_json/requests/head_object.rb +0 -54
  422. data/test/integration/compute/requests/test_compute_address_requests.rb +0 -84
  423. data/test/unit/compute/test_server.rb +0 -20
  424. data/tests/helper.rb +0 -124
  425. data/tests/helpers/collection_helper.rb +0 -88
  426. data/tests/helpers/compute/flavors_helper.rb +0 -28
  427. data/tests/helpers/compute/server_helper.rb +0 -21
  428. data/tests/helpers/compute/servers_helper.rb +0 -8
  429. data/tests/helpers/formats_helper.rb +0 -98
  430. data/tests/helpers/formats_helper_tests.rb +0 -106
  431. data/tests/helpers/mock_helper.rb +0 -16
  432. data/tests/helpers/model_helper.rb +0 -29
  433. data/tests/helpers/responds_to_helper.rb +0 -11
  434. data/tests/helpers/schema_validator_tests.rb +0 -101
  435. data/tests/helpers/succeeds_helper.rb +0 -9
  436. data/tests/lorem.txt +0 -1
  437. data/tests/models/dns/change_tests.rb +0 -26
  438. data/tests/models/dns/changes_tests.rb +0 -32
  439. data/tests/models/dns/projects_tests.rb +0 -9
  440. data/tests/models/dns/record_tests.rb +0 -41
  441. data/tests/models/dns/records_tests.rb +0 -32
  442. data/tests/models/dns/zone_tests.rb +0 -28
  443. data/tests/models/dns/zones_tests.rb +0 -14
  444. data/tests/models/pubsub/received_message_tests.rb +0 -18
  445. data/tests/models/pubsub/subscription_tests.rb +0 -26
  446. data/tests/models/pubsub/subscriptions_tests.rb +0 -33
  447. data/tests/models/pubsub/topic_tests.rb +0 -18
  448. data/tests/models/pubsub/topics_tests.rb +0 -27
  449. data/tests/models/sql/flags_tests.rb +0 -9
  450. data/tests/models/sql/instance_tests.rb +0 -53
  451. data/tests/models/sql/instances_tests.rb +0 -27
  452. data/tests/models/sql/operation_tests.rb +0 -22
  453. data/tests/models/sql/operations_tests.rb +0 -33
  454. data/tests/models/sql/ssl_cert_tests.rb +0 -21
  455. data/tests/models/sql/ssl_certs_tests.rb +0 -34
  456. data/tests/models/sql/tiers_tests.rb +0 -9
  457. data/tests/requests/compute/backend_service_tests.rb +0 -79
  458. data/tests/requests/compute/disk_tests.rb +0 -70
  459. data/tests/requests/compute/disk_type_tests.rb +0 -42
  460. data/tests/requests/compute/firewall_tests.rb +0 -85
  461. data/tests/requests/compute/forwarding_rules_tests.rb +0 -79
  462. data/tests/requests/compute/global_forwarding_rules_tests.rb +0 -79
  463. data/tests/requests/compute/http_health_checks_tests.rb +0 -79
  464. data/tests/requests/compute/image_tests.rb +0 -79
  465. data/tests/requests/compute/network_tests.rb +0 -72
  466. data/tests/requests/compute/operation_tests.rb +0 -19
  467. data/tests/requests/compute/region_tests.rb +0 -39
  468. data/tests/requests/compute/server_tests.rb +0 -82
  469. data/tests/requests/compute/target_http_proxies_test.rb +0 -75
  470. data/tests/requests/compute/target_instances_tests.rb +0 -79
  471. data/tests/requests/compute/target_pools_tests.rb +0 -78
  472. data/tests/requests/compute/url_maps_tests.rb +0 -78
  473. data/tests/requests/compute/zone_tests.rb +0 -33
  474. data/tests/requests/dns/change_tests.rb +0 -82
  475. data/tests/requests/dns/managed_zone_tests.rb +0 -63
  476. data/tests/requests/dns/project_tests.rb +0 -26
  477. data/tests/requests/dns/record_tests.rb +0 -46
  478. data/tests/requests/sql/flag_tests.rb +0 -24
  479. data/tests/requests/sql/instance_tests.rb +0 -126
  480. data/tests/requests/sql/operation_tests.rb +0 -39
  481. data/tests/requests/sql/ssl_cert_tests.rb +0 -58
  482. data/tests/requests/sql/tier_tests.rb +0 -22
  483. data/tests/requests/storage/bucket_tests.rb +0 -71
  484. data/tests/requests/storage/object_tests.rb +0 -78
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f523ba80fe04d0964f24b91dd5972d5a1761171
4
- data.tar.gz: 0ec90da4720232b7cecec4262c4f2f93798b0366
3
+ metadata.gz: 4fa59c3a8e64b4d0f7906e8000166d103f911c40
4
+ data.tar.gz: 8d36d48ed04b7025fe4c29b620979b61924ec6ed
5
5
  SHA512:
6
- metadata.gz: 5188db685057edfdd2d96e0a754a66aedb81ef62e416086f9888ca4dc851d1338bac5e46c4ae0d21e83fbbee73518474d9ef96a6868df2510b2dae06ee18abb8
7
- data.tar.gz: b6620918dd17cb4e759e1cde19b90e322039b00779f78a0c4ef70539d47b3fd881fafa7df1a9ed3faba162a51c70a10204a4bc3c8a18e350a59e87b4c279f746
6
+ metadata.gz: 247a59498aef0aff1f7ec983f5662cff88d9916f6d086e47bb8799e5e258888430d040e780a096e2de65d02aed8b3c9c43ab4cab2d7456110b12445401d897e2
7
+ data.tar.gz: 62c69343e5b0b47162704319c9f3d8005070942f6a68d93514f6c3dec244818c848afb81da45384400dcf783b17ab06f7f6d3857bf1ac9a56dcf73091897b532
@@ -6,9 +6,6 @@ Style/ConditionalAssignment:
6
6
  SingleLineConditionsOnly: true
7
7
  EnforcedStyle: assign_inside_condition
8
8
 
9
- Style/Encoding:
10
- EnforcedStyle: when_needed
11
-
12
9
  Style/FormatString:
13
10
  Enabled: false
14
11
 
@@ -40,7 +37,7 @@ Style/CollectionMethods:
40
37
  find: detect
41
38
  find_all: select
42
39
  reduce: inject
43
- Style/DotPosition:
40
+ Layout/DotPosition:
44
41
  Description: Checks the position of the dot in multi-line method calls.
45
42
  StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
46
43
  Enabled: true
@@ -48,7 +45,7 @@ Style/DotPosition:
48
45
  SupportedStyles:
49
46
  - leading
50
47
  - trailing
51
- Style/FileName:
48
+ Naming/FileName:
52
49
  Description: Use snake_case for source file names.
53
50
  StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
54
51
  Enabled: false
@@ -80,7 +77,7 @@ Style/PercentLiteralDelimiters:
80
77
  "%w": "()"
81
78
  "%W": "()"
82
79
  "%x": "()"
83
- Style/PredicateName:
80
+ Naming/PredicateName:
84
81
  Description: Check the names of predicate methods.
85
82
  StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
86
83
  Enabled: true
@@ -186,7 +183,7 @@ Lint/AssignmentInCondition:
186
183
  Style/InlineComment:
187
184
  Description: Avoid inline comments.
188
185
  Enabled: true
189
- Style/AccessorMethodName:
186
+ Naming/AccessorMethodName:
190
187
  Description: Check the naming of accessor methods for get_/set_.
191
188
  Enabled: false
192
189
  Style/Alias:
data/README.md CHANGED
@@ -6,7 +6,7 @@ The main maintainers for the Google sections are @icco, @Temikus and @plribeiro3
6
6
 
7
7
  **As of v0.1.1, Google no longer supports Ruby versions less than 2.0.0.**
8
8
 
9
- **Currently, `fog-google` does not support versions of `google-api-client` >= 0.9 or <= 0.8.5.**
9
+ **As of v1.0.0, fog-google includes google-api-client as a dependency**
10
10
 
11
11
 
12
12
  ## Storage
@@ -20,13 +20,12 @@ There are two ways to access [Google Cloud Storage](https://cloud.google.com/sto
20
20
 
21
21
  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.
22
22
 
23
- As of 2015-12-07, we believe Fog for Google Compute engine (`Fog::Compute::Google`) is feature complete.
24
-
25
- If you are using Fog to interact with GCE, please keep Fog up to date and [file issues](https://github.com/fog/fog-google/issues) for any anomalies you see or features you would like.
23
+ As of 2017-12-15, we are still working on making Fog for Google Compute engine (`Fog::Compute::Google`) feature complete. If you are using Fog to interact with GCE, please keep Fog up to date and [file issues](https://github.com/fog/fog-google/issues) for any anomalies you see or features you would like.
26
24
 
27
25
  ## SQL
28
26
 
29
- Fog implements [v1beta3](https://cloud.google.com/sql/docs/admin-api/v1beta3/) of the Google Cloud SQL Admin API. This is a currently deprecated API. Pull Requests for updates would be greatly appreciated.
27
+ Fog implements [v1beta4](https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/) of the Google Cloud SQL Admin API. As of 2017-11-06, Cloud SQL is mostly feature-complete. Please [file issues](https://github.com/fog/fog-google/issues) for any anomalies you see or features you would like as we finish
28
+ adding remaining features.
30
29
 
31
30
  ## DNS
32
31
 
@@ -34,10 +33,7 @@ Fog implements [v1](https://cloud.google.com/dns/api/v1/) of the Google Cloud DN
34
33
 
35
34
  ## Monitoring
36
35
 
37
- Fog mostly implements [v3](https://cloud.google.com/monitoring/api/ref_v3/rest/) of the Google Cloud Monitoring API.
38
-
39
- As of 2017-09-26, some less common API methods are missing and may be added as requested. Feature requests or pull requests for
40
- additions are welcome.
36
+ Fog implements [v3](https://cloud.google.com/monitoring/api/v3/) of the Google Cloud Monitoring API. As of 2017-10-05, we believe Fog for Google Cloud Monitoring is feature complete for metric-related resources and are working on supporting groups.
41
37
 
42
38
  We are always looking for people to improve our code and test coverage, so please [file issues](https://github.com/fog/fog-google/issues) for any anomalies you see or features you would like.
43
39
 
@@ -46,7 +42,7 @@ We are always looking for people to improve our code and test coverage, so pleas
46
42
  Note: You **must** have a version of google-api-client > 0.8.5 to use the Pub/Sub API; previous versions will not work.
47
43
 
48
44
  Fog mostly implements [v1](https://cloud.google.com/pubsub/reference/rest/) of the Google Cloud Pub/Sub API; however some less common API methods are missing. Pull requests for additions would be greatly appreciated.
49
-
45
+
50
46
  ## Installation
51
47
 
52
48
  Add the following two lines to your application's `Gemfile`:
@@ -68,16 +64,22 @@ Or install it yourself as:
68
64
  $ gem install fog-google
69
65
  ```
70
66
 
67
+ ## Testing
68
+
69
+ The tests in `tests` are deprecated. We are currently working on a migration of tests to `minitest`.
70
+
71
+ For your test to be tested with real credentials, a repo maintainer may add the label `integrate` to your PR to run integration tests.
72
+
71
73
  ## Setup
72
74
 
73
75
  #### Credentials
74
76
 
75
77
  Follow the [instructions to generate a private key](https://cloud.google.com/storage/docs/authentication#generating-a-private-key). A sample credentials file can be found in `.fog.example` in this directory:
76
78
 
77
- cat .fog.example >> ~/.fog # appends the sample configuration
78
- vim ~/.fog # edit file with yout config
79
-
80
-
79
+ ```
80
+ cat .fog.example >> ~/.fog # appends the sample configuration
81
+ vim ~/.fog # edit file with yout config
82
+ ```
81
83
 
82
84
  #### SSH-ing into instances
83
85
 
@@ -99,4 +101,4 @@ $ bundle exec pry
99
101
 
100
102
  ## Contributing
101
103
 
102
- See `CONTRIBUTING.md` in this repository.
104
+ See `CONTRIBUTING.md` in this repository.
@@ -0,0 +1 @@
1
+ credentials.yml
@@ -0,0 +1,70 @@
1
+ # fog-google CI
2
+
3
+ This pipeline performs two functions.
4
+
5
+ 1. Performing an integration test of the
6
+ upgrade-google-client branch whenever new changes appear there.
7
+
8
+ 1. Running integration tests against every PR with the
9
+ `integrate` label. This allows whitelisted PRs to be tested
10
+ automatically before being merged. Status is updated on the
11
+ PR when the test completes.
12
+
13
+ ## Setup
14
+
15
+ In order to run the fog-google Concourse Pipeline you must have an existing
16
+ [Concourse](http://concourse.ci) environment.
17
+ See [Deploying Concourse on Google Compute Engine](https://github.com/cloudfoundry-incubator/bosh-google-cpi-release/blob/master/docs/deploy_concourse.md)
18
+ for instructions.
19
+
20
+ To deploy the pipeline:
21
+
22
+ * Download the `fly` binary from the Concourse web interface and place it in your `$PATH`.
23
+
24
+ * Login to your Concourse:
25
+
26
+ ```
27
+ fly -t fog-google login -c <YOUR CONCOURSE URL>
28
+ ```
29
+
30
+ * Update the [credentials.yml](https://github.com/fog/fog-google/blob/master/ci/credentials.yml.tpl)
31
+ file. See [Credentials Requirements](#credentials-requirements) for specific instructions.
32
+
33
+ * Set the fog-google pipeline:
34
+
35
+ ```
36
+ fly -t fog-google set-pipeline -p fog-google -c pipeline.yml -l credentials.yml
37
+ ```
38
+
39
+ * Unpause the fog-google pipeline:
40
+
41
+ ```
42
+ fly -t fog-google unpause-pipeline -p fog-google
43
+ ```
44
+
45
+ ## Credentials Requirements
46
+
47
+ Several external pieces of authentication are needed for credentials.yml
48
+
49
+ 1. A JSON Service Account File for a service account with at least Editor access to the project.
50
+ * To get a Service Account File, see [here](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount)
51
+ and create using the Project/Editor role.
52
+
53
+ 1. A [Github Access Token](https://github.com/blog/1509-personal-api-tokens) with at least
54
+ `repo:status` access and a private key with push access to the `fog/fog-google` repositoy.
55
+
56
+ These items are equivalent to your login credentials for their resources.
57
+
58
+ ## Login Gotchas
59
+
60
+ * If your Concourse deployment is using a self-signed certificate, use `--insecure` to
61
+ trust the provided certificate.
62
+
63
+ * If logging into a specific team, ie `fog-google`, use `--team-name fog-google` to specify that.
64
+
65
+ ## Dockerfile
66
+
67
+ The [docker-image](https://github.com/fog/fog-google/blob/master/ci/docker-image) directory contains
68
+ the Dockerfile necessary for recreating the Docker image used in tasks. This is referenced
69
+ in a per-task basis as `image_resource`, ie in
70
+ image_resource [run-int.yml](https://github.com/fog/fog-google/blob/master/ci/tasks/run-int.yml)
@@ -0,0 +1,13 @@
1
+ ---
2
+ # Google Cloud Platform project to run under
3
+ google_project:
4
+ # Google Compute Engine Service Account email
5
+ google_client_email:
6
+ # Google Compute Engine Service Account JSON
7
+ google_json_key_data: |
8
+
9
+ # An access token with repo:status access
10
+ github_access_token:
11
+ # A SSH private key associated with the access token's account or
12
+ # a repo push deploy key
13
+ github_private_key: |
@@ -0,0 +1,20 @@
1
+ FROM ubuntu:16.04
2
+
3
+ # Packages
4
+ RUN DEBIAN_FRONTEND=noninteractive apt-get -y -qq update && apt-get -y -qq install \
5
+ build-essential \
6
+ curl \
7
+ git \
8
+ zlib1g-dev \
9
+ libssl-dev \
10
+ libreadline-dev \
11
+ libyaml-dev \
12
+ libxml2-dev \
13
+ libxslt-dev
14
+
15
+ # Ubuntu 16.04 will fetch us 2.3.x without any issues.
16
+ RUN DEBIAN_FRONTEND=noninteractive apt-get -y -qq install ruby ruby-dev
17
+
18
+ RUN apt-get clean
19
+
20
+ RUN gem install bundler
@@ -0,0 +1,63 @@
1
+ jobs:
2
+ - name: base-int
3
+ plan:
4
+ - aggregate:
5
+ - {
6
+ get: fog-google-src, resource: fog-google-src-in, trigger: true
7
+ }
8
+
9
+ - task: full-integration-tests
10
+ file: fog-google-src/ci/tasks/run-int.yml
11
+ params:
12
+ google_project: {{google_project}}
13
+ google_json_key_data: {{google_json_key_data}}
14
+ google_client_email: {{google_client_email}}
15
+
16
+ - name: pr-int
17
+ plan:
18
+ - get: fog-google-src
19
+ resource: pull-request
20
+ version: every
21
+ trigger: true
22
+ - put: pull-request
23
+ params: {path: fog-google-src, status: pending}
24
+
25
+ - task: full-integration-tests
26
+ file: fog-google-src/ci/tasks/run-int.yml
27
+ params:
28
+ google_project: {{google_project}}
29
+ google_json_key_data: {{google_json_key_data}}
30
+ google_client_email: {{google_client_email}}
31
+ on_success:
32
+ put: pull-request
33
+ params:
34
+ path: fog-google-src
35
+ status: success
36
+ on_failure:
37
+ put: pull-request
38
+ params:
39
+ path: fog-google-src
40
+ status: failure
41
+
42
+ resources:
43
+ - name: fog-google-src-in
44
+ type: git
45
+ source:
46
+ uri: https://github.com/fog/fog-google.git
47
+ branch: upgrade-google-client
48
+ - name: pull-request
49
+ type: pull-request
50
+ source:
51
+ access_token: {{github_access_token}}
52
+ private_key: {{github_private_key}}
53
+ label: integrate
54
+ repo: fog/fog-google
55
+
56
+ resource_types:
57
+ # This is a third party resource.
58
+ # The referenced docker-image is maintained externally
59
+ # https://github.com/jtarchie/pullrequest-resource
60
+ - name: pull-request
61
+ type: docker-image
62
+ source:
63
+ repository: jtarchie/pr
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ my_dir="$( cd $(dirname $0) && pwd )"
6
+ release_dir="$( cd ${my_dir} && cd ../.. && pwd )"
7
+ workspace_dir="$( cd ${release_dir} && cd ../../../.. && pwd )"
8
+
9
+ pushd ${release_dir} > /dev/null
10
+
11
+ source ci/tasks/utils.sh
12
+
13
+ popd > /dev/null
14
+
15
+ check_param google_project
16
+ check_param google_client_email
17
+ check_param google_json_key_data
18
+
19
+ echo $google_json_key_data > `pwd`/service_account_key.json
20
+
21
+ cat >~/.fog <<EOL
22
+ test:
23
+ google_project: ${google_project}
24
+ google_client_email: ${google_client_email}
25
+ google_json_key_location: `pwd`/service_account_key.json
26
+ EOL
27
+
28
+ pushd ${release_dir} > /dev/null
29
+
30
+ bundle install
31
+
32
+ FOG_MOCK=false rake test
33
+
34
+ popd > /dev/null
@@ -0,0 +1,15 @@
1
+ ---
2
+ platform: linux
3
+ image_resource:
4
+ type: docker-image
5
+ source: {repository: everlag/fog-google}
6
+ inputs:
7
+ - name: fog-google-src
8
+ path: src/fog-google
9
+ run:
10
+ path: src/fog-google/ci/tasks/run-int.sh
11
+ params:
12
+ google_project: replace-me
13
+ google_client_email: replace-me
14
+ google_json_key_data: |
15
+ replace-me
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+
3
+ check_param() {
4
+ local name=$1
5
+ local value=$(eval echo '$'$name)
6
+ if [ "$value" == 'replace-me' ]; then
7
+ echo "environment variable $name must be set"
8
+ exit 1
9
+ fi
10
+ }
@@ -16,31 +16,37 @@ def test
16
16
  :name => "fog-l7-resource-view-1",
17
17
  :numMembers => 1,
18
18
  :members => [instance1.self_link],
19
- :zone => "us-central1-a")
19
+ :zone => "us-central1-a"
20
+ )
20
21
  resource_view1.add_resources(instance1.self_link)
21
22
  resource_view2 = connection.resource_views.create(
22
23
  :name => "fog-l7-resource-view-2",
23
24
  :numMembers => 1,
24
25
  :members => [instance2.self_link],
25
- :zone => "us-central1-a")
26
+ :zone => "us-central1-a"
27
+ )
26
28
  resource_view2.add_resources(instance2.self_link)
27
29
  resource_view3 = connection.resource_views.create(
28
30
  :name => "fog-l7-resource-view-3",
29
31
  :members => [instance3.self_link],
30
- :zone => "us-central1-b")
32
+ :zone => "us-central1-b"
33
+ )
31
34
  resource_view3.add_resources(instance3.self_link)
32
35
  backend_service1 = connection.backend_services.create(
33
36
  :name => "fog-l7-backend-service-1",
34
37
  :health_checks => [health.self_link],
35
- :backends => [{ "balancingMode" => "RATE", "maxRate" => 100, "group" => resource_view1.self_link }])
38
+ :backends => [{ "balancingMode" => "RATE", "maxRate" => 100, "group" => resource_view1.self_link }]
39
+ )
36
40
  backend_service2 = connection.backend_services.create(
37
41
  :name => "fog-l7-backend-service-2",
38
42
  :health_checks => [health.self_link],
39
- :backends => [{ "balancingMode" => "RATE", "maxRate" => 100, "group" => resource_view2.self_link }])
43
+ :backends => [{ "balancingMode" => "RATE", "maxRate" => 100, "group" => resource_view2.self_link }]
44
+ )
40
45
  backend_service3 = connection.backend_services.create(
41
46
  :name => "fog-l7-backend-service-3",
42
47
  :health_checks => [health.self_link],
43
- :backends => [{ "balancingMode" => "RATE", "maxRate" => 100, "group" => resource_view3.self_link }])
48
+ :backends => [{ "balancingMode" => "RATE", "maxRate" => 100, "group" => resource_view3.self_link }]
49
+ )
44
50
  url_map = connection.url_maps.create(
45
51
  :name => "fog-l7-url-map",
46
52
  :pathMatchers => [{
@@ -62,10 +68,12 @@ def test
62
68
  ]
63
69
  }],
64
70
  :hostRules => [{ "hosts" => ["*"], "pathMatcher" => "pathmatcher" }],
65
- :default_service => backend_service1.self_link)
71
+ :default_service => backend_service1.self_link
72
+ )
66
73
  proxy = connection.target_http_proxies.create(
67
74
  :name => "fog-l7-proxy",
68
- :url_map => url_map.self_link)
75
+ :url_map => url_map.self_link
76
+ )
69
77
 
70
78
  connection.global_forwarding_rules.create(:name => "fog-l7-fwd-rule", :target => proxy.self_link)
71
79
  end
@@ -26,7 +26,8 @@ def test
26
26
  :machine_type => "n1-standard-1",
27
27
  :zone_name => "us-central1-f",
28
28
  :private_key_path => File.expand_path("~/.ssh/id_rsa"),
29
- :public_key_path => File.expand_path("~/.ssh/id_rsa.pub"))
29
+ :public_key_path => File.expand_path("~/.ssh/id_rsa.pub")
30
+ )
30
31
 
31
32
  server.wait_for { ready? }
32
33
 
@@ -9,8 +9,8 @@ Bundler.require(:default, :development)
9
9
  def test
10
10
  connection = Fog::Google::Monitoring.new
11
11
  interval = {
12
- :start_time => (DateTime.now - 1).rfc3339,
13
- :end_time => DateTime.now.rfc3339
12
+ :start_time => (Time.now - 1).rfc3339,
13
+ :end_time => Time.now.to_datetime.rfc3339
14
14
  }
15
15
  puts "Listing Timeseries from the last hour for metric compute.googleapis.com/instance/uptime..."
16
16
  puts "-------------------------------------------------------------------------------"