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
@@ -94,6 +94,8 @@ module Google
94
94
 
95
95
  default_config.rpcs.set_proxy_header.timeout = 600.0
96
96
 
97
+ default_config.rpcs.test_iam_permissions.timeout = 600.0
98
+
97
99
  default_config
98
100
  end
99
101
  yield @configure if block_given?
@@ -213,7 +215,11 @@ module Google
213
215
  # Service calls
214
216
 
215
217
  ##
216
- # Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.
218
+ # Retrieves the list of all TargetTcpProxy resources, regional and global,
219
+ # available to the specified project.
220
+ #
221
+ # To prevent failure, Google recommends that you set the
222
+ # `returnPartialSuccess` parameter to `true`.
217
223
  #
218
224
  # @overload aggregated_list(request, options = nil)
219
225
  # Pass arguments to `aggregated_list` via a request object, either of type
@@ -231,21 +237,106 @@ module Google
231
237
  # the default parameter values, pass an empty Hash as a request object (see above).
232
238
  #
233
239
  # @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.
240
+ # A filter expression that filters resources listed in the response. Most
241
+ # Compute resources support two types of filter expressions:
242
+ # expressions that support regular expressions and expressions that follow
243
+ # API improvement proposal AIP-160.
244
+ # These two types of filter expressions cannot be mixed in one request.
245
+ #
246
+ # If you want to use AIP-160, your expression must specify the field name, an
247
+ # operator, and the value that you want to use for filtering. The value
248
+ # must be a string, a number, or a boolean. The operator
249
+ # must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
250
+ #
251
+ # For example, if you are filtering Compute Engine instances, you can
252
+ # exclude instances named `example-instance` by specifying
253
+ # `name != example-instance`.
254
+ #
255
+ # The `:*` comparison can be used to test whether a key has been defined.
256
+ # For example, to find all objects with `owner` label use:
257
+ # ```
258
+ # labels.owner:*
259
+ # ```
260
+ #
261
+ # You can also filter nested fields. For example, you could specify
262
+ # `scheduling.automaticRestart = false` to include instances only
263
+ # if they are not scheduled for automatic restarts. You can use filtering
264
+ # on nested fields to filter based onresource labels.
265
+ #
266
+ # To filter on multiple expressions, provide each separate expression within
267
+ # parentheses. For example:
268
+ # ```
269
+ # (scheduling.automaticRestart = true)
270
+ # (cpuPlatform = "Intel Skylake")
271
+ # ```
272
+ # By default, each expression is an `AND` expression. However, you
273
+ # can include `AND` and `OR` expressions explicitly.
274
+ # For example:
275
+ # ```
276
+ # (cpuPlatform = "Intel Skylake") OR
277
+ # (cpuPlatform = "Intel Broadwell") AND
278
+ # (scheduling.automaticRestart = true)
279
+ # ```
280
+ #
281
+ # If you want to use a regular expression, use the `eq` (equal) or `ne`
282
+ # (not equal) operator against a single un-parenthesized expression with or
283
+ # without quotes or against multiple parenthesized expressions. Examples:
284
+ #
285
+ # `fieldname eq unquoted literal`
286
+ # `fieldname eq 'single quoted literal'`
287
+ # `fieldname eq "double quoted literal"`
288
+ # `(fieldname1 eq literal) (fieldname2 ne "literal")`
289
+ #
290
+ # The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
291
+ # The literal value must match the entire field.
292
+ #
293
+ # For example, to filter for instances that do not end with name "instance",
294
+ # you would use `name ne .*instance`.
295
+ #
296
+ # You cannot combine constraints on multiple fields using regular
297
+ # expressions.
235
298
  # @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.
299
+ # Indicates whether every visible scope for each scope type (zone, region,
300
+ # global) should be included in the response. For new resource types added
301
+ # after this field, the flag has no effect as new resource types will always
302
+ # include every visible scope for each scope type in response. For resource
303
+ # types which predate this field, if this flag is omitted or false, only
304
+ # scopes of the scope types where the resource type is expected to be found
305
+ # will be included.
237
306
  # @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`)
307
+ # The maximum number of results per page that should be returned.
308
+ # If the number of available results is larger than `maxResults`,
309
+ # Compute Engine returns a `nextPageToken` that can be used to get
310
+ # the next page of results in subsequent list requests. Acceptable values are
311
+ # `0` to `500`, inclusive. (Default: `500`)
239
312
  # @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.
313
+ # Sorts list results by a certain order. By default, results
314
+ # are returned in alphanumerical order based on the resource name.
315
+ #
316
+ # You can also sort results in descending order based on the creation
317
+ # timestamp using `orderBy="creationTimestamp desc"`. This sorts
318
+ # results based on the `creationTimestamp` field in
319
+ # reverse chronological order (newest result first). Use this to sort
320
+ # resources like operations so that the newest operation is returned first.
321
+ #
322
+ # Currently, only sorting by `name` or
323
+ # `creationTimestamp desc` is supported.
241
324
  # @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.
325
+ # Specifies a page token to use. Set `pageToken` to the
326
+ # `nextPageToken` returned by a previous list request to get
327
+ # the next page of results.
243
328
  # @param project [::String]
244
329
  # Name of the project scoping this request.
245
330
  # @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.
331
+ # Opt-in for partial success behavior which provides partial results in case
332
+ # of failure. The default value is false.
333
+ #
334
+ # For example, when partial success behavior is enabled, aggregatedList for a
335
+ # single zone scope either returns all resources in the zone or no resources,
336
+ # with an error code.
247
337
  # @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.
338
+ # The Shared VPC service project id or service project number for which
339
+ # aggregated list request is invoked for subnetworks list-usable api.
249
340
  # @yield [result, operation] Access the result along with the TransportOperation object
250
341
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::String, ::Google::Cloud::Compute::V1::TargetTcpProxiesScopedList>]
251
342
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -327,7 +418,19 @@ module Google
327
418
  # @param project [::String]
328
419
  # Project ID for this request.
329
420
  # @param request_id [::String]
330
- # 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).
421
+ # An optional request ID to identify requests. Specify a unique request ID so
422
+ # that if you must retry your request, the server will know to ignore the
423
+ # request if it has already been completed.
424
+ #
425
+ # For example, consider a situation where you make an initial request and
426
+ # the request times out. If you make the request again with the same
427
+ # request ID, the server can check if original operation with the same
428
+ # request ID was received, and if so, will ignore the second request. This
429
+ # prevents clients from accidentally creating duplicate commitments.
430
+ #
431
+ # The request ID must be
432
+ # a valid UUID with the exception that zero UUID is not supported
433
+ # (00000000-0000-0000-0000-000000000000).
331
434
  # @param target_tcp_proxy [::String]
332
435
  # Name of the TargetTcpProxy resource to delete.
333
436
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -478,7 +581,8 @@ module Google
478
581
  end
479
582
 
480
583
  ##
481
- # Creates a TargetTcpProxy resource in the specified project using the data included in the request.
584
+ # Creates a TargetTcpProxy resource in the specified project using
585
+ # the data included in the request.
482
586
  #
483
587
  # @overload insert(request, options = nil)
484
588
  # Pass arguments to `insert` via a request object, either of type
@@ -498,7 +602,19 @@ module Google
498
602
  # @param project [::String]
499
603
  # Project ID for this request.
500
604
  # @param request_id [::String]
501
- # 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).
605
+ # An optional request ID to identify requests. Specify a unique request ID so
606
+ # that if you must retry your request, the server will know to ignore the
607
+ # request if it has already been completed.
608
+ #
609
+ # For example, consider a situation where you make an initial request and
610
+ # the request times out. If you make the request again with the same
611
+ # request ID, the server can check if original operation with the same
612
+ # request ID was received, and if so, will ignore the second request. This
613
+ # prevents clients from accidentally creating duplicate commitments.
614
+ #
615
+ # The request ID must be
616
+ # a valid UUID with the exception that zero UUID is not supported
617
+ # (00000000-0000-0000-0000-000000000000).
502
618
  # @param target_tcp_proxy_resource [::Google::Cloud::Compute::V1::TargetTcpProxy, ::Hash]
503
619
  # The body resource for this request
504
620
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -569,7 +685,8 @@ module Google
569
685
  end
570
686
 
571
687
  ##
572
- # Retrieves the list of TargetTcpProxy resources available to the specified project.
688
+ # Retrieves the list of TargetTcpProxy resources
689
+ # available to the specified project.
573
690
  #
574
691
  # @overload list(request, options = nil)
575
692
  # Pass arguments to `list` via a request object, either of type
@@ -587,17 +704,95 @@ module Google
587
704
  # the default parameter values, pass an empty Hash as a request object (see above).
588
705
  #
589
706
  # @param filter [::String]
590
- # 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.
707
+ # A filter expression that filters resources listed in the response. Most
708
+ # Compute resources support two types of filter expressions:
709
+ # expressions that support regular expressions and expressions that follow
710
+ # API improvement proposal AIP-160.
711
+ # These two types of filter expressions cannot be mixed in one request.
712
+ #
713
+ # If you want to use AIP-160, your expression must specify the field name, an
714
+ # operator, and the value that you want to use for filtering. The value
715
+ # must be a string, a number, or a boolean. The operator
716
+ # must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
717
+ #
718
+ # For example, if you are filtering Compute Engine instances, you can
719
+ # exclude instances named `example-instance` by specifying
720
+ # `name != example-instance`.
721
+ #
722
+ # The `:*` comparison can be used to test whether a key has been defined.
723
+ # For example, to find all objects with `owner` label use:
724
+ # ```
725
+ # labels.owner:*
726
+ # ```
727
+ #
728
+ # You can also filter nested fields. For example, you could specify
729
+ # `scheduling.automaticRestart = false` to include instances only
730
+ # if they are not scheduled for automatic restarts. You can use filtering
731
+ # on nested fields to filter based onresource labels.
732
+ #
733
+ # To filter on multiple expressions, provide each separate expression within
734
+ # parentheses. For example:
735
+ # ```
736
+ # (scheduling.automaticRestart = true)
737
+ # (cpuPlatform = "Intel Skylake")
738
+ # ```
739
+ # By default, each expression is an `AND` expression. However, you
740
+ # can include `AND` and `OR` expressions explicitly.
741
+ # For example:
742
+ # ```
743
+ # (cpuPlatform = "Intel Skylake") OR
744
+ # (cpuPlatform = "Intel Broadwell") AND
745
+ # (scheduling.automaticRestart = true)
746
+ # ```
747
+ #
748
+ # If you want to use a regular expression, use the `eq` (equal) or `ne`
749
+ # (not equal) operator against a single un-parenthesized expression with or
750
+ # without quotes or against multiple parenthesized expressions. Examples:
751
+ #
752
+ # `fieldname eq unquoted literal`
753
+ # `fieldname eq 'single quoted literal'`
754
+ # `fieldname eq "double quoted literal"`
755
+ # `(fieldname1 eq literal) (fieldname2 ne "literal")`
756
+ #
757
+ # The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
758
+ # The literal value must match the entire field.
759
+ #
760
+ # For example, to filter for instances that do not end with name "instance",
761
+ # you would use `name ne .*instance`.
762
+ #
763
+ # You cannot combine constraints on multiple fields using regular
764
+ # expressions.
591
765
  # @param max_results [::Integer]
592
- # 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`)
766
+ # The maximum number of results per page that should be returned.
767
+ # If the number of available results is larger than `maxResults`,
768
+ # Compute Engine returns a `nextPageToken` that can be used to get
769
+ # the next page of results in subsequent list requests. Acceptable values are
770
+ # `0` to `500`, inclusive. (Default: `500`)
593
771
  # @param order_by [::String]
594
- # 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.
772
+ # Sorts list results by a certain order. By default, results
773
+ # are returned in alphanumerical order based on the resource name.
774
+ #
775
+ # You can also sort results in descending order based on the creation
776
+ # timestamp using `orderBy="creationTimestamp desc"`. This sorts
777
+ # results based on the `creationTimestamp` field in
778
+ # reverse chronological order (newest result first). Use this to sort
779
+ # resources like operations so that the newest operation is returned first.
780
+ #
781
+ # Currently, only sorting by `name` or
782
+ # `creationTimestamp desc` is supported.
595
783
  # @param page_token [::String]
596
- # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
784
+ # Specifies a page token to use. Set `pageToken` to the
785
+ # `nextPageToken` returned by a previous list request to get
786
+ # the next page of results.
597
787
  # @param project [::String]
598
788
  # Project ID for this request.
599
789
  # @param return_partial_success [::Boolean]
600
- # 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.
790
+ # Opt-in for partial success behavior which provides partial results in case
791
+ # of failure. The default value is false.
792
+ #
793
+ # For example, when partial success behavior is enabled, aggregatedList for a
794
+ # single zone scope either returns all resources in the zone or no resources,
795
+ # with an error code.
601
796
  # @yield [result, operation] Access the result along with the TransportOperation object
602
797
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::TargetTcpProxy>]
603
798
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -679,11 +874,24 @@ module Google
679
874
  # @param project [::String]
680
875
  # Project ID for this request.
681
876
  # @param request_id [::String]
682
- # 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).
877
+ # An optional request ID to identify requests. Specify a unique request ID so
878
+ # that if you must retry your request, the server will know to ignore the
879
+ # request if it has already been completed.
880
+ #
881
+ # For example, consider a situation where you make an initial request and
882
+ # the request times out. If you make the request again with the same
883
+ # request ID, the server can check if original operation with the same
884
+ # request ID was received, and if so, will ignore the second request. This
885
+ # prevents clients from accidentally creating duplicate commitments.
886
+ #
887
+ # The request ID must be
888
+ # a valid UUID with the exception that zero UUID is not supported
889
+ # (00000000-0000-0000-0000-000000000000).
683
890
  # @param target_tcp_proxies_set_backend_service_request_resource [::Google::Cloud::Compute::V1::TargetTcpProxiesSetBackendServiceRequest, ::Hash]
684
891
  # The body resource for this request
685
892
  # @param target_tcp_proxy [::String]
686
- # Name of the TargetTcpProxy resource whose BackendService resource is to be set.
893
+ # Name of the TargetTcpProxy resource whose BackendService resource
894
+ # is to be set.
687
895
  # @yield [result, operation] Access the result along with the TransportOperation object
688
896
  # @yieldparam result [::Gapic::GenericLRO::Operation]
689
897
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -772,7 +980,19 @@ module Google
772
980
  # @param project [::String]
773
981
  # Project ID for this request.
774
982
  # @param request_id [::String]
775
- # 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).
983
+ # An optional request ID to identify requests. Specify a unique request ID so
984
+ # that if you must retry your request, the server will know to ignore the
985
+ # request if it has already been completed.
986
+ #
987
+ # For example, consider a situation where you make an initial request and
988
+ # the request times out. If you make the request again with the same
989
+ # request ID, the server can check if original operation with the same
990
+ # request ID was received, and if so, will ignore the second request. This
991
+ # prevents clients from accidentally creating duplicate commitments.
992
+ #
993
+ # The request ID must be
994
+ # a valid UUID with the exception that zero UUID is not supported
995
+ # (00000000-0000-0000-0000-000000000000).
776
996
  # @param target_tcp_proxies_set_proxy_header_request_resource [::Google::Cloud::Compute::V1::TargetTcpProxiesSetProxyHeaderRequest, ::Hash]
777
997
  # The body resource for this request
778
998
  # @param target_tcp_proxy [::String]
@@ -844,6 +1064,88 @@ module Google
844
1064
  raise ::Google::Cloud::Error.from_error(e)
845
1065
  end
846
1066
 
1067
+ ##
1068
+ # Returns permissions that a caller has on the specified resource.
1069
+ #
1070
+ # @overload test_iam_permissions(request, options = nil)
1071
+ # Pass arguments to `test_iam_permissions` via a request object, either of type
1072
+ # {::Google::Cloud::Compute::V1::TestIamPermissionsTargetTcpProxyRequest} or an equivalent Hash.
1073
+ #
1074
+ # @param request [::Google::Cloud::Compute::V1::TestIamPermissionsTargetTcpProxyRequest, ::Hash]
1075
+ # A request object representing the call parameters. Required. To specify no
1076
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1077
+ # @param options [::Gapic::CallOptions, ::Hash]
1078
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1079
+ #
1080
+ # @overload test_iam_permissions(project: nil, resource: nil, test_permissions_request_resource: nil)
1081
+ # Pass arguments to `test_iam_permissions` via keyword arguments. Note that at
1082
+ # least one keyword argument is required. To specify no parameters, or to keep all
1083
+ # the default parameter values, pass an empty Hash as a request object (see above).
1084
+ #
1085
+ # @param project [::String]
1086
+ # Project ID for this request.
1087
+ # @param resource [::String]
1088
+ # Name or id of the resource for this request.
1089
+ # @param test_permissions_request_resource [::Google::Cloud::Compute::V1::TestPermissionsRequest, ::Hash]
1090
+ # The body resource for this request
1091
+ # @yield [result, operation] Access the result along with the TransportOperation object
1092
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
1093
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1094
+ #
1095
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
1096
+ #
1097
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1098
+ #
1099
+ # @example Basic example
1100
+ # require "google/cloud/compute/v1"
1101
+ #
1102
+ # # Create a client object. The client can be reused for multiple calls.
1103
+ # client = Google::Cloud::Compute::V1::TargetTcpProxies::Rest::Client.new
1104
+ #
1105
+ # # Create a request. To set request fields, pass in keyword arguments.
1106
+ # request = Google::Cloud::Compute::V1::TestIamPermissionsTargetTcpProxyRequest.new
1107
+ #
1108
+ # # Call the test_iam_permissions method.
1109
+ # result = client.test_iam_permissions request
1110
+ #
1111
+ # # The returned object is of type Google::Cloud::Compute::V1::TestPermissionsResponse.
1112
+ # p result
1113
+ #
1114
+ def test_iam_permissions request, options = nil
1115
+ raise ::ArgumentError, "request must be provided" if request.nil?
1116
+
1117
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::TestIamPermissionsTargetTcpProxyRequest
1118
+
1119
+ # Converts hash and nil to an options object
1120
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1121
+
1122
+ # Customize the options with defaults
1123
+ call_metadata = @config.rpcs.test_iam_permissions.metadata.to_h
1124
+
1125
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1126
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1127
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1128
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1129
+ transports_version_send: [:rest]
1130
+
1131
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1132
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1133
+
1134
+ options.apply_defaults timeout: @config.rpcs.test_iam_permissions.timeout,
1135
+ metadata: call_metadata,
1136
+ retry_policy: @config.rpcs.test_iam_permissions.retry_policy
1137
+
1138
+ options.apply_defaults timeout: @config.timeout,
1139
+ metadata: @config.metadata,
1140
+ retry_policy: @config.retry_policy
1141
+
1142
+ @target_tcp_proxies_stub.test_iam_permissions request, options do |result, operation|
1143
+ yield result, operation if block_given?
1144
+ end
1145
+ rescue ::Gapic::Rest::Error => e
1146
+ raise ::Google::Cloud::Error.from_error(e)
1147
+ end
1148
+
847
1149
  ##
848
1150
  # Configuration class for the TargetTcpProxies REST API.
849
1151
  #
@@ -1025,6 +1327,11 @@ module Google
1025
1327
  # @return [::Gapic::Config::Method]
1026
1328
  #
1027
1329
  attr_reader :set_proxy_header
1330
+ ##
1331
+ # RPC-specific configuration for `test_iam_permissions`
1332
+ # @return [::Gapic::Config::Method]
1333
+ #
1334
+ attr_reader :test_iam_permissions
1028
1335
 
1029
1336
  # @private
1030
1337
  def initialize parent_rpcs = nil
@@ -1042,6 +1349,8 @@ module Google
1042
1349
  @set_backend_service = ::Gapic::Config::Method.new set_backend_service_config
1043
1350
  set_proxy_header_config = parent_rpcs.set_proxy_header if parent_rpcs.respond_to? :set_proxy_header
1044
1351
  @set_proxy_header = ::Gapic::Config::Method.new set_proxy_header_config
1352
+ test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
1353
+ @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
1045
1354
 
1046
1355
  yield self if block_given?
1047
1356
  end
@@ -353,6 +353,46 @@ module Google
353
353
  end
354
354
  end
355
355
 
356
+ ##
357
+ # Baseline implementation for the test_iam_permissions REST call
358
+ #
359
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsTargetTcpProxyRequest]
360
+ # A request object representing the call parameters. Required.
361
+ # @param options [::Gapic::CallOptions]
362
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
363
+ #
364
+ # @yield [result, operation] Access the result along with the TransportOperation object
365
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
366
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
367
+ #
368
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
369
+ # A result object deserialized from the server's reply
370
+ def test_iam_permissions request_pb, options = nil
371
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
372
+
373
+ verb, uri, query_string_params, body = ServiceStub.transcode_test_iam_permissions_request request_pb
374
+ query_string_params = if query_string_params.any?
375
+ query_string_params.to_h { |p| p.split "=", 2 }
376
+ else
377
+ {}
378
+ end
379
+
380
+ response = @client_stub.make_http_request(
381
+ verb,
382
+ uri: uri,
383
+ body: body || "",
384
+ params: query_string_params,
385
+ method_name: "test_iam_permissions",
386
+ options: options
387
+ )
388
+ operation = ::Gapic::Rest::TransportOperation.new response
389
+ result = ::Google::Cloud::Compute::V1::TestPermissionsResponse.decode_json response.body, ignore_unknown_fields: true
390
+ catch :response do
391
+ yield result, operation if block_given?
392
+ result
393
+ end
394
+ end
395
+
356
396
  ##
357
397
  # @private
358
398
  #
@@ -506,6 +546,29 @@ module Google
506
546
  )
507
547
  transcoder.transcode request_pb
508
548
  end
549
+
550
+ ##
551
+ # @private
552
+ #
553
+ # GRPC transcoding helper method for the test_iam_permissions REST call
554
+ #
555
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsTargetTcpProxyRequest]
556
+ # A request object representing the call parameters. Required.
557
+ # @return [Array(String, [String, nil], Hash{String => String})]
558
+ # Uri, Body, Query string parameters
559
+ def self.transcode_test_iam_permissions_request request_pb
560
+ transcoder = Gapic::Rest::GrpcTranscoder.new
561
+ .with_bindings(
562
+ uri_method: :post,
563
+ uri_template: "/compute/v1/projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions",
564
+ body: "test_permissions_request_resource",
565
+ matches: [
566
+ ["project", %r{^[^/]+/?$}, false],
567
+ ["resource", %r{^[^/]+/?$}, false]
568
+ ]
569
+ )
570
+ transcoder.transcode request_pb
571
+ end
509
572
  end
510
573
  end
511
574
  end