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
@@ -553,6 +553,46 @@ module Google
553
553
  end
554
554
  end
555
555
 
556
+ ##
557
+ # Baseline implementation for the test_iam_permissions REST call
558
+ #
559
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsTargetPoolRequest]
560
+ # A request object representing the call parameters. Required.
561
+ # @param options [::Gapic::CallOptions]
562
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
563
+ #
564
+ # @yield [result, operation] Access the result along with the TransportOperation object
565
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
566
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
567
+ #
568
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
569
+ # A result object deserialized from the server's reply
570
+ def test_iam_permissions request_pb, options = nil
571
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
572
+
573
+ verb, uri, query_string_params, body = ServiceStub.transcode_test_iam_permissions_request request_pb
574
+ query_string_params = if query_string_params.any?
575
+ query_string_params.to_h { |p| p.split "=", 2 }
576
+ else
577
+ {}
578
+ end
579
+
580
+ response = @client_stub.make_http_request(
581
+ verb,
582
+ uri: uri,
583
+ body: body || "",
584
+ params: query_string_params,
585
+ method_name: "test_iam_permissions",
586
+ options: options
587
+ )
588
+ operation = ::Gapic::Rest::TransportOperation.new response
589
+ result = ::Google::Cloud::Compute::V1::TestPermissionsResponse.decode_json response.body, ignore_unknown_fields: true
590
+ catch :response do
591
+ yield result, operation if block_given?
592
+ result
593
+ end
594
+ end
595
+
556
596
  ##
557
597
  # @private
558
598
  #
@@ -832,6 +872,30 @@ module Google
832
872
  )
833
873
  transcoder.transcode request_pb
834
874
  end
875
+
876
+ ##
877
+ # @private
878
+ #
879
+ # GRPC transcoding helper method for the test_iam_permissions REST call
880
+ #
881
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsTargetPoolRequest]
882
+ # A request object representing the call parameters. Required.
883
+ # @return [Array(String, [String, nil], Hash{String => String})]
884
+ # Uri, Body, Query string parameters
885
+ def self.transcode_test_iam_permissions_request request_pb
886
+ transcoder = Gapic::Rest::GrpcTranscoder.new
887
+ .with_bindings(
888
+ uri_method: :post,
889
+ uri_template: "/compute/v1/projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions",
890
+ body: "test_permissions_request_resource",
891
+ matches: [
892
+ ["project", %r{^[^/]+/?$}, false],
893
+ ["region", %r{^[^/]+/?$}, false],
894
+ ["resource", %r{^[^/]+/?$}, false]
895
+ ]
896
+ )
897
+ transcoder.transcode request_pb
898
+ end
835
899
  end
836
900
  end
837
901
  end
@@ -95,6 +95,8 @@ module Google
95
95
 
96
96
  default_config.rpcs.set_ssl_policy.timeout = 600.0
97
97
 
98
+ default_config.rpcs.test_iam_permissions.timeout = 600.0
99
+
98
100
  default_config
99
101
  end
100
102
  yield @configure if block_given?
@@ -234,7 +236,19 @@ module Google
234
236
  # @param project [::String]
235
237
  # Project ID for this request.
236
238
  # @param request_id [::String]
237
- # 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).
239
+ # An optional request ID to identify requests. Specify a unique request ID so
240
+ # that if you must retry your request, the server will know to ignore the
241
+ # request if it has already been completed.
242
+ #
243
+ # For example, consider a situation where you make an initial request and
244
+ # the request times out. If you make the request again with the same
245
+ # request ID, the server can check if original operation with the same
246
+ # request ID was received, and if so, will ignore the second request. This
247
+ # prevents clients from accidentally creating duplicate commitments.
248
+ #
249
+ # The request ID must be
250
+ # a valid UUID with the exception that zero UUID is not supported
251
+ # (00000000-0000-0000-0000-000000000000).
238
252
  # @param target_ssl_proxy [::String]
239
253
  # Name of the TargetSslProxy resource to delete.
240
254
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -385,7 +399,8 @@ module Google
385
399
  end
386
400
 
387
401
  ##
388
- # Creates a TargetSslProxy resource in the specified project using the data included in the request.
402
+ # Creates a TargetSslProxy resource in the specified project using
403
+ # the data included in the request.
389
404
  #
390
405
  # @overload insert(request, options = nil)
391
406
  # Pass arguments to `insert` via a request object, either of type
@@ -405,7 +420,19 @@ module Google
405
420
  # @param project [::String]
406
421
  # Project ID for this request.
407
422
  # @param request_id [::String]
408
- # 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).
423
+ # An optional request ID to identify requests. Specify a unique request ID so
424
+ # that if you must retry your request, the server will know to ignore the
425
+ # request if it has already been completed.
426
+ #
427
+ # For example, consider a situation where you make an initial request and
428
+ # the request times out. If you make the request again with the same
429
+ # request ID, the server can check if original operation with the same
430
+ # request ID was received, and if so, will ignore the second request. This
431
+ # prevents clients from accidentally creating duplicate commitments.
432
+ #
433
+ # The request ID must be
434
+ # a valid UUID with the exception that zero UUID is not supported
435
+ # (00000000-0000-0000-0000-000000000000).
409
436
  # @param target_ssl_proxy_resource [::Google::Cloud::Compute::V1::TargetSslProxy, ::Hash]
410
437
  # The body resource for this request
411
438
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -476,7 +503,8 @@ module Google
476
503
  end
477
504
 
478
505
  ##
479
- # Retrieves the list of TargetSslProxy resources available to the specified project.
506
+ # Retrieves the list of TargetSslProxy resources
507
+ # available to the specified project.
480
508
  #
481
509
  # @overload list(request, options = nil)
482
510
  # Pass arguments to `list` via a request object, either of type
@@ -494,17 +522,95 @@ module Google
494
522
  # the default parameter values, pass an empty Hash as a request object (see above).
495
523
  #
496
524
  # @param filter [::String]
497
- # 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.
525
+ # A filter expression that filters resources listed in the response. Most
526
+ # Compute resources support two types of filter expressions:
527
+ # expressions that support regular expressions and expressions that follow
528
+ # API improvement proposal AIP-160.
529
+ # These two types of filter expressions cannot be mixed in one request.
530
+ #
531
+ # If you want to use AIP-160, your expression must specify the field name, an
532
+ # operator, and the value that you want to use for filtering. The value
533
+ # must be a string, a number, or a boolean. The operator
534
+ # must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
535
+ #
536
+ # For example, if you are filtering Compute Engine instances, you can
537
+ # exclude instances named `example-instance` by specifying
538
+ # `name != example-instance`.
539
+ #
540
+ # The `:*` comparison can be used to test whether a key has been defined.
541
+ # For example, to find all objects with `owner` label use:
542
+ # ```
543
+ # labels.owner:*
544
+ # ```
545
+ #
546
+ # You can also filter nested fields. For example, you could specify
547
+ # `scheduling.automaticRestart = false` to include instances only
548
+ # if they are not scheduled for automatic restarts. You can use filtering
549
+ # on nested fields to filter based onresource labels.
550
+ #
551
+ # To filter on multiple expressions, provide each separate expression within
552
+ # parentheses. For example:
553
+ # ```
554
+ # (scheduling.automaticRestart = true)
555
+ # (cpuPlatform = "Intel Skylake")
556
+ # ```
557
+ # By default, each expression is an `AND` expression. However, you
558
+ # can include `AND` and `OR` expressions explicitly.
559
+ # For example:
560
+ # ```
561
+ # (cpuPlatform = "Intel Skylake") OR
562
+ # (cpuPlatform = "Intel Broadwell") AND
563
+ # (scheduling.automaticRestart = true)
564
+ # ```
565
+ #
566
+ # If you want to use a regular expression, use the `eq` (equal) or `ne`
567
+ # (not equal) operator against a single un-parenthesized expression with or
568
+ # without quotes or against multiple parenthesized expressions. Examples:
569
+ #
570
+ # `fieldname eq unquoted literal`
571
+ # `fieldname eq 'single quoted literal'`
572
+ # `fieldname eq "double quoted literal"`
573
+ # `(fieldname1 eq literal) (fieldname2 ne "literal")`
574
+ #
575
+ # The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
576
+ # The literal value must match the entire field.
577
+ #
578
+ # For example, to filter for instances that do not end with name "instance",
579
+ # you would use `name ne .*instance`.
580
+ #
581
+ # You cannot combine constraints on multiple fields using regular
582
+ # expressions.
498
583
  # @param max_results [::Integer]
499
- # 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`)
584
+ # The maximum number of results per page that should be returned.
585
+ # If the number of available results is larger than `maxResults`,
586
+ # Compute Engine returns a `nextPageToken` that can be used to get
587
+ # the next page of results in subsequent list requests. Acceptable values are
588
+ # `0` to `500`, inclusive. (Default: `500`)
500
589
  # @param order_by [::String]
501
- # 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.
590
+ # Sorts list results by a certain order. By default, results
591
+ # are returned in alphanumerical order based on the resource name.
592
+ #
593
+ # You can also sort results in descending order based on the creation
594
+ # timestamp using `orderBy="creationTimestamp desc"`. This sorts
595
+ # results based on the `creationTimestamp` field in
596
+ # reverse chronological order (newest result first). Use this to sort
597
+ # resources like operations so that the newest operation is returned first.
598
+ #
599
+ # Currently, only sorting by `name` or
600
+ # `creationTimestamp desc` is supported.
502
601
  # @param page_token [::String]
503
- # Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
602
+ # Specifies a page token to use. Set `pageToken` to the
603
+ # `nextPageToken` returned by a previous list request to get
604
+ # the next page of results.
504
605
  # @param project [::String]
505
606
  # Project ID for this request.
506
607
  # @param return_partial_success [::Boolean]
507
- # 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.
608
+ # Opt-in for partial success behavior which provides partial results in case
609
+ # of failure. The default value is false.
610
+ #
611
+ # For example, when partial success behavior is enabled, aggregatedList for a
612
+ # single zone scope either returns all resources in the zone or no resources,
613
+ # with an error code.
508
614
  # @yield [result, operation] Access the result along with the TransportOperation object
509
615
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Compute::V1::TargetSslProxy>]
510
616
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -586,11 +692,24 @@ module Google
586
692
  # @param project [::String]
587
693
  # Project ID for this request.
588
694
  # @param request_id [::String]
589
- # 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).
695
+ # An optional request ID to identify requests. Specify a unique request ID so
696
+ # that if you must retry your request, the server will know to ignore the
697
+ # request if it has already been completed.
698
+ #
699
+ # For example, consider a situation where you make an initial request and
700
+ # the request times out. If you make the request again with the same
701
+ # request ID, the server can check if original operation with the same
702
+ # request ID was received, and if so, will ignore the second request. This
703
+ # prevents clients from accidentally creating duplicate commitments.
704
+ #
705
+ # The request ID must be
706
+ # a valid UUID with the exception that zero UUID is not supported
707
+ # (00000000-0000-0000-0000-000000000000).
590
708
  # @param target_ssl_proxies_set_backend_service_request_resource [::Google::Cloud::Compute::V1::TargetSslProxiesSetBackendServiceRequest, ::Hash]
591
709
  # The body resource for this request
592
710
  # @param target_ssl_proxy [::String]
593
- # Name of the TargetSslProxy resource whose BackendService resource is to be set.
711
+ # Name of the TargetSslProxy resource whose BackendService resource
712
+ # is to be set.
594
713
  # @yield [result, operation] Access the result along with the TransportOperation object
595
714
  # @yieldparam result [::Gapic::GenericLRO::Operation]
596
715
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -679,11 +798,24 @@ module Google
679
798
  # @param project [::String]
680
799
  # Project ID for this request.
681
800
  # @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).
801
+ # An optional request ID to identify requests. Specify a unique request ID so
802
+ # that if you must retry your request, the server will know to ignore the
803
+ # request if it has already been completed.
804
+ #
805
+ # For example, consider a situation where you make an initial request and
806
+ # the request times out. If you make the request again with the same
807
+ # request ID, the server can check if original operation with the same
808
+ # request ID was received, and if so, will ignore the second request. This
809
+ # prevents clients from accidentally creating duplicate commitments.
810
+ #
811
+ # The request ID must be
812
+ # a valid UUID with the exception that zero UUID is not supported
813
+ # (00000000-0000-0000-0000-000000000000).
683
814
  # @param target_ssl_proxies_set_certificate_map_request_resource [::Google::Cloud::Compute::V1::TargetSslProxiesSetCertificateMapRequest, ::Hash]
684
815
  # The body resource for this request
685
816
  # @param target_ssl_proxy [::String]
686
- # Name of the TargetSslProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.
817
+ # Name of the TargetSslProxy resource whose CertificateMap is
818
+ # to be set. The name must be 1-63 characters long, and comply with RFC1035.
687
819
  # @yield [result, operation] Access the result along with the TransportOperation object
688
820
  # @yieldparam result [::Gapic::GenericLRO::Operation]
689
821
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -772,7 +904,19 @@ module Google
772
904
  # @param project [::String]
773
905
  # Project ID for this request.
774
906
  # @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).
907
+ # An optional request ID to identify requests. Specify a unique request ID so
908
+ # that if you must retry your request, the server will know to ignore the
909
+ # request if it has already been completed.
910
+ #
911
+ # For example, consider a situation where you make an initial request and
912
+ # the request times out. If you make the request again with the same
913
+ # request ID, the server can check if original operation with the same
914
+ # request ID was received, and if so, will ignore the second request. This
915
+ # prevents clients from accidentally creating duplicate commitments.
916
+ #
917
+ # The request ID must be
918
+ # a valid UUID with the exception that zero UUID is not supported
919
+ # (00000000-0000-0000-0000-000000000000).
776
920
  # @param target_ssl_proxies_set_proxy_header_request_resource [::Google::Cloud::Compute::V1::TargetSslProxiesSetProxyHeaderRequest, ::Hash]
777
921
  # The body resource for this request
778
922
  # @param target_ssl_proxy [::String]
@@ -865,11 +1009,24 @@ module Google
865
1009
  # @param project [::String]
866
1010
  # Project ID for this request.
867
1011
  # @param request_id [::String]
868
- # 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).
1012
+ # An optional request ID to identify requests. Specify a unique request ID so
1013
+ # that if you must retry your request, the server will know to ignore the
1014
+ # request if it has already been completed.
1015
+ #
1016
+ # For example, consider a situation where you make an initial request and
1017
+ # the request times out. If you make the request again with the same
1018
+ # request ID, the server can check if original operation with the same
1019
+ # request ID was received, and if so, will ignore the second request. This
1020
+ # prevents clients from accidentally creating duplicate commitments.
1021
+ #
1022
+ # The request ID must be
1023
+ # a valid UUID with the exception that zero UUID is not supported
1024
+ # (00000000-0000-0000-0000-000000000000).
869
1025
  # @param target_ssl_proxies_set_ssl_certificates_request_resource [::Google::Cloud::Compute::V1::TargetSslProxiesSetSslCertificatesRequest, ::Hash]
870
1026
  # The body resource for this request
871
1027
  # @param target_ssl_proxy [::String]
872
- # Name of the TargetSslProxy resource whose SslCertificate resource is to be set.
1028
+ # Name of the TargetSslProxy resource whose SslCertificate resource
1029
+ # is to be set.
873
1030
  # @yield [result, operation] Access the result along with the TransportOperation object
874
1031
  # @yieldparam result [::Gapic::GenericLRO::Operation]
875
1032
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -938,7 +1095,10 @@ module Google
938
1095
  end
939
1096
 
940
1097
  ##
941
- # Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends.
1098
+ # Sets the SSL policy for TargetSslProxy. The SSL policy specifies the
1099
+ # server-side support for SSL features. This affects connections between
1100
+ # clients and the load balancer. They do not affect the
1101
+ # connection between the load balancer and the backends.
942
1102
  #
943
1103
  # @overload set_ssl_policy(request, options = nil)
944
1104
  # Pass arguments to `set_ssl_policy` via a request object, either of type
@@ -958,11 +1118,24 @@ module Google
958
1118
  # @param project [::String]
959
1119
  # Project ID for this request.
960
1120
  # @param request_id [::String]
961
- # 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).
1121
+ # An optional request ID to identify requests. Specify a unique request ID so
1122
+ # that if you must retry your request, the server will know to ignore the
1123
+ # request if it has already been completed.
1124
+ #
1125
+ # For example, consider a situation where you make an initial request and
1126
+ # the request times out. If you make the request again with the same
1127
+ # request ID, the server can check if original operation with the same
1128
+ # request ID was received, and if so, will ignore the second request. This
1129
+ # prevents clients from accidentally creating duplicate commitments.
1130
+ #
1131
+ # The request ID must be
1132
+ # a valid UUID with the exception that zero UUID is not supported
1133
+ # (00000000-0000-0000-0000-000000000000).
962
1134
  # @param ssl_policy_reference_resource [::Google::Cloud::Compute::V1::SslPolicyReference, ::Hash]
963
1135
  # The body resource for this request
964
1136
  # @param target_ssl_proxy [::String]
965
- # Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.
1137
+ # Name of the TargetSslProxy resource whose SSL policy is
1138
+ # to be set. The name must be 1-63 characters long, and comply with RFC1035.
966
1139
  # @yield [result, operation] Access the result along with the TransportOperation object
967
1140
  # @yieldparam result [::Gapic::GenericLRO::Operation]
968
1141
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1030,6 +1203,88 @@ module Google
1030
1203
  raise ::Google::Cloud::Error.from_error(e)
1031
1204
  end
1032
1205
 
1206
+ ##
1207
+ # Returns permissions that a caller has on the specified resource.
1208
+ #
1209
+ # @overload test_iam_permissions(request, options = nil)
1210
+ # Pass arguments to `test_iam_permissions` via a request object, either of type
1211
+ # {::Google::Cloud::Compute::V1::TestIamPermissionsTargetSslProxyRequest} or an equivalent Hash.
1212
+ #
1213
+ # @param request [::Google::Cloud::Compute::V1::TestIamPermissionsTargetSslProxyRequest, ::Hash]
1214
+ # A request object representing the call parameters. Required. To specify no
1215
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1216
+ # @param options [::Gapic::CallOptions, ::Hash]
1217
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1218
+ #
1219
+ # @overload test_iam_permissions(project: nil, resource: nil, test_permissions_request_resource: nil)
1220
+ # Pass arguments to `test_iam_permissions` via keyword arguments. Note that at
1221
+ # least one keyword argument is required. To specify no parameters, or to keep all
1222
+ # the default parameter values, pass an empty Hash as a request object (see above).
1223
+ #
1224
+ # @param project [::String]
1225
+ # Project ID for this request.
1226
+ # @param resource [::String]
1227
+ # Name or id of the resource for this request.
1228
+ # @param test_permissions_request_resource [::Google::Cloud::Compute::V1::TestPermissionsRequest, ::Hash]
1229
+ # The body resource for this request
1230
+ # @yield [result, operation] Access the result along with the TransportOperation object
1231
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
1232
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1233
+ #
1234
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
1235
+ #
1236
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1237
+ #
1238
+ # @example Basic example
1239
+ # require "google/cloud/compute/v1"
1240
+ #
1241
+ # # Create a client object. The client can be reused for multiple calls.
1242
+ # client = Google::Cloud::Compute::V1::TargetSslProxies::Rest::Client.new
1243
+ #
1244
+ # # Create a request. To set request fields, pass in keyword arguments.
1245
+ # request = Google::Cloud::Compute::V1::TestIamPermissionsTargetSslProxyRequest.new
1246
+ #
1247
+ # # Call the test_iam_permissions method.
1248
+ # result = client.test_iam_permissions request
1249
+ #
1250
+ # # The returned object is of type Google::Cloud::Compute::V1::TestPermissionsResponse.
1251
+ # p result
1252
+ #
1253
+ def test_iam_permissions request, options = nil
1254
+ raise ::ArgumentError, "request must be provided" if request.nil?
1255
+
1256
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::TestIamPermissionsTargetSslProxyRequest
1257
+
1258
+ # Converts hash and nil to an options object
1259
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1260
+
1261
+ # Customize the options with defaults
1262
+ call_metadata = @config.rpcs.test_iam_permissions.metadata.to_h
1263
+
1264
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1265
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1266
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1267
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1268
+ transports_version_send: [:rest]
1269
+
1270
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1271
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1272
+
1273
+ options.apply_defaults timeout: @config.rpcs.test_iam_permissions.timeout,
1274
+ metadata: call_metadata,
1275
+ retry_policy: @config.rpcs.test_iam_permissions.retry_policy
1276
+
1277
+ options.apply_defaults timeout: @config.timeout,
1278
+ metadata: @config.metadata,
1279
+ retry_policy: @config.retry_policy
1280
+
1281
+ @target_ssl_proxies_stub.test_iam_permissions request, options do |result, operation|
1282
+ yield result, operation if block_given?
1283
+ end
1284
+ rescue ::Gapic::Rest::Error => e
1285
+ raise ::Google::Cloud::Error.from_error(e)
1286
+ end
1287
+
1033
1288
  ##
1034
1289
  # Configuration class for the TargetSslProxies REST API.
1035
1290
  #
@@ -1221,6 +1476,11 @@ module Google
1221
1476
  # @return [::Gapic::Config::Method]
1222
1477
  #
1223
1478
  attr_reader :set_ssl_policy
1479
+ ##
1480
+ # RPC-specific configuration for `test_iam_permissions`
1481
+ # @return [::Gapic::Config::Method]
1482
+ #
1483
+ attr_reader :test_iam_permissions
1224
1484
 
1225
1485
  # @private
1226
1486
  def initialize parent_rpcs = nil
@@ -1242,6 +1502,8 @@ module Google
1242
1502
  @set_ssl_certificates = ::Gapic::Config::Method.new set_ssl_certificates_config
1243
1503
  set_ssl_policy_config = parent_rpcs.set_ssl_policy if parent_rpcs.respond_to? :set_ssl_policy
1244
1504
  @set_ssl_policy = ::Gapic::Config::Method.new set_ssl_policy_config
1505
+ test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
1506
+ @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
1245
1507
 
1246
1508
  yield self if block_given?
1247
1509
  end
@@ -433,6 +433,46 @@ module Google
433
433
  end
434
434
  end
435
435
 
436
+ ##
437
+ # Baseline implementation for the test_iam_permissions REST call
438
+ #
439
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsTargetSslProxyRequest]
440
+ # A request object representing the call parameters. Required.
441
+ # @param options [::Gapic::CallOptions]
442
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
443
+ #
444
+ # @yield [result, operation] Access the result along with the TransportOperation object
445
+ # @yieldparam result [::Google::Cloud::Compute::V1::TestPermissionsResponse]
446
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
447
+ #
448
+ # @return [::Google::Cloud::Compute::V1::TestPermissionsResponse]
449
+ # A result object deserialized from the server's reply
450
+ def test_iam_permissions request_pb, options = nil
451
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
452
+
453
+ verb, uri, query_string_params, body = ServiceStub.transcode_test_iam_permissions_request request_pb
454
+ query_string_params = if query_string_params.any?
455
+ query_string_params.to_h { |p| p.split "=", 2 }
456
+ else
457
+ {}
458
+ end
459
+
460
+ response = @client_stub.make_http_request(
461
+ verb,
462
+ uri: uri,
463
+ body: body || "",
464
+ params: query_string_params,
465
+ method_name: "test_iam_permissions",
466
+ options: options
467
+ )
468
+ operation = ::Gapic::Rest::TransportOperation.new response
469
+ result = ::Google::Cloud::Compute::V1::TestPermissionsResponse.decode_json response.body, ignore_unknown_fields: true
470
+ catch :response do
471
+ yield result, operation if block_given?
472
+ result
473
+ end
474
+ end
475
+
436
476
  ##
437
477
  # @private
438
478
  #
@@ -634,6 +674,29 @@ module Google
634
674
  )
635
675
  transcoder.transcode request_pb
636
676
  end
677
+
678
+ ##
679
+ # @private
680
+ #
681
+ # GRPC transcoding helper method for the test_iam_permissions REST call
682
+ #
683
+ # @param request_pb [::Google::Cloud::Compute::V1::TestIamPermissionsTargetSslProxyRequest]
684
+ # A request object representing the call parameters. Required.
685
+ # @return [Array(String, [String, nil], Hash{String => String})]
686
+ # Uri, Body, Query string parameters
687
+ def self.transcode_test_iam_permissions_request request_pb
688
+ transcoder = Gapic::Rest::GrpcTranscoder.new
689
+ .with_bindings(
690
+ uri_method: :post,
691
+ uri_template: "/compute/v1/projects/{project}/global/targetSslProxies/{resource}/testIamPermissions",
692
+ body: "test_permissions_request_resource",
693
+ matches: [
694
+ ["project", %r{^[^/]+/?$}, false],
695
+ ["resource", %r{^[^/]+/?$}, false]
696
+ ]
697
+ )
698
+ transcoder.transcode request_pb
699
+ end
637
700
  end
638
701
  end
639
702
  end