google-cloud-compute-v1 3.4.0 → 3.6.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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +181 -14
  3. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +237 -20
  4. data/lib/google/cloud/compute/v1/advice/credentials.rb +52 -0
  5. data/lib/google/cloud/compute/v1/advice/rest/client.rb +431 -0
  6. data/lib/google/cloud/compute/v1/advice/rest/service_stub.rb +144 -0
  7. data/lib/google/cloud/compute/v1/advice/rest.rb +51 -0
  8. data/lib/google/cloud/compute/v1/advice.rb +47 -0
  9. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +334 -21
  10. data/lib/google/cloud/compute/v1/autoscalers/rest/service_stub.rb +64 -0
  11. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +573 -23
  12. data/lib/google/cloud/compute/v1/backend_buckets/rest/service_stub.rb +122 -0
  13. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +499 -40
  14. data/lib/google/cloud/compute/v1/backend_services/rest/service_stub.rb +62 -0
  15. data/lib/google/cloud/compute/v1/compute_pb.rb +357 -25
  16. data/lib/google/cloud/compute/v1/cross_site_networks/credentials.rb +52 -0
  17. data/lib/google/cloud/compute/v1/cross_site_networks/rest/client.rb +975 -0
  18. data/lib/google/cloud/compute/v1/cross_site_networks/rest/service_stub.rb +391 -0
  19. data/lib/google/cloud/compute/v1/cross_site_networks/rest.rb +51 -0
  20. data/lib/google/cloud/compute/v1/cross_site_networks.rb +47 -0
  21. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +181 -14
  22. data/lib/google/cloud/compute/v1/disks/rest/client.rb +508 -42
  23. data/lib/google/cloud/compute/v1/disks/rest/service_stub.rb +64 -0
  24. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +118 -11
  25. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +240 -25
  26. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +238 -13
  27. data/lib/google/cloud/compute/v1/firewalls/rest/service_stub.rb +63 -0
  28. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +258 -23
  29. data/lib/google/cloud/compute/v1/future_reservations/credentials.rb +52 -0
  30. data/lib/google/cloud/compute/v1/future_reservations/rest/client.rb +1287 -0
  31. data/lib/google/cloud/compute/v1/future_reservations/rest/service_stub.rb +520 -0
  32. data/lib/google/cloud/compute/v1/future_reservations/rest.rb +51 -0
  33. data/lib/google/cloud/compute/v1/future_reservations.rb +47 -0
  34. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +126 -10
  35. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +151 -15
  36. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +246 -21
  37. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +203 -18
  38. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +91 -9
  39. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +128 -10
  40. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +333 -21
  41. data/lib/google/cloud/compute/v1/health_checks/rest/service_stub.rb +63 -0
  42. data/lib/google/cloud/compute/v1/image_family_views/rest/client.rb +2 -1
  43. data/lib/google/cloud/compute/v1/images/rest/client.rb +161 -18
  44. data/lib/google/cloud/compute/v1/instance_group_manager_resize_requests/rest/client.rb +159 -24
  45. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +920 -95
  46. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +380 -40
  47. data/lib/google/cloud/compute/v1/instance_settings_service/rest/client.rb +13 -1
  48. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +220 -20
  49. data/lib/google/cloud/compute/v1/instances/rest/client.rb +939 -104
  50. data/lib/google/cloud/compute/v1/instant_snapshot_groups/credentials.rb +52 -0
  51. data/lib/google/cloud/compute/v1/instant_snapshot_groups/rest/client.rb +1145 -0
  52. data/lib/google/cloud/compute/v1/instant_snapshot_groups/rest/service_stub.rb +523 -0
  53. data/lib/google/cloud/compute/v1/instant_snapshot_groups/rest.rb +51 -0
  54. data/lib/google/cloud/compute/v1/instant_snapshot_groups.rb +47 -0
  55. data/lib/google/cloud/compute/v1/instant_snapshots/rest/client.rb +235 -21
  56. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/rest/client.rb +139 -14
  57. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +242 -21
  58. data/lib/google/cloud/compute/v1/interconnect_groups/rest/client.rb +139 -14
  59. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +87 -7
  60. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/client.rb +87 -7
  61. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +145 -14
  62. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +9 -2
  63. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +161 -16
  64. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +124 -13
  65. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +181 -14
  66. data/lib/google/cloud/compute/v1/network_attachments/rest/client.rb +232 -20
  67. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/client.rb +138 -12
  68. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +361 -37
  69. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/client.rb +354 -33
  70. data/lib/google/cloud/compute/v1/network_profiles/rest/client.rb +85 -6
  71. data/lib/google/cloud/compute/v1/networks/rest/client.rb +281 -23
  72. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +381 -32
  73. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +213 -19
  74. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +181 -14
  75. data/lib/google/cloud/compute/v1/organization_security_policies/credentials.rb +52 -0
  76. data/lib/google/cloud/compute/v1/organization_security_policies/rest/client.rb +2259 -0
  77. data/lib/google/cloud/compute/v1/organization_security_policies/rest/service_stub.rb +1054 -0
  78. data/lib/google/cloud/compute/v1/organization_security_policies/rest.rb +51 -0
  79. data/lib/google/cloud/compute/v1/organization_security_policies.rb +47 -0
  80. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +226 -19
  81. data/lib/google/cloud/compute/v1/preview_features/credentials.rb +52 -0
  82. data/lib/google/cloud/compute/v1/preview_features/rest/client.rb +739 -0
  83. data/lib/google/cloud/compute/v1/preview_features/rest/service_stub.rb +267 -0
  84. data/lib/google/cloud/compute/v1/preview_features/rest.rb +51 -0
  85. data/lib/google/cloud/compute/v1/preview_features.rb +47 -0
  86. data/lib/google/cloud/compute/v1/projects/rest/client.rb +346 -30
  87. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +154 -12
  88. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +255 -22
  89. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +238 -13
  90. data/lib/google/cloud/compute/v1/region_autoscalers/rest/service_stub.rb +64 -0
  91. data/lib/google/cloud/compute/v1/region_backend_buckets/credentials.rb +52 -0
  92. data/lib/google/cloud/compute/v1/region_backend_buckets/rest/client.rb +1450 -0
  93. data/lib/google/cloud/compute/v1/region_backend_buckets/rest/service_stub.rb +649 -0
  94. data/lib/google/cloud/compute/v1/region_backend_buckets/rest.rb +51 -0
  95. data/lib/google/cloud/compute/v1/region_backend_buckets.rb +47 -0
  96. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +260 -26
  97. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +212 -18
  98. data/lib/google/cloud/compute/v1/region_composite_health_checks/credentials.rb +52 -0
  99. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/client.rb +1363 -0
  100. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/service_stub.rb +584 -0
  101. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest.rb +51 -0
  102. data/lib/google/cloud/compute/v1/region_composite_health_checks.rb +47 -0
  103. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +83 -5
  104. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +387 -29
  105. data/lib/google/cloud/compute/v1/region_disks/rest/service_stub.rb +64 -0
  106. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/credentials.rb +52 -0
  107. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest/client.rb +1268 -0
  108. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest/service_stub.rb +521 -0
  109. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest.rb +51 -0
  110. data/lib/google/cloud/compute/v1/region_health_aggregation_policies.rb +47 -0
  111. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +427 -17
  112. data/lib/google/cloud/compute/v1/region_health_check_services/rest/service_stub.rb +125 -0
  113. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +238 -13
  114. data/lib/google/cloud/compute/v1/region_health_checks/rest/service_stub.rb +64 -0
  115. data/lib/google/cloud/compute/v1/region_health_sources/credentials.rb +52 -0
  116. data/lib/google/cloud/compute/v1/region_health_sources/rest/client.rb +1363 -0
  117. data/lib/google/cloud/compute/v1/region_health_sources/rest/service_stub.rb +584 -0
  118. data/lib/google/cloud/compute/v1/region_health_sources/rest.rb +51 -0
  119. data/lib/google/cloud/compute/v1/region_health_sources.rb +47 -0
  120. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/credentials.rb +52 -0
  121. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/rest/client.rb +1002 -0
  122. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/rest/service_stub.rb +400 -0
  123. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/rest.rb +51 -0
  124. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests.rb +47 -0
  125. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +750 -64
  126. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +187 -14
  127. data/lib/google/cloud/compute/v1/region_instance_templates/rest/client.rb +115 -10
  128. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +15 -2
  129. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/credentials.rb +52 -0
  130. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/rest/client.rb +1146 -0
  131. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/rest/service_stub.rb +523 -0
  132. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/rest.rb +51 -0
  133. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups.rb +47 -0
  134. data/lib/google/cloud/compute/v1/region_instant_snapshots/rest/client.rb +139 -13
  135. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +264 -28
  136. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/client.rb +213 -20
  137. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +399 -11
  138. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/service_stub.rb +125 -0
  139. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +107 -10
  140. data/lib/google/cloud/compute/v1/region_security_policies/rest/client.rb +149 -14
  141. data/lib/google/cloud/compute/v1/region_snapshot_settings/credentials.rb +52 -0
  142. data/lib/google/cloud/compute/v1/region_snapshot_settings/rest/client.rb +561 -0
  143. data/lib/google/cloud/compute/v1/region_snapshot_settings/rest/service_stub.rb +206 -0
  144. data/lib/google/cloud/compute/v1/region_snapshot_settings/rest.rb +51 -0
  145. data/lib/google/cloud/compute/v1/region_snapshot_settings.rb +47 -0
  146. data/lib/google/cloud/compute/v1/region_snapshots/credentials.rb +52 -0
  147. data/lib/google/cloud/compute/v1/region_snapshots/rest/client.rb +1388 -0
  148. data/lib/google/cloud/compute/v1/region_snapshots/rest/service_stub.rb +651 -0
  149. data/lib/google/cloud/compute/v1/region_snapshots/rest.rb +51 -0
  150. data/lib/google/cloud/compute/v1/region_snapshots.rb +47 -0
  151. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +116 -10
  152. data/lib/google/cloud/compute/v1/region_ssl_policies/rest/client.rb +220 -20
  153. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +126 -10
  154. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +158 -14
  155. data/lib/google/cloud/compute/v1/region_target_tcp_proxies/rest/client.rb +113 -9
  156. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +104 -14
  157. data/lib/google/cloud/compute/v1/region_zones/rest/client.rb +85 -6
  158. data/lib/google/cloud/compute/v1/regions/rest/client.rb +120 -7
  159. data/lib/google/cloud/compute/v1/reservation_blocks/rest/client.rb +396 -11
  160. data/lib/google/cloud/compute/v1/reservation_blocks/rest/service_stub.rb +194 -0
  161. data/lib/google/cloud/compute/v1/reservation_slots/credentials.rb +52 -0
  162. data/lib/google/cloud/compute/v1/reservation_slots/rest/client.rb +863 -0
  163. data/lib/google/cloud/compute/v1/reservation_slots/rest/service_stub.rb +338 -0
  164. data/lib/google/cloud/compute/v1/reservation_slots/rest.rb +51 -0
  165. data/lib/google/cloud/compute/v1/reservation_slots.rb +47 -0
  166. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/client.rb +642 -12
  167. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/service_stub.rb +327 -3
  168. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +257 -24
  169. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +224 -19
  170. data/lib/google/cloud/compute/v1/rest.rb +17 -0
  171. data/lib/google/cloud/compute/v1/routers/rest/client.rb +555 -50
  172. data/lib/google/cloud/compute/v1/routes/rest/client.rb +202 -8
  173. data/lib/google/cloud/compute/v1/routes/rest/service_stub.rb +63 -0
  174. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +316 -26
  175. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +231 -21
  176. data/lib/google/cloud/compute/v1/snapshot_settings_service/rest/client.rb +13 -1
  177. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +245 -13
  178. data/lib/google/cloud/compute/v1/snapshots/rest/service_stub.rb +63 -0
  179. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +210 -17
  180. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +315 -27
  181. data/lib/google/cloud/compute/v1/storage_pool_types/rest/client.rb +181 -14
  182. data/lib/google/cloud/compute/v1/storage_pools/rest/client.rb +321 -28
  183. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +378 -34
  184. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +128 -10
  185. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +240 -20
  186. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +306 -30
  187. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +227 -20
  188. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +294 -26
  189. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +281 -19
  190. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/service_stub.rb +63 -0
  191. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +329 -20
  192. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/service_stub.rb +63 -0
  193. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +224 -19
  194. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +354 -24
  195. data/lib/google/cloud/compute/v1/url_maps/rest/service_stub.rb +63 -0
  196. data/lib/google/cloud/compute/v1/version.rb +1 -1
  197. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +224 -19
  198. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +224 -19
  199. data/lib/google/cloud/compute/v1/wire_groups/credentials.rb +52 -0
  200. data/lib/google/cloud/compute/v1/wire_groups/rest/client.rb +980 -0
  201. data/lib/google/cloud/compute/v1/wire_groups/rest/service_stub.rb +396 -0
  202. data/lib/google/cloud/compute/v1/wire_groups/rest.rb +51 -0
  203. data/lib/google/cloud/compute/v1/wire_groups.rb +47 -0
  204. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +106 -10
  205. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/credentials.rb +52 -0
  206. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/rest/client.rb +975 -0
  207. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/rest/service_stub.rb +396 -0
  208. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/rest.rb +51 -0
  209. data/lib/google/cloud/compute/v1/zone_vm_extension_policies.rb +47 -0
  210. data/lib/google/cloud/compute/v1/zones/rest/client.rb +83 -5
  211. data/lib/google/cloud/compute/v1.rb +17 -0
  212. data/proto_docs/google/api/client.rb +149 -29
  213. data/proto_docs/google/cloud/compute/v1/compute.rb +47064 -5503
  214. metadata +87 -2
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/config"
20
+ require "gapic/config/method"
21
+
22
+ require "google/cloud/compute/v1/version"
23
+
24
+ require "google/cloud/compute/v1/advice/credentials"
25
+ require "google/cloud/compute/v1/advice/rest"
26
+
27
+ module Google
28
+ module Cloud
29
+ module Compute
30
+ module V1
31
+ ##
32
+ # The Advice API.
33
+ #
34
+ # @example Load this service and instantiate a REST client
35
+ #
36
+ # require "google/cloud/compute/v1/advice/rest"
37
+ # client = ::Google::Cloud::Compute::V1::Advice::Rest::Client.new
38
+ #
39
+ module Advice
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ helper_path = ::File.join __dir__, "advice", "helpers.rb"
47
+ require "google/cloud/compute/v1/advice/helpers" if ::File.file? helper_path
@@ -92,6 +92,8 @@ module Google
92
92
 
93
93
  default_config.rpcs.patch.timeout = 600.0
94
94
 
95
+ default_config.rpcs.test_iam_permissions.timeout = 600.0
96
+
95
97
  default_config.rpcs.update.timeout = 600.0
96
98
 
97
99
  default_config
@@ -213,7 +215,10 @@ module Google
213
215
  # Service calls
214
216
 
215
217
  ##
216
- # Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.
218
+ # Retrieves an aggregated list of autoscalers.
219
+ #
220
+ # To prevent failure, it is recommended that you set the
221
+ # `returnPartialSuccess` parameter to `true`.
217
222
  #
218
223
  # @overload aggregated_list(request, options = nil)
219
224
  # Pass arguments to `aggregated_list` via a request object, either of type
@@ -231,21 +236,106 @@ module Google
231
236
  # the default parameter values, pass an empty Hash as a request object (see above).
232
237
  #
233
238
  # @param filter [::String]
234
- # 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. These two types of filter expressions cannot be mixed in one request. 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 `:*` 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`. You cannot combine constraints on multiple fields using regular expressions.
239
+ # A filter expression that filters resources listed in the response. Most
240
+ # Compute resources support two types of filter expressions:
241
+ # expressions that support regular expressions and expressions that follow
242
+ # API improvement proposal AIP-160.
243
+ # These two types of filter expressions cannot be mixed in one request.
244
+ #
245
+ # If you want to use AIP-160, your expression must specify the field name, an
246
+ # operator, and the value that you want to use for filtering. The value
247
+ # must be a string, a number, or a boolean. The operator
248
+ # must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
249
+ #
250
+ # For example, if you are filtering Compute Engine instances, you can
251
+ # exclude instances named `example-instance` by specifying
252
+ # `name != example-instance`.
253
+ #
254
+ # The `:*` comparison can be used to test whether a key has been defined.
255
+ # For example, to find all objects with `owner` label use:
256
+ # ```
257
+ # labels.owner:*
258
+ # ```
259
+ #
260
+ # You can also filter nested fields. For example, you could specify
261
+ # `scheduling.automaticRestart = false` to include instances only
262
+ # if they are not scheduled for automatic restarts. You can use filtering
263
+ # on nested fields to filter based onresource labels.
264
+ #
265
+ # To filter on multiple expressions, provide each separate expression within
266
+ # parentheses. For example:
267
+ # ```
268
+ # (scheduling.automaticRestart = true)
269
+ # (cpuPlatform = "Intel Skylake")
270
+ # ```
271
+ # By default, each expression is an `AND` expression. However, you
272
+ # can include `AND` and `OR` expressions explicitly.
273
+ # For example:
274
+ # ```
275
+ # (cpuPlatform = "Intel Skylake") OR
276
+ # (cpuPlatform = "Intel Broadwell") AND
277
+ # (scheduling.automaticRestart = true)
278
+ # ```
279
+ #
280
+ # If you want to use a regular expression, use the `eq` (equal) or `ne`
281
+ # (not equal) operator against a single un-parenthesized expression with or
282
+ # without quotes or against multiple parenthesized expressions. Examples:
283
+ #
284
+ # `fieldname eq unquoted literal`
285
+ # `fieldname eq 'single quoted literal'`
286
+ # `fieldname eq "double quoted literal"`
287
+ # `(fieldname1 eq literal) (fieldname2 ne "literal")`
288
+ #
289
+ # The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
290
+ # The literal value must match the entire field.
291
+ #
292
+ # For example, to filter for instances that do not end with name "instance",
293
+ # you would use `name ne .*instance`.
294
+ #
295
+ # You cannot combine constraints on multiple fields using regular
296
+ # expressions.
235
297
  # @param include_all_scopes [::Boolean]
236
- # 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.
298
+ # Indicates whether every visible scope for each scope type (zone, region,
299
+ # global) should be included in the response. For new resource types added
300
+ # after this field, the flag has no effect as new resource types will always
301
+ # include every visible scope for each scope type in response. For resource
302
+ # types which predate this field, if this flag is omitted or false, only
303
+ # scopes of the scope types where the resource type is expected to be found
304
+ # will be included.
237
305
  # @param max_results [::Integer]
238
- # 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`)
306
+ # The maximum number of results per page that should be returned.
307
+ # If the number of available results is larger than `maxResults`,
308
+ # Compute Engine returns a `nextPageToken` that can be used to get
309
+ # the next page of results in subsequent list requests. Acceptable values are
310
+ # `0` to `500`, inclusive. (Default: `500`)
239
311
  # @param order_by [::String]
240
- # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
312
+ # Sorts list results by a certain order. By default, results
313
+ # are returned in alphanumerical order based on the resource name.
314
+ #
315
+ # You can also sort results in descending order based on the creation
316
+ # timestamp using `orderBy="creationTimestamp desc"`. This sorts
317
+ # results based on the `creationTimestamp` field in
318
+ # reverse chronological order (newest result first). Use this to sort
319
+ # resources like operations so that the newest operation is returned first.
320
+ #
321
+ # Currently, only sorting by `name` or
322
+ # `creationTimestamp desc` is supported.
241
323
  # @param page_token [::String]
242
- # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
324
+ # Specifies a page token to use. Set `pageToken` to the
325
+ # `nextPageToken` returned by a previous list request to get
326
+ # the next page of results.
243
327
  # @param project [::String]
244
328
  # Project ID for this request.
245
329
  # @param return_partial_success [::Boolean]
246
- # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
330
+ # Opt-in for partial success behavior which provides partial results in case
331
+ # of failure. The default value is false.
332
+ #
333
+ # For example, when partial success behavior is enabled, aggregatedList for a
334
+ # single zone scope either returns all resources in the zone or no resources,
335
+ # with an error code.
247
336
  # @param service_project_number [::Integer]
248
- # The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.
337
+ # The Shared VPC service project id or service project number for which
338
+ # aggregated list request is invoked for subnetworks list-usable api.
249
339
  # @yield [result, operation] Access the result along with the TransportOperation object
250
340
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::AutoscalersScopedList>]
251
341
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -329,7 +419,19 @@ module Google
329
419
  # @param project [::String]
330
420
  # Project ID for this request.
331
421
  # @param request_id [::String]
332
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
422
+ # An optional request ID to identify requests. Specify a unique request ID so
423
+ # that if you must retry your request, the server will know to ignore the
424
+ # request if it has already been completed.
425
+ #
426
+ # For example, consider a situation where you make an initial request and
427
+ # the request times out. If you make the request again with the same
428
+ # request ID, the server can check if original operation with the same
429
+ # request ID was received, and if so, will ignore the second request. This
430
+ # prevents clients from accidentally creating duplicate commitments.
431
+ #
432
+ # The request ID must be
433
+ # a valid UUID with the exception that zero UUID is not supported
434
+ # (00000000-0000-0000-0000-000000000000).
333
435
  # @param zone [::String]
334
436
  # Name of the zone for this request.
335
437
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -483,7 +585,8 @@ module Google
483
585
  end
484
586
 
485
587
  ##
486
- # Creates an autoscaler in the specified project using the data included in the request.
588
+ # Creates an autoscaler in the specified project using the data
589
+ # included in the request.
487
590
  #
488
591
  # @overload insert(request, options = nil)
489
592
  # Pass arguments to `insert` via a request object, either of type
@@ -505,7 +608,19 @@ module Google
505
608
  # @param project [::String]
506
609
  # Project ID for this request.
507
610
  # @param request_id [::String]
508
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
611
+ # An optional request ID to identify requests. Specify a unique request ID so
612
+ # that if you must retry your request, the server will know to ignore the
613
+ # request if it has already been completed.
614
+ #
615
+ # For example, consider a situation where you make an initial request and
616
+ # the request times out. If you make the request again with the same
617
+ # request ID, the server can check if original operation with the same
618
+ # request ID was received, and if so, will ignore the second request. This
619
+ # prevents clients from accidentally creating duplicate commitments.
620
+ #
621
+ # The request ID must be
622
+ # a valid UUID with the exception that zero UUID is not supported
623
+ # (00000000-0000-0000-0000-000000000000).
509
624
  # @param zone [::String]
510
625
  # Name of the zone for this request.
511
626
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -577,7 +692,8 @@ module Google
577
692
  end
578
693
 
579
694
  ##
580
- # Retrieves a list of autoscalers contained within the specified zone.
695
+ # Retrieves a list of autoscalers contained within
696
+ # the specified zone.
581
697
  #
582
698
  # @overload list(request, options = nil)
583
699
  # Pass arguments to `list` via a request object, either of type
@@ -595,17 +711,95 @@ module Google
595
711
  # the default parameter values, pass an empty Hash as a request object (see above).
596
712
  #
597
713
  # @param filter [::String]
598
- # 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. These two types of filter expressions cannot be mixed in one request. 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 `:*` 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`. You cannot combine constraints on multiple fields using regular expressions.
714
+ # A filter expression that filters resources listed in the response. Most
715
+ # Compute resources support two types of filter expressions:
716
+ # expressions that support regular expressions and expressions that follow
717
+ # API improvement proposal AIP-160.
718
+ # These two types of filter expressions cannot be mixed in one request.
719
+ #
720
+ # If you want to use AIP-160, your expression must specify the field name, an
721
+ # operator, and the value that you want to use for filtering. The value
722
+ # must be a string, a number, or a boolean. The operator
723
+ # must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
724
+ #
725
+ # For example, if you are filtering Compute Engine instances, you can
726
+ # exclude instances named `example-instance` by specifying
727
+ # `name != example-instance`.
728
+ #
729
+ # The `:*` comparison can be used to test whether a key has been defined.
730
+ # For example, to find all objects with `owner` label use:
731
+ # ```
732
+ # labels.owner:*
733
+ # ```
734
+ #
735
+ # You can also filter nested fields. For example, you could specify
736
+ # `scheduling.automaticRestart = false` to include instances only
737
+ # if they are not scheduled for automatic restarts. You can use filtering
738
+ # on nested fields to filter based onresource labels.
739
+ #
740
+ # To filter on multiple expressions, provide each separate expression within
741
+ # parentheses. For example:
742
+ # ```
743
+ # (scheduling.automaticRestart = true)
744
+ # (cpuPlatform = "Intel Skylake")
745
+ # ```
746
+ # By default, each expression is an `AND` expression. However, you
747
+ # can include `AND` and `OR` expressions explicitly.
748
+ # For example:
749
+ # ```
750
+ # (cpuPlatform = "Intel Skylake") OR
751
+ # (cpuPlatform = "Intel Broadwell") AND
752
+ # (scheduling.automaticRestart = true)
753
+ # ```
754
+ #
755
+ # If you want to use a regular expression, use the `eq` (equal) or `ne`
756
+ # (not equal) operator against a single un-parenthesized expression with or
757
+ # without quotes or against multiple parenthesized expressions. Examples:
758
+ #
759
+ # `fieldname eq unquoted literal`
760
+ # `fieldname eq 'single quoted literal'`
761
+ # `fieldname eq "double quoted literal"`
762
+ # `(fieldname1 eq literal) (fieldname2 ne "literal")`
763
+ #
764
+ # The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
765
+ # The literal value must match the entire field.
766
+ #
767
+ # For example, to filter for instances that do not end with name "instance",
768
+ # you would use `name ne .*instance`.
769
+ #
770
+ # You cannot combine constraints on multiple fields using regular
771
+ # expressions.
599
772
  # @param max_results [::Integer]
600
- # 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`)
773
+ # The maximum number of results per page that should be returned.
774
+ # If the number of available results is larger than `maxResults`,
775
+ # Compute Engine returns a `nextPageToken` that can be used to get
776
+ # the next page of results in subsequent list requests. Acceptable values are
777
+ # `0` to `500`, inclusive. (Default: `500`)
601
778
  # @param order_by [::String]
602
- # Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.
779
+ # Sorts list results by a certain order. By default, results
780
+ # are returned in alphanumerical order based on the resource name.
781
+ #
782
+ # You can also sort results in descending order based on the creation
783
+ # timestamp using `orderBy="creationTimestamp desc"`. This sorts
784
+ # results based on the `creationTimestamp` field in
785
+ # reverse chronological order (newest result first). Use this to sort
786
+ # resources like operations so that the newest operation is returned first.
787
+ #
788
+ # Currently, only sorting by `name` or
789
+ # `creationTimestamp desc` is supported.
603
790
  # @param page_token [::String]
604
- # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
791
+ # Specifies a page token to use. Set `pageToken` to the
792
+ # `nextPageToken` returned by a previous list request to get
793
+ # the next page of results.
605
794
  # @param project [::String]
606
795
  # Project ID for this request.
607
796
  # @param return_partial_success [::Boolean]
608
- # Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.
797
+ # Opt-in for partial success behavior which provides partial results in case
798
+ # of failure. The default value is false.
799
+ #
800
+ # For example, when partial success behavior is enabled, aggregatedList for a
801
+ # single zone scope either returns all resources in the zone or no resources,
802
+ # with an error code.
609
803
  # @param zone [::String]
610
804
  # Name of the zone for this request.
611
805
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -669,7 +863,10 @@ module Google
669
863
  end
670
864
 
671
865
  ##
672
- # Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
866
+ # Updates an autoscaler in the specified project using the data
867
+ # included in the request. This method supportsPATCH
868
+ # semantics and uses theJSON merge
869
+ # patch format and processing rules.
673
870
  #
674
871
  # @overload patch(request, options = nil)
675
872
  # Pass arguments to `patch` via a request object, either of type
@@ -693,7 +890,19 @@ module Google
693
890
  # @param project [::String]
694
891
  # Project ID for this request.
695
892
  # @param request_id [::String]
696
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
893
+ # An optional request ID to identify requests. Specify a unique request ID so
894
+ # that if you must retry your request, the server will know to ignore the
895
+ # request if it has already been completed.
896
+ #
897
+ # For example, consider a situation where you make an initial request and
898
+ # the request times out. If you make the request again with the same
899
+ # request ID, the server can check if original operation with the same
900
+ # request ID was received, and if so, will ignore the second request. This
901
+ # prevents clients from accidentally creating duplicate commitments.
902
+ #
903
+ # The request ID must be
904
+ # a valid UUID with the exception that zero UUID is not supported
905
+ # (00000000-0000-0000-0000-000000000000).
697
906
  # @param zone [::String]
698
907
  # Name of the zone for this request.
699
908
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -765,7 +974,92 @@ module Google
765
974
  end
766
975
 
767
976
  ##
768
- # Updates an autoscaler in the specified project using the data included in the request.
977
+ # Returns permissions that a caller has on the specified resource.
978
+ #
979
+ # @overload test_iam_permissions(request, options = nil)
980
+ # Pass arguments to `test_iam_permissions` via a request object, either of type
981
+ # {::Google::Cloud::Compute::V1::TestIamPermissionsAutoscalerRequest} or an equivalent Hash.
982
+ #
983
+ # @param request [::Google::Cloud::Compute::V1::TestIamPermissionsAutoscalerRequest, ::Hash]
984
+ # A request object representing the call parameters. Required. To specify no
985
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
986
+ # @param options [::Gapic::CallOptions, ::Hash]
987
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
988
+ #
989
+ # @overload test_iam_permissions(project: nil, resource: nil, test_permissions_request_resource: nil, zone: nil)
990
+ # Pass arguments to `test_iam_permissions` via keyword arguments. Note that at
991
+ # least one keyword argument is required. To specify no parameters, or to keep all
992
+ # the default parameter values, pass an empty Hash as a request object (see above).
993
+ #
994
+ # @param project [::String]
995
+ # Project ID for this request.
996
+ # @param resource [::String]
997
+ # Name or id of the resource for this request.
998
+ # @param test_permissions_request_resource [::Google::Cloud::Compute::V1::TestPermissionsRequest, ::Hash]
999
+ # The body resource for this request
1000
+ # @param zone [::String]
1001
+ # The name of the zone for this request.
1002
+ # @yield [result, operation] Access the result along with the TransportOperation object
1003
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
1004
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1005
+ #
1006
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
1007
+ #
1008
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1009
+ #
1010
+ # @example Basic example
1011
+ # require "google/cloud/compute/v1"
1012
+ #
1013
+ # # Create a client object. The client can be reused for multiple calls.
1014
+ # client = Google::Cloud::Compute::V1::Autoscalers::Rest::Client.new
1015
+ #
1016
+ # # Create a request. To set request fields, pass in keyword arguments.
1017
+ # request = Google::Cloud::Compute::V1::TestIamPermissionsAutoscalerRequest.new
1018
+ #
1019
+ # # Call the test_iam_permissions method.
1020
+ # result = client.test_iam_permissions request
1021
+ #
1022
+ # # The returned object is of type Google::Cloud::Compute::V1::TestPermissionsResponse.
1023
+ # p result
1024
+ #
1025
+ def test_iam_permissions request, options = nil
1026
+ raise ::ArgumentError, "request must be provided" if request.nil?
1027
+
1028
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::TestIamPermissionsAutoscalerRequest
1029
+
1030
+ # Converts hash and nil to an options object
1031
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1032
+
1033
+ # Customize the options with defaults
1034
+ call_metadata = @config.rpcs.test_iam_permissions.metadata.to_h
1035
+
1036
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1037
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1038
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1039
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1040
+ transports_version_send: [:rest]
1041
+
1042
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1043
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1044
+
1045
+ options.apply_defaults timeout: @config.rpcs.test_iam_permissions.timeout,
1046
+ metadata: call_metadata,
1047
+ retry_policy: @config.rpcs.test_iam_permissions.retry_policy
1048
+
1049
+ options.apply_defaults timeout: @config.timeout,
1050
+ metadata: @config.metadata,
1051
+ retry_policy: @config.retry_policy
1052
+
1053
+ @autoscalers_stub.test_iam_permissions request, options do |result, operation|
1054
+ yield result, operation if block_given?
1055
+ end
1056
+ rescue ::Gapic::Rest::Error => e
1057
+ raise ::Google::Cloud::Error.from_error(e)
1058
+ end
1059
+
1060
+ ##
1061
+ # Updates an autoscaler in the specified project using the data
1062
+ # included in the request.
769
1063
  #
770
1064
  # @overload update(request, options = nil)
771
1065
  # Pass arguments to `update` via a request object, either of type
@@ -789,7 +1083,19 @@ module Google
789
1083
  # @param project [::String]
790
1084
  # Project ID for this request.
791
1085
  # @param request_id [::String]
792
- # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
1086
+ # An optional request ID to identify requests. Specify a unique request ID so
1087
+ # that if you must retry your request, the server will know to ignore the
1088
+ # request if it has already been completed.
1089
+ #
1090
+ # For example, consider a situation where you make an initial request and
1091
+ # the request times out. If you make the request again with the same
1092
+ # request ID, the server can check if original operation with the same
1093
+ # request ID was received, and if so, will ignore the second request. This
1094
+ # prevents clients from accidentally creating duplicate commitments.
1095
+ #
1096
+ # The request ID must be
1097
+ # a valid UUID with the exception that zero UUID is not supported
1098
+ # (00000000-0000-0000-0000-000000000000).
793
1099
  # @param zone [::String]
794
1100
  # Name of the zone for this request.
795
1101
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -1037,6 +1343,11 @@ module Google
1037
1343
  #
1038
1344
  attr_reader :patch
1039
1345
  ##
1346
+ # RPC-specific configuration for `test_iam_permissions`
1347
+ # @return [::Gapic::Config::Method]
1348
+ #
1349
+ attr_reader :test_iam_permissions
1350
+ ##
1040
1351
  # RPC-specific configuration for `update`
1041
1352
  # @return [::Gapic::Config::Method]
1042
1353
  #
@@ -1056,6 +1367,8 @@ module Google
1056
1367
  @list = ::Gapic::Config::Method.new list_config
1057
1368
  patch_config = parent_rpcs.patch if parent_rpcs.respond_to? :patch
1058
1369
  @patch = ::Gapic::Config::Method.new patch_config
1370
+ test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
1371
+ @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
1059
1372
  update_config = parent_rpcs.update if parent_rpcs.respond_to? :update
1060
1373
  @update = ::Gapic::Config::Method.new update_config
1061
1374
 
@@ -313,6 +313,46 @@ module Google
313
313
  end
314
314
  end
315
315
 
316
+ ##
317
+ # Baseline implementation for the test_iam_permissions REST call
318
+ #
319
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsAutoscalerRequest]
320
+ # A request object representing the call parameters. Required.
321
+ # @param options [::Gapic::CallOptions]
322
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
323
+ #
324
+ # @yield [result, operation] Access the result along with the TransportOperation object
325
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
326
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
327
+ #
328
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
329
+ # A result object deserialized from the server's reply
330
+ def test_iam_permissions request_pb, options = nil
331
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
332
+
333
+ verb, uri, query_string_params, body = ServiceStub.transcode_test_iam_permissions_request request_pb
334
+ query_string_params = if query_string_params.any?
335
+ query_string_params.to_h { |p| p.split "=", 2 }
336
+ else
337
+ {}
338
+ end
339
+
340
+ response = @client_stub.make_http_request(
341
+ verb,
342
+ uri: uri,
343
+ body: body || "",
344
+ params: query_string_params,
345
+ method_name: "test_iam_permissions",
346
+ options: options
347
+ )
348
+ operation = ::Gapic::Rest::TransportOperation.new response
349
+ result = ::Google::Cloud::Compute::V1::TestPermissionsResponse.decode_json response.body, ignore_unknown_fields: true
350
+ catch :response do
351
+ yield result, operation if block_given?
352
+ result
353
+ end
354
+ end
355
+
316
356
  ##
317
357
  # Baseline implementation for the update REST call
318
358
  #
@@ -488,6 +528,30 @@ module Google
488
528
  transcoder.transcode request_pb
489
529
  end
490
530
 
531
+ ##
532
+ # @private
533
+ #
534
+ # GRPC transcoding helper method for the test_iam_permissions REST call
535
+ #
536
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsAutoscalerRequest]
537
+ # A request object representing the call parameters. Required.
538
+ # @return [Array(String, [String, nil], Hash{String => String})]
539
+ # Uri, Body, Query string parameters
540
+ def self.transcode_test_iam_permissions_request request_pb
541
+ transcoder = Gapic::Rest::GrpcTranscoder.new
542
+ .with_bindings(
543
+ uri_method: :post,
544
+ uri_template: "/compute/v1/projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions",
545
+ body: "test_permissions_request_resource",
546
+ matches: [
547
+ ["project", %r{^[^/]+/?$}, false],
548
+ ["zone", %r{^[^/]+/?$}, false],
549
+ ["resource", %r{^[^/]+/?$}, false]
550
+ ]
551
+ )
552
+ transcoder.transcode request_pb
553
+ end
554
+
491
555
  ##
492
556
  # @private
493
557
  #