fog-google 1.24.1 → 1.26.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 (437) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/integration-compute-core.yml +2 -2
  3. data/.github/workflows/integration-compute-instance_groups.yml +2 -2
  4. data/.github/workflows/integration-compute-loadbalancing.yml +2 -2
  5. data/.github/workflows/integration-compute-networking.yml +2 -2
  6. data/.github/workflows/integration-monitoring.yml +2 -2
  7. data/.github/workflows/integration-pubsub.yml +2 -2
  8. data/.github/workflows/integration-sql.yml +2 -2
  9. data/.github/workflows/integration-storage.yml +2 -2
  10. data/.github/workflows/unit.yml +2 -2
  11. data/CHANGELOG.md +58 -27
  12. data/CONTRIBUTING.md +11 -11
  13. data/README.md +7 -7
  14. data/SECURITY.md +3 -14
  15. data/examples/create_instance_and_attach_disk_later.rb +6 -7
  16. data/examples/dns/project.rb +1 -1
  17. data/examples/dns/zones.rb +1 -1
  18. data/examples/storage.rb +1 -1
  19. data/examples/storage_json.rb +1 -1
  20. data/fog-google.gemspec +3 -4
  21. data/lib/fog/bin/google.rb +23 -25
  22. data/lib/fog/{compute/google → google/compute}/mock.rb +2 -2
  23. data/lib/fog/{compute/google → google/compute}/models/address.rb +8 -8
  24. data/lib/fog/{compute/google → google/compute}/models/addresses.rb +3 -3
  25. data/lib/fog/{compute/google → google/compute}/models/backend_service.rb +4 -4
  26. data/lib/fog/{compute/google → google/compute}/models/backend_services.rb +3 -3
  27. data/lib/fog/{compute/google → google/compute}/models/disk.rb +5 -5
  28. data/lib/fog/{compute/google → google/compute}/models/disk_type.rb +2 -2
  29. data/lib/fog/{compute/google → google/compute}/models/disk_types.rb +3 -3
  30. data/lib/fog/{compute/google → google/compute}/models/disks.rb +3 -3
  31. data/lib/fog/{compute/google → google/compute}/models/firewall.rb +6 -6
  32. data/lib/fog/{compute/google → google/compute}/models/firewalls.rb +3 -3
  33. data/lib/fog/{compute/google → google/compute}/models/forwarding_rule.rb +4 -4
  34. data/lib/fog/{compute/google → google/compute}/models/forwarding_rules.rb +3 -3
  35. data/lib/fog/{compute/google → google/compute}/models/global_address.rb +4 -4
  36. data/lib/fog/{compute/google → google/compute}/models/global_addresses.rb +3 -3
  37. data/lib/fog/{compute/google → google/compute}/models/global_forwarding_rule.rb +4 -4
  38. data/lib/fog/{compute/google → google/compute}/models/global_forwarding_rules.rb +3 -3
  39. data/lib/fog/{compute/google → google/compute}/models/http_health_check.rb +5 -5
  40. data/lib/fog/{compute/google → google/compute}/models/http_health_checks.rb +3 -3
  41. data/lib/fog/{compute/google → google/compute}/models/image.rb +4 -4
  42. data/lib/fog/{compute/google → google/compute}/models/images.rb +3 -3
  43. data/lib/fog/{compute/google → google/compute}/models/instance_group.rb +2 -2
  44. data/lib/fog/{compute/google → google/compute}/models/instance_group_manager.rb +3 -3
  45. data/lib/fog/{compute/google → google/compute}/models/instance_group_managers.rb +3 -3
  46. data/lib/fog/{compute/google → google/compute}/models/instance_groups.rb +5 -5
  47. data/lib/fog/{compute/google → google/compute}/models/instance_template.rb +4 -4
  48. data/lib/fog/{compute/google → google/compute}/models/instance_templates.rb +3 -3
  49. data/lib/fog/{compute/google → google/compute}/models/machine_type.rb +2 -2
  50. data/lib/fog/{compute/google → google/compute}/models/machine_types.rb +3 -3
  51. data/lib/fog/{compute/google → google/compute}/models/network.rb +4 -4
  52. data/lib/fog/{compute/google → google/compute}/models/networks.rb +3 -3
  53. data/lib/fog/{compute/google → google/compute}/models/operation.rb +2 -2
  54. data/lib/fog/{compute/google → google/compute}/models/operations.rb +3 -3
  55. data/lib/fog/{compute/google → google/compute}/models/project.rb +3 -3
  56. data/lib/fog/{compute/google → google/compute}/models/projects.rb +3 -3
  57. data/lib/fog/{compute/google → google/compute}/models/region.rb +2 -2
  58. data/lib/fog/{compute/google → google/compute}/models/regions.rb +3 -3
  59. data/lib/fog/{compute/google → google/compute}/models/route.rb +4 -4
  60. data/lib/fog/{compute/google → google/compute}/models/routes.rb +3 -3
  61. data/lib/fog/{compute/google → google/compute}/models/server.rb +19 -19
  62. data/lib/fog/{compute/google → google/compute}/models/servers.rb +3 -3
  63. data/lib/fog/{compute/google → google/compute}/models/snapshot.rb +3 -3
  64. data/lib/fog/{compute/google → google/compute}/models/snapshots.rb +3 -3
  65. data/lib/fog/{compute/google → google/compute}/models/ssl_certificate.rb +4 -4
  66. data/lib/fog/{compute/google → google/compute}/models/ssl_certificates.rb +3 -3
  67. data/lib/fog/{compute/google → google/compute}/models/subnetwork.rb +6 -6
  68. data/lib/fog/{compute/google → google/compute}/models/subnetworks.rb +3 -3
  69. data/lib/fog/{compute/google → google/compute}/models/target_http_proxies.rb +3 -3
  70. data/lib/fog/{compute/google → google/compute}/models/target_http_proxy.rb +5 -5
  71. data/lib/fog/{compute/google → google/compute}/models/target_https_proxies.rb +3 -3
  72. data/lib/fog/{compute/google → google/compute}/models/target_https_proxy.rb +7 -7
  73. data/lib/fog/{compute/google → google/compute}/models/target_instance.rb +4 -4
  74. data/lib/fog/{compute/google → google/compute}/models/target_instances.rb +3 -3
  75. data/lib/fog/{compute/google → google/compute}/models/target_pool.rb +8 -8
  76. data/lib/fog/{compute/google → google/compute}/models/target_pools.rb +3 -3
  77. data/lib/fog/{compute/google → google/compute}/models/url_map.rb +7 -7
  78. data/lib/fog/{compute/google → google/compute}/models/url_maps.rb +3 -3
  79. data/lib/fog/{compute/google → google/compute}/models/zone.rb +2 -2
  80. data/lib/fog/{compute/google → google/compute}/models/zones.rb +3 -3
  81. data/lib/fog/{compute/google → google/compute}/real.rb +2 -2
  82. data/lib/fog/{compute/google → google/compute}/requests/abandon_instances.rb +2 -2
  83. data/lib/fog/{compute/google → google/compute}/requests/add_backend_service_backends.rb +2 -2
  84. data/lib/fog/{compute/google → google/compute}/requests/add_instance_group_instances.rb +2 -2
  85. data/lib/fog/{compute/google → google/compute}/requests/add_server_access_config.rb +2 -2
  86. data/lib/fog/{compute/google → google/compute}/requests/add_target_pool_health_checks.rb +2 -2
  87. data/lib/fog/{compute/google → google/compute}/requests/add_target_pool_instances.rb +2 -2
  88. data/lib/fog/{compute/google → google/compute}/requests/attach_disk.rb +2 -2
  89. data/lib/fog/{compute/google → google/compute}/requests/create_disk_snapshot.rb +2 -2
  90. data/lib/fog/{compute/google → google/compute}/requests/delete_address.rb +2 -2
  91. data/lib/fog/{compute/google → google/compute}/requests/delete_backend_service.rb +2 -2
  92. data/lib/fog/{compute/google → google/compute}/requests/delete_disk.rb +2 -2
  93. data/lib/fog/{compute/google → google/compute}/requests/delete_firewall.rb +2 -2
  94. data/lib/fog/{compute/google → google/compute}/requests/delete_forwarding_rule.rb +2 -2
  95. data/lib/fog/{compute/google → google/compute}/requests/delete_global_address.rb +2 -2
  96. data/lib/fog/{compute/google → google/compute}/requests/delete_global_forwarding_rule.rb +2 -2
  97. data/lib/fog/{compute/google → google/compute}/requests/delete_global_operation.rb +2 -2
  98. data/lib/fog/{compute/google → google/compute}/requests/delete_http_health_check.rb +2 -2
  99. data/lib/fog/{compute/google → google/compute}/requests/delete_image.rb +2 -2
  100. data/lib/fog/{compute/google → google/compute}/requests/delete_instance_group.rb +2 -2
  101. data/lib/fog/{compute/google → google/compute}/requests/delete_instance_group_manager.rb +2 -2
  102. data/lib/fog/{compute/google → google/compute}/requests/delete_instance_template.rb +2 -2
  103. data/lib/fog/{compute/google → google/compute}/requests/delete_network.rb +2 -2
  104. data/lib/fog/{compute/google → google/compute}/requests/delete_region_operation.rb +2 -2
  105. data/lib/fog/{compute/google → google/compute}/requests/delete_route.rb +2 -2
  106. data/lib/fog/{compute/google → google/compute}/requests/delete_server.rb +2 -2
  107. data/lib/fog/{compute/google → google/compute}/requests/delete_server_access_config.rb +2 -2
  108. data/lib/fog/{compute/google → google/compute}/requests/delete_snapshot.rb +2 -2
  109. data/lib/fog/{compute/google → google/compute}/requests/delete_ssl_certificate.rb +2 -2
  110. data/lib/fog/{compute/google → google/compute}/requests/delete_subnetwork.rb +2 -2
  111. data/lib/fog/{compute/google → google/compute}/requests/delete_target_http_proxy.rb +2 -2
  112. data/lib/fog/{compute/google → google/compute}/requests/delete_target_https_proxy.rb +2 -2
  113. data/lib/fog/{compute/google → google/compute}/requests/delete_target_instance.rb +2 -2
  114. data/lib/fog/{compute/google → google/compute}/requests/delete_target_pool.rb +2 -2
  115. data/lib/fog/{compute/google → google/compute}/requests/delete_url_map.rb +2 -2
  116. data/lib/fog/{compute/google → google/compute}/requests/delete_zone_operation.rb +2 -2
  117. data/lib/fog/{compute/google → google/compute}/requests/deprecate_image.rb +2 -2
  118. data/lib/fog/{compute/google → google/compute}/requests/detach_disk.rb +2 -2
  119. data/lib/fog/{compute/google → google/compute}/requests/expand_subnetwork_ip_cidr_range.rb +2 -2
  120. data/lib/fog/{compute/google → google/compute}/requests/get_address.rb +2 -2
  121. data/lib/fog/{compute/google → google/compute}/requests/get_backend_service.rb +2 -2
  122. data/lib/fog/{compute/google → google/compute}/requests/get_backend_service_health.rb +2 -2
  123. data/lib/fog/{compute/google → google/compute}/requests/get_disk.rb +2 -2
  124. data/lib/fog/{compute/google → google/compute}/requests/get_disk_type.rb +2 -2
  125. data/lib/fog/{compute/google → google/compute}/requests/get_firewall.rb +2 -2
  126. data/lib/fog/{compute/google → google/compute}/requests/get_forwarding_rule.rb +2 -2
  127. data/lib/fog/{compute/google → google/compute}/requests/get_global_address.rb +2 -2
  128. data/lib/fog/{compute/google → google/compute}/requests/get_global_forwarding_rule.rb +2 -2
  129. data/lib/fog/{compute/google → google/compute}/requests/get_global_operation.rb +2 -2
  130. data/lib/fog/{compute/google → google/compute}/requests/get_http_health_check.rb +2 -2
  131. data/lib/fog/{compute/google → google/compute}/requests/get_image.rb +2 -2
  132. data/lib/fog/{compute/google → google/compute}/requests/get_image_from_family.rb +2 -2
  133. data/lib/fog/{compute/google → google/compute}/requests/get_instance_group.rb +2 -2
  134. data/lib/fog/{compute/google → google/compute}/requests/get_instance_group_manager.rb +2 -2
  135. data/lib/fog/{compute/google → google/compute}/requests/get_instance_template.rb +2 -2
  136. data/lib/fog/{compute/google → google/compute}/requests/get_machine_type.rb +2 -2
  137. data/lib/fog/{compute/google → google/compute}/requests/get_network.rb +2 -2
  138. data/lib/fog/{compute/google → google/compute}/requests/get_project.rb +2 -2
  139. data/lib/fog/{compute/google → google/compute}/requests/get_region.rb +2 -2
  140. data/lib/fog/{compute/google → google/compute}/requests/get_region_operation.rb +2 -2
  141. data/lib/fog/{compute/google → google/compute}/requests/get_route.rb +2 -2
  142. data/lib/fog/{compute/google → google/compute}/requests/get_server.rb +2 -2
  143. data/lib/fog/{compute/google → google/compute}/requests/get_server_serial_port_output.rb +2 -2
  144. data/lib/fog/{compute/google → google/compute}/requests/get_snapshot.rb +2 -2
  145. data/lib/fog/{compute/google → google/compute}/requests/get_ssl_certificate.rb +2 -2
  146. data/lib/fog/{compute/google → google/compute}/requests/get_subnetwork.rb +2 -2
  147. data/lib/fog/{compute/google → google/compute}/requests/get_target_http_proxy.rb +2 -2
  148. data/lib/fog/{compute/google → google/compute}/requests/get_target_https_proxy.rb +2 -2
  149. data/lib/fog/{compute/google → google/compute}/requests/get_target_instance.rb +2 -2
  150. data/lib/fog/{compute/google → google/compute}/requests/get_target_pool.rb +2 -2
  151. data/lib/fog/{compute/google → google/compute}/requests/get_target_pool_health.rb +2 -2
  152. data/lib/fog/{compute/google → google/compute}/requests/get_url_map.rb +2 -2
  153. data/lib/fog/{compute/google → google/compute}/requests/get_zone.rb +2 -2
  154. data/lib/fog/{compute/google → google/compute}/requests/get_zone_operation.rb +2 -2
  155. data/lib/fog/{compute/google → google/compute}/requests/insert_address.rb +2 -2
  156. data/lib/fog/{compute/google → google/compute}/requests/insert_backend_service.rb +2 -2
  157. data/lib/fog/{compute/google → google/compute}/requests/insert_disk.rb +2 -2
  158. data/lib/fog/{compute/google → google/compute}/requests/insert_firewall.rb +2 -2
  159. data/lib/fog/{compute/google → google/compute}/requests/insert_forwarding_rule.rb +2 -2
  160. data/lib/fog/{compute/google → google/compute}/requests/insert_global_address.rb +2 -2
  161. data/lib/fog/{compute/google → google/compute}/requests/insert_global_forwarding_rule.rb +2 -2
  162. data/lib/fog/{compute/google → google/compute}/requests/insert_http_health_check.rb +2 -2
  163. data/lib/fog/{compute/google → google/compute}/requests/insert_image.rb +2 -2
  164. data/lib/fog/{compute/google → google/compute}/requests/insert_instance_group.rb +2 -2
  165. data/lib/fog/{compute/google → google/compute}/requests/insert_instance_group_manager.rb +2 -2
  166. data/lib/fog/{compute/google → google/compute}/requests/insert_instance_template.rb +2 -2
  167. data/lib/fog/{compute/google → google/compute}/requests/insert_network.rb +2 -2
  168. data/lib/fog/{compute/google → google/compute}/requests/insert_route.rb +2 -2
  169. data/lib/fog/{compute/google → google/compute}/requests/insert_server.rb +3 -3
  170. data/lib/fog/{compute/google → google/compute}/requests/insert_ssl_certificate.rb +2 -2
  171. data/lib/fog/{compute/google → google/compute}/requests/insert_subnetwork.rb +2 -2
  172. data/lib/fog/{compute/google → google/compute}/requests/insert_target_http_proxy.rb +2 -2
  173. data/lib/fog/{compute/google → google/compute}/requests/insert_target_https_proxy.rb +2 -2
  174. data/lib/fog/{compute/google → google/compute}/requests/insert_target_instance.rb +2 -2
  175. data/lib/fog/{compute/google → google/compute}/requests/insert_target_pool.rb +2 -2
  176. data/lib/fog/{compute/google → google/compute}/requests/insert_url_map.rb +2 -2
  177. data/lib/fog/{compute/google → google/compute}/requests/invalidate_url_map_cache.rb +2 -2
  178. data/lib/fog/{compute/google → google/compute}/requests/list_addresses.rb +2 -2
  179. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_addresses.rb +2 -2
  180. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_disk_types.rb +2 -2
  181. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_disks.rb +2 -2
  182. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_forwarding_rules.rb +2 -2
  183. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_instance_group_managers.rb +2 -2
  184. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_instance_groups.rb +2 -2
  185. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_machine_types.rb +2 -2
  186. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_servers.rb +2 -2
  187. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_subnetworks.rb +2 -2
  188. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_target_instances.rb +2 -2
  189. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_target_pools.rb +2 -2
  190. data/lib/fog/{compute/google → google/compute}/requests/list_backend_services.rb +2 -2
  191. data/lib/fog/{compute/google → google/compute}/requests/list_disk_types.rb +2 -2
  192. data/lib/fog/{compute/google → google/compute}/requests/list_disks.rb +2 -2
  193. data/lib/fog/{compute/google → google/compute}/requests/list_firewalls.rb +2 -2
  194. data/lib/fog/{compute/google → google/compute}/requests/list_forwarding_rules.rb +2 -2
  195. data/lib/fog/{compute/google → google/compute}/requests/list_global_addresses.rb +2 -2
  196. data/lib/fog/{compute/google → google/compute}/requests/list_global_forwarding_rules.rb +2 -2
  197. data/lib/fog/{compute/google → google/compute}/requests/list_global_operations.rb +2 -2
  198. data/lib/fog/{compute/google → google/compute}/requests/list_http_health_checks.rb +2 -2
  199. data/lib/fog/{compute/google → google/compute}/requests/list_images.rb +2 -2
  200. data/lib/fog/{compute/google → google/compute}/requests/list_instance_group_instances.rb +2 -2
  201. data/lib/fog/{compute/google → google/compute}/requests/list_instance_group_managers.rb +2 -2
  202. data/lib/fog/{compute/google → google/compute}/requests/list_instance_groups.rb +2 -2
  203. data/lib/fog/{compute/google → google/compute}/requests/list_instance_templates.rb +2 -2
  204. data/lib/fog/{compute/google → google/compute}/requests/list_machine_types.rb +2 -2
  205. data/lib/fog/{compute/google → google/compute}/requests/list_networks.rb +2 -2
  206. data/lib/fog/{compute/google → google/compute}/requests/list_region_operations.rb +2 -2
  207. data/lib/fog/{compute/google → google/compute}/requests/list_regions.rb +2 -2
  208. data/lib/fog/{compute/google → google/compute}/requests/list_routes.rb +2 -2
  209. data/lib/fog/{compute/google → google/compute}/requests/list_servers.rb +2 -2
  210. data/lib/fog/{compute/google → google/compute}/requests/list_snapshots.rb +2 -2
  211. data/lib/fog/{compute/google → google/compute}/requests/list_ssl_certificates.rb +2 -2
  212. data/lib/fog/{compute/google → google/compute}/requests/list_subnetworks.rb +2 -2
  213. data/lib/fog/{compute/google → google/compute}/requests/list_target_http_proxies.rb +2 -2
  214. data/lib/fog/{compute/google → google/compute}/requests/list_target_https_proxies.rb +2 -2
  215. data/lib/fog/{compute/google → google/compute}/requests/list_target_instances.rb +2 -2
  216. data/lib/fog/{compute/google → google/compute}/requests/list_target_pools.rb +2 -2
  217. data/lib/fog/{compute/google → google/compute}/requests/list_url_maps.rb +2 -2
  218. data/lib/fog/{compute/google → google/compute}/requests/list_zone_operations.rb +2 -2
  219. data/lib/fog/{compute/google → google/compute}/requests/list_zones.rb +2 -2
  220. data/lib/fog/{compute/google → google/compute}/requests/patch_firewall.rb +2 -2
  221. data/lib/fog/{compute/google → google/compute}/requests/patch_url_map.rb +2 -2
  222. data/lib/fog/{compute/google → google/compute}/requests/recreate_instances.rb +2 -2
  223. data/lib/fog/{compute/google → google/compute}/requests/remove_instance_group_instances.rb +2 -2
  224. data/lib/fog/{compute/google → google/compute}/requests/remove_target_pool_health_checks.rb +2 -2
  225. data/lib/fog/{compute/google → google/compute}/requests/remove_target_pool_instance.rb +2 -2
  226. data/lib/fog/{compute/google → google/compute}/requests/remove_target_pool_instances.rb +2 -2
  227. data/lib/fog/{compute/google → google/compute}/requests/reset_server.rb +2 -2
  228. data/lib/fog/{compute/google → google/compute}/requests/reset_windows_password.rb +2 -2
  229. data/lib/fog/{compute/google → google/compute}/requests/set_common_instance_metadata.rb +2 -2
  230. data/lib/fog/{compute/google → google/compute}/requests/set_forwarding_rule_target.rb +2 -2
  231. data/lib/fog/{compute/google → google/compute}/requests/set_global_forwarding_rule_target.rb +2 -2
  232. data/lib/fog/{compute/google → google/compute}/requests/set_instance_template.rb +2 -2
  233. data/lib/fog/{compute/google → google/compute}/requests/set_server_disk_auto_delete.rb +2 -2
  234. data/lib/fog/{compute/google → google/compute}/requests/set_server_machine_type.rb +2 -2
  235. data/lib/fog/{compute/google → google/compute}/requests/set_server_metadata.rb +2 -2
  236. data/lib/fog/{compute/google → google/compute}/requests/set_server_scheduling.rb +2 -2
  237. data/lib/fog/{compute/google → google/compute}/requests/set_server_tags.rb +2 -2
  238. data/lib/fog/{compute/google → google/compute}/requests/set_snapshot_labels.rb +2 -2
  239. data/lib/fog/{compute/google → google/compute}/requests/set_subnetwork_private_ip_google_access.rb +2 -2
  240. data/lib/fog/{compute/google → google/compute}/requests/set_target_http_proxy_url_map.rb +2 -2
  241. data/lib/fog/{compute/google → google/compute}/requests/set_target_https_proxy_ssl_certificates.rb +2 -2
  242. data/lib/fog/{compute/google → google/compute}/requests/set_target_https_proxy_url_map.rb +2 -2
  243. data/lib/fog/{compute/google → google/compute}/requests/set_target_pool_backup.rb +2 -2
  244. data/lib/fog/{compute/google → google/compute}/requests/start_server.rb +2 -2
  245. data/lib/fog/{compute/google → google/compute}/requests/stop_server.rb +2 -2
  246. data/lib/fog/{compute/google → google/compute}/requests/update_firewall.rb +2 -2
  247. data/lib/fog/{compute/google → google/compute}/requests/update_http_health_check.rb +2 -2
  248. data/lib/fog/{compute/google → google/compute}/requests/update_url_map.rb +2 -2
  249. data/lib/fog/{compute/google → google/compute}/requests/validate_url_map.rb +2 -2
  250. data/lib/fog/{compute/google.rb → google/compute.rb} +6 -6
  251. data/lib/fog/{dns/google → google/dns}/mock.rb +2 -2
  252. data/lib/fog/{dns/google → google/dns}/models/change.rb +2 -2
  253. data/lib/fog/{dns/google → google/dns}/models/changes.rb +8 -6
  254. data/lib/fog/{dns/google → google/dns}/models/project.rb +2 -2
  255. data/lib/fog/{dns/google → google/dns}/models/projects.rb +4 -4
  256. data/lib/fog/{dns/google → google/dns}/models/record.rb +11 -11
  257. data/lib/fog/{dns/google → google/dns}/models/records.rb +8 -6
  258. data/lib/fog/{dns/google → google/dns}/models/zone.rb +7 -7
  259. data/lib/fog/{dns/google → google/dns}/models/zones.rb +6 -5
  260. data/lib/fog/{dns/google → google/dns}/real.rb +2 -2
  261. data/lib/fog/{dns/google → google/dns}/requests/create_change.rb +2 -2
  262. data/lib/fog/{dns/google → google/dns}/requests/create_managed_zone.rb +2 -2
  263. data/lib/fog/{dns/google → google/dns}/requests/delete_managed_zone.rb +2 -2
  264. data/lib/fog/{dns/google → google/dns}/requests/get_change.rb +2 -2
  265. data/lib/fog/{dns/google → google/dns}/requests/get_managed_zone.rb +2 -2
  266. data/lib/fog/{dns/google → google/dns}/requests/get_project.rb +2 -2
  267. data/lib/fog/{dns/google → google/dns}/requests/list_changes.rb +2 -2
  268. data/lib/fog/{dns/google → google/dns}/requests/list_managed_zones.rb +2 -2
  269. data/lib/fog/{dns/google → google/dns}/requests/list_resource_record_sets.rb +2 -2
  270. data/lib/fog/{dns/google.rb → google/dns.rb} +6 -6
  271. data/lib/fog/{parsers/storage/google → google/parsers/storage}/access_control_list.rb +3 -3
  272. data/lib/fog/{parsers/storage/google → google/parsers/storage}/copy_object.rb +3 -3
  273. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket.rb +3 -3
  274. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket_logging.rb +3 -3
  275. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket_object_versions.rb +3 -3
  276. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket_versioning.rb +3 -3
  277. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_request_payment.rb +3 -3
  278. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_service.rb +3 -3
  279. data/lib/fog/google/parsers/storage.rb +15 -0
  280. data/lib/fog/google/shared.rb +8 -7
  281. data/lib/fog/{storage/google_json → google/storage/storage_json}/mock.rb +2 -2
  282. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/directories.rb +4 -3
  283. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/directory.rb +3 -3
  284. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/file.rb +2 -2
  285. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/files.rb +8 -7
  286. data/lib/fog/{storage/google_json → google/storage/storage_json}/real.rb +6 -4
  287. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/copy_object.rb +2 -2
  288. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/delete_bucket.rb +2 -2
  289. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/delete_object.rb +2 -2
  290. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/delete_object_url.rb +2 -2
  291. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_bucket.rb +2 -2
  292. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_bucket_acl.rb +2 -2
  293. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object.rb +2 -2
  294. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_acl.rb +2 -2
  295. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_http_url.rb +2 -2
  296. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_https_url.rb +2 -2
  297. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_metadata.rb +2 -2
  298. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_url.rb +4 -4
  299. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_bucket_acl.rb +2 -2
  300. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_buckets.rb +2 -2
  301. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_object_acl.rb +2 -2
  302. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_objects.rb +2 -2
  303. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_bucket.rb +2 -2
  304. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_bucket_acl.rb +2 -2
  305. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_object.rb +2 -2
  306. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_object_acl.rb +2 -2
  307. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_object_url.rb +2 -2
  308. data/lib/fog/{storage/google_json → google/storage/storage_json}/utils.rb +8 -6
  309. data/lib/fog/{storage/google_json.rb → google/storage/storage_json.rb} +8 -8
  310. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/mock.rb +2 -2
  311. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/directories.rb +7 -7
  312. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/directory.rb +3 -3
  313. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/file.rb +2 -2
  314. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/files.rb +11 -11
  315. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/real.rb +6 -4
  316. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/copy_object.rb +3 -3
  317. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/delete_bucket.rb +2 -2
  318. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/delete_object.rb +2 -2
  319. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/delete_object_url.rb +2 -2
  320. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_bucket.rb +4 -4
  321. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_bucket_acl.rb +3 -3
  322. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object.rb +2 -2
  323. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_acl.rb +3 -3
  324. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_http_url.rb +2 -2
  325. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_https_url.rb +2 -2
  326. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_url.rb +4 -4
  327. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_service.rb +3 -3
  328. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/head_object.rb +2 -2
  329. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_bucket.rb +2 -2
  330. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_bucket_acl.rb +2 -2
  331. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_object.rb +2 -2
  332. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_object_acl.rb +2 -2
  333. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_object_url.rb +2 -2
  334. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/utils.rb +22 -19
  335. data/lib/fog/{storage/google_xml.rb → google/storage/storage_xml.rb} +7 -7
  336. data/lib/fog/{storage/google.rb → google/storage.rb} +5 -5
  337. data/lib/fog/google/version.rb +1 -1
  338. data/lib/fog/google.rb +30 -16
  339. metadata +322 -518
  340. data/.github/workflows/stale.yml +0 -23
  341. data/lib/fog/parsers/storage/google.rb +0 -15
  342. data/test/helpers/client_helper.rb +0 -63
  343. data/test/helpers/integration_test_helper.rb +0 -108
  344. data/test/helpers/test_collection.rb +0 -60
  345. data/test/helpers/test_helper.rb +0 -28
  346. data/test/integration/compute/core_compute/test_client_options.rb +0 -12
  347. data/test/integration/compute/core_compute/test_coverage.rb +0 -6
  348. data/test/integration/compute/core_compute/test_disk_types.rb +0 -43
  349. data/test/integration/compute/core_compute/test_disks.rb +0 -53
  350. data/test/integration/compute/core_compute/test_images.rb +0 -32
  351. data/test/integration/compute/core_compute/test_machine_types.rb +0 -55
  352. data/test/integration/compute/core_compute/test_operations.rb +0 -45
  353. data/test/integration/compute/core_compute/test_projects.rb +0 -19
  354. data/test/integration/compute/core_compute/test_regions.rb +0 -33
  355. data/test/integration/compute/core_compute/test_servers.rb +0 -235
  356. data/test/integration/compute/core_compute/test_snapshots.rb +0 -21
  357. data/test/integration/compute/core_compute/test_zones.rb +0 -35
  358. data/test/integration/compute/core_networking/test_addresses.rb +0 -107
  359. data/test/integration/compute/core_networking/test_coverage.rb +0 -6
  360. data/test/integration/compute/core_networking/test_firewalls.rb +0 -11
  361. data/test/integration/compute/core_networking/test_networks.rb +0 -30
  362. data/test/integration/compute/core_networking/test_routes.rb +0 -26
  363. data/test/integration/compute/core_networking/test_subnetworks.rb +0 -11
  364. data/test/integration/compute/instance_groups/test_coverage.rb +0 -6
  365. data/test/integration/compute/instance_groups/test_instance_group_managers.rb +0 -11
  366. data/test/integration/compute/instance_groups/test_instance_groups.rb +0 -11
  367. data/test/integration/compute/instance_groups/test_instance_templates.rb +0 -11
  368. data/test/integration/compute/loadbalancing/test_backend_services.rb +0 -11
  369. data/test/integration/compute/loadbalancing/test_coverage.rb +0 -6
  370. data/test/integration/compute/loadbalancing/test_forwarding_rules.rb +0 -11
  371. data/test/integration/compute/loadbalancing/test_global_addresses.rb +0 -11
  372. data/test/integration/compute/loadbalancing/test_global_forwarding_rules.rb +0 -11
  373. data/test/integration/compute/loadbalancing/test_http_health_checks.rb +0 -11
  374. data/test/integration/compute/loadbalancing/test_ssl_certificates.rb +0 -11
  375. data/test/integration/compute/loadbalancing/test_target_http_proxies.rb +0 -11
  376. data/test/integration/compute/loadbalancing/test_target_https_proxies.rb +0 -11
  377. data/test/integration/compute/loadbalancing/test_target_instances.rb +0 -11
  378. data/test/integration/compute/loadbalancing/test_target_pools.rb +0 -55
  379. data/test/integration/compute/loadbalancing/test_url_maps.rb +0 -11
  380. data/test/integration/factories/addresses_factory.rb +0 -20
  381. data/test/integration/factories/backend_services_factory.rb +0 -19
  382. data/test/integration/factories/collection_factory.rb +0 -52
  383. data/test/integration/factories/disks_factory.rb +0 -22
  384. data/test/integration/factories/firewalls_factory.rb +0 -13
  385. data/test/integration/factories/forwarding_rules_factory.rb +0 -25
  386. data/test/integration/factories/global_addresses_factory.rb +0 -15
  387. data/test/integration/factories/global_forwarding_rules_factory.rb +0 -20
  388. data/test/integration/factories/http_health_checks_factory.rb +0 -11
  389. data/test/integration/factories/images_factory.rb +0 -16
  390. data/test/integration/factories/instance_group_manager_factory.rb +0 -30
  391. data/test/integration/factories/instance_groups_factory.rb +0 -20
  392. data/test/integration/factories/instance_template_factory.rb +0 -24
  393. data/test/integration/factories/networks_factory.rb +0 -14
  394. data/test/integration/factories/servers_factory.rb +0 -30
  395. data/test/integration/factories/sql_certs_factory.rb +0 -20
  396. data/test/integration/factories/sql_instances_factory.rb +0 -19
  397. data/test/integration/factories/sql_users_factory.rb +0 -23
  398. data/test/integration/factories/ssl_certificates_factory.rb +0 -13
  399. data/test/integration/factories/subnetworks_factory.rb +0 -26
  400. data/test/integration/factories/target_http_proxies_factory.rb +0 -19
  401. data/test/integration/factories/target_https_proxies_factory.rb +0 -26
  402. data/test/integration/factories/target_instances_factory.rb +0 -24
  403. data/test/integration/factories/target_pools_factory.rb +0 -28
  404. data/test/integration/factories/url_maps_factory.rb +0 -19
  405. data/test/integration/monitoring/test_coverage.rb +0 -6
  406. data/test/integration/monitoring/test_metric_descriptors.rb +0 -131
  407. data/test/integration/monitoring/test_monitored_resource_descriptors.rb +0 -37
  408. data/test/integration/monitoring/test_timeseries.rb +0 -253
  409. data/test/integration/pubsub/pubsub_shared.rb +0 -75
  410. data/test/integration/pubsub/test_coverage.rb +0 -6
  411. data/test/integration/pubsub/test_pubsub_models.rb +0 -135
  412. data/test/integration/pubsub/test_pubsub_requests.rb +0 -105
  413. data/test/integration/sql/test_certs.rb +0 -50
  414. data/test/integration/sql/test_common_flags.rb +0 -31
  415. data/test/integration/sql/test_common_tiers.rb +0 -26
  416. data/test/integration/sql/test_coverage.rb +0 -6
  417. data/test/integration/sql/test_instances.rb +0 -101
  418. data/test/integration/sql/test_users.rb +0 -37
  419. data/test/integration/storage/storage_shared.rb +0 -101
  420. data/test/integration/storage/test_buckets.rb +0 -112
  421. data/test/integration/storage/test_coverage.rb +0 -6
  422. data/test/integration/storage/test_directories.rb +0 -67
  423. data/test/integration/storage/test_files.rb +0 -168
  424. data/test/integration/storage/test_objects.rb +0 -226
  425. data/test/integration/test_authentication.rb +0 -38
  426. data/test/unit/compute/test_common_collections.rb +0 -42
  427. data/test/unit/compute/test_common_models.rb +0 -35
  428. data/test/unit/compute/test_disk.rb +0 -26
  429. data/test/unit/compute/test_server.rb +0 -29
  430. data/test/unit/dns/test_common_collections.rb +0 -43
  431. data/test/unit/monitoring/test_comon_collections.rb +0 -44
  432. data/test/unit/pubsub/test_common_collections.rb +0 -35
  433. data/test/unit/sql/test_common_collections.rb +0 -46
  434. data/test/unit/storage/test_common_json_collections.rb +0 -38
  435. data/test/unit/storage/test_common_xml_collections.rb +0 -50
  436. data/test/unit/storage/test_json_requests.rb +0 -60
  437. data/test/unit/storage/test_xml_requests.rb +0 -60
@@ -1,131 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "helpers/client_helper"
3
-
4
- class TestMetricDescriptors < FogIntegrationTest
5
- TEST_METRIC_TYPE_PREFIX = "custom.googleapis.com/fog-google-test/test-metric-descriptors".freeze
6
-
7
- def setup
8
- @client = Fog::Google::Monitoring.new
9
- # Ensure any resources we create with test prefixes are removed
10
- Minitest.after_run do
11
- delete_test_resources
12
- end
13
- end
14
-
15
- def delete_test_resources
16
- test_resources = @client.monitoring.list_project_metric_descriptors(
17
- "projects/#{@project}",
18
- :filter => "metric.type = starts_with(\"#{TEST_METRIC_TYPE_PREFIX}\")"
19
- )
20
- unless test_resources.metric_descriptors.nil?
21
- test_resources.metric_descriptors.each do |md|
22
- @client.monitoring.delete_project_metric_descriptors(md.name)
23
- end
24
- end
25
- rescue
26
- # Do nothing
27
- end
28
-
29
- def test_list_metric_descriptors
30
- list_resp = @client.list_metric_descriptors
31
- assert_operator(list_resp.metric_descriptors.size, :>, 0,
32
- "metric descriptor count should be positive")
33
-
34
- resp = @client.list_metric_descriptors(
35
- :filter => 'metric.type = starts_with("compute.googleapis.com")',
36
- :page_size => 5
37
- )
38
- assert_operator(resp.metric_descriptors.size, :<=, 5,
39
- "metric descriptor count should be <= page size 5")
40
-
41
- resp = @client.list_metric_descriptors(:page_size => 1)
42
- assert_equal(resp.metric_descriptors.size, 1,
43
- "metric descriptor count should be page size 1")
44
-
45
- next_resp = @client.list_metric_descriptors(
46
- :page_size => 1,
47
- :page_token => resp.next_page_token
48
- )
49
- assert_equal(next_resp.metric_descriptors.size, 1, "metric descriptor count should be page size 1")
50
- assert(resp.metric_descriptors[0].name != next_resp.metric_descriptors[0].name,
51
- "paginated result should not be the same value")
52
- end
53
-
54
- def test_create_custom_metric_descriptors
55
- metric_type = "#{TEST_METRIC_TYPE_PREFIX}/test-create"
56
- label = {
57
- :key => "foo",
58
- :value_type => "INT64",
59
- :description => "test label for a metric descriptor"
60
- }
61
- options = {
62
- :metric_type => metric_type,
63
- :unit => "1",
64
- :value_type => "INT64",
65
- :description => "A custom metric descriptor for fog-google metric descriptor tests.",
66
- :display_name => "fog-google/test-metric-descriptor",
67
- :metric_kind => "GAUGE",
68
- :labels => [label]
69
- }
70
-
71
- created = @client.create_metric_descriptor(**options)
72
-
73
- # Check created metric descriptor
74
- assert_equal(_full_name(metric_type), created.name)
75
- assert_equal(metric_type, created.type)
76
- assert_equal(options[:metric_kind], created.metric_kind)
77
- assert_equal(options[:value_type], created.value_type)
78
- assert_equal(options[:unit], created.unit)
79
- assert_equal(options[:description], created.description)
80
- assert_equal(options[:display_name], created.display_name)
81
-
82
- assert_equal(created.labels.size, 1, "expected 1 label, got #{created.labels.size}")
83
- label_descriptor = created.labels.first
84
- assert_equal(label[:key], label_descriptor.key)
85
- assert_equal(label[:value_type], label_descriptor.value_type)
86
- assert_equal(label[:description], label_descriptor.description)
87
-
88
- Fog.wait_for(30) do
89
- begin
90
- get_resp = @client.get_metric_descriptor(metric_type)
91
- return !get_resp.nil?
92
- rescue
93
- return false
94
- end
95
- end
96
-
97
- list_resp = @client.list_metric_descriptor(:filter => "metric.type = \"#{metric_type}\"", :page_size => 1)
98
- assert(!list_resp.metric_descriptors.nil?, "expected non-empty list request for metric descriptors")
99
-
100
- assert_empty(@client.delete_metric_descriptor(metric_type))
101
- end
102
-
103
- def test_metric_descriptors_all
104
- descriptors = @client.metric_descriptors.all
105
- assert_operator(descriptors.size, :>, 0,
106
- "metric descriptor count should be positive")
107
- end
108
-
109
- def test_metric_descriptors_all_page_size
110
- descriptors = @client.metric_descriptors.all(
111
- :filter => 'metric.type = starts_with("compute.googleapis.com")',
112
- :page_size => 5
113
- )
114
- assert_operator(descriptors.size, :<=, 5,
115
- "metric descriptor count should be <= page size 5")
116
-
117
- descriptors = @client.metric_descriptors.all(:page_size => 2)
118
- assert_equal(descriptors.size, 2, "metric descriptor count should be page size 2")
119
- end
120
-
121
- def test_metric_descriptors_get
122
- builtin_test_type = "compute.googleapis.com/instance/cpu/usage_time"
123
-
124
- descriptor = @client.metric_descriptors.get("compute.googleapis.com/instance/cpu/usage_time")
125
- assert_equal(descriptor.type, builtin_test_type)
126
- end
127
-
128
- def _full_name(metric_type)
129
- "projects/#{@client.project}/metricDescriptors/#{metric_type}"
130
- end
131
- end
@@ -1,37 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- class TestMetricDescriptors < FogIntegrationTest
4
- def setup
5
- @client = Fog::Google::Monitoring.new
6
- end
7
-
8
- def test_list_and_get
9
- resp = @client.list_monitored_resource_descriptors
10
-
11
- assert_operator(resp.resource_descriptors.size, :>, 0,
12
- "resource descriptor count should be positive")
13
-
14
- @client.get_monitored_resource_descriptor(
15
- resp.resource_descriptors.first.type
16
- )
17
- end
18
-
19
- def test_all
20
- resp = @client.monitored_resource_descriptors.all
21
-
22
- assert_operator(resp.size, :>, 0,
23
- "resource descriptor count should be positive")
24
- end
25
-
26
- def test_get
27
- resource = "global"
28
- descriptor = @client.monitored_resource_descriptors.get(resource)
29
-
30
- assert_equal(
31
- descriptor.name,
32
- "projects/#{@client.project}/monitoredResourceDescriptors/#{resource}"
33
- )
34
- assert_equal(descriptor.labels.size, 1)
35
- assert_equal(descriptor.labels.first[:key], "project_id")
36
- end
37
- end
@@ -1,253 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- class TestMetricDescriptors < FogIntegrationTest
4
- # This module has a decent amount of retry wrappers as the Stackdriver API
5
- # can be quite slow with metric propagation (sometimes 80+ seconds) and client
6
- # returning errors, e.g. Google::Apis::ClientError: badRequest if the metric
7
- # hasn't yet been created instead of a 404.
8
-
9
- TEST_METRIC_PREFIX = "custom.googleapis.com/fog-google-test/timeseries".freeze
10
- LABEL_DESCRIPTORS = [
11
- {
12
- :key => "test_string_label",
13
- :value_type => "STRING",
14
- :description => "test string label"
15
- },
16
- {
17
- :key => "test_bool_label",
18
- :value_type => "BOOL",
19
- :description => "test boolean label"
20
- },
21
- {
22
- :key => "test_int_label",
23
- :value_type => "INT64",
24
- :description => "test integer label"
25
- }
26
- ].freeze
27
-
28
- def setup
29
- @client = Fog::Google::Monitoring.new
30
- # Ensure any resources we create with test prefixes are removed
31
-
32
- Minitest.after_run do
33
- _delete_test_resources
34
- end
35
- end
36
-
37
- def test_timeseries_collection
38
- metric_type = "#{TEST_METRIC_PREFIX}/test_requests"
39
- _some_custom_metric_descriptor(metric_type)
40
-
41
- start_time = Time.now
42
- labels = {
43
- :test_string_label => "foo",
44
- :test_bool_label => "false",
45
- :test_int_label => "1"
46
- }
47
-
48
- expected = _some_timeseries(start_time, metric_type, labels)
49
- # Retrying since this is prone to errors in test environment due to
50
- # constant creation/deletion of resources
51
- resp = retry_on(Google::Apis::ServerError) do
52
- @client.create_timeseries(:timeseries => [expected])
53
- end
54
- assert_empty(resp.to_h)
55
-
56
- # Wait for TimeSeries to be created
57
- # Google Monitoring backend is not exactly designed for synchronous retrieval so this retry is necessary
58
- Fog.wait_for(30) do
59
- begin
60
- test_ts = @client.list_timeseries(
61
- :filter => "metric.type = \"#{metric_type}\"",
62
- :interval => {
63
- # Subtracting one second because timeSeries.list API
64
- # doesn't return points that are exactly the same time
65
- # as the interval for some reason.
66
- :start_time => (start_time - 1).to_datetime.rfc3339,
67
- :end_time => Time.now.to_datetime.rfc3339
68
- }
69
- ).time_series
70
- return !test_ts.nil?
71
- rescue
72
- return false
73
- end
74
- end
75
-
76
- series = retry_on(Google::Apis::ClientError) do
77
- @client.timeseries_collection.all(
78
- :filter => "metric.type = \"#{metric_type}\"",
79
- :interval => {
80
- # Subtracting one second because timeSeries.list API
81
- # doesn't return points that are exactly the same time
82
- # as the interval for some reason.
83
- :start_time => (start_time - 1).to_datetime.rfc3339,
84
- :end_time => Time.now.to_datetime.rfc3339
85
- }
86
- )
87
- end
88
-
89
- assert_equal(1, series.size)
90
- actual = series.first
91
- assert_equal(expected[:metric], actual.metric)
92
- assert_equal(expected[:metric_kind], actual.metric_kind)
93
-
94
- assert_equal(expected[:resource], actual.resource)
95
- assert_equal(expected[:value_type], actual.value_type)
96
- assert_equal(1, actual.points.size)
97
- assert_equal(expected[:points].first[:value], actual.points.first[:value])
98
- end
99
-
100
- def test_multiple_timeseries
101
- metric_type = "#{TEST_METRIC_PREFIX}/test_multiple"
102
- _some_custom_metric_descriptor(metric_type)
103
-
104
- start_time = Time.now
105
- metric_labels = [
106
- {
107
- :test_string_label => "first",
108
- :test_bool_label => "true",
109
- :test_int_label => "1"
110
- },
111
- {
112
- :test_string_label => "second",
113
- :test_bool_label => "false",
114
- :test_int_label => "2"
115
- }
116
- ]
117
-
118
- timeseries = metric_labels.map do |labels|
119
- _some_timeseries(start_time, metric_type, labels)
120
- end
121
-
122
- # Retrying since this is prone to errors in test environment due to
123
- # constant creation/deletion of resources
124
- retry_on(Google::Apis::ServerError) do
125
- @client.create_timeseries(:timeseries => timeseries)
126
- end
127
- interval = {
128
- # Subtracting one second because timeSeries.list API
129
- # doesn't return points that are exactly the same time
130
- # as the interval for some reason.
131
- :start_time => (start_time - 1).to_datetime.rfc3339,
132
- :end_time => Time.now.to_datetime.rfc3339
133
- }
134
-
135
- # Wait for TimeSeries to be created
136
- # Google Monitoring backend is not exactly designed for synchronous retrieval so this retry is necessary
137
- Fog.wait_for(30) do
138
- begin
139
- test_ts = @client.list_timeseries(
140
- :filter => "metric.type = \"#{metric_type}\"",
141
- :interval => interval
142
- ).time_series
143
- return !test_ts.nil?
144
- rescue
145
- return false
146
- end
147
- end
148
-
149
- # Test page size
150
- resp = retry_on(Google::Apis::ClientError) do
151
- @client.list_timeseries(
152
- :filter => "metric.type = \"#{metric_type}\"",
153
- :interval => interval,
154
- :page_size => 1
155
- )
156
- end
157
-
158
- refute_nil(resp.time_series, "expected timeseries to not be nil")
159
- assert_equal(resp.time_series.size, 1,
160
- "expected timeseries count to be equal to page size 1")
161
-
162
- next_resp = @client.list_timeseries(
163
- :filter => "metric.type = \"#{metric_type}\"",
164
- :interval => interval,
165
- :page_size => 1,
166
- :page_token => resp.next_page_token
167
- )
168
- assert_equal(next_resp.time_series.size, 1,
169
- "expected timeseries count to be equal to page size 1")
170
- labels = resp.time_series.first.metric.labels
171
- labels_next = next_resp.time_series.first.metric.labels
172
- refute_equal(labels, labels_next,
173
- "expected different timeseries when using page_token")
174
-
175
- # Test filter
176
- series = retry_on(Google::Apis::ClientError) do
177
- @client.timeseries_collection.all(
178
- :filter => %[
179
- metric.type = "#{metric_type}" AND
180
- metric.label.test_string_label = "first"
181
- ],
182
- :interval => interval
183
- )
184
- end
185
- assert_equal(series.size, 1,
186
- "expected returned timeseries to be filtered to 1 value")
187
- assert_equal("true", series.first.metric[:labels][:test_bool_label])
188
- assert_equal("1", series.first.metric[:labels][:test_int_label])
189
- end
190
-
191
- def _delete_test_resources
192
- list_resp = @client.monitoring.list_project_metric_descriptors(
193
- "projects/#{@client.project}",
194
- filter: "metric.type = starts_with(\"#{TEST_METRIC_PREFIX}\")"
195
- )
196
- unless list_resp.metric_descriptors.nil?
197
- list_resp.metric_descriptors.each do |md|
198
- @client.monitoring.delete_project_metric_descriptor(md.name)
199
- end
200
- end
201
- rescue
202
- # Do nothing
203
- end
204
-
205
- def _some_custom_metric_descriptor(metric_type)
206
- # Create custom metric to write test timeseries for.
207
- @client.create_metric_descriptor(
208
- :labels => LABEL_DESCRIPTORS,
209
- :metric_type => metric_type,
210
- :unit => "1",
211
- :value_type => "INT64",
212
- :description => "A custom metric descriptor for fog-google timeseries test.",
213
- :display_name => "fog-google-test/#{metric_type}",
214
- :metric_kind => "GAUGE"
215
- )
216
-
217
- # Wait for metric descriptor to be created
218
- Fog.wait_for(180, 2) do
219
- begin
220
- @client.get_metric_descriptor(metric_type)
221
- true
222
- rescue
223
- false
224
- end
225
- end
226
- end
227
-
228
- def _some_timeseries(start_time, metric_type, labels)
229
- {
230
- :metric => {
231
- :type => metric_type,
232
- :labels => labels
233
- },
234
- :resource => {
235
- :type => "global",
236
- :labels => { :project_id => @client.project }
237
- },
238
- :metric_kind => "GAUGE",
239
- :value_type => "INT64",
240
- :points => [
241
- {
242
- :interval => {
243
- :end_time => start_time.to_datetime.rfc3339,
244
- :start_time => start_time.to_datetime.rfc3339
245
- },
246
- :value => {
247
- :int64_value => rand(10)
248
- }
249
- }
250
- ]
251
- }
252
- end
253
- end
@@ -1,75 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "securerandom"
3
- require "base64"
4
-
5
- class PubSubShared < FogIntegrationTest
6
- def setup
7
- @client = Fog::Google::Pubsub.new
8
- # Ensure any resources we create with test prefixes are removed
9
- Minitest.after_run do
10
- delete_test_resources
11
- end
12
- end
13
-
14
- def delete_test_resources
15
- topics_result = @client.list_topics
16
- unless topics_result.topics.nil?
17
- begin
18
- topics_result.topics
19
- .map(&:name)
20
- .select { |t| t.start_with?(topic_resource_prefix) }
21
- .each { |t| @client.delete_topic(t) }
22
- # We ignore errors here as list operations may not represent changes applied recently.
23
- # Hence, list operations can return a topic which has already been deleted but which we
24
- # will attempt to delete again.
25
- rescue Google::Apis::Error
26
- Fog::Logger.warning("ignoring Google Api error during delete_test_resources")
27
- end
28
- end
29
-
30
- subscriptions_result = @client.list_subscriptions
31
- unless subscriptions_result.subscriptions.nil?
32
- begin
33
- subscriptions_result.subscriptions
34
- .map(&:name)
35
- .select { |s| s.start_with?(subscription_resource_prefix) }
36
- .each { |s| @client.delete_subscription(s) }
37
- # We ignore errors here as list operations may not represent changes applied recently.
38
- # Hence, list operations can return a topic which has already been deleted but which we
39
- # will attempt to delete again.
40
- rescue Google::Apis::Error
41
- Fog::Logger.warning("ignoring Google Api error during delete_test_resources")
42
- end
43
- end
44
- end
45
-
46
- def topic_resource_prefix
47
- "projects/#{@client.project}/topics/fog-integration-test"
48
- end
49
-
50
- def subscription_resource_prefix
51
- "projects/#{@client.project}/subscriptions/fog-integration-test"
52
- end
53
-
54
- def new_topic_name
55
- "#{topic_resource_prefix}-#{SecureRandom.uuid}"
56
- end
57
-
58
- def new_subscription_name
59
- "#{subscription_resource_prefix}-#{SecureRandom.uuid}"
60
- end
61
-
62
- def some_topic_name
63
- # create lazily to speed tests up
64
- @some_topic ||= new_topic_name.tap do |t|
65
- @client.create_topic(t)
66
- end
67
- end
68
-
69
- def some_subscription_name
70
- # create lazily to speed tests up
71
- @some_subscription ||= new_subscription_name.tap do |s|
72
- @client.create_subscription(s, some_topic_name)
73
- end
74
- end
75
- end
@@ -1,6 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- # This is a simple coverage helper that helps differentiate
4
- # the tests when run in parallel so the final coverage report
5
- # can be properly combined together from multiple runners
6
- SimpleCov.command_name "test:pubsub" if ENV["COVERAGE"]
@@ -1,135 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/pubsub/pubsub_shared"
3
- require "securerandom"
4
- require "base64"
5
-
6
- class TestPubsubModels < PubSubShared
7
- def test_topics_create
8
- name = new_topic_name
9
- result = @client.topics.create(:name => name)
10
- assert_equal(result.name, name)
11
- end
12
-
13
- def test_topics_get
14
- result = @client.topics.get(some_topic_name)
15
- assert_equal(result.name, some_topic_name)
16
- end
17
-
18
- def test_topics_all
19
- # Force a topic to be created just so we have at least 1 to list
20
- name = new_topic_name
21
- @client.create_topic(name)
22
-
23
- Fog.wait_for(5) do
24
- result = @client.topics.all
25
- if result.nil?
26
- false
27
- end
28
-
29
- result.any? { |topic| topic.name == name }
30
- end
31
- end
32
-
33
- def test_topic_publish_string
34
- @client.topics.get(some_topic_name)
35
- message_ids = @client.topics.get(some_topic_name).publish(["apples"])
36
- assert_operator(message_ids.length, :>, 0)
37
- end
38
-
39
- def test_topic_publish_hash
40
- @client.topics.get(some_topic_name)
41
- message_ids = @client.topics.get(some_topic_name).publish(["data" => "apples"])
42
- assert_operator(message_ids.length, :>, 0)
43
- end
44
-
45
- def test_topic_delete
46
- topic_to_delete = new_topic_name
47
- topic = @client.topics.create(:name => topic_to_delete)
48
-
49
- topic.destroy
50
- end
51
-
52
- def test_subscriptions_create
53
- push_config = {}
54
- ack_deadline_seconds = 18
55
-
56
- subscription_name = new_subscription_name
57
- result = @client.subscriptions.create(:name => subscription_name,
58
- :topic => some_topic_name,
59
- :push_config => push_config,
60
- :ack_deadline_seconds => ack_deadline_seconds)
61
- assert_equal(result.name, subscription_name)
62
- end
63
-
64
- def test_subscriptions_get
65
- subscription_name = some_subscription_name
66
- result = @client.subscriptions.get(subscription_name)
67
-
68
- assert_equal(result.name, subscription_name)
69
- end
70
-
71
- def test_subscriptions_list
72
- # Force a subscription to be created just so we have at least 1 to list
73
- subscription_name = new_subscription_name
74
- @client.subscriptions.create(:name => subscription_name, :topic => some_topic_name)
75
-
76
- Fog.wait_for(5) do
77
- result = @client.subscriptions.all
78
- if result.nil?
79
- false
80
- end
81
-
82
- result.any? { |subscription| subscription.name == subscription_name }
83
- end
84
- end
85
-
86
- def test_subscription_delete
87
- push_config = {}
88
- ack_deadline_seconds = 18
89
-
90
- subscription_name = new_subscription_name
91
- subscription = @client.subscriptions.create(:name => subscription_name,
92
- :topic => some_topic_name,
93
- :push_config => push_config,
94
- :ack_deadline_seconds => ack_deadline_seconds)
95
- subscription.destroy
96
- end
97
-
98
- def test_subscription_pull
99
- subscription_name = new_subscription_name
100
- message_bytes = Base64.strict_encode64("some message")
101
- subscription = @client.subscriptions.create(:name => subscription_name,
102
- :topic => some_topic_name)
103
- @client.topics.get(some_topic_name).publish(["data" => message_bytes])
104
-
105
- result = subscription.pull(:return_immediately => false)
106
- assert_operator(result.length, :>, 0)
107
-
108
- contained = result.any? { |received| received.message[:data] == message_bytes }
109
- assert_equal(true, contained, "sent messsage not contained within pulled responses")
110
- end
111
-
112
- def test_subscription_acknowledge
113
- subscription_name = new_subscription_name
114
- subscription = @client.subscriptions.create(:name => subscription_name,
115
- :topic => some_topic_name)
116
- @client.topics.get(some_topic_name).publish(["data" => Base64.strict_encode64("some message")])
117
-
118
- result = subscription.pull(:return_immediately => false)
119
- assert_operator(result.length, :>, 0)
120
-
121
- subscription.acknowledge([result[0].ack_id])
122
- end
123
-
124
- def test_message_acknowledge
125
- subscription_name = new_subscription_name
126
- subscription = @client.subscriptions.create(:name => subscription_name,
127
- :topic => some_topic_name)
128
- @client.topics.get(some_topic_name).publish(["data" => Base64.strict_encode64("some message")])
129
-
130
- result = subscription.pull(:return_immediately => false)
131
- assert_operator(result.length, :>, 0)
132
-
133
- result[0].acknowledge
134
- end
135
- end