google-cloud-build-v1 0.2.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -67,7 +67,7 @@ module Google
67
67
  parent_config = while namespace.any?
68
68
  parent_name = namespace.join "::"
69
69
  parent_const = const_get parent_name
70
- break parent_const.configure if parent_const&.respond_to? :configure
70
+ break parent_const.configure if parent_const.respond_to? :configure
71
71
  namespace.pop
72
72
  end
73
73
  default_config = Client::Configuration.new parent_config
@@ -77,17 +77,17 @@ module Google
77
77
  default_config.rpcs.get_build.timeout = 600.0
78
78
  default_config.rpcs.get_build.retry_policy = {
79
79
  initial_delay: 0.1,
80
- max_delay: 60.0,
81
- multiplier: 1.3,
82
- retry_codes: [14, 4]
80
+ max_delay: 60.0,
81
+ multiplier: 1.3,
82
+ retry_codes: [14, 4]
83
83
  }
84
84
 
85
85
  default_config.rpcs.list_builds.timeout = 600.0
86
86
  default_config.rpcs.list_builds.retry_policy = {
87
87
  initial_delay: 0.1,
88
- max_delay: 60.0,
89
- multiplier: 1.3,
90
- retry_codes: [14, 4]
88
+ max_delay: 60.0,
89
+ multiplier: 1.3,
90
+ retry_codes: [14, 4]
91
91
  }
92
92
 
93
93
  default_config.rpcs.cancel_build.timeout = 600.0
@@ -99,25 +99,25 @@ module Google
99
99
  default_config.rpcs.get_build_trigger.timeout = 600.0
100
100
  default_config.rpcs.get_build_trigger.retry_policy = {
101
101
  initial_delay: 0.1,
102
- max_delay: 60.0,
103
- multiplier: 1.3,
104
- retry_codes: [14, 4]
102
+ max_delay: 60.0,
103
+ multiplier: 1.3,
104
+ retry_codes: [14, 4]
105
105
  }
106
106
 
107
107
  default_config.rpcs.list_build_triggers.timeout = 600.0
108
108
  default_config.rpcs.list_build_triggers.retry_policy = {
109
109
  initial_delay: 0.1,
110
- max_delay: 60.0,
111
- multiplier: 1.3,
112
- retry_codes: [14, 4]
110
+ max_delay: 60.0,
111
+ multiplier: 1.3,
112
+ retry_codes: [14, 4]
113
113
  }
114
114
 
115
115
  default_config.rpcs.delete_build_trigger.timeout = 600.0
116
116
  default_config.rpcs.delete_build_trigger.retry_policy = {
117
117
  initial_delay: 0.1,
118
- max_delay: 60.0,
119
- multiplier: 1.3,
120
- retry_codes: [14, 4]
118
+ max_delay: 60.0,
119
+ multiplier: 1.3,
120
+ retry_codes: [14, 4]
121
121
  }
122
122
 
123
123
  default_config.rpcs.update_build_trigger.timeout = 600.0
@@ -129,9 +129,9 @@ module Google
129
129
  default_config.rpcs.get_worker_pool.timeout = 600.0
130
130
  default_config.rpcs.get_worker_pool.retry_policy = {
131
131
  initial_delay: 0.1,
132
- max_delay: 60.0,
133
- multiplier: 1.3,
134
- retry_codes: [14, 4]
132
+ max_delay: 60.0,
133
+ multiplier: 1.3,
134
+ retry_codes: [14, 4]
135
135
  }
136
136
 
137
137
  default_config.rpcs.delete_worker_pool.timeout = 600.0
@@ -141,9 +141,9 @@ module Google
141
141
  default_config.rpcs.list_worker_pools.timeout = 600.0
142
142
  default_config.rpcs.list_worker_pools.retry_policy = {
143
143
  initial_delay: 0.1,
144
- max_delay: 60.0,
145
- multiplier: 1.3,
146
- retry_codes: [14, 4]
144
+ max_delay: 60.0,
145
+ multiplier: 1.3,
146
+ retry_codes: [14, 4]
147
147
  }
148
148
 
149
149
  default_config
@@ -207,7 +207,13 @@ module Google
207
207
 
208
208
  # Create credentials
209
209
  credentials = @config.credentials
210
- 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
211
217
  if credentials.is_a?(String) || credentials.is_a?(Hash)
212
218
  credentials = Credentials.new credentials, scope: @config.scope
213
219
  end
@@ -369,7 +375,7 @@ module Google
369
375
 
370
376
  header_params = {
371
377
  "project_id" => request.project_id,
372
- "id" => request.id
378
+ "id" => request.id
373
379
  }
374
380
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
375
381
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -417,7 +423,15 @@ module Google
417
423
  # @param page_size [::Integer]
418
424
  # Number of results to return in the list.
419
425
  # @param page_token [::String]
420
- # 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.
421
435
  # @param filter [::String]
422
436
  # The raw filter text to constrain the results.
423
437
  #
@@ -486,7 +500,7 @@ module Google
486
500
  # the default parameter values, pass an empty Hash as a request object (see above).
487
501
  #
488
502
  # @param name [::String]
489
- # The name of the `Build` to retrieve.
503
+ # The name of the `Build` to cancel.
490
504
  # Format: `projects/{project}/locations/{location}/builds/{build}`
491
505
  # @param project_id [::String]
492
506
  # Required. ID of the project.
@@ -520,7 +534,7 @@ module Google
520
534
 
521
535
  header_params = {
522
536
  "project_id" => request.project_id,
523
- "id" => request.id
537
+ "id" => request.id
524
538
  }
525
539
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
526
540
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -618,7 +632,7 @@ module Google
618
632
 
619
633
  header_params = {
620
634
  "project_id" => request.project_id,
621
- "id" => request.id
635
+ "id" => request.id
622
636
  }
623
637
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
624
638
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -1019,7 +1033,7 @@ module Google
1019
1033
  # @param trigger_id [::String]
1020
1034
  # Required. ID of the trigger.
1021
1035
  # @param source [::Google::Cloud::Build::V1::RepoSource, ::Hash]
1022
- # Required. Source to build against this trigger.
1036
+ # Source to build against this trigger.
1023
1037
  #
1024
1038
  # @yield [response, operation] Access the result along with the RPC operation
1025
1039
  # @yieldparam response [::Gapic::Operation]
@@ -1068,6 +1082,80 @@ module Google
1068
1082
  raise ::Google::Cloud::Error.from_error(e)
1069
1083
  end
1070
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
+
1071
1159
  ##
1072
1160
  # Creates a `WorkerPool` to run the builds, and returns the new worker pool.
1073
1161
  #
@@ -1477,7 +1565,7 @@ module Google
1477
1565
  config_attr :scope, nil, ::String, ::Array, nil
1478
1566
  config_attr :lib_name, nil, ::String, nil
1479
1567
  config_attr :lib_version, nil, ::String, nil
1480
- 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)
1481
1569
  config_attr :interceptors, nil, ::Array, nil
1482
1570
  config_attr :timeout, nil, ::Numeric, nil
1483
1571
  config_attr :metadata, nil, ::Hash, nil
@@ -1498,7 +1586,7 @@ module Google
1498
1586
  def rpcs
1499
1587
  @rpcs ||= begin
1500
1588
  parent_rpcs = nil
1501
- 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)
1502
1590
  Rpcs.new parent_rpcs
1503
1591
  end
1504
1592
  end
@@ -1577,6 +1665,11 @@ module Google
1577
1665
  #
1578
1666
  attr_reader :run_build_trigger
1579
1667
  ##
1668
+ # RPC-specific configuration for `receive_trigger_webhook`
1669
+ # @return [::Gapic::Config::Method]
1670
+ #
1671
+ attr_reader :receive_trigger_webhook
1672
+ ##
1580
1673
  # RPC-specific configuration for `create_worker_pool`
1581
1674
  # @return [::Gapic::Config::Method]
1582
1675
  #
@@ -1604,37 +1697,39 @@ module Google
1604
1697
 
1605
1698
  # @private
1606
1699
  def initialize parent_rpcs = nil
1607
- 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
1608
1701
  @create_build = ::Gapic::Config::Method.new create_build_config
1609
- 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
1610
1703
  @get_build = ::Gapic::Config::Method.new get_build_config
1611
- 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
1612
1705
  @list_builds = ::Gapic::Config::Method.new list_builds_config
1613
- 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
1614
1707
  @cancel_build = ::Gapic::Config::Method.new cancel_build_config
1615
- 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
1616
1709
  @retry_build = ::Gapic::Config::Method.new retry_build_config
1617
- 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
1618
1711
  @create_build_trigger = ::Gapic::Config::Method.new create_build_trigger_config
1619
- 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
1620
1713
  @get_build_trigger = ::Gapic::Config::Method.new get_build_trigger_config
1621
- 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
1622
1715
  @list_build_triggers = ::Gapic::Config::Method.new list_build_triggers_config
1623
- 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
1624
1717
  @delete_build_trigger = ::Gapic::Config::Method.new delete_build_trigger_config
1625
- 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
1626
1719
  @update_build_trigger = ::Gapic::Config::Method.new update_build_trigger_config
1627
- 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
1628
1721
  @run_build_trigger = ::Gapic::Config::Method.new run_build_trigger_config
1629
- 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
1630
1725
  @create_worker_pool = ::Gapic::Config::Method.new create_worker_pool_config
1631
- 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
1632
1727
  @get_worker_pool = ::Gapic::Config::Method.new get_worker_pool_config
1633
- 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
1634
1729
  @delete_worker_pool = ::Gapic::Config::Method.new delete_worker_pool_config
1635
- 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
1636
1731
  @update_worker_pool = ::Gapic::Config::Method.new update_worker_pool_config
1637
- 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
1638
1733
  @list_worker_pools = ::Gapic::Config::Method.new list_worker_pools_config
1639
1734
 
1640
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
@@ -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