google-cloud-build-v1 0.2.1 → 0.7.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.
@@ -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