google-cloud-compute-v1 1.3.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -5
  3. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +2 -2
  4. data/lib/google/cloud/compute/v1/accelerator_types/rest/service_stub.rb +92 -54
  5. data/lib/google/cloud/compute/v1/accelerator_types.rb +5 -0
  6. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +2 -2
  7. data/lib/google/cloud/compute/v1/addresses/rest/service_stub.rb +158 -91
  8. data/lib/google/cloud/compute/v1/addresses.rb +3 -0
  9. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +2 -2
  10. data/lib/google/cloud/compute/v1/autoscalers/rest/service_stub.rb +224 -131
  11. data/lib/google/cloud/compute/v1/autoscalers.rb +3 -0
  12. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +1 -1
  13. data/lib/google/cloud/compute/v1/backend_buckets/rest/service_stub.rb +287 -163
  14. data/lib/google/cloud/compute/v1/backend_buckets.rb +3 -0
  15. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +2 -2
  16. data/lib/google/cloud/compute/v1/backend_services/rest/service_stub.rb +385 -223
  17. data/lib/google/cloud/compute/v1/backend_services.rb +3 -0
  18. data/lib/google/cloud/compute/v1/compute_pb.rb +223 -2
  19. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +2 -2
  20. data/lib/google/cloud/compute/v1/disk_types/rest/service_stub.rb +92 -54
  21. data/lib/google/cloud/compute/v1/disk_types.rb +3 -0
  22. data/lib/google/cloud/compute/v1/disks/rest/client.rb +2 -2
  23. data/lib/google/cloud/compute/v1/disks/rest/service_stub.rb +431 -242
  24. data/lib/google/cloud/compute/v1/disks.rb +3 -0
  25. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +1 -1
  26. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/service_stub.rb +191 -104
  27. data/lib/google/cloud/compute/v1/external_vpn_gateways.rb +3 -0
  28. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +1 -1
  29. data/lib/google/cloud/compute/v1/firewall_policies/rest/service_stub.rb +557 -332
  30. data/lib/google/cloud/compute/v1/firewall_policies.rb +3 -0
  31. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +1 -1
  32. data/lib/google/cloud/compute/v1/firewalls/rest/service_stub.rb +189 -106
  33. data/lib/google/cloud/compute/v1/firewalls.rb +3 -0
  34. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +2 -2
  35. data/lib/google/cloud/compute/v1/forwarding_rules/rest/service_stub.rb +260 -148
  36. data/lib/google/cloud/compute/v1/forwarding_rules.rb +3 -0
  37. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +1 -1
  38. data/lib/google/cloud/compute/v1/global_addresses/rest/service_stub.rb +123 -68
  39. data/lib/google/cloud/compute/v1/global_addresses.rb +3 -0
  40. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +1 -1
  41. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/service_stub.rb +223 -124
  42. data/lib/google/cloud/compute/v1/global_forwarding_rules.rb +3 -0
  43. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +2 -2
  44. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/service_stub.rb +221 -128
  45. data/lib/google/cloud/compute/v1/global_network_endpoint_groups.rb +3 -0
  46. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +2 -2
  47. data/lib/google/cloud/compute/v1/global_operations/rest/service_stub.rb +156 -88
  48. data/lib/google/cloud/compute/v1/global_operations/rest.rb +1 -0
  49. data/lib/google/cloud/compute/v1/global_operations.rb +3 -1
  50. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +1 -1
  51. data/lib/google/cloud/compute/v1/global_organization_operations/rest/service_stub.rb +86 -51
  52. data/lib/google/cloud/compute/v1/global_organization_operations/rest.rb +1 -0
  53. data/lib/google/cloud/compute/v1/global_organization_operations.rb +3 -1
  54. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +1 -1
  55. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/service_stub.rb +156 -87
  56. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes.rb +3 -0
  57. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +2 -2
  58. data/lib/google/cloud/compute/v1/health_checks/rest/service_stub.rb +220 -129
  59. data/lib/google/cloud/compute/v1/health_checks.rb +3 -0
  60. data/lib/google/cloud/compute/v1/image_family_views/rest/service_stub.rb +29 -9
  61. data/lib/google/cloud/compute/v1/image_family_views.rb +3 -0
  62. data/lib/google/cloud/compute/v1/images/rest/client.rb +1 -1
  63. data/lib/google/cloud/compute/v1/images/rest/service_stub.rb +356 -196
  64. data/lib/google/cloud/compute/v1/images.rb +3 -0
  65. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +11 -11
  66. data/lib/google/cloud/compute/v1/instance_group_managers/rest/service_stub.rb +666 -383
  67. data/lib/google/cloud/compute/v1/instance_group_managers.rb +3 -0
  68. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +4 -4
  69. data/lib/google/cloud/compute/v1/instance_groups/rest/service_stub.rb +294 -171
  70. data/lib/google/cloud/compute/v1/instance_groups.rb +3 -0
  71. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +1 -1
  72. data/lib/google/cloud/compute/v1/instance_templates/rest/service_stub.rb +223 -122
  73. data/lib/google/cloud/compute/v1/instance_templates.rb +3 -0
  74. data/lib/google/cloud/compute/v1/instances/rest/client.rb +5 -5
  75. data/lib/google/cloud/compute/v1/instances/rest/service_stub.rb +1505 -847
  76. data/lib/google/cloud/compute/v1/instances.rb +3 -0
  77. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +2 -2
  78. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/service_stub.rb +192 -111
  79. data/lib/google/cloud/compute/v1/interconnect_attachments.rb +3 -0
  80. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +1 -1
  81. data/lib/google/cloud/compute/v1/interconnect_locations/rest/service_stub.rb +59 -31
  82. data/lib/google/cloud/compute/v1/interconnect_locations.rb +3 -0
  83. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +1 -1
  84. data/lib/google/cloud/compute/v1/interconnects/rest/service_stub.rb +189 -104
  85. data/lib/google/cloud/compute/v1/interconnects.rb +3 -0
  86. data/lib/google/cloud/compute/v1/license_codes/rest/service_stub.rb +62 -27
  87. data/lib/google/cloud/compute/v1/license_codes.rb +3 -0
  88. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +1 -1
  89. data/lib/google/cloud/compute/v1/licenses/rest/service_stub.rb +223 -122
  90. data/lib/google/cloud/compute/v1/licenses.rb +3 -0
  91. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +1 -1
  92. data/lib/google/cloud/compute/v1/machine_images/rest/service_stub.rb +223 -123
  93. data/lib/google/cloud/compute/v1/machine_images.rb +3 -0
  94. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +2 -2
  95. data/lib/google/cloud/compute/v1/machine_types/rest/service_stub.rb +92 -54
  96. data/lib/google/cloud/compute/v1/machine_types.rb +3 -0
  97. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/client.rb +1 -1
  98. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/service_stub.rb +160 -91
  99. data/lib/google/cloud/compute/v1/network_edge_security_services.rb +3 -0
  100. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +3 -3
  101. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/service_stub.rb +295 -170
  102. data/lib/google/cloud/compute/v1/network_endpoint_groups.rb +3 -0
  103. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/client.rb +1 -1
  104. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/service_stub.rb +515 -295
  105. data/lib/google/cloud/compute/v1/network_firewall_policies.rb +3 -0
  106. data/lib/google/cloud/compute/v1/networks/rest/client.rb +2 -2
  107. data/lib/google/cloud/compute/v1/networks/rest/service_stub.rb +352 -204
  108. data/lib/google/cloud/compute/v1/networks.rb +3 -0
  109. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +3 -3
  110. data/lib/google/cloud/compute/v1/node_groups/rest/service_stub.rb +430 -244
  111. data/lib/google/cloud/compute/v1/node_groups.rb +3 -0
  112. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +2 -2
  113. data/lib/google/cloud/compute/v1/node_templates/rest/service_stub.rb +261 -145
  114. data/lib/google/cloud/compute/v1/node_templates.rb +3 -0
  115. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +2 -2
  116. data/lib/google/cloud/compute/v1/node_types/rest/service_stub.rb +92 -54
  117. data/lib/google/cloud/compute/v1/node_types.rb +3 -0
  118. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +2 -2
  119. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/service_stub.rb +227 -128
  120. data/lib/google/cloud/compute/v1/packet_mirrorings.rb +3 -0
  121. data/lib/google/cloud/compute/v1/projects/rest/client.rb +2 -2
  122. data/lib/google/cloud/compute/v1/projects/rest/service_stub.rb +408 -240
  123. data/lib/google/cloud/compute/v1/projects.rb +3 -0
  124. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +1 -1
  125. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/service_stub.rb +156 -87
  126. data/lib/google/cloud/compute/v1/public_advertised_prefixes.rb +3 -0
  127. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +2 -2
  128. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/service_stub.rb +192 -110
  129. data/lib/google/cloud/compute/v1/public_delegated_prefixes.rb +3 -0
  130. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +1 -1
  131. data/lib/google/cloud/compute/v1/region_autoscalers/rest/service_stub.rb +193 -108
  132. data/lib/google/cloud/compute/v1/region_autoscalers.rb +3 -0
  133. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +1 -1
  134. data/lib/google/cloud/compute/v1/region_backend_services/rest/service_stub.rb +230 -124
  135. data/lib/google/cloud/compute/v1/region_backend_services.rb +3 -0
  136. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +2 -2
  137. data/lib/google/cloud/compute/v1/region_commitments/rest/service_stub.rb +159 -94
  138. data/lib/google/cloud/compute/v1/region_commitments.rb +3 -0
  139. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +1 -1
  140. data/lib/google/cloud/compute/v1/region_disk_types/rest/service_stub.rb +61 -31
  141. data/lib/google/cloud/compute/v1/region_disk_types.rb +3 -0
  142. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +1 -1
  143. data/lib/google/cloud/compute/v1/region_disks/rest/service_stub.rb +400 -218
  144. data/lib/google/cloud/compute/v1/region_disks.rb +3 -0
  145. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +1 -1
  146. data/lib/google/cloud/compute/v1/region_health_check_services/rest/service_stub.rb +161 -87
  147. data/lib/google/cloud/compute/v1/region_health_check_services.rb +3 -0
  148. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +1 -1
  149. data/lib/google/cloud/compute/v1/region_health_checks/rest/service_stub.rb +195 -106
  150. data/lib/google/cloud/compute/v1/region_health_checks.rb +3 -0
  151. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +10 -10
  152. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/service_stub.rb +635 -360
  153. data/lib/google/cloud/compute/v1/region_instance_group_managers.rb +3 -0
  154. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +2 -2
  155. data/lib/google/cloud/compute/v1/region_instance_groups/rest/service_stub.rb +129 -73
  156. data/lib/google/cloud/compute/v1/region_instance_groups.rb +3 -0
  157. data/lib/google/cloud/compute/v1/region_instances/rest/service_stub.rb +28 -11
  158. data/lib/google/cloud/compute/v1/region_instances.rb +3 -0
  159. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +1 -1
  160. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/service_stub.rb +127 -68
  161. data/lib/google/cloud/compute/v1/region_network_endpoint_groups.rb +3 -0
  162. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/client.rb +1 -1
  163. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/service_stub.rb +563 -313
  164. data/lib/google/cloud/compute/v1/region_network_firewall_policies.rb +3 -0
  165. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +1 -1
  166. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/service_stub.rb +127 -68
  167. data/lib/google/cloud/compute/v1/region_notification_endpoints.rb +3 -0
  168. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +1 -1
  169. data/lib/google/cloud/compute/v1/region_operations/rest/service_stub.rb +129 -65
  170. data/lib/google/cloud/compute/v1/region_operations/rest.rb +1 -0
  171. data/lib/google/cloud/compute/v1/region_operations.rb +3 -1
  172. data/lib/google/cloud/compute/v1/region_security_policies/rest/client.rb +1 -1
  173. data/lib/google/cloud/compute/v1/region_security_policies/rest/service_stub.rb +161 -88
  174. data/lib/google/cloud/compute/v1/region_security_policies.rb +3 -0
  175. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +1 -1
  176. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/service_stub.rb +127 -68
  177. data/lib/google/cloud/compute/v1/region_ssl_certificates.rb +3 -0
  178. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +1 -1
  179. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/service_stub.rb +161 -87
  180. data/lib/google/cloud/compute/v1/region_target_http_proxies.rb +3 -0
  181. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +1 -1
  182. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/service_stub.rb +229 -125
  183. data/lib/google/cloud/compute/v1/region_target_https_proxies.rb +3 -0
  184. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +1 -1
  185. data/lib/google/cloud/compute/v1/region_url_maps/rest/service_stub.rb +230 -124
  186. data/lib/google/cloud/compute/v1/region_url_maps.rb +3 -0
  187. data/lib/google/cloud/compute/v1/regions/rest/client.rb +1 -1
  188. data/lib/google/cloud/compute/v1/regions/rest/service_stub.rb +59 -31
  189. data/lib/google/cloud/compute/v1/regions.rb +3 -0
  190. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +2 -2
  191. data/lib/google/cloud/compute/v1/reservations/rest/service_stub.rb +329 -185
  192. data/lib/google/cloud/compute/v1/reservations.rb +3 -0
  193. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +2 -2
  194. data/lib/google/cloud/compute/v1/resource_policies/rest/service_stub.rb +261 -145
  195. data/lib/google/cloud/compute/v1/resource_policies.rb +3 -0
  196. data/lib/google/cloud/compute/v1/routers/rest/client.rb +3 -3
  197. data/lib/google/cloud/compute/v1/routers/rest/service_stub.rb +328 -186
  198. data/lib/google/cloud/compute/v1/routers.rb +3 -0
  199. data/lib/google/cloud/compute/v1/routes/rest/client.rb +1 -1
  200. data/lib/google/cloud/compute/v1/routes/rest/service_stub.rb +123 -68
  201. data/lib/google/cloud/compute/v1/routes.rb +3 -0
  202. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +12 -6
  203. data/lib/google/cloud/compute/v1/security_policies/rest/service_stub.rb +349 -205
  204. data/lib/google/cloud/compute/v1/security_policies.rb +3 -0
  205. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +2 -2
  206. data/lib/google/cloud/compute/v1/service_attachments/rest/service_stub.rb +295 -164
  207. data/lib/google/cloud/compute/v1/service_attachments.rb +3 -0
  208. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +1 -1
  209. data/lib/google/cloud/compute/v1/snapshots/rest/service_stub.rb +257 -140
  210. data/lib/google/cloud/compute/v1/snapshots.rb +3 -0
  211. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +2 -2
  212. data/lib/google/cloud/compute/v1/ssl_certificates/rest/service_stub.rb +154 -91
  213. data/lib/google/cloud/compute/v1/ssl_certificates.rb +3 -0
  214. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +2 -2
  215. data/lib/google/cloud/compute/v1/ssl_policies/rest/service_stub.rb +187 -109
  216. data/lib/google/cloud/compute/v1/ssl_policies.rb +3 -0
  217. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +3 -3
  218. data/lib/google/cloud/compute/v1/subnetworks/rest/service_stub.rb +394 -225
  219. data/lib/google/cloud/compute/v1/subnetworks.rb +3 -0
  220. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +1 -1
  221. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/service_stub.rb +156 -87
  222. data/lib/google/cloud/compute/v1/target_grpc_proxies.rb +3 -0
  223. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +2 -2
  224. data/lib/google/cloud/compute/v1/target_http_proxies/rest/service_stub.rb +220 -129
  225. data/lib/google/cloud/compute/v1/target_http_proxies.rb +3 -0
  226. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +86 -2
  227. data/lib/google/cloud/compute/v1/target_https_proxies/rest/service_stub.rb +373 -180
  228. data/lib/google/cloud/compute/v1/target_https_proxies.rb +3 -0
  229. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +2 -2
  230. data/lib/google/cloud/compute/v1/target_instances/rest/service_stub.rb +158 -91
  231. data/lib/google/cloud/compute/v1/target_instances.rb +3 -0
  232. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +2 -2
  233. data/lib/google/cloud/compute/v1/target_pools/rest/service_stub.rb +363 -205
  234. data/lib/google/cloud/compute/v1/target_pools.rb +3 -0
  235. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +85 -1
  236. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/service_stub.rb +309 -138
  237. data/lib/google/cloud/compute/v1/target_ssl_proxies.rb +3 -0
  238. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +1 -1
  239. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/service_stub.rb +189 -106
  240. data/lib/google/cloud/compute/v1/target_tcp_proxies.rb +3 -0
  241. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +2 -2
  242. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/service_stub.rb +158 -91
  243. data/lib/google/cloud/compute/v1/target_vpn_gateways.rb +3 -0
  244. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +2 -2
  245. data/lib/google/cloud/compute/v1/url_maps/rest/service_stub.rb +287 -166
  246. data/lib/google/cloud/compute/v1/url_maps.rb +3 -0
  247. data/lib/google/cloud/compute/v1/version.rb +1 -1
  248. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +2 -2
  249. data/lib/google/cloud/compute/v1/vpn_gateways/rest/service_stub.rb +261 -145
  250. data/lib/google/cloud/compute/v1/vpn_gateways.rb +3 -0
  251. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +2 -2
  252. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/service_stub.rb +158 -91
  253. data/lib/google/cloud/compute/v1/vpn_tunnels.rb +3 -0
  254. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +1 -1
  255. data/lib/google/cloud/compute/v1/zone_operations/rest/service_stub.rb +129 -65
  256. data/lib/google/cloud/compute/v1/zone_operations/rest.rb +1 -0
  257. data/lib/google/cloud/compute/v1/zone_operations.rb +3 -1
  258. data/lib/google/cloud/compute/v1/zones/rest/client.rb +1 -1
  259. data/lib/google/cloud/compute/v1/zones/rest/service_stub.rb +59 -31
  260. data/lib/google/cloud/compute/v1/zones.rb +3 -0
  261. data/proto_docs/google/cloud/compute/v1/compute.rb +724 -186
  262. metadata +12 -12
@@ -28,6 +28,9 @@ module Google
28
28
  module Cloud
29
29
  module Compute
30
30
  module V1
31
+ ##
32
+ # The Projects API.
33
+ #
31
34
  # To load this service and instantiate a REST client:
32
35
  #
33
36
  # require "google/cloud/compute/v1/projects"
@@ -384,7 +384,7 @@ module Google
384
384
  # the default parameter values, pass an empty Hash as a request object (see above).
385
385
  #
386
386
  # @param filter [::String]
387
- # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
387
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`.
388
388
  # @param max_results [::Integer]
389
389
  # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
390
390
  # @param order_by [::String]
@@ -26,8 +26,8 @@ module Google
26
26
  module Rest
27
27
  ##
28
28
  # REST service stub for the PublicAdvertisedPrefixes service.
29
- # service stub contains baseline method implementations
30
- # including transcoding, making the REST call and deserialing the response
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
33
  def initialize endpoint:, credentials:
@@ -55,9 +55,17 @@ module Google
55
55
  def delete request_pb, options = nil
56
56
  raise ::ArgumentError, "request must be provided" if request_pb.nil?
57
57
 
58
- uri, _body, query_string_params = transcode_delete_request request_pb
59
- response = @client_stub.make_delete_request(
58
+ verb, uri, query_string_params, body = transcode_delete_request request_pb
59
+ query_string_params = if query_string_params.any?
60
+ query_string_params.to_h { |p| p.split("=", 2) }
61
+ else
62
+ {}
63
+ end
64
+
65
+ response = @client_stub.make_http_request(
66
+ verb,
60
67
  uri: uri,
68
+ body: body || "",
61
69
  params: query_string_params,
62
70
  options: options
63
71
  )
@@ -67,22 +75,6 @@ module Google
67
75
  result
68
76
  end
69
77
 
70
- ##
71
- # GRPC transcoding helper method for the delete REST call
72
- #
73
- # @param request_pb [::Google::Cloud::Compute::V1::DeletePublicAdvertisedPrefixeRequest]
74
- # A request object representing the call parameters. Required.
75
- # @return [Array(String, [String, nil], Hash{String => String})]
76
- # Uri, Body, Query string parameters
77
- def transcode_delete_request request_pb
78
- uri = "/compute/v1/projects/#{request_pb.project}/global/publicAdvertisedPrefixes/#{request_pb.public_advertised_prefix}"
79
- body = nil
80
- query_string_params = {}
81
- query_string_params["requestId"] = request_pb.request_id.to_s if request_pb.has_request_id?
82
-
83
- [uri, body, query_string_params]
84
- end
85
-
86
78
  ##
87
79
  # Baseline implementation for the get REST call
88
80
  #
@@ -100,9 +92,18 @@ module Google
100
92
  def get request_pb, options = nil
101
93
  raise ::ArgumentError, "request must be provided" if request_pb.nil?
102
94
 
103
- uri, _body, _query_string_params = transcode_get_request request_pb
104
- response = @client_stub.make_get_request(
95
+ verb, uri, query_string_params, body = transcode_get_request request_pb
96
+ query_string_params = if query_string_params.any?
97
+ query_string_params.to_h { |p| p.split("=", 2) }
98
+ else
99
+ {}
100
+ end
101
+
102
+ response = @client_stub.make_http_request(
103
+ verb,
105
104
  uri: uri,
105
+ body: body || "",
106
+ params: query_string_params,
106
107
  options: options
107
108
  )
108
109
  result = ::Google::Cloud::Compute::V1::PublicAdvertisedPrefix.decode_json response.body, ignore_unknown_fields: true
@@ -111,21 +112,6 @@ module Google
111
112
  result
112
113
  end
113
114
 
114
- ##
115
- # GRPC transcoding helper method for the get REST call
116
- #
117
- # @param request_pb [::Google::Cloud::Compute::V1::GetPublicAdvertisedPrefixeRequest]
118
- # A request object representing the call parameters. Required.
119
- # @return [Array(String, [String, nil], Hash{String => String})]
120
- # Uri, Body, Query string parameters
121
- def transcode_get_request request_pb
122
- uri = "/compute/v1/projects/#{request_pb.project}/global/publicAdvertisedPrefixes/#{request_pb.public_advertised_prefix}"
123
- body = nil
124
- query_string_params = {}
125
-
126
- [uri, body, query_string_params]
127
- end
128
-
129
115
  ##
130
116
  # Baseline implementation for the insert REST call
131
117
  #
@@ -143,10 +129,17 @@ module Google
143
129
  def insert request_pb, options = nil
144
130
  raise ::ArgumentError, "request must be provided" if request_pb.nil?
145
131
 
146
- uri, body, query_string_params = transcode_insert_request request_pb
147
- response = @client_stub.make_post_request(
132
+ verb, uri, query_string_params, body = transcode_insert_request request_pb
133
+ query_string_params = if query_string_params.any?
134
+ query_string_params.to_h { |p| p.split("=", 2) }
135
+ else
136
+ {}
137
+ end
138
+
139
+ response = @client_stub.make_http_request(
140
+ verb,
148
141
  uri: uri,
149
- body: body,
142
+ body: body || "",
150
143
  params: query_string_params,
151
144
  options: options
152
145
  )
@@ -156,22 +149,6 @@ module Google
156
149
  result
157
150
  end
158
151
 
159
- ##
160
- # GRPC transcoding helper method for the insert REST call
161
- #
162
- # @param request_pb [::Google::Cloud::Compute::V1::InsertPublicAdvertisedPrefixeRequest]
163
- # A request object representing the call parameters. Required.
164
- # @return [Array(String, [String, nil], Hash{String => String})]
165
- # Uri, Body, Query string parameters
166
- def transcode_insert_request request_pb
167
- uri = "/compute/v1/projects/#{request_pb.project}/global/publicAdvertisedPrefixes"
168
- body = request_pb.public_advertised_prefix_resource.to_json
169
- query_string_params = {}
170
- query_string_params["requestId"] = request_pb.request_id.to_s if request_pb.has_request_id?
171
-
172
- [uri, body, query_string_params]
173
- end
174
-
175
152
  ##
176
153
  # Baseline implementation for the list REST call
177
154
  #
@@ -189,9 +166,17 @@ module Google
189
166
  def list request_pb, options = nil
190
167
  raise ::ArgumentError, "request must be provided" if request_pb.nil?
191
168
 
192
- uri, _body, query_string_params = transcode_list_request request_pb
193
- response = @client_stub.make_get_request(
169
+ verb, uri, query_string_params, body = transcode_list_request request_pb
170
+ query_string_params = if query_string_params.any?
171
+ query_string_params.to_h { |p| p.split("=", 2) }
172
+ else
173
+ {}
174
+ end
175
+
176
+ response = @client_stub.make_http_request(
177
+ verb,
194
178
  uri: uri,
179
+ body: body || "",
195
180
  params: query_string_params,
196
181
  options: options
197
182
  )
@@ -201,26 +186,6 @@ module Google
201
186
  result
202
187
  end
203
188
 
204
- ##
205
- # GRPC transcoding helper method for the list REST call
206
- #
207
- # @param request_pb [::Google::Cloud::Compute::V1::ListPublicAdvertisedPrefixesRequest]
208
- # A request object representing the call parameters. Required.
209
- # @return [Array(String, [String, nil], Hash{String => String})]
210
- # Uri, Body, Query string parameters
211
- def transcode_list_request request_pb
212
- uri = "/compute/v1/projects/#{request_pb.project}/global/publicAdvertisedPrefixes"
213
- body = nil
214
- query_string_params = {}
215
- query_string_params["filter"] = request_pb.filter.to_s if request_pb.has_filter?
216
- query_string_params["maxResults"] = request_pb.max_results.to_s if request_pb.has_max_results?
217
- query_string_params["orderBy"] = request_pb.order_by.to_s if request_pb.has_order_by?
218
- query_string_params["pageToken"] = request_pb.page_token.to_s if request_pb.has_page_token?
219
- query_string_params["returnPartialSuccess"] = request_pb.return_partial_success.to_s if request_pb.has_return_partial_success?
220
-
221
- [uri, body, query_string_params]
222
- end
223
-
224
189
  ##
225
190
  # Baseline implementation for the patch REST call
226
191
  #
@@ -238,10 +203,17 @@ module Google
238
203
  def patch request_pb, options = nil
239
204
  raise ::ArgumentError, "request must be provided" if request_pb.nil?
240
205
 
241
- uri, body, query_string_params = transcode_patch_request request_pb
242
- response = @client_stub.make_patch_request(
206
+ verb, uri, query_string_params, body = transcode_patch_request request_pb
207
+ query_string_params = if query_string_params.any?
208
+ query_string_params.to_h { |p| p.split("=", 2) }
209
+ else
210
+ {}
211
+ end
212
+
213
+ response = @client_stub.make_http_request(
214
+ verb,
243
215
  uri: uri,
244
- body: body,
216
+ body: body || "",
245
217
  params: query_string_params,
246
218
  options: options
247
219
  )
@@ -251,7 +223,99 @@ module Google
251
223
  result
252
224
  end
253
225
 
226
+
227
+ private
228
+
229
+ ##
230
+ # @private
231
+ #
232
+ # GRPC transcoding helper method for the delete REST call
233
+ #
234
+ # @param request_pb [::Google::Cloud::Compute::V1::DeletePublicAdvertisedPrefixeRequest]
235
+ # A request object representing the call parameters. Required.
236
+ # @return [Array(String, [String, nil], Hash{String => String})]
237
+ # Uri, Body, Query string parameters
238
+ def transcode_delete_request request_pb
239
+ transcoder = Gapic::Rest::GrpcTranscoder.new
240
+ .with_bindings(
241
+ uri_method: :delete,
242
+ uri_template: "/compute/v1/projects/{project}/global/publicAdvertisedPrefixes/{public_advertised_prefix}",
243
+ matches: [
244
+ ["project", %r{^[^/]+/?$}, false],
245
+ ["public_advertised_prefix", %r{^[^/]+/?$}, false]
246
+ ]
247
+ )
248
+ transcoder.transcode request_pb
249
+ end
250
+
251
+ ##
252
+ # @private
253
+ #
254
+ # GRPC transcoding helper method for the get REST call
255
+ #
256
+ # @param request_pb [::Google::Cloud::Compute::V1::GetPublicAdvertisedPrefixeRequest]
257
+ # A request object representing the call parameters. Required.
258
+ # @return [Array(String, [String, nil], Hash{String => String})]
259
+ # Uri, Body, Query string parameters
260
+ def transcode_get_request request_pb
261
+ transcoder = Gapic::Rest::GrpcTranscoder.new
262
+ .with_bindings(
263
+ uri_method: :get,
264
+ uri_template: "/compute/v1/projects/{project}/global/publicAdvertisedPrefixes/{public_advertised_prefix}",
265
+ matches: [
266
+ ["project", %r{^[^/]+/?$}, false],
267
+ ["public_advertised_prefix", %r{^[^/]+/?$}, false]
268
+ ]
269
+ )
270
+ transcoder.transcode request_pb
271
+ end
272
+
254
273
  ##
274
+ # @private
275
+ #
276
+ # GRPC transcoding helper method for the insert REST call
277
+ #
278
+ # @param request_pb [::Google::Cloud::Compute::V1::InsertPublicAdvertisedPrefixeRequest]
279
+ # A request object representing the call parameters. Required.
280
+ # @return [Array(String, [String, nil], Hash{String => String})]
281
+ # Uri, Body, Query string parameters
282
+ def transcode_insert_request request_pb
283
+ transcoder = Gapic::Rest::GrpcTranscoder.new
284
+ .with_bindings(
285
+ uri_method: :post,
286
+ uri_template: "/compute/v1/projects/{project}/global/publicAdvertisedPrefixes",
287
+ body: "public_advertised_prefix_resource",
288
+ matches: [
289
+ ["project", %r{^[^/]+/?$}, false]
290
+ ]
291
+ )
292
+ transcoder.transcode request_pb
293
+ end
294
+
295
+ ##
296
+ # @private
297
+ #
298
+ # GRPC transcoding helper method for the list REST call
299
+ #
300
+ # @param request_pb [::Google::Cloud::Compute::V1::ListPublicAdvertisedPrefixesRequest]
301
+ # A request object representing the call parameters. Required.
302
+ # @return [Array(String, [String, nil], Hash{String => String})]
303
+ # Uri, Body, Query string parameters
304
+ def transcode_list_request request_pb
305
+ transcoder = Gapic::Rest::GrpcTranscoder.new
306
+ .with_bindings(
307
+ uri_method: :get,
308
+ uri_template: "/compute/v1/projects/{project}/global/publicAdvertisedPrefixes",
309
+ matches: [
310
+ ["project", %r{^[^/]+/?$}, false]
311
+ ]
312
+ )
313
+ transcoder.transcode request_pb
314
+ end
315
+
316
+ ##
317
+ # @private
318
+ #
255
319
  # GRPC transcoding helper method for the patch REST call
256
320
  #
257
321
  # @param request_pb [::Google::Cloud::Compute::V1::PatchPublicAdvertisedPrefixeRequest]
@@ -259,12 +323,17 @@ module Google
259
323
  # @return [Array(String, [String, nil], Hash{String => String})]
260
324
  # Uri, Body, Query string parameters
261
325
  def transcode_patch_request request_pb
262
- uri = "/compute/v1/projects/#{request_pb.project}/global/publicAdvertisedPrefixes/#{request_pb.public_advertised_prefix}"
263
- body = request_pb.public_advertised_prefix_resource.to_json
264
- query_string_params = {}
265
- query_string_params["requestId"] = request_pb.request_id.to_s if request_pb.has_request_id?
266
-
267
- [uri, body, query_string_params]
326
+ transcoder = Gapic::Rest::GrpcTranscoder.new
327
+ .with_bindings(
328
+ uri_method: :patch,
329
+ uri_template: "/compute/v1/projects/{project}/global/publicAdvertisedPrefixes/{public_advertised_prefix}",
330
+ body: "public_advertised_prefix_resource",
331
+ matches: [
332
+ ["project", %r{^[^/]+/?$}, false],
333
+ ["public_advertised_prefix", %r{^[^/]+/?$}, false]
334
+ ]
335
+ )
336
+ transcoder.transcode request_pb
268
337
  end
269
338
  end
270
339
  end
@@ -28,6 +28,9 @@ module Google
28
28
  module Cloud
29
29
  module Compute
30
30
  module V1
31
+ ##
32
+ # The PublicAdvertisedPrefixes API.
33
+ #
31
34
  # To load this service and instantiate a REST client:
32
35
  #
33
36
  # require "google/cloud/compute/v1/public_advertised_prefixes"
@@ -180,7 +180,7 @@ module Google
180
180
  # the default parameter values, pass an empty Hash as a request object (see above).
181
181
  #
182
182
  # @param filter [::String]
183
- # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
183
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`.
184
184
  # @param include_all_scopes [::Boolean]
185
185
  # Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.
186
186
  # @param max_results [::Integer]
@@ -471,7 +471,7 @@ module Google
471
471
  # the default parameter values, pass an empty Hash as a request object (see above).
472
472
  #
473
473
  # @param filter [::String]
474
- # A filter expression that filters resources listed in the response. The expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ```
474
+ # A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`.
475
475
  # @param max_results [::Integer]
476
476
  # The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
477
477
  # @param order_by [::String]