google-cloud-build-v1 0.1.3 → 0.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.
@@ -33,3 +33,6 @@ module Google
33
33
  end
34
34
  end
35
35
  end
36
+
37
+ helper_path = ::File.join __dir__, "v1", "_helpers.rb"
38
+ require "google/cloud/build/v1/_helpers" if ::File.file? helper_path
@@ -23,6 +23,7 @@ require "gapic/config/method"
23
23
  require "google/cloud/build/v1/version"
24
24
 
25
25
  require "google/cloud/build/v1/cloud_build/credentials"
26
+ require "google/cloud/build/v1/cloud_build/paths"
26
27
  require "google/cloud/build/v1/cloud_build/operations"
27
28
  require "google/cloud/build/v1/cloud_build/client"
28
29
 
@@ -37,6 +37,8 @@ module Google
37
37
  # determine the status of the build.
38
38
  #
39
39
  class Client
40
+ include Paths
41
+
40
42
  # @private
41
43
  attr_reader :cloud_build_stub
42
44
 
@@ -65,7 +67,7 @@ module Google
65
67
  parent_config = while namespace.any?
66
68
  parent_name = namespace.join "::"
67
69
  parent_const = const_get parent_name
68
- break parent_const.configure if parent_const&.respond_to? :configure
70
+ break parent_const.configure if parent_const.respond_to? :configure
69
71
  namespace.pop
70
72
  end
71
73
  default_config = Client::Configuration.new parent_config
@@ -75,17 +77,17 @@ module Google
75
77
  default_config.rpcs.get_build.timeout = 600.0
76
78
  default_config.rpcs.get_build.retry_policy = {
77
79
  initial_delay: 0.1,
78
- max_delay: 60.0,
79
- multiplier: 1.3,
80
- retry_codes: [14, 4]
80
+ max_delay: 60.0,
81
+ multiplier: 1.3,
82
+ retry_codes: [14, 4]
81
83
  }
82
84
 
83
85
  default_config.rpcs.list_builds.timeout = 600.0
84
86
  default_config.rpcs.list_builds.retry_policy = {
85
87
  initial_delay: 0.1,
86
- max_delay: 60.0,
87
- multiplier: 1.3,
88
- retry_codes: [14, 4]
88
+ max_delay: 60.0,
89
+ multiplier: 1.3,
90
+ retry_codes: [14, 4]
89
91
  }
90
92
 
91
93
  default_config.rpcs.cancel_build.timeout = 600.0
@@ -97,25 +99,25 @@ module Google
97
99
  default_config.rpcs.get_build_trigger.timeout = 600.0
98
100
  default_config.rpcs.get_build_trigger.retry_policy = {
99
101
  initial_delay: 0.1,
100
- max_delay: 60.0,
101
- multiplier: 1.3,
102
- retry_codes: [14, 4]
102
+ max_delay: 60.0,
103
+ multiplier: 1.3,
104
+ retry_codes: [14, 4]
103
105
  }
104
106
 
105
107
  default_config.rpcs.list_build_triggers.timeout = 600.0
106
108
  default_config.rpcs.list_build_triggers.retry_policy = {
107
109
  initial_delay: 0.1,
108
- max_delay: 60.0,
109
- multiplier: 1.3,
110
- retry_codes: [14, 4]
110
+ max_delay: 60.0,
111
+ multiplier: 1.3,
112
+ retry_codes: [14, 4]
111
113
  }
112
114
 
113
115
  default_config.rpcs.delete_build_trigger.timeout = 600.0
114
116
  default_config.rpcs.delete_build_trigger.retry_policy = {
115
117
  initial_delay: 0.1,
116
- max_delay: 60.0,
117
- multiplier: 1.3,
118
- retry_codes: [14, 4]
118
+ max_delay: 60.0,
119
+ multiplier: 1.3,
120
+ retry_codes: [14, 4]
119
121
  }
120
122
 
121
123
  default_config.rpcs.update_build_trigger.timeout = 600.0
@@ -127,9 +129,9 @@ module Google
127
129
  default_config.rpcs.get_worker_pool.timeout = 600.0
128
130
  default_config.rpcs.get_worker_pool.retry_policy = {
129
131
  initial_delay: 0.1,
130
- max_delay: 60.0,
131
- multiplier: 1.3,
132
- retry_codes: [14, 4]
132
+ max_delay: 60.0,
133
+ multiplier: 1.3,
134
+ retry_codes: [14, 4]
133
135
  }
134
136
 
135
137
  default_config.rpcs.delete_worker_pool.timeout = 600.0
@@ -139,9 +141,9 @@ module Google
139
141
  default_config.rpcs.list_worker_pools.timeout = 600.0
140
142
  default_config.rpcs.list_worker_pools.retry_policy = {
141
143
  initial_delay: 0.1,
142
- max_delay: 60.0,
143
- multiplier: 1.3,
144
- retry_codes: [14, 4]
144
+ max_delay: 60.0,
145
+ multiplier: 1.3,
146
+ retry_codes: [14, 4]
145
147
  }
146
148
 
147
149
  default_config
@@ -205,7 +207,13 @@ module Google
205
207
 
206
208
  # Create credentials
207
209
  credentials = @config.credentials
208
- credentials ||= Credentials.default scope: @config.scope
210
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
211
+ # but only if the default endpoint does not have a region prefix.
212
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
213
+ @config.endpoint == Client.configure.endpoint &&
214
+ !@config.endpoint.split(".").first.include?("-")
215
+ credentials ||= Credentials.default scope: @config.scope,
216
+ enable_self_signed_jwt: enable_self_signed_jwt
209
217
  if credentials.is_a?(String) || credentials.is_a?(Hash)
210
218
  credentials = Credentials.new credentials, scope: @config.scope
211
219
  end
@@ -252,11 +260,14 @@ module Google
252
260
  # @param options [::Gapic::CallOptions, ::Hash]
253
261
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
254
262
  #
255
- # @overload create_build(project_id: nil, build: nil)
263
+ # @overload create_build(parent: nil, project_id: nil, build: nil)
256
264
  # Pass arguments to `create_build` via keyword arguments. Note that at
257
265
  # least one keyword argument is required. To specify no parameters, or to keep all
258
266
  # the default parameter values, pass an empty Hash as a request object (see above).
259
267
  #
268
+ # @param parent [::String]
269
+ # The parent resource where this build will be created.
270
+ # Format: `projects/{project}/locations/{location}`
260
271
  # @param project_id [::String]
261
272
  # Required. ID of the project.
262
273
  # @param build [::Google::Cloud::Build::V1::Build, ::Hash]
@@ -324,11 +335,14 @@ module Google
324
335
  # @param options [::Gapic::CallOptions, ::Hash]
325
336
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
326
337
  #
327
- # @overload get_build(project_id: nil, id: nil)
338
+ # @overload get_build(name: nil, project_id: nil, id: nil)
328
339
  # Pass arguments to `get_build` via keyword arguments. Note that at
329
340
  # least one keyword argument is required. To specify no parameters, or to keep all
330
341
  # the default parameter values, pass an empty Hash as a request object (see above).
331
342
  #
343
+ # @param name [::String]
344
+ # The name of the `Build` to retrieve.
345
+ # Format: `projects/{project}/locations/{location}/builds/{build}`
332
346
  # @param project_id [::String]
333
347
  # Required. ID of the project.
334
348
  # @param id [::String]
@@ -361,7 +375,7 @@ module Google
361
375
 
362
376
  header_params = {
363
377
  "project_id" => request.project_id,
364
- "id" => request.id
378
+ "id" => request.id
365
379
  }
366
380
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
367
381
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -396,17 +410,28 @@ module Google
396
410
  # @param options [::Gapic::CallOptions, ::Hash]
397
411
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
398
412
  #
399
- # @overload list_builds(project_id: nil, page_size: nil, page_token: nil, filter: nil)
413
+ # @overload list_builds(parent: nil, project_id: nil, page_size: nil, page_token: nil, filter: nil)
400
414
  # Pass arguments to `list_builds` via keyword arguments. Note that at
401
415
  # least one keyword argument is required. To specify no parameters, or to keep all
402
416
  # the default parameter values, pass an empty Hash as a request object (see above).
403
417
  #
418
+ # @param parent [::String]
419
+ # The parent of the collection of `Builds`.
420
+ # Format: `projects/{project}/locations/location`
404
421
  # @param project_id [::String]
405
422
  # Required. ID of the project.
406
423
  # @param page_size [::Integer]
407
424
  # Number of results to return in the list.
408
425
  # @param page_token [::String]
409
- # Token to provide to skip to a particular spot in the list.
426
+ # The page token for the next page of Builds.
427
+ #
428
+ # If unspecified, the first page of results is returned.
429
+ #
430
+ # If the token is rejected for any reason, INVALID_ARGUMENT will be thrown.
431
+ # In this case, the token should be discarded, and pagination should be
432
+ # restarted from the first page of results.
433
+ #
434
+ # See https://google.aip.dev/158 for more.
410
435
  # @param filter [::String]
411
436
  # The raw filter text to constrain the results.
412
437
  #
@@ -469,11 +494,14 @@ module Google
469
494
  # @param options [::Gapic::CallOptions, ::Hash]
470
495
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
471
496
  #
472
- # @overload cancel_build(project_id: nil, id: nil)
497
+ # @overload cancel_build(name: nil, project_id: nil, id: nil)
473
498
  # Pass arguments to `cancel_build` via keyword arguments. Note that at
474
499
  # least one keyword argument is required. To specify no parameters, or to keep all
475
500
  # the default parameter values, pass an empty Hash as a request object (see above).
476
501
  #
502
+ # @param name [::String]
503
+ # The name of the `Build` to cancel.
504
+ # Format: `projects/{project}/locations/{location}/builds/{build}`
477
505
  # @param project_id [::String]
478
506
  # Required. ID of the project.
479
507
  # @param id [::String]
@@ -506,7 +534,7 @@ module Google
506
534
 
507
535
  header_params = {
508
536
  "project_id" => request.project_id,
509
- "id" => request.id
537
+ "id" => request.id
510
538
  }
511
539
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
512
540
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -564,11 +592,14 @@ module Google
564
592
  # @param options [::Gapic::CallOptions, ::Hash]
565
593
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
566
594
  #
567
- # @overload retry_build(project_id: nil, id: nil)
595
+ # @overload retry_build(name: nil, project_id: nil, id: nil)
568
596
  # Pass arguments to `retry_build` via keyword arguments. Note that at
569
597
  # least one keyword argument is required. To specify no parameters, or to keep all
570
598
  # the default parameter values, pass an empty Hash as a request object (see above).
571
599
  #
600
+ # @param name [::String]
601
+ # The name of the `Build` to retry.
602
+ # Format: `projects/{project}/locations/{location}/builds/{build}`
572
603
  # @param project_id [::String]
573
604
  # Required. ID of the project.
574
605
  # @param id [::String]
@@ -601,7 +632,7 @@ module Google
601
632
 
602
633
  header_params = {
603
634
  "project_id" => request.project_id,
604
- "id" => request.id
635
+ "id" => request.id
605
636
  }
606
637
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
607
638
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -1002,7 +1033,7 @@ module Google
1002
1033
  # @param trigger_id [::String]
1003
1034
  # Required. ID of the trigger.
1004
1035
  # @param source [::Google::Cloud::Build::V1::RepoSource, ::Hash]
1005
- # Required. Source to build against this trigger.
1036
+ # Source to build against this trigger.
1006
1037
  #
1007
1038
  # @yield [response, operation] Access the result along with the RPC operation
1008
1039
  # @yieldparam response [::Gapic::Operation]
@@ -1051,6 +1082,80 @@ module Google
1051
1082
  raise ::Google::Cloud::Error.from_error(e)
1052
1083
  end
1053
1084
 
1085
+ ##
1086
+ # ReceiveTriggerWebhook [Experimental] is called when the API receives a
1087
+ # webhook request targeted at a specific trigger.
1088
+ #
1089
+ # @overload receive_trigger_webhook(request, options = nil)
1090
+ # Pass arguments to `receive_trigger_webhook` via a request object, either of type
1091
+ # {::Google::Cloud::Build::V1::ReceiveTriggerWebhookRequest} or an equivalent Hash.
1092
+ #
1093
+ # @param request [::Google::Cloud::Build::V1::ReceiveTriggerWebhookRequest, ::Hash]
1094
+ # A request object representing the call parameters. Required. To specify no
1095
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1096
+ # @param options [::Gapic::CallOptions, ::Hash]
1097
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1098
+ #
1099
+ # @overload receive_trigger_webhook(body: nil, project_id: nil, trigger: nil, secret: nil)
1100
+ # Pass arguments to `receive_trigger_webhook` via keyword arguments. Note that at
1101
+ # least one keyword argument is required. To specify no parameters, or to keep all
1102
+ # the default parameter values, pass an empty Hash as a request object (see above).
1103
+ #
1104
+ # @param body [::Google::Api::HttpBody, ::Hash]
1105
+ # HTTP request body.
1106
+ # @param project_id [::String]
1107
+ # Project in which the specified trigger lives
1108
+ # @param trigger [::String]
1109
+ # Name of the trigger to run the payload against
1110
+ # @param secret [::String]
1111
+ # Secret token used for authorization if an OAuth token isn't provided.
1112
+ #
1113
+ # @yield [response, operation] Access the result along with the RPC operation
1114
+ # @yieldparam response [::Google::Cloud::Build::V1::ReceiveTriggerWebhookResponse]
1115
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1116
+ #
1117
+ # @return [::Google::Cloud::Build::V1::ReceiveTriggerWebhookResponse]
1118
+ #
1119
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1120
+ #
1121
+ def receive_trigger_webhook request, options = nil
1122
+ raise ::ArgumentError, "request must be provided" if request.nil?
1123
+
1124
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Build::V1::ReceiveTriggerWebhookRequest
1125
+
1126
+ # Converts hash and nil to an options object
1127
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1128
+
1129
+ # Customize the options with defaults
1130
+ metadata = @config.rpcs.receive_trigger_webhook.metadata.to_h
1131
+
1132
+ # Set x-goog-api-client and x-goog-user-project headers
1133
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1134
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1135
+ gapic_version: ::Google::Cloud::Build::V1::VERSION
1136
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1137
+
1138
+ header_params = {
1139
+ "project_id" => request.project_id,
1140
+ "trigger" => request.trigger
1141
+ }
1142
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1143
+ metadata[:"x-goog-request-params"] ||= request_params_header
1144
+
1145
+ options.apply_defaults timeout: @config.rpcs.receive_trigger_webhook.timeout,
1146
+ metadata: metadata,
1147
+ retry_policy: @config.rpcs.receive_trigger_webhook.retry_policy
1148
+ options.apply_defaults metadata: @config.metadata,
1149
+ retry_policy: @config.retry_policy
1150
+
1151
+ @cloud_build_stub.call_rpc :receive_trigger_webhook, request, options: options do |response, operation|
1152
+ yield response, operation if block_given?
1153
+ return response
1154
+ end
1155
+ rescue ::GRPC::BadStatus => e
1156
+ raise ::Google::Cloud::Error.from_error(e)
1157
+ end
1158
+
1054
1159
  ##
1055
1160
  # Creates a `WorkerPool` to run the builds, and returns the new worker pool.
1056
1161
  #
@@ -1460,7 +1565,7 @@ module Google
1460
1565
  config_attr :scope, nil, ::String, ::Array, nil
1461
1566
  config_attr :lib_name, nil, ::String, nil
1462
1567
  config_attr :lib_version, nil, ::String, nil
1463
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
1568
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1464
1569
  config_attr :interceptors, nil, ::Array, nil
1465
1570
  config_attr :timeout, nil, ::Numeric, nil
1466
1571
  config_attr :metadata, nil, ::Hash, nil
@@ -1481,7 +1586,7 @@ module Google
1481
1586
  def rpcs
1482
1587
  @rpcs ||= begin
1483
1588
  parent_rpcs = nil
1484
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
1589
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1485
1590
  Rpcs.new parent_rpcs
1486
1591
  end
1487
1592
  end
@@ -1493,7 +1598,7 @@ module Google
1493
1598
  # Each configuration object is of type `Gapic::Config::Method` and includes
1494
1599
  # the following configuration fields:
1495
1600
  #
1496
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
1601
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
1497
1602
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1498
1603
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1499
1604
  # include the following keys:
@@ -1560,6 +1665,11 @@ module Google
1560
1665
  #
1561
1666
  attr_reader :run_build_trigger
1562
1667
  ##
1668
+ # RPC-specific configuration for `receive_trigger_webhook`
1669
+ # @return [::Gapic::Config::Method]
1670
+ #
1671
+ attr_reader :receive_trigger_webhook
1672
+ ##
1563
1673
  # RPC-specific configuration for `create_worker_pool`
1564
1674
  # @return [::Gapic::Config::Method]
1565
1675
  #
@@ -1587,37 +1697,39 @@ module Google
1587
1697
 
1588
1698
  # @private
1589
1699
  def initialize parent_rpcs = nil
1590
- create_build_config = parent_rpcs&.create_build if parent_rpcs&.respond_to? :create_build
1700
+ create_build_config = parent_rpcs.create_build if parent_rpcs.respond_to? :create_build
1591
1701
  @create_build = ::Gapic::Config::Method.new create_build_config
1592
- get_build_config = parent_rpcs&.get_build if parent_rpcs&.respond_to? :get_build
1702
+ get_build_config = parent_rpcs.get_build if parent_rpcs.respond_to? :get_build
1593
1703
  @get_build = ::Gapic::Config::Method.new get_build_config
1594
- list_builds_config = parent_rpcs&.list_builds if parent_rpcs&.respond_to? :list_builds
1704
+ list_builds_config = parent_rpcs.list_builds if parent_rpcs.respond_to? :list_builds
1595
1705
  @list_builds = ::Gapic::Config::Method.new list_builds_config
1596
- cancel_build_config = parent_rpcs&.cancel_build if parent_rpcs&.respond_to? :cancel_build
1706
+ cancel_build_config = parent_rpcs.cancel_build if parent_rpcs.respond_to? :cancel_build
1597
1707
  @cancel_build = ::Gapic::Config::Method.new cancel_build_config
1598
- retry_build_config = parent_rpcs&.retry_build if parent_rpcs&.respond_to? :retry_build
1708
+ retry_build_config = parent_rpcs.retry_build if parent_rpcs.respond_to? :retry_build
1599
1709
  @retry_build = ::Gapic::Config::Method.new retry_build_config
1600
- create_build_trigger_config = parent_rpcs&.create_build_trigger if parent_rpcs&.respond_to? :create_build_trigger
1710
+ create_build_trigger_config = parent_rpcs.create_build_trigger if parent_rpcs.respond_to? :create_build_trigger
1601
1711
  @create_build_trigger = ::Gapic::Config::Method.new create_build_trigger_config
1602
- get_build_trigger_config = parent_rpcs&.get_build_trigger if parent_rpcs&.respond_to? :get_build_trigger
1712
+ get_build_trigger_config = parent_rpcs.get_build_trigger if parent_rpcs.respond_to? :get_build_trigger
1603
1713
  @get_build_trigger = ::Gapic::Config::Method.new get_build_trigger_config
1604
- list_build_triggers_config = parent_rpcs&.list_build_triggers if parent_rpcs&.respond_to? :list_build_triggers
1714
+ list_build_triggers_config = parent_rpcs.list_build_triggers if parent_rpcs.respond_to? :list_build_triggers
1605
1715
  @list_build_triggers = ::Gapic::Config::Method.new list_build_triggers_config
1606
- delete_build_trigger_config = parent_rpcs&.delete_build_trigger if parent_rpcs&.respond_to? :delete_build_trigger
1716
+ delete_build_trigger_config = parent_rpcs.delete_build_trigger if parent_rpcs.respond_to? :delete_build_trigger
1607
1717
  @delete_build_trigger = ::Gapic::Config::Method.new delete_build_trigger_config
1608
- update_build_trigger_config = parent_rpcs&.update_build_trigger if parent_rpcs&.respond_to? :update_build_trigger
1718
+ update_build_trigger_config = parent_rpcs.update_build_trigger if parent_rpcs.respond_to? :update_build_trigger
1609
1719
  @update_build_trigger = ::Gapic::Config::Method.new update_build_trigger_config
1610
- run_build_trigger_config = parent_rpcs&.run_build_trigger if parent_rpcs&.respond_to? :run_build_trigger
1720
+ run_build_trigger_config = parent_rpcs.run_build_trigger if parent_rpcs.respond_to? :run_build_trigger
1611
1721
  @run_build_trigger = ::Gapic::Config::Method.new run_build_trigger_config
1612
- create_worker_pool_config = parent_rpcs&.create_worker_pool if parent_rpcs&.respond_to? :create_worker_pool
1722
+ receive_trigger_webhook_config = parent_rpcs.receive_trigger_webhook if parent_rpcs.respond_to? :receive_trigger_webhook
1723
+ @receive_trigger_webhook = ::Gapic::Config::Method.new receive_trigger_webhook_config
1724
+ create_worker_pool_config = parent_rpcs.create_worker_pool if parent_rpcs.respond_to? :create_worker_pool
1613
1725
  @create_worker_pool = ::Gapic::Config::Method.new create_worker_pool_config
1614
- get_worker_pool_config = parent_rpcs&.get_worker_pool if parent_rpcs&.respond_to? :get_worker_pool
1726
+ get_worker_pool_config = parent_rpcs.get_worker_pool if parent_rpcs.respond_to? :get_worker_pool
1615
1727
  @get_worker_pool = ::Gapic::Config::Method.new get_worker_pool_config
1616
- delete_worker_pool_config = parent_rpcs&.delete_worker_pool if parent_rpcs&.respond_to? :delete_worker_pool
1728
+ delete_worker_pool_config = parent_rpcs.delete_worker_pool if parent_rpcs.respond_to? :delete_worker_pool
1617
1729
  @delete_worker_pool = ::Gapic::Config::Method.new delete_worker_pool_config
1618
- update_worker_pool_config = parent_rpcs&.update_worker_pool if parent_rpcs&.respond_to? :update_worker_pool
1730
+ update_worker_pool_config = parent_rpcs.update_worker_pool if parent_rpcs.respond_to? :update_worker_pool
1619
1731
  @update_worker_pool = ::Gapic::Config::Method.new update_worker_pool_config
1620
- list_worker_pools_config = parent_rpcs&.list_worker_pools if parent_rpcs&.respond_to? :list_worker_pools
1732
+ list_worker_pools_config = parent_rpcs.list_worker_pools if parent_rpcs.respond_to? :list_worker_pools
1621
1733
  @list_worker_pools = ::Gapic::Config::Method.new list_worker_pools_config
1622
1734
 
1623
1735
  yield self if block_given?
@@ -103,8 +103,13 @@ module Google
103
103
  # Lists operations that match the specified filter in the request. If the
104
104
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
105
105
  #
106
- # NOTE: the `name` binding below allows API services to override the binding
107
- # to use different resource name schemes, such as `users/*/operations`.
106
+ # NOTE: the `name` binding allows API services to override the binding
107
+ # to use different resource name schemes, such as `users/*/operations`. To
108
+ # override the binding, API services can add a binding such as
109
+ # `"/v1/{name=users/*}/operations"` to their service configuration.
110
+ # For backwards compatibility, the default name includes the operations
111
+ # collection id, however overriding users must ensure the name binding
112
+ # is the parent resource, without the operations collection id.
108
113
  #
109
114
  # @overload list_operations(request, options = nil)
110
115
  # Pass arguments to `list_operations` via a request object, either of type
@@ -122,7 +127,7 @@ module Google
122
127
  # the default parameter values, pass an empty Hash as a request object (see above).
123
128
  #
124
129
  # @param name [::String]
125
- # The name of the operation collection.
130
+ # The name of the operation's parent resource.
126
131
  # @param filter [::String]
127
132
  # The standard list filter.
128
133
  # @param page_size [::Integer]
@@ -390,6 +395,79 @@ module Google
390
395
  raise ::Google::Cloud::Error.from_error(e)
391
396
  end
392
397
 
398
+ ##
399
+ # Waits for the specified long-running operation until it is done or reaches
400
+ # at most a specified timeout, returning the latest state. If the operation
401
+ # is already done, the latest state is immediately returned. If the timeout
402
+ # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
403
+ # timeout is used. If the server does not support this method, it returns
404
+ # `google.rpc.Code.UNIMPLEMENTED`.
405
+ # Note that this method is on a best-effort basis. It may return the latest
406
+ # state before the specified timeout (including immediately), meaning even an
407
+ # immediate response is no guarantee that the operation is done.
408
+ #
409
+ # @overload wait_operation(request, options = nil)
410
+ # Pass arguments to `wait_operation` via a request object, either of type
411
+ # {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
412
+ #
413
+ # @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
414
+ # A request object representing the call parameters. Required. To specify no
415
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
416
+ # @param options [::Gapic::CallOptions, ::Hash]
417
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
418
+ #
419
+ # @overload wait_operation(name: nil, timeout: nil)
420
+ # Pass arguments to `wait_operation` via keyword arguments. Note that at
421
+ # least one keyword argument is required. To specify no parameters, or to keep all
422
+ # the default parameter values, pass an empty Hash as a request object (see above).
423
+ #
424
+ # @param name [::String]
425
+ # The name of the operation resource to wait on.
426
+ # @param timeout [::Google::Protobuf::Duration, ::Hash]
427
+ # The maximum duration to wait before timing out. If left blank, the wait
428
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
429
+ # If RPC context deadline is also specified, the shorter one will be used.
430
+ #
431
+ # @yield [response, operation] Access the result along with the RPC operation
432
+ # @yieldparam response [::Gapic::Operation]
433
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
434
+ #
435
+ # @return [::Gapic::Operation]
436
+ #
437
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
438
+ #
439
+ def wait_operation request, options = nil
440
+ raise ::ArgumentError, "request must be provided" if request.nil?
441
+
442
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
443
+
444
+ # Converts hash and nil to an options object
445
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
446
+
447
+ # Customize the options with defaults
448
+ metadata = @config.rpcs.wait_operation.metadata.to_h
449
+
450
+ # Set x-goog-api-client and x-goog-user-project headers
451
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
452
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
453
+ gapic_version: ::Google::Cloud::Build::V1::VERSION
454
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
455
+
456
+ options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
457
+ metadata: metadata,
458
+ retry_policy: @config.rpcs.wait_operation.retry_policy
459
+ options.apply_defaults metadata: @config.metadata,
460
+ retry_policy: @config.retry_policy
461
+
462
+ @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
463
+ response = ::Gapic::Operation.new response, @operations_client, options: options
464
+ yield response, operation if block_given?
465
+ return response
466
+ end
467
+ rescue ::GRPC::BadStatus => e
468
+ raise ::Google::Cloud::Error.from_error(e)
469
+ end
470
+
393
471
  ##
394
472
  # Configuration class for the Operations API.
395
473
  #
@@ -482,7 +560,7 @@ module Google
482
560
  config_attr :scope, nil, ::String, ::Array, nil
483
561
  config_attr :lib_name, nil, ::String, nil
484
562
  config_attr :lib_version, nil, ::String, nil
485
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
563
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
486
564
  config_attr :interceptors, nil, ::Array, nil
487
565
  config_attr :timeout, nil, ::Numeric, nil
488
566
  config_attr :metadata, nil, ::Hash, nil
@@ -503,7 +581,7 @@ module Google
503
581
  def rpcs
504
582
  @rpcs ||= begin
505
583
  parent_rpcs = nil
506
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
584
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
507
585
  Rpcs.new parent_rpcs
508
586
  end
509
587
  end
@@ -515,7 +593,7 @@ module Google
515
593
  # Each configuration object is of type `Gapic::Config::Method` and includes
516
594
  # the following configuration fields:
517
595
  #
518
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
596
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
519
597
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
520
598
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
521
599
  # include the following keys:
@@ -546,17 +624,24 @@ module Google
546
624
  # @return [::Gapic::Config::Method]
547
625
  #
548
626
  attr_reader :cancel_operation
627
+ ##
628
+ # RPC-specific configuration for `wait_operation`
629
+ # @return [::Gapic::Config::Method]
630
+ #
631
+ attr_reader :wait_operation
549
632
 
550
633
  # @private
551
634
  def initialize parent_rpcs = nil
552
- list_operations_config = parent_rpcs&.list_operations if parent_rpcs&.respond_to? :list_operations
635
+ list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
553
636
  @list_operations = ::Gapic::Config::Method.new list_operations_config
554
- get_operation_config = parent_rpcs&.get_operation if parent_rpcs&.respond_to? :get_operation
637
+ get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
555
638
  @get_operation = ::Gapic::Config::Method.new get_operation_config
556
- delete_operation_config = parent_rpcs&.delete_operation if parent_rpcs&.respond_to? :delete_operation
639
+ delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
557
640
  @delete_operation = ::Gapic::Config::Method.new delete_operation_config
558
- cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
641
+ cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
559
642
  @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
643
+ wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
644
+ @wait_operation = ::Gapic::Config::Method.new wait_operation_config
560
645
 
561
646
  yield self if block_given?
562
647
  end