fog-google 1.9.1 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +10 -0
  3. data/.github/workflows/ruby.yml +34 -0
  4. data/.github/workflows/stale.yml +23 -0
  5. data/.rubocop.yml +3 -3
  6. data/CHANGELOG.md +113 -1
  7. data/README.md +56 -10
  8. data/SECURITY.md +16 -0
  9. data/ci/README.md +3 -2
  10. data/ci/build-head-pipeline.yml +173 -0
  11. data/ci/docker-image/Dockerfile +3 -3
  12. data/ci/{pipeline.yml → integration-pipeline.yml} +0 -24
  13. data/ci/pipeline-dev.yml +58 -0
  14. data/ci/tasks/run-int.sh +20 -1
  15. data/ci/tasks/run-int.yml +2 -0
  16. data/examples/sql/flags.rb +10 -6
  17. data/examples/sql/instances.rb +38 -34
  18. data/examples/sql/operations.rb +20 -16
  19. data/examples/sql/ssl_certs.rb +32 -28
  20. data/examples/sql/tiers.rb +10 -6
  21. data/fog-google.gemspec +4 -4
  22. data/lib/fog/compute/google.rb +4 -4
  23. data/lib/fog/compute/google/mock.rb +2 -1
  24. data/lib/fog/compute/google/models/address.rb +15 -2
  25. data/lib/fog/compute/google/models/disk.rb +6 -2
  26. data/lib/fog/compute/google/models/images.rb +6 -1
  27. data/lib/fog/compute/google/models/instance_groups.rb +2 -2
  28. data/lib/fog/compute/google/models/server.rb +33 -9
  29. data/lib/fog/compute/google/real.rb +2 -1
  30. data/lib/fog/compute/google/requests/abandon_instances.rb +2 -0
  31. data/lib/fog/compute/google/requests/add_backend_service_backends.rb +2 -0
  32. data/lib/fog/compute/google/requests/add_instance_group_instances.rb +2 -0
  33. data/lib/fog/compute/google/requests/add_server_access_config.rb +2 -0
  34. data/lib/fog/compute/google/requests/add_target_pool_health_checks.rb +2 -0
  35. data/lib/fog/compute/google/requests/add_target_pool_instances.rb +2 -0
  36. data/lib/fog/compute/google/requests/attach_disk.rb +2 -0
  37. data/lib/fog/compute/google/requests/create_disk_snapshot.rb +2 -0
  38. data/lib/fog/compute/google/requests/delete_address.rb +2 -0
  39. data/lib/fog/compute/google/requests/delete_backend_service.rb +2 -0
  40. data/lib/fog/compute/google/requests/delete_disk.rb +2 -0
  41. data/lib/fog/compute/google/requests/delete_firewall.rb +2 -0
  42. data/lib/fog/compute/google/requests/delete_forwarding_rule.rb +2 -0
  43. data/lib/fog/compute/google/requests/delete_global_address.rb +2 -0
  44. data/lib/fog/compute/google/requests/delete_global_forwarding_rule.rb +2 -0
  45. data/lib/fog/compute/google/requests/delete_global_operation.rb +2 -0
  46. data/lib/fog/compute/google/requests/delete_http_health_check.rb +2 -0
  47. data/lib/fog/compute/google/requests/delete_image.rb +2 -0
  48. data/lib/fog/compute/google/requests/delete_instance_group.rb +2 -0
  49. data/lib/fog/compute/google/requests/delete_instance_group_manager.rb +2 -0
  50. data/lib/fog/compute/google/requests/delete_instance_template.rb +2 -0
  51. data/lib/fog/compute/google/requests/delete_network.rb +2 -0
  52. data/lib/fog/compute/google/requests/delete_region_operation.rb +2 -0
  53. data/lib/fog/compute/google/requests/delete_route.rb +2 -0
  54. data/lib/fog/compute/google/requests/delete_server.rb +2 -0
  55. data/lib/fog/compute/google/requests/delete_server_access_config.rb +2 -0
  56. data/lib/fog/compute/google/requests/delete_snapshot.rb +2 -0
  57. data/lib/fog/compute/google/requests/delete_ssl_certificate.rb +2 -0
  58. data/lib/fog/compute/google/requests/delete_subnetwork.rb +2 -0
  59. data/lib/fog/compute/google/requests/delete_target_http_proxy.rb +2 -0
  60. data/lib/fog/compute/google/requests/delete_target_https_proxy.rb +2 -0
  61. data/lib/fog/compute/google/requests/delete_target_instance.rb +2 -0
  62. data/lib/fog/compute/google/requests/delete_target_pool.rb +2 -0
  63. data/lib/fog/compute/google/requests/delete_url_map.rb +2 -0
  64. data/lib/fog/compute/google/requests/delete_zone_operation.rb +2 -0
  65. data/lib/fog/compute/google/requests/deprecate_image.rb +2 -0
  66. data/lib/fog/compute/google/requests/detach_disk.rb +2 -0
  67. data/lib/fog/compute/google/requests/expand_subnetwork_ip_cidr_range.rb +2 -0
  68. data/lib/fog/compute/google/requests/get_address.rb +2 -0
  69. data/lib/fog/compute/google/requests/get_backend_service_health.rb +2 -0
  70. data/lib/fog/compute/google/requests/get_disk.rb +2 -0
  71. data/lib/fog/compute/google/requests/get_disk_type.rb +2 -0
  72. data/lib/fog/compute/google/requests/get_firewall.rb +2 -0
  73. data/lib/fog/compute/google/requests/get_forwarding_rule.rb +2 -0
  74. data/lib/fog/compute/google/requests/get_global_address.rb +2 -0
  75. data/lib/fog/compute/google/requests/get_global_forwarding_rule.rb +2 -0
  76. data/lib/fog/compute/google/requests/get_global_operation.rb +2 -0
  77. data/lib/fog/compute/google/requests/get_http_health_check.rb +2 -0
  78. data/lib/fog/compute/google/requests/get_image.rb +2 -0
  79. data/lib/fog/compute/google/requests/get_image_from_family.rb +2 -0
  80. data/lib/fog/compute/google/requests/get_instance_group.rb +2 -0
  81. data/lib/fog/compute/google/requests/get_instance_group_manager.rb +2 -0
  82. data/lib/fog/compute/google/requests/get_instance_template.rb +2 -0
  83. data/lib/fog/compute/google/requests/get_machine_type.rb +2 -0
  84. data/lib/fog/compute/google/requests/get_network.rb +2 -0
  85. data/lib/fog/compute/google/requests/get_project.rb +2 -0
  86. data/lib/fog/compute/google/requests/get_region.rb +2 -0
  87. data/lib/fog/compute/google/requests/get_route.rb +2 -0
  88. data/lib/fog/compute/google/requests/get_server.rb +2 -0
  89. data/lib/fog/compute/google/requests/get_server_serial_port_output.rb +2 -0
  90. data/lib/fog/compute/google/requests/get_snapshot.rb +2 -0
  91. data/lib/fog/compute/google/requests/get_ssl_certificate.rb +2 -0
  92. data/lib/fog/compute/google/requests/get_subnetwork.rb +2 -0
  93. data/lib/fog/compute/google/requests/get_target_http_proxy.rb +2 -0
  94. data/lib/fog/compute/google/requests/get_target_https_proxy.rb +2 -0
  95. data/lib/fog/compute/google/requests/get_target_instance.rb +2 -0
  96. data/lib/fog/compute/google/requests/get_target_pool.rb +2 -0
  97. data/lib/fog/compute/google/requests/get_target_pool_health.rb +2 -0
  98. data/lib/fog/compute/google/requests/get_url_map.rb +2 -0
  99. data/lib/fog/compute/google/requests/get_zone.rb +2 -0
  100. data/lib/fog/compute/google/requests/get_zone_operation.rb +2 -0
  101. data/lib/fog/compute/google/requests/insert_address.rb +2 -0
  102. data/lib/fog/compute/google/requests/insert_backend_service.rb +2 -0
  103. data/lib/fog/compute/google/requests/insert_disk.rb +8 -5
  104. data/lib/fog/compute/google/requests/insert_firewall.rb +2 -0
  105. data/lib/fog/compute/google/requests/insert_forwarding_rule.rb +2 -0
  106. data/lib/fog/compute/google/requests/insert_global_address.rb +2 -0
  107. data/lib/fog/compute/google/requests/insert_global_forwarding_rule.rb +2 -0
  108. data/lib/fog/compute/google/requests/insert_http_health_check.rb +2 -0
  109. data/lib/fog/compute/google/requests/insert_image.rb +2 -0
  110. data/lib/fog/compute/google/requests/insert_instance_group.rb +2 -0
  111. data/lib/fog/compute/google/requests/insert_instance_group_manager.rb +2 -0
  112. data/lib/fog/compute/google/requests/insert_instance_template.rb +2 -0
  113. data/lib/fog/compute/google/requests/insert_network.rb +2 -0
  114. data/lib/fog/compute/google/requests/insert_route.rb +2 -0
  115. data/lib/fog/compute/google/requests/insert_server.rb +6 -0
  116. data/lib/fog/compute/google/requests/insert_ssl_certificate.rb +2 -0
  117. data/lib/fog/compute/google/requests/insert_subnetwork.rb +2 -0
  118. data/lib/fog/compute/google/requests/insert_target_http_proxy.rb +2 -0
  119. data/lib/fog/compute/google/requests/insert_target_https_proxy.rb +2 -0
  120. data/lib/fog/compute/google/requests/insert_target_instance.rb +2 -0
  121. data/lib/fog/compute/google/requests/insert_target_pool.rb +2 -0
  122. data/lib/fog/compute/google/requests/insert_url_map.rb +2 -0
  123. data/lib/fog/compute/google/requests/invalidate_url_map_cache.rb +2 -0
  124. data/lib/fog/compute/google/requests/list_addresses.rb +2 -0
  125. data/lib/fog/compute/google/requests/list_aggregated_addresses.rb +2 -0
  126. data/lib/fog/compute/google/requests/list_aggregated_disk_types.rb +2 -0
  127. data/lib/fog/compute/google/requests/list_aggregated_disks.rb +2 -0
  128. data/lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb +2 -0
  129. data/lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb +2 -0
  130. data/lib/fog/compute/google/requests/list_aggregated_instance_groups.rb +2 -0
  131. data/lib/fog/compute/google/requests/list_aggregated_machine_types.rb +2 -0
  132. data/lib/fog/compute/google/requests/list_aggregated_servers.rb +2 -0
  133. data/lib/fog/compute/google/requests/list_aggregated_subnetworks.rb +2 -0
  134. data/lib/fog/compute/google/requests/list_aggregated_target_instances.rb +2 -0
  135. data/lib/fog/compute/google/requests/list_aggregated_target_pools.rb +2 -0
  136. data/lib/fog/compute/google/requests/list_disk_types.rb +2 -0
  137. data/lib/fog/compute/google/requests/list_disks.rb +2 -0
  138. data/lib/fog/compute/google/requests/list_firewalls.rb +2 -0
  139. data/lib/fog/compute/google/requests/list_forwarding_rules.rb +2 -0
  140. data/lib/fog/compute/google/requests/list_global_addresses.rb +2 -0
  141. data/lib/fog/compute/google/requests/list_global_forwarding_rules.rb +2 -0
  142. data/lib/fog/compute/google/requests/list_global_operations.rb +2 -0
  143. data/lib/fog/compute/google/requests/list_http_health_checks.rb +2 -0
  144. data/lib/fog/compute/google/requests/list_images.rb +2 -0
  145. data/lib/fog/compute/google/requests/list_instance_group_instances.rb +2 -0
  146. data/lib/fog/compute/google/requests/list_instance_group_managers.rb +2 -0
  147. data/lib/fog/compute/google/requests/list_instance_groups.rb +2 -0
  148. data/lib/fog/compute/google/requests/list_instance_templates.rb +2 -0
  149. data/lib/fog/compute/google/requests/list_machine_types.rb +2 -0
  150. data/lib/fog/compute/google/requests/list_networks.rb +2 -0
  151. data/lib/fog/compute/google/requests/list_region_operations.rb +2 -0
  152. data/lib/fog/compute/google/requests/list_regions.rb +2 -0
  153. data/lib/fog/compute/google/requests/list_routes.rb +2 -0
  154. data/lib/fog/compute/google/requests/list_servers.rb +2 -0
  155. data/lib/fog/compute/google/requests/list_snapshots.rb +2 -0
  156. data/lib/fog/compute/google/requests/list_ssl_certificates.rb +2 -0
  157. data/lib/fog/compute/google/requests/list_subnetworks.rb +2 -0
  158. data/lib/fog/compute/google/requests/list_target_http_proxies.rb +2 -0
  159. data/lib/fog/compute/google/requests/list_target_https_proxies.rb +2 -0
  160. data/lib/fog/compute/google/requests/list_target_instances.rb +2 -0
  161. data/lib/fog/compute/google/requests/list_target_pools.rb +2 -0
  162. data/lib/fog/compute/google/requests/list_url_maps.rb +2 -0
  163. data/lib/fog/compute/google/requests/list_zone_operations.rb +2 -0
  164. data/lib/fog/compute/google/requests/list_zones.rb +2 -0
  165. data/lib/fog/compute/google/requests/patch_firewall.rb +2 -0
  166. data/lib/fog/compute/google/requests/patch_url_map.rb +2 -0
  167. data/lib/fog/compute/google/requests/recreate_instances.rb +2 -0
  168. data/lib/fog/compute/google/requests/remove_instance_group_instances.rb +2 -0
  169. data/lib/fog/compute/google/requests/remove_target_pool_health_checks.rb +2 -0
  170. data/lib/fog/compute/google/requests/remove_target_pool_instance.rb +2 -0
  171. data/lib/fog/compute/google/requests/remove_target_pool_instances.rb +2 -0
  172. data/lib/fog/compute/google/requests/reset_server.rb +2 -0
  173. data/lib/fog/compute/google/requests/reset_windows_password.rb +154 -0
  174. data/lib/fog/compute/google/requests/set_common_instance_metadata.rb +2 -0
  175. data/lib/fog/compute/google/requests/set_forwarding_rule_target.rb +2 -0
  176. data/lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb +2 -0
  177. data/lib/fog/compute/google/requests/set_instance_template.rb +2 -0
  178. data/lib/fog/compute/google/requests/set_server_disk_auto_delete.rb +2 -0
  179. data/lib/fog/compute/google/requests/set_server_machine_type.rb +23 -0
  180. data/lib/fog/compute/google/requests/set_server_metadata.rb +3 -1
  181. data/lib/fog/compute/google/requests/set_server_scheduling.rb +2 -0
  182. data/lib/fog/compute/google/requests/set_server_tags.rb +2 -0
  183. data/lib/fog/compute/google/requests/set_snapshot_labels.rb +2 -0
  184. data/lib/fog/compute/google/requests/set_subnetwork_private_ip_google_access.rb +2 -0
  185. data/lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb +2 -0
  186. data/lib/fog/compute/google/requests/set_target_https_proxy_ssl_certificates.rb +2 -0
  187. data/lib/fog/compute/google/requests/set_target_https_proxy_url_map.rb +2 -0
  188. data/lib/fog/compute/google/requests/set_target_pool_backup.rb +2 -0
  189. data/lib/fog/compute/google/requests/start_server.rb +2 -0
  190. data/lib/fog/compute/google/requests/stop_server.rb +2 -0
  191. data/lib/fog/compute/google/requests/update_firewall.rb +2 -0
  192. data/lib/fog/compute/google/requests/update_http_health_check.rb +2 -0
  193. data/lib/fog/compute/google/requests/update_url_map.rb +2 -0
  194. data/lib/fog/compute/google/requests/validate_url_map.rb +2 -0
  195. data/lib/fog/dns/google/requests/create_change.rb +2 -0
  196. data/lib/fog/dns/google/requests/create_managed_zone.rb +2 -0
  197. data/lib/fog/dns/google/requests/delete_managed_zone.rb +2 -0
  198. data/lib/fog/dns/google/requests/get_change.rb +2 -0
  199. data/lib/fog/dns/google/requests/get_managed_zone.rb +2 -0
  200. data/lib/fog/dns/google/requests/get_project.rb +2 -0
  201. data/lib/fog/dns/google/requests/list_changes.rb +2 -0
  202. data/lib/fog/dns/google/requests/list_managed_zones.rb +2 -0
  203. data/lib/fog/dns/google/requests/list_resource_record_sets.rb +2 -0
  204. data/lib/fog/google/models/sql/ssl_cert.rb +7 -1
  205. data/lib/fog/google/models/sql/user.rb +2 -0
  206. data/lib/fog/google/requests/monitoring/create_metric_descriptor.rb +2 -0
  207. data/lib/fog/google/requests/monitoring/create_timeseries.rb +3 -1
  208. data/lib/fog/google/requests/monitoring/delete_metric_descriptor.rb +2 -0
  209. data/lib/fog/google/requests/monitoring/get_metric_descriptor.rb +2 -0
  210. data/lib/fog/google/requests/monitoring/list_monitored_resource_descriptors.rb +2 -0
  211. data/lib/fog/google/requests/monitoring/list_timeseries.rb +2 -0
  212. data/lib/fog/google/requests/pubsub/pull_subscription.rb +5 -1
  213. data/lib/fog/google/requests/sql/clone_instance.rb +2 -0
  214. data/lib/fog/google/requests/sql/delete_backup_run.rb +2 -0
  215. data/lib/fog/google/requests/sql/delete_instance.rb +2 -0
  216. data/lib/fog/google/requests/sql/delete_ssl_cert.rb +2 -0
  217. data/lib/fog/google/requests/sql/delete_user.rb +3 -1
  218. data/lib/fog/google/requests/sql/export_instance.rb +2 -0
  219. data/lib/fog/google/requests/sql/get_backup_run.rb +2 -0
  220. data/lib/fog/google/requests/sql/get_instance.rb +2 -0
  221. data/lib/fog/google/requests/sql/get_operation.rb +2 -0
  222. data/lib/fog/google/requests/sql/get_ssl_cert.rb +2 -0
  223. data/lib/fog/google/requests/sql/import_instance.rb +2 -0
  224. data/lib/fog/google/requests/sql/insert_backup_run.rb +2 -0
  225. data/lib/fog/google/requests/sql/insert_instance.rb +2 -0
  226. data/lib/fog/google/requests/sql/insert_ssl_cert.rb +2 -0
  227. data/lib/fog/google/requests/sql/insert_user.rb +2 -0
  228. data/lib/fog/google/requests/sql/list_backup_runs.rb +2 -0
  229. data/lib/fog/google/requests/sql/list_flags.rb +2 -0
  230. data/lib/fog/google/requests/sql/list_instances.rb +2 -0
  231. data/lib/fog/google/requests/sql/list_operations.rb +2 -0
  232. data/lib/fog/google/requests/sql/list_ssl_certs.rb +2 -0
  233. data/lib/fog/google/requests/sql/list_tiers.rb +2 -0
  234. data/lib/fog/google/requests/sql/list_users.rb +2 -0
  235. data/lib/fog/google/requests/sql/reset_instance_ssl_config.rb +2 -0
  236. data/lib/fog/google/requests/sql/restart_instance.rb +2 -0
  237. data/lib/fog/google/requests/sql/restore_instance_backup.rb +2 -0
  238. data/lib/fog/google/requests/sql/update_instance.rb +2 -0
  239. data/lib/fog/google/requests/sql/update_user.rb +2 -0
  240. data/lib/fog/google/shared.rb +9 -3
  241. data/lib/fog/google/version.rb +1 -1
  242. data/lib/fog/storage/google_json.rb +4 -0
  243. data/lib/fog/storage/google_json/mock.rb +6 -0
  244. data/lib/fog/storage/google_json/real.rb +106 -3
  245. data/lib/fog/storage/google_json/requests/copy_object.rb +4 -1
  246. data/lib/fog/storage/google_json/requests/delete_bucket.rb +2 -0
  247. data/lib/fog/storage/google_json/requests/delete_object.rb +2 -0
  248. data/lib/fog/storage/google_json/requests/get_bucket.rb +2 -0
  249. data/lib/fog/storage/google_json/requests/get_bucket_acl.rb +2 -0
  250. data/lib/fog/storage/google_json/requests/get_object.rb +2 -0
  251. data/lib/fog/storage/google_json/requests/get_object_acl.rb +2 -0
  252. data/lib/fog/storage/google_json/requests/get_object_metadata.rb +2 -0
  253. data/lib/fog/storage/google_json/requests/list_bucket_acl.rb +2 -0
  254. data/lib/fog/storage/google_json/requests/list_buckets.rb +2 -0
  255. data/lib/fog/storage/google_json/requests/list_object_acl.rb +2 -0
  256. data/lib/fog/storage/google_json/requests/list_objects.rb +2 -0
  257. data/lib/fog/storage/google_json/requests/put_bucket.rb +2 -0
  258. data/lib/fog/storage/google_json/requests/put_bucket_acl.rb +2 -0
  259. data/lib/fog/storage/google_json/requests/put_object.rb +2 -0
  260. data/lib/fog/storage/google_json/requests/put_object_acl.rb +2 -0
  261. data/lib/fog/storage/google_json/utils.rb +5 -2
  262. data/lib/fog/storage/google_xml/models/file.rb +1 -1
  263. data/lib/fog/storage/google_xml/requests/get_bucket.rb +0 -1
  264. data/lib/fog/storage/google_xml/requests/head_object.rb +7 -6
  265. data/lib/fog/storage/google_xml/requests/put_bucket_acl.rb +2 -0
  266. data/tasks/changelog.rake +10 -1
  267. data/tasks/test.rake +6 -2
  268. data/test/helpers/integration_test_helper.rb +17 -6
  269. data/test/helpers/test_helper.rb +1 -0
  270. data/test/integration/compute/core_compute/test_servers.rb +40 -0
  271. data/test/integration/compute/core_compute/test_zones.rb +1 -1
  272. data/test/integration/compute/core_networking/test_addresses.rb +23 -0
  273. data/test/integration/factories/{sql_v1_certs_factory.rb → sql_certs_factory.rb} +3 -3
  274. data/test/integration/factories/{sql_v1_instances_factory.rb → sql_instances_factory.rb} +3 -3
  275. data/test/integration/factories/{sql_v1_users_factory.rb → sql_users_factory.rb} +6 -3
  276. data/test/integration/monitoring/test_metric_descriptors.rb +2 -0
  277. data/test/integration/monitoring/test_timeseries.rb +14 -26
  278. data/test/integration/pubsub/test_pubsub_models.rb +3 -3
  279. data/test/integration/pubsub/test_pubsub_requests.rb +2 -2
  280. data/test/integration/sql/{sqlv1/test_v1_certs.rb → test_certs.rb} +3 -3
  281. data/test/integration/sql/{sqlv1/test_common_flags.rb → test_common_flags.rb} +0 -0
  282. data/test/integration/sql/{sqlv1/test_common_tiers.rb → test_common_tiers.rb} +0 -0
  283. data/test/integration/sql/{sqlv2/test_coverage.rb → test_coverage.rb} +1 -1
  284. data/test/integration/sql/{sqlv2/test_v2_instances.rb → test_instances.rb} +22 -2
  285. data/test/integration/sql/{sqlv1/test_v1_users.rb → test_users.rb} +4 -4
  286. data/test/integration/storage/test_objects.rb +16 -0
  287. data/test/unit/storage/test_common_xml_collections.rb +11 -0
  288. metadata +56 -36
  289. data/.travis.yml +0 -16
  290. data/test/integration/factories/sql_v2_instances_factory.rb +0 -19
  291. data/test/integration/sql/sqlv1/test_coverage.rb +0 -6
  292. data/test/integration/sql/sqlv1/test_v1_instances.rb +0 -31
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: db28ee4b97653430aba4dfeb43d30b8ccb00b1ed
4
- data.tar.gz: c8d8d6a87ee9d08f77ef1e33ae5503a6be03ae5d
2
+ SHA256:
3
+ metadata.gz: b939fe151e79be2e5acd8c98082b4771e58819bbb0594dae868281b9b9c943b8
4
+ data.tar.gz: 8a5053cb43c779e8786da5d76c98040b7bf926064bd9831e061b38ff7fc410f4
5
5
  SHA512:
6
- metadata.gz: 5b9756f3a3dbf943cd37dc309315be2de09855c5cbc3dc934e40ec259ee92f2478a53401762d1d9ccd1e01c375f609a0578f9fd40b7038a26890365651ea3218
7
- data.tar.gz: 96cd05f5c83f731c672e04eb23a720c19a835381ee55bfd3eb6869807a85959a4ff0509c64190d888d6cc55572faa071ffee28a866f1a5031824f39d8bfe01fe
6
+ metadata.gz: 4f63042bb5c18d8dba6b765a338fbbe0d4b82f741b01c6defcd7ac06f53990da1e0d86fcf2aa830f68cf19c1146b3f0787538dfc5877a0f088eb5ddabf74bea5
7
+ data.tar.gz: 4a78088e4ec4074115b6cbe0b65784614a819e2a2cdb35ace605618eacd22f84a457034b7946f892c767e976227c38175b6030f2270e4ed01fe9f61dcf869ecf
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "daily"
@@ -0,0 +1,34 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+ strategy:
21
+ matrix:
22
+ ruby-version: ['2.5', '2.6', '2.7', '3.0', 'head']
23
+
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - name: Set up Ruby
27
+ uses: ruby/setup-ruby@v1
28
+ with:
29
+ ruby-version: ${{ matrix.ruby-version }}
30
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
31
+ - name: Install dependencies
32
+ run: bundle install
33
+ - name: Run tests
34
+ run: bundle exec rake
@@ -0,0 +1,23 @@
1
+ name: Mark stale issues and pull requests
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "30 1 * * *"
6
+
7
+ jobs:
8
+ stale:
9
+
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/stale@v3
14
+ with:
15
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
16
+ days-before-stale: 60
17
+ days-before-close: 7
18
+ exempt-issue-labels: 'pinned,security'
19
+ exempt-pr-labels: 'pinned,security'
20
+ stale-issue-message: 'This issue has been marked inactive and will be closed if no further activity occurs.'
21
+ stale-pr-message: 'This pr has been marked inactive and will be closed if no further activity occurs.'
22
+ stale-issue-label: 'no-issue-activity'
23
+ stale-pr-label: 'no-pr-activity'
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  # Fog custom enforced styles
2
- Metrics/LineLength:
2
+ Layout/LineLength:
3
3
  Enabled: false
4
4
 
5
5
  Style/ConditionalAssignment:
@@ -94,7 +94,7 @@ Naming/PredicateName:
94
94
  - is_
95
95
  - has_
96
96
  - have_
97
- NamePrefixBlacklist:
97
+ ForbiddenPrefixes:
98
98
  - is_
99
99
  Exclude:
100
100
  - spec/**/*
@@ -246,7 +246,7 @@ Style/WhenThen:
246
246
  Lint/EachWithObjectArgument:
247
247
  Description: Check for immutable argument given to each_with_object.
248
248
  Enabled: true
249
- Lint/HandleExceptions:
249
+ Lint/SuppressedException:
250
250
  Description: Don't suppress exception.
251
251
  StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
252
252
  Enabled: false
data/CHANGELOG.md CHANGED
@@ -6,6 +6,118 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
6
6
 
7
7
  ## Next
8
8
 
9
+ ## 1.13.0
10
+
11
+ ### User-facing
12
+
13
+ ### Fixed
14
+
15
+ fix deprecated URI.escape usage to support Ruby 3.0
16
+ fix apply_client_options def to support Ruby 3.0
17
+
18
+ ### Development Changes
19
+
20
+ Add github actions config and dependabot
21
+ Drop travis usage
22
+
23
+ ### Added
24
+
25
+ ## 1.12.1
26
+
27
+ ### User-facing
28
+
29
+ #### Fixed
30
+
31
+ \#513 - support passing other request options `StorageJSON#copy_object` [yosiat]
32
+
33
+ ### Development changes
34
+
35
+ #### Added
36
+
37
+ \#514 - Update .travis.yml to support PPC architecture testing [nageshlop]
38
+
39
+
40
+ ## 1.12.0
41
+
42
+ ### User-facing
43
+
44
+ #### Added
45
+
46
+ - \#509 Add ShieldedInstanceConfig support to `Server#insert` [lcy0321]
47
+
48
+ #### Fixed
49
+
50
+ - \#508 Fix GoogleXML::File#save incorrectly passing body to headers [stanhu]
51
+
52
+ - \#506 Add Trufferuby head to CI [gogainda]
53
+
54
+ ### Development changes
55
+
56
+ #### Fixed
57
+
58
+ - \#510 Upgrade CI docker image to Ubuntu 18.04 [temikus]
59
+
60
+
61
+ ## 1.11.0
62
+
63
+ ### User-facing
64
+
65
+ #### Added
66
+
67
+ - \#503 - Add fallback URL signing mechanism via IAM SignBlob API [temikus]
68
+
69
+ #### Fixed
70
+
71
+ - \#498 Add `:idempotent` flag to Fog::Storage::GoogleXML::Real#head_object, fixing
72
+ `Excon::Error::Socket: end of file reached (EOFError)` in certain scenarios, see \#416 [temikus]
73
+ - \#500 Set default options automatically if missing in `Pubsub#pull_subscription`
74
+
75
+ ### Development changes
76
+
77
+ #### Fixed
78
+
79
+ - \#501 DRY'ed up the retry methods in monitoring tests [temikus]
80
+ - \#500 Cleanup unneeded constants in Server model, fix flaky PubSub tests [temikus]
81
+
82
+ ## 1.10.0
83
+
84
+ ### User-facing
85
+
86
+ #### Added
87
+
88
+ - \#480 Add label support to `Disk` model [militarpancho]
89
+ - \#485 Add a `Server#set_server_machine_type` request [gscho]
90
+ - \#490 Add RHEL SAP cloud image project [kgaikwad]
91
+ - \#491 Add `exclude_projects` option to exclude any global project [kgaikwad]
92
+ - \#495 Add support to perform Windows passwords reset procedure through Fog [dvanbrug]
93
+
94
+ #### Fixed
95
+ - \#455 Fix metadata format for `Server#add_ssh_key()` [kgaikwad]
96
+ - \#452 Fix `Address.{associate,disassociate}` methods [temikus]
97
+ - \#486 Fix `Monitoring#create_time_series` method [temikus]
98
+ - \#493 Add sync/async support to `Google::SQL::SslCert` model init [temikus]
99
+
100
+ ### Development changes
101
+
102
+ #### Added
103
+
104
+ - \#474 Added a manually-triggered pipeline to build from HEAD [temikus]
105
+ - \#470 Added tests for `Server#add_ssh_key()` [kgaikwad]
106
+ - \#461 Added dependabot integration [temikus]
107
+ - \#458 Add SECURITY.md, outlining the lib security policy [icco]
108
+ - \#457 Added Ruby 2.6 to travis, switch to default distro [icco]
109
+ - \#453 Implemented worker-side caching of dependencies between jobs [temikus]
110
+ - \#452 Increase `Address` model test coverage [temikus]
111
+
112
+ #### Fixed
113
+
114
+ - \#469 Zone/Monitoring test logging/style improvements [icco]
115
+ - \#465 Stopped counting non-implemented mocks in code coverage [temikus]
116
+ - \#463 Fixed SQL tests broken by the API change [temikus]
117
+ - \#476 Re-enabled Stackdriver pagination tests [temikus]
118
+ - \#488 Tiny fix to ssh key tests to remove a race condition [temikus]
119
+ - \#493 Removing SQLv1 API support from tests [temikus]
120
+
9
121
  ## 1.9.1
10
122
 
11
123
  ### User-facing
@@ -350,4 +462,4 @@ We encourage people using 0.5.1 to upgrade.
350
462
 
351
463
  #### Added
352
464
 
353
- #### Fixed
465
+ #### Fixed
data/README.md CHANGED
@@ -1,6 +1,15 @@
1
+ # ⚠️ ATTENTION ⚠️ HELP NEEDED WITH CI
2
+
3
+ With both me and icco@ departing Google **fog-google no longer has a CI stack** as we don't have access to a sponsored GCP account anymore and I've been unsuccessful in finding someone who would volunteer to maintain this project or CI at the time of my departure.
4
+
5
+ There is no easy way to say this but we need help as costs of running a CI stack that touches almost all GCP resources is significant. We know there's a lot of companies out there that are using this lib, as well as tooling based on it so if you want to help us with running a CI stack or provide sponsorship for a GCP account - please contact me at code \<at\> temik.me
6
+
7
+ --
8
+ Artem (temikus@) - Lead maintainer
9
+
1
10
  # Fog::Google
2
11
 
3
- [![Gem Version](https://badge.fury.io/rb/fog-google.svg)](http://badge.fury.io/rb/fog-google) [![Build Status](https://travis-ci.org/fog/fog-google.svg?branch=master)](https://travis-ci.org/fog/fog-google) [![codecov](https://codecov.io/gh/fog/fog-google/branch/master/graph/badge.svg)](https://codecov.io/gh/fog/fog-google) [![Doc coverage](https://inch-ci.org/github/fog/fog-google.svg?branch=master)](https://inch-ci.org/github/fog/fog-google)
12
+ [![Gem Version](https://badge.fury.io/rb/fog-google.svg)](http://badge.fury.io/rb/fog-google) [![Build Status](https://github.com/fog/fog-google/actions/workflows/ruby.yml/badge.svg)](https://github.com/fog/fog-google/actions/workflows/ruby.yml) [![codecov](https://codecov.io/gh/fog/fog-google/branch/master/graph/badge.svg)](https://codecov.io/gh/fog/fog-google) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=fog/fog-google)](https://dependabot.com) [![Doc coverage](https://inch-ci.org/github/fog/fog-google.svg?branch=master)](https://inch-ci.org/github/fog/fog-google)
4
13
 
5
14
  The main maintainers for the Google sections are @icco, @Temikus and @plribeiro3000. Please send pull requests to them.
6
15
 
@@ -8,7 +17,7 @@ The main maintainers for the Google sections are @icco, @Temikus and @plribeiro3
8
17
 
9
18
  - As of **v1.0.0**, fog-google includes google-api-client as a dependency, there is no need to include it separately anymore.
10
19
 
11
- - Fog-google is currently supported on Ruby 2.3+ See [supported ruby versions](#supported-ruby-versions) for more info.
20
+ - Fog-google is currently supported on Ruby 2.4+ See [supported ruby versions](#supported-ruby-versions) for more info.
12
21
 
13
22
  See **[MIGRATING.md](MIGRATING.md)** for migration between major versions.
14
23
 
@@ -27,8 +36,8 @@ As of 2017-12-15, we are still working on making Fog for Google Compute engine (
27
36
 
28
37
  ## SQL
29
38
 
30
- 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
31
- adding remaining features.
39
+ 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
40
+ adding remaining features.
32
41
 
33
42
  ## DNS
34
43
 
@@ -36,8 +45,8 @@ Fog implements [v1](https://cloud.google.com/dns/api/v1/) of the Google Cloud DN
36
45
 
37
46
  ## Monitoring
38
47
 
39
- 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.
40
-
48
+ 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.
49
+
41
50
  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.
42
51
 
43
52
  ## Pubsub
@@ -94,12 +103,12 @@ cat .fog.example >> ~/.fog # appends the sample configuration
94
103
  vim ~/.fog # edit file with yout config
95
104
  ```
96
105
 
97
- As of `1.9.0` fog-google supports Google [application default credentials (ADC)](https://cloud.google.com/docs/authentication/production)
106
+ As of `1.9.0` fog-google supports Google [application default credentials (ADC)](https://cloud.google.com/docs/authentication/production)
98
107
  The auth method uses [Google::Auth.get_application_default](https://www.rubydoc.info/gems/googleauth/0.6.7/Google%2FAuth.get_application_default)
99
108
  under the hood.
100
109
 
101
110
  Example workflow for a GCE instance with [service account scopes](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances)
102
- defined:
111
+ defined:
103
112
 
104
113
  ```
105
114
  > connection = Fog::Compute::Google.new(:google_project => "my-project", :google_application_default => true)
@@ -108,6 +117,43 @@ defined:
108
117
  => [ <Fog::Compute::Google::Server ... ]
109
118
  ```
110
119
 
120
+ #### CarrierWave integration
121
+
122
+ It is common to integrate Fog with Carrierwave. Here's a minimal config that's commonly put in `config/initializers/carrierwave.rb`:
123
+
124
+ ```
125
+ CarrierWave.configure do |config|
126
+ config.fog_provider = 'fog/google'
127
+ config.fog_credentials = {
128
+ provider: 'Google',
129
+ google_project: Rails.application.secrets.google_cloud_storage_project_name,
130
+ google_json_key_string: Rails.application.secrets.google_cloud_storage_credential_content
131
+ # can optionally use google_json_key_location if using an actual file;
132
+ }
133
+ config.fog_directory = Rails.application.secrets.google_cloud_storage_bucket_name
134
+ end
135
+ ```
136
+
137
+ This needs a corresponding secret in `config/secrets.yml`, e.g.:
138
+
139
+ ```
140
+ development:
141
+ google_cloud_storage_project_name: your-project-name
142
+ google_cloud_storage_credential_content: '{
143
+ "type": "service_account",
144
+ "project_id": "your-project-name",
145
+ "private_key_id": "REDACTED",
146
+ "private_key": "-----BEGIN PRIVATE KEY-----REDACTED-----END PRIVATE KEY-----\n",
147
+ "client_email": "REDACTED@your-project-name.iam.gserviceaccount.com",
148
+ "client_id": "REDACTED",
149
+ "auth_uri": "https://accounts.google.com/o/oauth2/auth",
150
+ "token_uri": "https://accounts.google.com/o/oauth2/token",
151
+ "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
152
+ "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/REDACTED%40your-project-name.iam.gserviceaccount.com"
153
+ }'
154
+ google_cloud_storage_bucket_name: your-bucket-name
155
+ ```
156
+
111
157
  #### SSH-ing into instances
112
158
 
113
159
  If you want to be able to bootstrap SSH-able instances, (using `servers.bootstrap`,) be sure you have a key in `~/.ssh/id_rsa` and `~/.ssh/id_rsa.pub`
@@ -128,10 +174,10 @@ $ bundle exec pry
128
174
 
129
175
  ## Supported Ruby Versions
130
176
 
131
- Fog-google is currently supported on Ruby 2.3+.
177
+ Fog-google is currently supported on Ruby 2.4+.
132
178
 
133
179
  In general we support (and run our CI) for Ruby versions that are actively supported
134
- by Ruby Core - that is, Ruby versions that are not end of life. Older versions of
180
+ by Ruby Core - that is, Ruby versions that are not end of life. Older versions of
135
181
  Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/
136
182
  for details about the Ruby support schedule.
137
183
 
data/SECURITY.md ADDED
@@ -0,0 +1,16 @@
1
+ # Security Policy
2
+
3
+ Our README.md is the end all be all for authoritative information, but the following is our security policy.
4
+
5
+ ## Supported Versions
6
+
7
+ Versions with :white_check_mark: are supported. All other versions need to be upgraded.
8
+
9
+ | Version | Supported |
10
+ | ------- | ------------------ |
11
+ | 1.9.x | :white_check_mark: |
12
+ | 0.1.x | :white_check_mark: until July 1st, 2019 |
13
+
14
+ ## Reporting a Vulnerability
15
+
16
+ Please file an issue here to report a vulnerability. For immediate escalations, please email nat@natwelch.com and temikus@google.com with the subject `[Fog-Google Security Issue] Description`.
data/ci/README.md CHANGED
@@ -23,10 +23,11 @@ fly -t fog-ci login -c <YOUR CONCOURSE URL>
23
23
  * Update the [credentials.yml](https://github.com/fog/fog-google/blob/master/ci/credentials.yml.tpl)
24
24
  file. See [Credentials Requirements](#credentials-requirements) for specific instructions.
25
25
 
26
- * Set the fog-google pipeline:
26
+ * Set the fog-google pipelines:
27
27
 
28
28
  ```
29
- fly -t fog-ci set-pipeline -p pr-integration -c pipeline.yml -l credentials.yml
29
+ fly -t fog set-pipeline -p build-head -c build-head-pipeline.yml -l credentials.yml
30
+ fly -t fog-ci set-pipeline -p pr-integration -c integration-pipeline.yml -l credentials.yml
30
31
  ```
31
32
 
32
33
  * Unpause the fog-google pipeline:
@@ -0,0 +1,173 @@
1
+ jobs:
2
+ - name: manual-trigger
3
+ plan:
4
+ - get: master
5
+ trigger: false
6
+
7
+ - name: integration-compute-core_compute
8
+ serial: true
9
+ plan:
10
+ - get: fog-google-src
11
+ resource: master
12
+ version: every
13
+ trigger: true
14
+ passed:
15
+ - manual-trigger
16
+
17
+ - task: run-integration-tests
18
+ file: fog-google-src/ci/tasks/run-int.yml
19
+ params:
20
+ rake_task: test:compute-core_compute
21
+ codecov_token: {{codecov_token}}
22
+ google_project: {{google_project}}
23
+ google_json_key_data: {{google_json_key_data}}
24
+
25
+ - name: integration-compute-core_networking
26
+ serial: true
27
+ plan:
28
+ - get: fog-google-src
29
+ resource: master
30
+ version: every
31
+ trigger: true
32
+ passed:
33
+ - manual-trigger
34
+
35
+ - task: run-integration-tests
36
+ file: fog-google-src/ci/tasks/run-int.yml
37
+ params:
38
+ rake_task: test:compute-core_networking
39
+ codecov_token: {{codecov_token}}
40
+ google_project: {{google_project}}
41
+ google_json_key_data: {{google_json_key_data}}
42
+
43
+ - name: integration-compute-instance_groups
44
+ serial: true
45
+ plan:
46
+ - get: fog-google-src
47
+ resource: master
48
+ version: every
49
+ trigger: true
50
+ passed:
51
+ - manual-trigger
52
+
53
+ - task: run-integration-tests
54
+ file: fog-google-src/ci/tasks/run-int.yml
55
+ params:
56
+ rake_task: test:compute-instance_groups
57
+ codecov_token: {{codecov_token}}
58
+ google_project: {{google_project}}
59
+ google_json_key_data: {{google_json_key_data}}
60
+
61
+ - name: integration-compute-loadbalancing
62
+ serial: true
63
+ plan:
64
+ - get: fog-google-src
65
+ resource: master
66
+ version: every
67
+ trigger: true
68
+ passed:
69
+ - manual-trigger
70
+
71
+ - task: run-integration-tests
72
+ file: fog-google-src/ci/tasks/run-int.yml
73
+ params:
74
+ rake_task: test:compute-loadbalancing
75
+ codecov_token: {{codecov_token}}
76
+ google_project: {{google_project}}
77
+ google_json_key_data: {{google_json_key_data}}
78
+
79
+ - name: integration-tests-monitoring
80
+ serial: true
81
+ plan:
82
+ - get: fog-google-src
83
+ resource: master
84
+ version: every
85
+ trigger: true
86
+ passed:
87
+ - manual-trigger
88
+
89
+ - task: run-integration-tests
90
+ file: fog-google-src/ci/tasks/run-int.yml
91
+ params:
92
+ rake_task: test:monitoring
93
+ codecov_token: {{codecov_token}}
94
+ google_project: {{google_project}}
95
+ google_json_key_data: {{google_json_key_data}}
96
+
97
+ - name: integration-tests-pubsub
98
+ serial: true
99
+ plan:
100
+ - get: fog-google-src
101
+ resource: master
102
+ version: every
103
+ trigger: true
104
+ passed:
105
+ - manual-trigger
106
+
107
+ - task: run-integration-tests
108
+ file: fog-google-src/ci/tasks/run-int.yml
109
+ params:
110
+ rake_task: test:pubsub
111
+ codecov_token: {{codecov_token}}
112
+ google_project: {{google_project}}
113
+ google_json_key_data: {{google_json_key_data}}
114
+
115
+ - name: integration-sqlv1
116
+ serial: true
117
+ plan:
118
+ - get: fog-google-src
119
+ resource: master
120
+ version: every
121
+ trigger: true
122
+ passed:
123
+ - manual-trigger
124
+
125
+ - task: run-integration-tests
126
+ file: fog-google-src/ci/tasks/run-int.yml
127
+ params:
128
+ rake_task: test:sql-sqlv1
129
+ codecov_token: {{codecov_token}}
130
+ google_project: {{google_project}}
131
+ google_json_key_data: {{google_json_key_data}}
132
+
133
+ - name: integration-sqlv2
134
+ serial: true
135
+ plan:
136
+ - get: fog-google-src
137
+ resource: master
138
+ version: every
139
+ trigger: true
140
+ passed:
141
+ - manual-trigger
142
+
143
+ - task: run-integration-tests
144
+ file: fog-google-src/ci/tasks/run-int.yml
145
+ params:
146
+ rake_task: test:sql-sqlv2
147
+ codecov_token: {{codecov_token}}
148
+ google_project: {{google_project}}
149
+ google_json_key_data: {{google_json_key_data}}
150
+
151
+ - name: integration-tests-storage
152
+ serial: true
153
+ plan:
154
+ - get: fog-google-src
155
+ resource: master
156
+ version: every
157
+ trigger: true
158
+ passed:
159
+ - manual-trigger
160
+ - task: run-integration-tests
161
+ file: fog-google-src/ci/tasks/run-int.yml
162
+ params:
163
+ rake_task: test:storage
164
+ codecov_token: {{codecov_token}}
165
+ google_project: {{google_project}}
166
+ google_json_key_data: {{google_json_key_data}}
167
+
168
+ resources:
169
+ - name: master
170
+ type: git
171
+ source:
172
+ uri: https://github.com/fog/fog-google.git
173
+ branch: master