google-cloud-compute-v1 3.7.0 → 3.9.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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +2 -0
  4. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +2 -0
  5. data/lib/google/cloud/compute/v1/advice/rest/client.rb +2 -0
  6. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +2 -0
  7. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +2 -0
  8. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +6 -1
  9. data/lib/google/cloud/compute/v1/compute_pb.rb +34 -1
  10. data/lib/google/cloud/compute/v1/cross_site_networks/rest/client.rb +2 -0
  11. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +2 -0
  12. data/lib/google/cloud/compute/v1/disks/rest/client.rb +2 -0
  13. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +2 -0
  14. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +2 -0
  15. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +2 -0
  16. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +5 -1
  17. data/lib/google/cloud/compute/v1/future_reservations/rest/client.rb +2 -0
  18. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +2 -0
  19. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +5 -1
  20. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +2 -0
  21. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +2 -0
  22. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +2 -0
  23. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +2 -0
  24. data/lib/google/cloud/compute/v1/global_vm_extension_policies/rest/client.rb +2 -0
  25. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +2 -0
  26. data/lib/google/cloud/compute/v1/image_family_views/rest/client.rb +2 -0
  27. data/lib/google/cloud/compute/v1/images/rest/client.rb +2 -0
  28. data/lib/google/cloud/compute/v1/instance_group_manager_resize_requests/rest/client.rb +2 -0
  29. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +18 -4
  30. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +2 -0
  31. data/lib/google/cloud/compute/v1/instance_settings_service/rest/client.rb +2 -0
  32. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +2 -0
  33. data/lib/google/cloud/compute/v1/instances/rest/client.rb +2 -0
  34. data/lib/google/cloud/compute/v1/instant_snapshot_groups/rest/client.rb +2 -0
  35. data/lib/google/cloud/compute/v1/instant_snapshots/rest/client.rb +2 -0
  36. data/lib/google/cloud/compute/v1/interconnect_attachment_groups/rest/client.rb +2 -0
  37. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +2 -0
  38. data/lib/google/cloud/compute/v1/interconnect_groups/rest/client.rb +2 -0
  39. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +2 -0
  40. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/client.rb +2 -0
  41. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +2 -0
  42. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +2 -0
  43. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +2 -0
  44. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +2 -0
  45. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +2 -0
  46. data/lib/google/cloud/compute/v1/network_attachments/rest/client.rb +2 -0
  47. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/client.rb +2 -0
  48. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +2 -0
  49. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/client.rb +2 -0
  50. data/lib/google/cloud/compute/v1/network_profiles/rest/client.rb +2 -0
  51. data/lib/google/cloud/compute/v1/networks/rest/client.rb +2 -0
  52. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +2 -0
  53. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +2 -0
  54. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +2 -0
  55. data/lib/google/cloud/compute/v1/organization_security_policies/rest/client.rb +2 -0
  56. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +2 -0
  57. data/lib/google/cloud/compute/v1/preview_features/rest/client.rb +2 -0
  58. data/lib/google/cloud/compute/v1/projects/rest/client.rb +2 -0
  59. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +2 -0
  60. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +2 -0
  61. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +2 -0
  62. data/lib/google/cloud/compute/v1/region_backend_buckets/rest/client.rb +2 -0
  63. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +6 -2
  64. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +2 -0
  65. data/lib/google/cloud/compute/v1/region_composite_health_checks/rest/client.rb +2 -0
  66. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +2 -0
  67. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +2 -0
  68. data/lib/google/cloud/compute/v1/region_health_aggregation_policies/rest/client.rb +2 -0
  69. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +2 -0
  70. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +2 -0
  71. data/lib/google/cloud/compute/v1/region_health_sources/rest/client.rb +2 -0
  72. data/lib/google/cloud/compute/v1/region_instance_group_manager_resize_requests/rest/client.rb +2 -0
  73. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +18 -4
  74. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +2 -0
  75. data/lib/google/cloud/compute/v1/region_instance_templates/rest/client.rb +2 -0
  76. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +2 -0
  77. data/lib/google/cloud/compute/v1/region_instant_snapshot_groups/rest/client.rb +2 -0
  78. data/lib/google/cloud/compute/v1/region_instant_snapshots/rest/client.rb +2 -0
  79. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +2 -0
  80. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/client.rb +2 -0
  81. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +2 -0
  82. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +2 -0
  83. data/lib/google/cloud/compute/v1/region_security_policies/rest/client.rb +2 -0
  84. data/lib/google/cloud/compute/v1/region_snapshot_settings/rest/client.rb +2 -0
  85. data/lib/google/cloud/compute/v1/region_snapshots/rest/client.rb +2 -0
  86. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +2 -0
  87. data/lib/google/cloud/compute/v1/region_ssl_policies/rest/client.rb +2 -0
  88. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +2 -0
  89. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +2 -0
  90. data/lib/google/cloud/compute/v1/region_target_tcp_proxies/rest/client.rb +2 -0
  91. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +2 -0
  92. data/lib/google/cloud/compute/v1/region_zones/rest/client.rb +2 -0
  93. data/lib/google/cloud/compute/v1/regions/rest/client.rb +2 -0
  94. data/lib/google/cloud/compute/v1/reservation_blocks/rest/client.rb +2 -0
  95. data/lib/google/cloud/compute/v1/reservation_slots/rest/client.rb +2 -0
  96. data/lib/google/cloud/compute/v1/reservation_sub_blocks/rest/client.rb +2 -0
  97. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +2 -0
  98. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +2 -0
  99. data/lib/google/cloud/compute/v1/rollout_plans/rest/client.rb +2 -0
  100. data/lib/google/cloud/compute/v1/rollouts/rest/client.rb +351 -3
  101. data/lib/google/cloud/compute/v1/rollouts/rest/service_stub.rb +186 -0
  102. data/lib/google/cloud/compute/v1/routers/rest/client.rb +636 -0
  103. data/lib/google/cloud/compute/v1/routers/rest/service_stub.rb +317 -0
  104. data/lib/google/cloud/compute/v1/routes/rest/client.rb +2 -0
  105. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +2 -0
  106. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +2 -0
  107. data/lib/google/cloud/compute/v1/snapshot_settings_service/rest/client.rb +2 -0
  108. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +2 -0
  109. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +2 -0
  110. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +2 -0
  111. data/lib/google/cloud/compute/v1/storage_pool_types/rest/client.rb +2 -0
  112. data/lib/google/cloud/compute/v1/storage_pools/rest/client.rb +2 -0
  113. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +2 -0
  114. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +2 -0
  115. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +2 -0
  116. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +2 -0
  117. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +2 -0
  118. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +2 -0
  119. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +2 -0
  120. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +2 -0
  121. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +2 -0
  122. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +2 -0
  123. data/lib/google/cloud/compute/v1/version.rb +1 -1
  124. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +2 -0
  125. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +2 -0
  126. data/lib/google/cloud/compute/v1/wire_groups/rest/client.rb +2 -0
  127. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +2 -0
  128. data/lib/google/cloud/compute/v1/zone_vm_extension_policies/rest/client.rb +2 -0
  129. data/lib/google/cloud/compute/v1/zones/rest/client.rb +2 -0
  130. data/proto_docs/google/cloud/compute/v1/compute.rb +1023 -75
  131. metadata +3 -3
@@ -71,6 +71,8 @@ module Google
71
71
  end
72
72
  default_config = Client::Configuration.new parent_config
73
73
 
74
+ default_config.rpcs.advance.timeout = 600.0
75
+
74
76
  default_config.rpcs.cancel.timeout = 600.0
75
77
 
76
78
  default_config.rpcs.delete.timeout = 600.0
@@ -85,6 +87,10 @@ module Google
85
87
  initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
86
88
  }
87
89
 
90
+ default_config.rpcs.pause.timeout = 600.0
91
+
92
+ default_config.rpcs.resume.timeout = 600.0
93
+
88
94
  default_config
89
95
  end
90
96
  yield @configure if block_given?
@@ -203,6 +209,111 @@ module Google
203
209
 
204
210
  # Service calls
205
211
 
212
+ ##
213
+ # Advances a Rollout to the next wave, or completes it if no waves remain.
214
+ #
215
+ # @overload advance(request, options = nil)
216
+ # Pass arguments to `advance` via a request object, either of type
217
+ # {::Google::Cloud::Compute::V1::AdvanceRolloutRequest} or an equivalent Hash.
218
+ #
219
+ # @param request [::Google::Cloud::Compute::V1::AdvanceRolloutRequest, ::Hash]
220
+ # A request object representing the call parameters. Required. To specify no
221
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
222
+ # @param options [::Gapic::CallOptions, ::Hash]
223
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
224
+ #
225
+ # @overload advance(current_wave_number: nil, project: nil, request_id: nil, rollout: nil)
226
+ # Pass arguments to `advance` via keyword arguments. Note that at
227
+ # least one keyword argument is required. To specify no parameters, or to keep all
228
+ # the default parameter values, pass an empty Hash as a request object (see above).
229
+ #
230
+ # @param current_wave_number [::Integer]
231
+ # Required. Wave number of the current wave.
232
+ # @param project [::String]
233
+ # Required. Project ID for this request.
234
+ # @param request_id [::String]
235
+ # An optional request ID to identify requests. Specify a unique request ID so
236
+ # that if you must retry your request, the server will know to ignore the
237
+ # request if it has already been completed.
238
+ #
239
+ # For example, consider a situation where you make an initial request and
240
+ # the request times out. If you make the request again with the same
241
+ # request ID, the server can check if original operation with the same
242
+ # request ID was received, and if so, will ignore the second request. This
243
+ # prevents clients from accidentally creating duplicate commitments.
244
+ #
245
+ # The request ID must be
246
+ # a valid UUID with the exception that zero UUID is not supported
247
+ # (00000000-0000-0000-0000-000000000000).
248
+ # @param rollout [::String]
249
+ # Required. Name of the Rollout resource to advance.
250
+ # @yield [result, operation] Access the result along with the TransportOperation object
251
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
252
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
253
+ #
254
+ # @return [::Gapic::GenericLRO::Operation]
255
+ #
256
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
257
+ #
258
+ # @example Basic example
259
+ # require "google/cloud/compute/v1"
260
+ #
261
+ # # Create a client object. The client can be reused for multiple calls.
262
+ # client = Google::Cloud::Compute::V1::Rollouts::Rest::Client.new
263
+ #
264
+ # # Create a request. To set request fields, pass in keyword arguments.
265
+ # request = Google::Cloud::Compute::V1::AdvanceRolloutRequest.new
266
+ #
267
+ # # Call the advance method.
268
+ # result = client.advance request
269
+ #
270
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
271
+ # p result
272
+ #
273
+ def advance request, options = nil
274
+ raise ::ArgumentError, "request must be provided" if request.nil?
275
+
276
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::AdvanceRolloutRequest
277
+
278
+ # Converts hash and nil to an options object
279
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
280
+
281
+ # Customize the options with defaults
282
+ call_metadata = @config.rpcs.advance.metadata.to_h
283
+
284
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
285
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
286
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
287
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
288
+ transports_version_send: [:rest]
289
+
290
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
291
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
292
+
293
+ options.apply_defaults timeout: @config.rpcs.advance.timeout,
294
+ metadata: call_metadata,
295
+ retry_policy: @config.rpcs.advance.retry_policy
296
+
297
+ options.apply_defaults timeout: @config.timeout,
298
+ metadata: @config.metadata,
299
+ retry_policy: @config.retry_policy
300
+
301
+ @rollouts_stub.advance request, options do |result, response|
302
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
303
+ operation: result,
304
+ client: global_operations,
305
+ request_values: {
306
+ "project" => request.project
307
+ },
308
+ options: options
309
+ )
310
+ yield result, response if block_given?
311
+ throw :response, result
312
+ end
313
+ rescue ::Gapic::Rest::Error => e
314
+ raise ::Google::Cloud::Error.from_error(e)
315
+ end
316
+
206
317
  ##
207
318
  # Cancels a Rollout.
208
319
  #
@@ -662,6 +773,220 @@ module Google
662
773
  raise ::Google::Cloud::Error.from_error(e)
663
774
  end
664
775
 
776
+ ##
777
+ # Pauses a Rollout.
778
+ #
779
+ # @overload pause(request, options = nil)
780
+ # Pass arguments to `pause` via a request object, either of type
781
+ # {::Google::Cloud::Compute::V1::PauseRolloutRequest} or an equivalent Hash.
782
+ #
783
+ # @param request [::Google::Cloud::Compute::V1::PauseRolloutRequest, ::Hash]
784
+ # A request object representing the call parameters. Required. To specify no
785
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
786
+ # @param options [::Gapic::CallOptions, ::Hash]
787
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
788
+ #
789
+ # @overload pause(etag: nil, project: nil, request_id: nil, rollout: nil)
790
+ # Pass arguments to `pause` via keyword arguments. Note that at
791
+ # least one keyword argument is required. To specify no parameters, or to keep all
792
+ # the default parameter values, pass an empty Hash as a request object (see above).
793
+ #
794
+ # @param etag [::String]
795
+ # The etag of the Rollout.
796
+ # If this is provided, the request will only succeed if the etag matches
797
+ # the current etag of the Rollout.
798
+ # @param project [::String]
799
+ # Required. Project ID for this request.
800
+ # @param request_id [::String]
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).
814
+ # @param rollout [::String]
815
+ # Required. Name of the Rollout resource to pause.
816
+ # @yield [result, operation] Access the result along with the TransportOperation object
817
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
818
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
819
+ #
820
+ # @return [::Gapic::GenericLRO::Operation]
821
+ #
822
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
823
+ #
824
+ # @example Basic example
825
+ # require "google/cloud/compute/v1"
826
+ #
827
+ # # Create a client object. The client can be reused for multiple calls.
828
+ # client = Google::Cloud::Compute::V1::Rollouts::Rest::Client.new
829
+ #
830
+ # # Create a request. To set request fields, pass in keyword arguments.
831
+ # request = Google::Cloud::Compute::V1::PauseRolloutRequest.new
832
+ #
833
+ # # Call the pause method.
834
+ # result = client.pause request
835
+ #
836
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
837
+ # p result
838
+ #
839
+ def pause request, options = nil
840
+ raise ::ArgumentError, "request must be provided" if request.nil?
841
+
842
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::PauseRolloutRequest
843
+
844
+ # Converts hash and nil to an options object
845
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
846
+
847
+ # Customize the options with defaults
848
+ call_metadata = @config.rpcs.pause.metadata.to_h
849
+
850
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
851
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
852
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
853
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
854
+ transports_version_send: [:rest]
855
+
856
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
857
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
858
+
859
+ options.apply_defaults timeout: @config.rpcs.pause.timeout,
860
+ metadata: call_metadata,
861
+ retry_policy: @config.rpcs.pause.retry_policy
862
+
863
+ options.apply_defaults timeout: @config.timeout,
864
+ metadata: @config.metadata,
865
+ retry_policy: @config.retry_policy
866
+
867
+ @rollouts_stub.pause request, options do |result, response|
868
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
869
+ operation: result,
870
+ client: global_operations,
871
+ request_values: {
872
+ "project" => request.project
873
+ },
874
+ options: options
875
+ )
876
+ yield result, response if block_given?
877
+ throw :response, result
878
+ end
879
+ rescue ::Gapic::Rest::Error => e
880
+ raise ::Google::Cloud::Error.from_error(e)
881
+ end
882
+
883
+ ##
884
+ # Resumes a Rollout.
885
+ #
886
+ # @overload resume(request, options = nil)
887
+ # Pass arguments to `resume` via a request object, either of type
888
+ # {::Google::Cloud::Compute::V1::ResumeRolloutRequest} or an equivalent Hash.
889
+ #
890
+ # @param request [::Google::Cloud::Compute::V1::ResumeRolloutRequest, ::Hash]
891
+ # A request object representing the call parameters. Required. To specify no
892
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
893
+ # @param options [::Gapic::CallOptions, ::Hash]
894
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
895
+ #
896
+ # @overload resume(etag: nil, project: nil, request_id: nil, rollout: nil)
897
+ # Pass arguments to `resume` via keyword arguments. Note that at
898
+ # least one keyword argument is required. To specify no parameters, or to keep all
899
+ # the default parameter values, pass an empty Hash as a request object (see above).
900
+ #
901
+ # @param etag [::String]
902
+ # The etag of the Rollout.
903
+ # If this is provided, the request will only succeed if the etag matches
904
+ # the current etag of the Rollout.
905
+ # @param project [::String]
906
+ # Required. Project ID for this request.
907
+ # @param request_id [::String]
908
+ # An optional request ID to identify requests. Specify a unique request ID so
909
+ # that if you must retry your request, the server will know to ignore the
910
+ # request if it has already been completed.
911
+ #
912
+ # For example, consider a situation where you make an initial request and
913
+ # the request times out. If you make the request again with the same
914
+ # request ID, the server can check if original operation with the same
915
+ # request ID was received, and if so, will ignore the second request. This
916
+ # prevents clients from accidentally creating duplicate commitments.
917
+ #
918
+ # The request ID must be
919
+ # a valid UUID with the exception that zero UUID is not supported
920
+ # (00000000-0000-0000-0000-000000000000).
921
+ # @param rollout [::String]
922
+ # Required. Name of the Rollout resource to resume.
923
+ # @yield [result, operation] Access the result along with the TransportOperation object
924
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
925
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
926
+ #
927
+ # @return [::Gapic::GenericLRO::Operation]
928
+ #
929
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
930
+ #
931
+ # @example Basic example
932
+ # require "google/cloud/compute/v1"
933
+ #
934
+ # # Create a client object. The client can be reused for multiple calls.
935
+ # client = Google::Cloud::Compute::V1::Rollouts::Rest::Client.new
936
+ #
937
+ # # Create a request. To set request fields, pass in keyword arguments.
938
+ # request = Google::Cloud::Compute::V1::ResumeRolloutRequest.new
939
+ #
940
+ # # Call the resume method.
941
+ # result = client.resume request
942
+ #
943
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
944
+ # p result
945
+ #
946
+ def resume request, options = nil
947
+ raise ::ArgumentError, "request must be provided" if request.nil?
948
+
949
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::ResumeRolloutRequest
950
+
951
+ # Converts hash and nil to an options object
952
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
953
+
954
+ # Customize the options with defaults
955
+ call_metadata = @config.rpcs.resume.metadata.to_h
956
+
957
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
958
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
959
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
960
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
961
+ transports_version_send: [:rest]
962
+
963
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
964
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
965
+
966
+ options.apply_defaults timeout: @config.rpcs.resume.timeout,
967
+ metadata: call_metadata,
968
+ retry_policy: @config.rpcs.resume.retry_policy
969
+
970
+ options.apply_defaults timeout: @config.timeout,
971
+ metadata: @config.metadata,
972
+ retry_policy: @config.retry_policy
973
+
974
+ @rollouts_stub.resume request, options do |result, response|
975
+ result = ::Google::Cloud::Compute::V1::GlobalOperations::Rest::NonstandardLro.create_operation(
976
+ operation: result,
977
+ client: global_operations,
978
+ request_values: {
979
+ "project" => request.project
980
+ },
981
+ options: options
982
+ )
983
+ yield result, response if block_given?
984
+ throw :response, result
985
+ end
986
+ rescue ::Gapic::Rest::Error => e
987
+ raise ::Google::Cloud::Error.from_error(e)
988
+ end
989
+
665
990
  ##
666
991
  # Configuration class for the Rollouts REST API.
667
992
  #
@@ -678,17 +1003,17 @@ module Google
678
1003
  # @example
679
1004
  #
680
1005
  # # Modify the global config, setting the timeout for
681
- # # cancel to 20 seconds,
1006
+ # # advance to 20 seconds,
682
1007
  # # and all remaining timeouts to 10 seconds.
683
1008
  # ::Google::Cloud::Compute::V1::Rollouts::Rest::Client.configure do |config|
684
1009
  # config.timeout = 10.0
685
- # config.rpcs.cancel.timeout = 20.0
1010
+ # config.rpcs.advance.timeout = 20.0
686
1011
  # end
687
1012
  #
688
1013
  # # Apply the above configuration only to a new client.
689
1014
  # client = ::Google::Cloud::Compute::V1::Rollouts::Rest::Client.new do |config|
690
1015
  # config.timeout = 10.0
691
- # config.rpcs.cancel.timeout = 20.0
1016
+ # config.rpcs.advance.timeout = 20.0
692
1017
  # end
693
1018
  #
694
1019
  # @!attribute [rw] endpoint
@@ -732,6 +1057,7 @@ module Google
732
1057
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
733
1058
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
734
1059
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1060
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
735
1061
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
736
1062
  # trigger a retry.
737
1063
  # @return [::Hash]
@@ -804,10 +1130,16 @@ module Google
804
1130
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
805
1131
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
806
1132
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1133
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
807
1134
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
808
1135
  # trigger a retry.
809
1136
  #
810
1137
  class Rpcs
1138
+ ##
1139
+ # RPC-specific configuration for `advance`
1140
+ # @return [::Gapic::Config::Method]
1141
+ #
1142
+ attr_reader :advance
811
1143
  ##
812
1144
  # RPC-specific configuration for `cancel`
813
1145
  # @return [::Gapic::Config::Method]
@@ -828,9 +1160,21 @@ module Google
828
1160
  # @return [::Gapic::Config::Method]
829
1161
  #
830
1162
  attr_reader :list
1163
+ ##
1164
+ # RPC-specific configuration for `pause`
1165
+ # @return [::Gapic::Config::Method]
1166
+ #
1167
+ attr_reader :pause
1168
+ ##
1169
+ # RPC-specific configuration for `resume`
1170
+ # @return [::Gapic::Config::Method]
1171
+ #
1172
+ attr_reader :resume
831
1173
 
832
1174
  # @private
833
1175
  def initialize parent_rpcs = nil
1176
+ advance_config = parent_rpcs.advance if parent_rpcs.respond_to? :advance
1177
+ @advance = ::Gapic::Config::Method.new advance_config
834
1178
  cancel_config = parent_rpcs.cancel if parent_rpcs.respond_to? :cancel
835
1179
  @cancel = ::Gapic::Config::Method.new cancel_config
836
1180
  delete_config = parent_rpcs.delete if parent_rpcs.respond_to? :delete
@@ -839,6 +1183,10 @@ module Google
839
1183
  @get = ::Gapic::Config::Method.new get_config
840
1184
  list_config = parent_rpcs.list if parent_rpcs.respond_to? :list
841
1185
  @list = ::Gapic::Config::Method.new list_config
1186
+ pause_config = parent_rpcs.pause if parent_rpcs.respond_to? :pause
1187
+ @pause = ::Gapic::Config::Method.new pause_config
1188
+ resume_config = parent_rpcs.resume if parent_rpcs.respond_to? :resume
1189
+ @resume = ::Gapic::Config::Method.new resume_config
842
1190
 
843
1191
  yield self if block_given?
844
1192
  end
@@ -73,6 +73,46 @@ module Google
73
73
  stub ? @client_stub.stub_logger : @client_stub.logger
74
74
  end
75
75
 
76
+ ##
77
+ # Baseline implementation for the advance REST call
78
+ #
79
+ # @param request_pb [::Google::Cloud::Compute::V1::AdvanceRolloutRequest]
80
+ # A request object representing the call parameters. Required.
81
+ # @param options [::Gapic::CallOptions]
82
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
83
+ #
84
+ # @yield [result, operation] Access the result along with the TransportOperation object
85
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
86
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
87
+ #
88
+ # @return [::Google::Cloud::Compute::V1::Operation]
89
+ # A result object deserialized from the server's reply
90
+ def advance request_pb, options = nil
91
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
92
+
93
+ verb, uri, query_string_params, body = ServiceStub.transcode_advance_request request_pb
94
+ query_string_params = if query_string_params.any?
95
+ query_string_params.to_h { |p| p.split "=", 2 }
96
+ else
97
+ {}
98
+ end
99
+
100
+ response = @client_stub.make_http_request(
101
+ verb,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "advance",
106
+ options: options
107
+ )
108
+ operation = ::Gapic::Rest::TransportOperation.new response
109
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
114
+ end
115
+
76
116
  ##
77
117
  # Baseline implementation for the cancel REST call
78
118
  #
@@ -233,6 +273,108 @@ module Google
233
273
  end
234
274
  end
235
275
 
276
+ ##
277
+ # Baseline implementation for the pause REST call
278
+ #
279
+ # @param request_pb [::Google::Cloud::Compute::V1::PauseRolloutRequest]
280
+ # A request object representing the call parameters. Required.
281
+ # @param options [::Gapic::CallOptions]
282
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
283
+ #
284
+ # @yield [result, operation] Access the result along with the TransportOperation object
285
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
286
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
287
+ #
288
+ # @return [::Google::Cloud::Compute::V1::Operation]
289
+ # A result object deserialized from the server's reply
290
+ def pause request_pb, options = nil
291
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
292
+
293
+ verb, uri, query_string_params, body = ServiceStub.transcode_pause_request request_pb
294
+ query_string_params = if query_string_params.any?
295
+ query_string_params.to_h { |p| p.split "=", 2 }
296
+ else
297
+ {}
298
+ end
299
+
300
+ response = @client_stub.make_http_request(
301
+ verb,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "pause",
306
+ options: options
307
+ )
308
+ operation = ::Gapic::Rest::TransportOperation.new response
309
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
314
+ end
315
+
316
+ ##
317
+ # Baseline implementation for the resume REST call
318
+ #
319
+ # @param request_pb [::Google::Cloud::Compute::V1::ResumeRolloutRequest]
320
+ # A request object representing the call parameters. Required.
321
+ # @param options [::Gapic::CallOptions]
322
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
323
+ #
324
+ # @yield [result, operation] Access the result along with the TransportOperation object
325
+ # @yieldparam result [::Google::Cloud::Compute::V1::Operation]
326
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
327
+ #
328
+ # @return [::Google::Cloud::Compute::V1::Operation]
329
+ # A result object deserialized from the server's reply
330
+ def resume request_pb, options = nil
331
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
332
+
333
+ verb, uri, query_string_params, body = ServiceStub.transcode_resume_request request_pb
334
+ query_string_params = if query_string_params.any?
335
+ query_string_params.to_h { |p| p.split "=", 2 }
336
+ else
337
+ {}
338
+ end
339
+
340
+ response = @client_stub.make_http_request(
341
+ verb,
342
+ uri: uri,
343
+ body: body || "",
344
+ params: query_string_params,
345
+ method_name: "resume",
346
+ options: options
347
+ )
348
+ operation = ::Gapic::Rest::TransportOperation.new response
349
+ result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
350
+ catch :response do
351
+ yield result, operation if block_given?
352
+ result
353
+ end
354
+ end
355
+
356
+ ##
357
+ # @private
358
+ #
359
+ # GRPC transcoding helper method for the advance REST call
360
+ #
361
+ # @param request_pb [::Google::Cloud::Compute::V1::AdvanceRolloutRequest]
362
+ # A request object representing the call parameters. Required.
363
+ # @return [Array(String, [String, nil], Hash{String => String})]
364
+ # Uri, Body, Query string parameters
365
+ def self.transcode_advance_request request_pb
366
+ transcoder = Gapic::Rest::GrpcTranscoder.new
367
+ .with_bindings(
368
+ uri_method: :post,
369
+ uri_template: "/compute/v1/projects/{project}/global/rollouts/{rollout}/advance",
370
+ matches: [
371
+ ["project", %r{^[^/]+/?$}, false],
372
+ ["rollout", %r{^[^/]+/?$}, false]
373
+ ]
374
+ )
375
+ transcoder.transcode request_pb
376
+ end
377
+
236
378
  ##
237
379
  # @private
238
380
  #
@@ -319,6 +461,50 @@ module Google
319
461
  )
320
462
  transcoder.transcode request_pb
321
463
  end
464
+
465
+ ##
466
+ # @private
467
+ #
468
+ # GRPC transcoding helper method for the pause REST call
469
+ #
470
+ # @param request_pb [::Google::Cloud::Compute::V1::PauseRolloutRequest]
471
+ # A request object representing the call parameters. Required.
472
+ # @return [Array(String, [String, nil], Hash{String => String})]
473
+ # Uri, Body, Query string parameters
474
+ def self.transcode_pause_request request_pb
475
+ transcoder = Gapic::Rest::GrpcTranscoder.new
476
+ .with_bindings(
477
+ uri_method: :post,
478
+ uri_template: "/compute/v1/projects/{project}/global/rollouts/{rollout}/pause",
479
+ matches: [
480
+ ["project", %r{^[^/]+/?$}, false],
481
+ ["rollout", %r{^[^/]+/?$}, false]
482
+ ]
483
+ )
484
+ transcoder.transcode request_pb
485
+ end
486
+
487
+ ##
488
+ # @private
489
+ #
490
+ # GRPC transcoding helper method for the resume REST call
491
+ #
492
+ # @param request_pb [::Google::Cloud::Compute::V1::ResumeRolloutRequest]
493
+ # A request object representing the call parameters. Required.
494
+ # @return [Array(String, [String, nil], Hash{String => String})]
495
+ # Uri, Body, Query string parameters
496
+ def self.transcode_resume_request request_pb
497
+ transcoder = Gapic::Rest::GrpcTranscoder.new
498
+ .with_bindings(
499
+ uri_method: :post,
500
+ uri_template: "/compute/v1/projects/{project}/global/rollouts/{rollout}/resume",
501
+ matches: [
502
+ ["project", %r{^[^/]+/?$}, false],
503
+ ["rollout", %r{^[^/]+/?$}, false]
504
+ ]
505
+ )
506
+ transcoder.transcode request_pb
507
+ end
322
508
  end
323
509
  end
324
510
  end