google-cloud-compute-v1 3.3.0 → 3.5.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 (182) 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 +330 -20
  4. data/lib/google/cloud/compute/v1/addresses/rest/service_stub.rb +64 -0
  5. data/lib/google/cloud/compute/v1/advice/credentials.rb +52 -0
  6. data/lib/google/cloud/compute/v1/advice/rest/client.rb +431 -0
  7. data/lib/google/cloud/compute/v1/advice/rest/service_stub.rb +144 -0
  8. data/lib/google/cloud/compute/v1/advice/rest.rb +51 -0
  9. data/lib/google/cloud/compute/v1/advice.rb +47 -0
  10. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +334 -21
  11. data/lib/google/cloud/compute/v1/autoscalers/rest/service_stub.rb +64 -0
  12. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +198 -23
  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 +281 -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 +390 -42
  23. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +118 -11
  24. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +240 -25
  25. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +238 -13
  26. data/lib/google/cloud/compute/v1/firewalls/rest/service_stub.rb +63 -0
  27. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +258 -23
  28. data/lib/google/cloud/compute/v1/future_reservations/credentials.rb +52 -0
  29. data/lib/google/cloud/compute/v1/future_reservations/rest/client.rb +1287 -0
  30. data/lib/google/cloud/compute/v1/future_reservations/rest/service_stub.rb +520 -0
  31. data/lib/google/cloud/compute/v1/future_reservations/rest.rb +51 -0
  32. data/lib/google/cloud/compute/v1/future_reservations.rb +47 -0
  33. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +217 -10
  34. data/lib/google/cloud/compute/v1/global_addresses/rest/service_stub.rb +63 -0
  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 +473 -40
  47. data/lib/google/cloud/compute/v1/instance_groups/rest/service_stub.rb +64 -0
  48. data/lib/google/cloud/compute/v1/instance_settings_service/rest/client.rb +13 -1
  49. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +220 -20
  50. data/lib/google/cloud/compute/v1/instances/rest/client.rb +1144 -99
  51. data/lib/google/cloud/compute/v1/instances/rest/service_stub.rb +127 -0
  52. data/lib/google/cloud/compute/v1/instant_snapshots/rest/client.rb +235 -21
  53. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/rest/client.rb +139 -14
  54. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +242 -21
  55. data/lib/google/cloud/compute/v1/interconnect_groups/rest/client.rb +139 -14
  56. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +87 -7
  57. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/client.rb +87 -7
  58. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +145 -14
  59. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +9 -2
  60. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +161 -16
  61. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +124 -13
  62. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +181 -14
  63. data/lib/google/cloud/compute/v1/network_attachments/rest/client.rb +232 -20
  64. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/client.rb +138 -12
  65. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +361 -37
  66. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/client.rb +354 -33
  67. data/lib/google/cloud/compute/v1/network_profiles/rest/client.rb +85 -6
  68. data/lib/google/cloud/compute/v1/networks/rest/client.rb +281 -23
  69. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +381 -32
  70. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +213 -19
  71. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +181 -14
  72. data/lib/google/cloud/compute/v1/organization_security_policies/credentials.rb +52 -0
  73. data/lib/google/cloud/compute/v1/organization_security_policies/rest/client.rb +2259 -0
  74. data/lib/google/cloud/compute/v1/organization_security_policies/rest/service_stub.rb +1054 -0
  75. data/lib/google/cloud/compute/v1/organization_security_policies/rest.rb +51 -0
  76. data/lib/google/cloud/compute/v1/organization_security_policies.rb +47 -0
  77. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +226 -19
  78. data/lib/google/cloud/compute/v1/preview_features/credentials.rb +52 -0
  79. data/lib/google/cloud/compute/v1/preview_features/rest/client.rb +739 -0
  80. data/lib/google/cloud/compute/v1/preview_features/rest/service_stub.rb +267 -0
  81. data/lib/google/cloud/compute/v1/preview_features/rest.rb +51 -0
  82. data/lib/google/cloud/compute/v1/preview_features.rb +47 -0
  83. data/lib/google/cloud/compute/v1/projects/rest/client.rb +346 -30
  84. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +154 -12
  85. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +255 -22
  86. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +238 -13
  87. data/lib/google/cloud/compute/v1/region_autoscalers/rest/service_stub.rb +64 -0
  88. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +260 -26
  89. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +212 -18
  90. data/lib/google/cloud/compute/v1/region_composite_health_checks/credentials.rb +52 -0
  91. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/client.rb +1268 -0
  92. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/service_stub.rb +521 -0
  93. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest.rb +51 -0
  94. data/lib/google/cloud/compute/v1/region_composite_health_checks.rb +47 -0
  95. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +83 -5
  96. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +269 -29
  97. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/credentials.rb +52 -0
  98. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest/client.rb +1268 -0
  99. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest/service_stub.rb +521 -0
  100. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest.rb +51 -0
  101. data/lib/google/cloud/compute/v1/region_health_aggregation_policies.rb +47 -0
  102. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +427 -17
  103. data/lib/google/cloud/compute/v1/region_health_check_services/rest/service_stub.rb +125 -0
  104. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +238 -13
  105. data/lib/google/cloud/compute/v1/region_health_checks/rest/service_stub.rb +64 -0
  106. data/lib/google/cloud/compute/v1/region_health_sources/credentials.rb +52 -0
  107. data/lib/google/cloud/compute/v1/region_health_sources/rest/client.rb +1268 -0
  108. data/lib/google/cloud/compute/v1/region_health_sources/rest/service_stub.rb +521 -0
  109. data/lib/google/cloud/compute/v1/region_health_sources/rest.rb +51 -0
  110. data/lib/google/cloud/compute/v1/region_health_sources.rb +47 -0
  111. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +750 -64
  112. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +280 -14
  113. data/lib/google/cloud/compute/v1/region_instance_groups/rest/service_stub.rb +64 -0
  114. data/lib/google/cloud/compute/v1/region_instance_templates/rest/client.rb +115 -10
  115. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +15 -2
  116. data/lib/google/cloud/compute/v1/region_instant_snapshots/rest/client.rb +139 -13
  117. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +264 -28
  118. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/client.rb +213 -20
  119. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +399 -11
  120. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/service_stub.rb +125 -0
  121. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +107 -10
  122. data/lib/google/cloud/compute/v1/region_security_policies/rest/client.rb +149 -14
  123. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +116 -10
  124. data/lib/google/cloud/compute/v1/region_ssl_policies/rest/client.rb +220 -20
  125. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +126 -10
  126. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +158 -14
  127. data/lib/google/cloud/compute/v1/region_target_tcp_proxies/rest/client.rb +113 -9
  128. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +104 -14
  129. data/lib/google/cloud/compute/v1/region_zones/rest/client.rb +85 -6
  130. data/lib/google/cloud/compute/v1/regions/rest/client.rb +120 -7
  131. data/lib/google/cloud/compute/v1/reservation_blocks/rest/client.rb +396 -11
  132. data/lib/google/cloud/compute/v1/reservation_blocks/rest/service_stub.rb +194 -0
  133. data/lib/google/cloud/compute/v1/reservation_slots/credentials.rb +52 -0
  134. data/lib/google/cloud/compute/v1/reservation_slots/rest/client.rb +863 -0
  135. data/lib/google/cloud/compute/v1/reservation_slots/rest/service_stub.rb +338 -0
  136. data/lib/google/cloud/compute/v1/reservation_slots/rest.rb +51 -0
  137. data/lib/google/cloud/compute/v1/reservation_slots.rb +47 -0
  138. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/client.rb +642 -12
  139. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/service_stub.rb +327 -3
  140. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +257 -24
  141. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +224 -19
  142. data/lib/google/cloud/compute/v1/rest.rb +10 -0
  143. data/lib/google/cloud/compute/v1/routers/rest/client.rb +555 -50
  144. data/lib/google/cloud/compute/v1/routes/rest/client.rb +202 -8
  145. data/lib/google/cloud/compute/v1/routes/rest/service_stub.rb +63 -0
  146. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +316 -26
  147. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +234 -22
  148. data/lib/google/cloud/compute/v1/snapshot_settings_service/rest/client.rb +13 -1
  149. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +130 -13
  150. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +210 -17
  151. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +315 -27
  152. data/lib/google/cloud/compute/v1/storage_pool_types/rest/client.rb +181 -14
  153. data/lib/google/cloud/compute/v1/storage_pools/rest/client.rb +321 -28
  154. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +378 -34
  155. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +128 -10
  156. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +240 -20
  157. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +306 -30
  158. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +320 -20
  159. data/lib/google/cloud/compute/v1/target_instances/rest/service_stub.rb +64 -0
  160. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +387 -26
  161. data/lib/google/cloud/compute/v1/target_pools/rest/service_stub.rb +64 -0
  162. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +281 -19
  163. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/service_stub.rb +63 -0
  164. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +329 -20
  165. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/service_stub.rb +63 -0
  166. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +224 -19
  167. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +354 -24
  168. data/lib/google/cloud/compute/v1/url_maps/rest/service_stub.rb +63 -0
  169. data/lib/google/cloud/compute/v1/version.rb +1 -1
  170. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +224 -19
  171. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +224 -19
  172. data/lib/google/cloud/compute/v1/wire_groups/credentials.rb +52 -0
  173. data/lib/google/cloud/compute/v1/wire_groups/rest/client.rb +980 -0
  174. data/lib/google/cloud/compute/v1/wire_groups/rest/service_stub.rb +396 -0
  175. data/lib/google/cloud/compute/v1/wire_groups/rest.rb +51 -0
  176. data/lib/google/cloud/compute/v1/wire_groups.rb +47 -0
  177. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +106 -10
  178. data/lib/google/cloud/compute/v1/zones/rest/client.rb +83 -5
  179. data/lib/google/cloud/compute/v1.rb +10 -0
  180. data/proto_docs/google/api/client.rb +149 -29
  181. data/proto_docs/google/cloud/compute/v1/compute.rb +44226 -5514
  182. metadata +52 -2
@@ -85,6 +85,8 @@ module Google
85
85
  initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
86
86
  }
87
87
 
88
+ default_config.rpcs.test_iam_permissions.timeout = 600.0
89
+
88
90
  default_config
89
91
  end
90
92
  yield @configure if block_given?
@@ -224,7 +226,19 @@ module Google
224
226
  # @param project [::String]
225
227
  # Project ID for this request.
226
228
  # @param request_id [::String]
227
- # 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).
229
+ # An optional request ID to identify requests. Specify a unique request ID so
230
+ # that if you must retry your request, the server will know to ignore the
231
+ # request if it has already been completed.
232
+ #
233
+ # For example, consider a situation where you make an initial request and
234
+ # the request times out. If you make the request again with the same
235
+ # request ID, the server can check if original operation with the same
236
+ # request ID was received, and if so, will ignore the second request. This
237
+ # prevents clients from accidentally creating duplicate commitments.
238
+ #
239
+ # The request ID must be
240
+ # a valid UUID with the exception that zero UUID is not supported
241
+ # (00000000-0000-0000-0000-000000000000).
228
242
  # @param route [::String]
229
243
  # Name of the Route resource to delete.
230
244
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -375,7 +389,8 @@ module Google
375
389
  end
376
390
 
377
391
  ##
378
- # Creates a Route resource in the specified project using the data included in the request.
392
+ # Creates a Route resource in the specified project using the data included
393
+ # in the request.
379
394
  #
380
395
  # @overload insert(request, options = nil)
381
396
  # Pass arguments to `insert` via a request object, either of type
@@ -395,7 +410,19 @@ module Google
395
410
  # @param project [::String]
396
411
  # Project ID for this request.
397
412
  # @param request_id [::String]
398
- # 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).
413
+ # An optional request ID to identify requests. Specify a unique request ID so
414
+ # that if you must retry your request, the server will know to ignore the
415
+ # request if it has already been completed.
416
+ #
417
+ # For example, consider a situation where you make an initial request and
418
+ # the request times out. If you make the request again with the same
419
+ # request ID, the server can check if original operation with the same
420
+ # request ID was received, and if so, will ignore the second request. This
421
+ # prevents clients from accidentally creating duplicate commitments.
422
+ #
423
+ # The request ID must be
424
+ # a valid UUID with the exception that zero UUID is not supported
425
+ # (00000000-0000-0000-0000-000000000000).
399
426
  # @param route_resource [::Google::Cloud::Compute::V1::Route, ::Hash]
400
427
  # The body resource for this request
401
428
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -484,17 +511,95 @@ module Google
484
511
  # the default parameter values, pass an empty Hash as a request object (see above).
485
512
  #
486
513
  # @param filter [::String]
487
- # 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.
514
+ # A filter expression that filters resources listed in the response. Most
515
+ # Compute resources support two types of filter expressions:
516
+ # expressions that support regular expressions and expressions that follow
517
+ # API improvement proposal AIP-160.
518
+ # These two types of filter expressions cannot be mixed in one request.
519
+ #
520
+ # If you want to use AIP-160, your expression must specify the field name, an
521
+ # operator, and the value that you want to use for filtering. The value
522
+ # must be a string, a number, or a boolean. The operator
523
+ # must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
524
+ #
525
+ # For example, if you are filtering Compute Engine instances, you can
526
+ # exclude instances named `example-instance` by specifying
527
+ # `name != example-instance`.
528
+ #
529
+ # The `:*` comparison can be used to test whether a key has been defined.
530
+ # For example, to find all objects with `owner` label use:
531
+ # ```
532
+ # labels.owner:*
533
+ # ```
534
+ #
535
+ # You can also filter nested fields. For example, you could specify
536
+ # `scheduling.automaticRestart = false` to include instances only
537
+ # if they are not scheduled for automatic restarts. You can use filtering
538
+ # on nested fields to filter based onresource labels.
539
+ #
540
+ # To filter on multiple expressions, provide each separate expression within
541
+ # parentheses. For example:
542
+ # ```
543
+ # (scheduling.automaticRestart = true)
544
+ # (cpuPlatform = "Intel Skylake")
545
+ # ```
546
+ # By default, each expression is an `AND` expression. However, you
547
+ # can include `AND` and `OR` expressions explicitly.
548
+ # For example:
549
+ # ```
550
+ # (cpuPlatform = "Intel Skylake") OR
551
+ # (cpuPlatform = "Intel Broadwell") AND
552
+ # (scheduling.automaticRestart = true)
553
+ # ```
554
+ #
555
+ # If you want to use a regular expression, use the `eq` (equal) or `ne`
556
+ # (not equal) operator against a single un-parenthesized expression with or
557
+ # without quotes or against multiple parenthesized expressions. Examples:
558
+ #
559
+ # `fieldname eq unquoted literal`
560
+ # `fieldname eq 'single quoted literal'`
561
+ # `fieldname eq "double quoted literal"`
562
+ # `(fieldname1 eq literal) (fieldname2 ne "literal")`
563
+ #
564
+ # The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
565
+ # The literal value must match the entire field.
566
+ #
567
+ # For example, to filter for instances that do not end with name "instance",
568
+ # you would use `name ne .*instance`.
569
+ #
570
+ # You cannot combine constraints on multiple fields using regular
571
+ # expressions.
488
572
  # @param max_results [::Integer]
489
- # 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`)
573
+ # The maximum number of results per page that should be returned.
574
+ # If the number of available results is larger than `maxResults`,
575
+ # Compute Engine returns a `nextPageToken` that can be used to get
576
+ # the next page of results in subsequent list requests. Acceptable values are
577
+ # `0` to `500`, inclusive. (Default: `500`)
490
578
  # @param order_by [::String]
491
- # 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.
579
+ # Sorts list results by a certain order. By default, results
580
+ # are returned in alphanumerical order based on the resource name.
581
+ #
582
+ # You can also sort results in descending order based on the creation
583
+ # timestamp using `orderBy="creationTimestamp desc"`. This sorts
584
+ # results based on the `creationTimestamp` field in
585
+ # reverse chronological order (newest result first). Use this to sort
586
+ # resources like operations so that the newest operation is returned first.
587
+ #
588
+ # Currently, only sorting by `name` or
589
+ # `creationTimestamp desc` is supported.
492
590
  # @param page_token [::String]
493
- # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
591
+ # Specifies a page token to use. Set `pageToken` to the
592
+ # `nextPageToken` returned by a previous list request to get
593
+ # the next page of results.
494
594
  # @param project [::String]
495
595
  # Project ID for this request.
496
596
  # @param return_partial_success [::Boolean]
497
- # 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.
597
+ # Opt-in for partial success behavior which provides partial results in case
598
+ # of failure. The default value is false.
599
+ #
600
+ # For example, when partial success behavior is enabled, aggregatedList for a
601
+ # single zone scope either returns all resources in the zone or no resources,
602
+ # with an error code.
498
603
  # @yield [result, operation] Access the result along with the TransportOperation object
499
604
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::Route>]
500
605
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -555,6 +660,88 @@ module Google
555
660
  raise ::Google::Cloud::Error.from_error(e)
556
661
  end
557
662
 
663
+ ##
664
+ # Returns permissions that a caller has on the specified resource.
665
+ #
666
+ # @overload test_iam_permissions(request, options = nil)
667
+ # Pass arguments to `test_iam_permissions` via a request object, either of type
668
+ # {::Google::Cloud::Compute::V1::TestIamPermissionsRouteRequest} or an equivalent Hash.
669
+ #
670
+ # @param request [::Google::Cloud::Compute::V1::TestIamPermissionsRouteRequest, ::Hash]
671
+ # A request object representing the call parameters. Required. To specify no
672
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
673
+ # @param options [::Gapic::CallOptions, ::Hash]
674
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
675
+ #
676
+ # @overload test_iam_permissions(project: nil, resource: nil, test_permissions_request_resource: nil)
677
+ # Pass arguments to `test_iam_permissions` via keyword arguments. Note that at
678
+ # least one keyword argument is required. To specify no parameters, or to keep all
679
+ # the default parameter values, pass an empty Hash as a request object (see above).
680
+ #
681
+ # @param project [::String]
682
+ # Project ID for this request.
683
+ # @param resource [::String]
684
+ # Name or id of the resource for this request.
685
+ # @param test_permissions_request_resource [::Google::Cloud::Compute::V1::TestPermissionsRequest, ::Hash]
686
+ # The body resource for this request
687
+ # @yield [result, operation] Access the result along with the TransportOperation object
688
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
689
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
690
+ #
691
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
692
+ #
693
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
694
+ #
695
+ # @example Basic example
696
+ # require "google/cloud/compute/v1"
697
+ #
698
+ # # Create a client object. The client can be reused for multiple calls.
699
+ # client = Google::Cloud::Compute::V1::Routes::Rest::Client.new
700
+ #
701
+ # # Create a request. To set request fields, pass in keyword arguments.
702
+ # request = Google::Cloud::Compute::V1::TestIamPermissionsRouteRequest.new
703
+ #
704
+ # # Call the test_iam_permissions method.
705
+ # result = client.test_iam_permissions request
706
+ #
707
+ # # The returned object is of type Google::Cloud::Compute::V1::TestPermissionsResponse.
708
+ # p result
709
+ #
710
+ def test_iam_permissions request, options = nil
711
+ raise ::ArgumentError, "request must be provided" if request.nil?
712
+
713
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::TestIamPermissionsRouteRequest
714
+
715
+ # Converts hash and nil to an options object
716
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
717
+
718
+ # Customize the options with defaults
719
+ call_metadata = @config.rpcs.test_iam_permissions.metadata.to_h
720
+
721
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
722
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
723
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
724
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
725
+ transports_version_send: [:rest]
726
+
727
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
728
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
729
+
730
+ options.apply_defaults timeout: @config.rpcs.test_iam_permissions.timeout,
731
+ metadata: call_metadata,
732
+ retry_policy: @config.rpcs.test_iam_permissions.retry_policy
733
+
734
+ options.apply_defaults timeout: @config.timeout,
735
+ metadata: @config.metadata,
736
+ retry_policy: @config.retry_policy
737
+
738
+ @routes_stub.test_iam_permissions request, options do |result, operation|
739
+ yield result, operation if block_given?
740
+ end
741
+ rescue ::Gapic::Rest::Error => e
742
+ raise ::Google::Cloud::Error.from_error(e)
743
+ end
744
+
558
745
  ##
559
746
  # Configuration class for the Routes REST API.
560
747
  #
@@ -721,6 +908,11 @@ module Google
721
908
  # @return [::Gapic::Config::Method]
722
909
  #
723
910
  attr_reader :list
911
+ ##
912
+ # RPC-specific configuration for `test_iam_permissions`
913
+ # @return [::Gapic::Config::Method]
914
+ #
915
+ attr_reader :test_iam_permissions
724
916
 
725
917
  # @private
726
918
  def initialize parent_rpcs = nil
@@ -732,6 +924,8 @@ module Google
732
924
  @insert = ::Gapic::Config::Method.new insert_config
733
925
  list_config = parent_rpcs.list if parent_rpcs.respond_to? :list
734
926
  @list = ::Gapic::Config::Method.new list_config
927
+ test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
928
+ @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
735
929
 
736
930
  yield self if block_given?
737
931
  end
@@ -233,6 +233,46 @@ module Google
233
233
  end
234
234
  end
235
235
 
236
+ ##
237
+ # Baseline implementation for the test_iam_permissions REST call
238
+ #
239
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsRouteRequest]
240
+ # A request object representing the call parameters. Required.
241
+ # @param options [::Gapic::CallOptions]
242
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
243
+ #
244
+ # @yield [result, operation] Access the result along with the TransportOperation object
245
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
246
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
247
+ #
248
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
249
+ # A result object deserialized from the server's reply
250
+ def test_iam_permissions request_pb, options = nil
251
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
252
+
253
+ verb, uri, query_string_params, body = ServiceStub.transcode_test_iam_permissions_request request_pb
254
+ query_string_params = if query_string_params.any?
255
+ query_string_params.to_h { |p| p.split "=", 2 }
256
+ else
257
+ {}
258
+ end
259
+
260
+ response = @client_stub.make_http_request(
261
+ verb,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "test_iam_permissions",
266
+ options: options
267
+ )
268
+ operation = ::Gapic::Rest::TransportOperation.new response
269
+ result = ::Google::Cloud::Compute::V1::TestPermissionsResponse.decode_json response.body, ignore_unknown_fields: true
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
274
+ end
275
+
236
276
  ##
237
277
  # @private
238
278
  #
@@ -319,6 +359,29 @@ module Google
319
359
  )
320
360
  transcoder.transcode request_pb
321
361
  end
362
+
363
+ ##
364
+ # @private
365
+ #
366
+ # GRPC transcoding helper method for the test_iam_permissions REST call
367
+ #
368
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsRouteRequest]
369
+ # A request object representing the call parameters. Required.
370
+ # @return [Array(String, [String, nil], Hash{String => String})]
371
+ # Uri, Body, Query string parameters
372
+ def self.transcode_test_iam_permissions_request request_pb
373
+ transcoder = Gapic::Rest::GrpcTranscoder.new
374
+ .with_bindings(
375
+ uri_method: :post,
376
+ uri_template: "/compute/v1/projects/{project}/global/routes/{resource}/testIamPermissions",
377
+ body: "test_permissions_request_resource",
378
+ matches: [
379
+ ["project", %r{^[^/]+/?$}, false],
380
+ ["resource", %r{^[^/]+/?$}, false]
381
+ ]
382
+ )
383
+ transcoder.transcode request_pb
384
+ end
322
385
  end
323
386
  end
324
387
  end