google-cloud-network_connectivity-v1 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,749 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright 2022 Google LLC
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # https://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
-
19
- require "google/cloud/errors"
20
- require "google/cloud/networkconnectivity/v1/policy_based_routing_pb"
21
-
22
- module Google
23
- module Cloud
24
- module NetworkConnectivity
25
- module V1
26
- module PolicyBasedRoutingService
27
- ##
28
- # Client for the PolicyBasedRoutingService service.
29
- #
30
- # Policy-Based Routing allows GCP customers to specify flexibile routing
31
- # policies for Layer 4 traffic traversing through the connected service.
32
- #
33
- class Client
34
- include Paths
35
-
36
- # @private
37
- attr_reader :policy_based_routing_service_stub
38
-
39
- ##
40
- # Configure the PolicyBasedRoutingService Client class.
41
- #
42
- # See {::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client::Configuration}
43
- # for a description of the configuration fields.
44
- #
45
- # @example
46
- #
47
- # # Modify the configuration for all PolicyBasedRoutingService clients
48
- # ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.configure do |config|
49
- # config.timeout = 10.0
50
- # end
51
- #
52
- # @yield [config] Configure the Client client.
53
- # @yieldparam config [Client::Configuration]
54
- #
55
- # @return [Client::Configuration]
56
- #
57
- def self.configure
58
- @configure ||= begin
59
- namespace = ["Google", "Cloud", "NetworkConnectivity", "V1"]
60
- parent_config = while namespace.any?
61
- parent_name = namespace.join "::"
62
- parent_const = const_get parent_name
63
- break parent_const.configure if parent_const.respond_to? :configure
64
- namespace.pop
65
- end
66
- default_config = Client::Configuration.new parent_config
67
-
68
- default_config.timeout = 60.0
69
- default_config.retry_policy = {
70
- initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
71
- }
72
-
73
- default_config.rpcs.create_policy_based_route.timeout = 60.0
74
-
75
- default_config.rpcs.delete_policy_based_route.timeout = 60.0
76
-
77
- default_config
78
- end
79
- yield @configure if block_given?
80
- @configure
81
- end
82
-
83
- ##
84
- # Configure the PolicyBasedRoutingService Client instance.
85
- #
86
- # The configuration is set to the derived mode, meaning that values can be changed,
87
- # but structural changes (adding new fields, etc.) are not allowed. Structural changes
88
- # should be made on {Client.configure}.
89
- #
90
- # See {::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client::Configuration}
91
- # for a description of the configuration fields.
92
- #
93
- # @yield [config] Configure the Client client.
94
- # @yieldparam config [Client::Configuration]
95
- #
96
- # @return [Client::Configuration]
97
- #
98
- def configure
99
- yield @config if block_given?
100
- @config
101
- end
102
-
103
- ##
104
- # Create a new PolicyBasedRoutingService client object.
105
- #
106
- # @example
107
- #
108
- # # Create a client using the default configuration
109
- # client = ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new
110
- #
111
- # # Create a client using a custom configuration
112
- # client = ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new do |config|
113
- # config.timeout = 10.0
114
- # end
115
- #
116
- # @yield [config] Configure the PolicyBasedRoutingService client.
117
- # @yieldparam config [Client::Configuration]
118
- #
119
- def initialize
120
- # These require statements are intentionally placed here to initialize
121
- # the gRPC module only when it's required.
122
- # See https://github.com/googleapis/toolkit/issues/446
123
- require "gapic/grpc"
124
- require "google/cloud/networkconnectivity/v1/policy_based_routing_services_pb"
125
-
126
- # Create the configuration object
127
- @config = Configuration.new Client.configure
128
-
129
- # Yield the configuration if needed
130
- yield @config if block_given?
131
-
132
- # Create credentials
133
- credentials = @config.credentials
134
- # Use self-signed JWT if the endpoint is unchanged from default,
135
- # but only if the default endpoint does not have a region prefix.
136
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
137
- !@config.endpoint.split(".").first.include?("-")
138
- credentials ||= Credentials.default scope: @config.scope,
139
- enable_self_signed_jwt: enable_self_signed_jwt
140
- if credentials.is_a?(::String) || credentials.is_a?(::Hash)
141
- credentials = Credentials.new credentials, scope: @config.scope
142
- end
143
- @quota_project_id = @config.quota_project
144
- @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
145
-
146
- @operations_client = Operations.new do |config|
147
- config.credentials = credentials
148
- config.quota_project = @quota_project_id
149
- config.endpoint = @config.endpoint
150
- end
151
-
152
- @policy_based_routing_service_stub = ::Gapic::ServiceStub.new(
153
- ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Stub,
154
- credentials: credentials,
155
- endpoint: @config.endpoint,
156
- channel_args: @config.channel_args,
157
- interceptors: @config.interceptors
158
- )
159
- end
160
-
161
- ##
162
- # Get the associated client for long-running operations.
163
- #
164
- # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Operations]
165
- #
166
- attr_reader :operations_client
167
-
168
- # Service calls
169
-
170
- ##
171
- # Lists PolicyBasedRoutes in a given project and location.
172
- #
173
- # @overload list_policy_based_routes(request, options = nil)
174
- # Pass arguments to `list_policy_based_routes` via a request object, either of type
175
- # {::Google::Cloud::NetworkConnectivity::V1::ListPolicyBasedRoutesRequest} or an equivalent Hash.
176
- #
177
- # @param request [::Google::Cloud::NetworkConnectivity::V1::ListPolicyBasedRoutesRequest, ::Hash]
178
- # A request object representing the call parameters. Required. To specify no
179
- # parameters, or to keep all the default parameter values, pass an empty Hash.
180
- # @param options [::Gapic::CallOptions, ::Hash]
181
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
182
- #
183
- # @overload list_policy_based_routes(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
184
- # Pass arguments to `list_policy_based_routes` via keyword arguments. Note that at
185
- # least one keyword argument is required. To specify no parameters, or to keep all
186
- # the default parameter values, pass an empty Hash as a request object (see above).
187
- #
188
- # @param parent [::String]
189
- # Required. The parent resource's name.
190
- # @param page_size [::Integer]
191
- # The maximum number of results per page that should be returned.
192
- # @param page_token [::String]
193
- # The page token.
194
- # @param filter [::String]
195
- # A filter expression that filters the results listed in the response.
196
- # @param order_by [::String]
197
- # Sort the results by a certain order.
198
- #
199
- # @yield [response, operation] Access the result along with the RPC operation
200
- # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute>]
201
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
202
- #
203
- # @return [::Gapic::PagedEnumerable<::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute>]
204
- #
205
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
206
- #
207
- # @example Basic example
208
- # require "google/cloud/network_connectivity/v1"
209
- #
210
- # # Create a client object. The client can be reused for multiple calls.
211
- # client = Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new
212
- #
213
- # # Create a request. To set request fields, pass in keyword arguments.
214
- # request = Google::Cloud::NetworkConnectivity::V1::ListPolicyBasedRoutesRequest.new
215
- #
216
- # # Call the list_policy_based_routes method.
217
- # result = client.list_policy_based_routes request
218
- #
219
- # # The returned object is of type Gapic::PagedEnumerable. You can
220
- # # iterate over all elements by calling #each, and the enumerable
221
- # # will lazily make API calls to fetch subsequent pages. Other
222
- # # methods are also available for managing paging directly.
223
- # result.each do |response|
224
- # # Each element is of type ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute.
225
- # p response
226
- # end
227
- #
228
- def list_policy_based_routes request, options = nil
229
- raise ::ArgumentError, "request must be provided" if request.nil?
230
-
231
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkConnectivity::V1::ListPolicyBasedRoutesRequest
232
-
233
- # Converts hash and nil to an options object
234
- options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
235
-
236
- # Customize the options with defaults
237
- metadata = @config.rpcs.list_policy_based_routes.metadata.to_h
238
-
239
- # Set x-goog-api-client and x-goog-user-project headers
240
- metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
241
- lib_name: @config.lib_name, lib_version: @config.lib_version,
242
- gapic_version: ::Google::Cloud::NetworkConnectivity::V1::VERSION
243
- metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
244
-
245
- header_params = {}
246
- if request.parent
247
- header_params["parent"] = request.parent
248
- end
249
-
250
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
251
- metadata[:"x-goog-request-params"] ||= request_params_header
252
-
253
- options.apply_defaults timeout: @config.rpcs.list_policy_based_routes.timeout,
254
- metadata: metadata,
255
- retry_policy: @config.rpcs.list_policy_based_routes.retry_policy
256
-
257
- options.apply_defaults timeout: @config.timeout,
258
- metadata: @config.metadata,
259
- retry_policy: @config.retry_policy
260
-
261
- @policy_based_routing_service_stub.call_rpc :list_policy_based_routes, request, options: options do |response, operation|
262
- response = ::Gapic::PagedEnumerable.new @policy_based_routing_service_stub, :list_policy_based_routes, request, response, operation, options
263
- yield response, operation if block_given?
264
- return response
265
- end
266
- rescue ::GRPC::BadStatus => e
267
- raise ::Google::Cloud::Error.from_error(e)
268
- end
269
-
270
- ##
271
- # Gets details of a single PolicyBasedRoute.
272
- #
273
- # @overload get_policy_based_route(request, options = nil)
274
- # Pass arguments to `get_policy_based_route` via a request object, either of type
275
- # {::Google::Cloud::NetworkConnectivity::V1::GetPolicyBasedRouteRequest} or an equivalent Hash.
276
- #
277
- # @param request [::Google::Cloud::NetworkConnectivity::V1::GetPolicyBasedRouteRequest, ::Hash]
278
- # A request object representing the call parameters. Required. To specify no
279
- # parameters, or to keep all the default parameter values, pass an empty Hash.
280
- # @param options [::Gapic::CallOptions, ::Hash]
281
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
282
- #
283
- # @overload get_policy_based_route(name: nil)
284
- # Pass arguments to `get_policy_based_route` via keyword arguments. Note that at
285
- # least one keyword argument is required. To specify no parameters, or to keep all
286
- # the default parameter values, pass an empty Hash as a request object (see above).
287
- #
288
- # @param name [::String]
289
- # Required. Name of the PolicyBasedRoute resource to get.
290
- #
291
- # @yield [response, operation] Access the result along with the RPC operation
292
- # @yieldparam response [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute]
293
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
294
- #
295
- # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute]
296
- #
297
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
298
- #
299
- # @example Basic example
300
- # require "google/cloud/network_connectivity/v1"
301
- #
302
- # # Create a client object. The client can be reused for multiple calls.
303
- # client = Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new
304
- #
305
- # # Create a request. To set request fields, pass in keyword arguments.
306
- # request = Google::Cloud::NetworkConnectivity::V1::GetPolicyBasedRouteRequest.new
307
- #
308
- # # Call the get_policy_based_route method.
309
- # result = client.get_policy_based_route request
310
- #
311
- # # The returned object is of type Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute.
312
- # p result
313
- #
314
- def get_policy_based_route request, options = nil
315
- raise ::ArgumentError, "request must be provided" if request.nil?
316
-
317
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkConnectivity::V1::GetPolicyBasedRouteRequest
318
-
319
- # Converts hash and nil to an options object
320
- options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
321
-
322
- # Customize the options with defaults
323
- metadata = @config.rpcs.get_policy_based_route.metadata.to_h
324
-
325
- # Set x-goog-api-client and x-goog-user-project headers
326
- metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
327
- lib_name: @config.lib_name, lib_version: @config.lib_version,
328
- gapic_version: ::Google::Cloud::NetworkConnectivity::V1::VERSION
329
- metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
330
-
331
- header_params = {}
332
- if request.name
333
- header_params["name"] = request.name
334
- end
335
-
336
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
337
- metadata[:"x-goog-request-params"] ||= request_params_header
338
-
339
- options.apply_defaults timeout: @config.rpcs.get_policy_based_route.timeout,
340
- metadata: metadata,
341
- retry_policy: @config.rpcs.get_policy_based_route.retry_policy
342
-
343
- options.apply_defaults timeout: @config.timeout,
344
- metadata: @config.metadata,
345
- retry_policy: @config.retry_policy
346
-
347
- @policy_based_routing_service_stub.call_rpc :get_policy_based_route, request, options: options do |response, operation|
348
- yield response, operation if block_given?
349
- return response
350
- end
351
- rescue ::GRPC::BadStatus => e
352
- raise ::Google::Cloud::Error.from_error(e)
353
- end
354
-
355
- ##
356
- # Creates a new PolicyBasedRoute in a given project and location.
357
- #
358
- # @overload create_policy_based_route(request, options = nil)
359
- # Pass arguments to `create_policy_based_route` via a request object, either of type
360
- # {::Google::Cloud::NetworkConnectivity::V1::CreatePolicyBasedRouteRequest} or an equivalent Hash.
361
- #
362
- # @param request [::Google::Cloud::NetworkConnectivity::V1::CreatePolicyBasedRouteRequest, ::Hash]
363
- # A request object representing the call parameters. Required. To specify no
364
- # parameters, or to keep all the default parameter values, pass an empty Hash.
365
- # @param options [::Gapic::CallOptions, ::Hash]
366
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
367
- #
368
- # @overload create_policy_based_route(parent: nil, policy_based_route_id: nil, policy_based_route: nil, request_id: nil)
369
- # Pass arguments to `create_policy_based_route` via keyword arguments. Note that at
370
- # least one keyword argument is required. To specify no parameters, or to keep all
371
- # the default parameter values, pass an empty Hash as a request object (see above).
372
- #
373
- # @param parent [::String]
374
- # Required. The parent resource's name of the PolicyBasedRoute.
375
- # @param policy_based_route_id [::String]
376
- # Optional. Unique id for the Policy Based Route to create.
377
- # @param policy_based_route [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute, ::Hash]
378
- # Required. Initial values for a new Policy Based Route.
379
- # @param request_id [::String]
380
- # Optional. An optional request ID to identify requests. Specify a unique request ID
381
- # so that if you must retry your request, the server will know to ignore
382
- # the request if it has already been completed. The server will guarantee
383
- # that for at least 60 minutes since the first request.
384
- #
385
- # For example, consider a situation where you make an initial request and t
386
- # he request times out. If you make the request again with the same request
387
- # ID, the server can check if original operation with the same request ID
388
- # was received, and if so, will ignore the second request. This prevents
389
- # clients from accidentally creating duplicate commitments.
390
- #
391
- # The request ID must be a valid UUID with the exception that zero UUID is
392
- # not supported (00000000-0000-0000-0000-000000000000).
393
- #
394
- # @yield [response, operation] Access the result along with the RPC operation
395
- # @yieldparam response [::Gapic::Operation]
396
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
397
- #
398
- # @return [::Gapic::Operation]
399
- #
400
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
401
- #
402
- # @example Basic example
403
- # require "google/cloud/network_connectivity/v1"
404
- #
405
- # # Create a client object. The client can be reused for multiple calls.
406
- # client = Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new
407
- #
408
- # # Create a request. To set request fields, pass in keyword arguments.
409
- # request = Google::Cloud::NetworkConnectivity::V1::CreatePolicyBasedRouteRequest.new
410
- #
411
- # # Call the create_policy_based_route method.
412
- # result = client.create_policy_based_route request
413
- #
414
- # # The returned object is of type Gapic::Operation. You can use this
415
- # # object to check the status of an operation, cancel it, or wait
416
- # # for results. Here is how to block until completion:
417
- # result.wait_until_done! timeout: 60
418
- # if result.response?
419
- # p result.response
420
- # else
421
- # puts "Error!"
422
- # end
423
- #
424
- def create_policy_based_route request, options = nil
425
- raise ::ArgumentError, "request must be provided" if request.nil?
426
-
427
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkConnectivity::V1::CreatePolicyBasedRouteRequest
428
-
429
- # Converts hash and nil to an options object
430
- options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
431
-
432
- # Customize the options with defaults
433
- metadata = @config.rpcs.create_policy_based_route.metadata.to_h
434
-
435
- # Set x-goog-api-client and x-goog-user-project headers
436
- metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
437
- lib_name: @config.lib_name, lib_version: @config.lib_version,
438
- gapic_version: ::Google::Cloud::NetworkConnectivity::V1::VERSION
439
- metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
440
-
441
- header_params = {}
442
- if request.parent
443
- header_params["parent"] = request.parent
444
- end
445
-
446
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
447
- metadata[:"x-goog-request-params"] ||= request_params_header
448
-
449
- options.apply_defaults timeout: @config.rpcs.create_policy_based_route.timeout,
450
- metadata: metadata,
451
- retry_policy: @config.rpcs.create_policy_based_route.retry_policy
452
-
453
- options.apply_defaults timeout: @config.timeout,
454
- metadata: @config.metadata,
455
- retry_policy: @config.retry_policy
456
-
457
- @policy_based_routing_service_stub.call_rpc :create_policy_based_route, request, options: options do |response, operation|
458
- response = ::Gapic::Operation.new response, @operations_client, options: options
459
- yield response, operation if block_given?
460
- return response
461
- end
462
- rescue ::GRPC::BadStatus => e
463
- raise ::Google::Cloud::Error.from_error(e)
464
- end
465
-
466
- ##
467
- # Deletes a single PolicyBasedRoute.
468
- #
469
- # @overload delete_policy_based_route(request, options = nil)
470
- # Pass arguments to `delete_policy_based_route` via a request object, either of type
471
- # {::Google::Cloud::NetworkConnectivity::V1::DeletePolicyBasedRouteRequest} or an equivalent Hash.
472
- #
473
- # @param request [::Google::Cloud::NetworkConnectivity::V1::DeletePolicyBasedRouteRequest, ::Hash]
474
- # A request object representing the call parameters. Required. To specify no
475
- # parameters, or to keep all the default parameter values, pass an empty Hash.
476
- # @param options [::Gapic::CallOptions, ::Hash]
477
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
478
- #
479
- # @overload delete_policy_based_route(name: nil, request_id: nil)
480
- # Pass arguments to `delete_policy_based_route` via keyword arguments. Note that at
481
- # least one keyword argument is required. To specify no parameters, or to keep all
482
- # the default parameter values, pass an empty Hash as a request object (see above).
483
- #
484
- # @param name [::String]
485
- # Required. Name of the PolicyBasedRoute resource to delete.
486
- # @param request_id [::String]
487
- # Optional. An optional request ID to identify requests. Specify a unique request ID
488
- # so that if you must retry your request, the server will know to ignore
489
- # the request if it has already been completed. The server will guarantee
490
- # that for at least 60 minutes after the first request.
491
- #
492
- # For example, consider a situation where you make an initial request and t
493
- # he request times out. If you make the request again with the same request
494
- # ID, the server can check if original operation with the same request ID
495
- # was received, and if so, will ignore the second request. This prevents
496
- # clients from accidentally creating duplicate commitments.
497
- #
498
- # The request ID must be a valid UUID with the exception that zero UUID is
499
- # not supported (00000000-0000-0000-0000-000000000000).
500
- #
501
- # @yield [response, operation] Access the result along with the RPC operation
502
- # @yieldparam response [::Gapic::Operation]
503
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
504
- #
505
- # @return [::Gapic::Operation]
506
- #
507
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
508
- #
509
- # @example Basic example
510
- # require "google/cloud/network_connectivity/v1"
511
- #
512
- # # Create a client object. The client can be reused for multiple calls.
513
- # client = Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new
514
- #
515
- # # Create a request. To set request fields, pass in keyword arguments.
516
- # request = Google::Cloud::NetworkConnectivity::V1::DeletePolicyBasedRouteRequest.new
517
- #
518
- # # Call the delete_policy_based_route method.
519
- # result = client.delete_policy_based_route request
520
- #
521
- # # The returned object is of type Gapic::Operation. You can use this
522
- # # object to check the status of an operation, cancel it, or wait
523
- # # for results. Here is how to block until completion:
524
- # result.wait_until_done! timeout: 60
525
- # if result.response?
526
- # p result.response
527
- # else
528
- # puts "Error!"
529
- # end
530
- #
531
- def delete_policy_based_route request, options = nil
532
- raise ::ArgumentError, "request must be provided" if request.nil?
533
-
534
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkConnectivity::V1::DeletePolicyBasedRouteRequest
535
-
536
- # Converts hash and nil to an options object
537
- options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
538
-
539
- # Customize the options with defaults
540
- metadata = @config.rpcs.delete_policy_based_route.metadata.to_h
541
-
542
- # Set x-goog-api-client and x-goog-user-project headers
543
- metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
544
- lib_name: @config.lib_name, lib_version: @config.lib_version,
545
- gapic_version: ::Google::Cloud::NetworkConnectivity::V1::VERSION
546
- metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
547
-
548
- header_params = {}
549
- if request.name
550
- header_params["name"] = request.name
551
- end
552
-
553
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
554
- metadata[:"x-goog-request-params"] ||= request_params_header
555
-
556
- options.apply_defaults timeout: @config.rpcs.delete_policy_based_route.timeout,
557
- metadata: metadata,
558
- retry_policy: @config.rpcs.delete_policy_based_route.retry_policy
559
-
560
- options.apply_defaults timeout: @config.timeout,
561
- metadata: @config.metadata,
562
- retry_policy: @config.retry_policy
563
-
564
- @policy_based_routing_service_stub.call_rpc :delete_policy_based_route, request, options: options do |response, operation|
565
- response = ::Gapic::Operation.new response, @operations_client, options: options
566
- yield response, operation if block_given?
567
- return response
568
- end
569
- rescue ::GRPC::BadStatus => e
570
- raise ::Google::Cloud::Error.from_error(e)
571
- end
572
-
573
- ##
574
- # Configuration class for the PolicyBasedRoutingService API.
575
- #
576
- # This class represents the configuration for PolicyBasedRoutingService,
577
- # providing control over timeouts, retry behavior, logging, transport
578
- # parameters, and other low-level controls. Certain parameters can also be
579
- # applied individually to specific RPCs. See
580
- # {::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client::Configuration::Rpcs}
581
- # for a list of RPCs that can be configured independently.
582
- #
583
- # Configuration can be applied globally to all clients, or to a single client
584
- # on construction.
585
- #
586
- # @example
587
- #
588
- # # Modify the global config, setting the timeout for
589
- # # list_policy_based_routes to 20 seconds,
590
- # # and all remaining timeouts to 10 seconds.
591
- # ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.configure do |config|
592
- # config.timeout = 10.0
593
- # config.rpcs.list_policy_based_routes.timeout = 20.0
594
- # end
595
- #
596
- # # Apply the above configuration only to a new client.
597
- # client = ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new do |config|
598
- # config.timeout = 10.0
599
- # config.rpcs.list_policy_based_routes.timeout = 20.0
600
- # end
601
- #
602
- # @!attribute [rw] endpoint
603
- # The hostname or hostname:port of the service endpoint.
604
- # Defaults to `"networkconnectivity.googleapis.com"`.
605
- # @return [::String]
606
- # @!attribute [rw] credentials
607
- # Credentials to send with calls. You may provide any of the following types:
608
- # * (`String`) The path to a service account key file in JSON format
609
- # * (`Hash`) A service account key as a Hash
610
- # * (`Google::Auth::Credentials`) A googleauth credentials object
611
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
612
- # * (`Signet::OAuth2::Client`) A signet oauth2 client object
613
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
614
- # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
615
- # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
616
- # * (`nil`) indicating no credentials
617
- # @return [::Object]
618
- # @!attribute [rw] scope
619
- # The OAuth scopes
620
- # @return [::Array<::String>]
621
- # @!attribute [rw] lib_name
622
- # The library name as recorded in instrumentation and logging
623
- # @return [::String]
624
- # @!attribute [rw] lib_version
625
- # The library version as recorded in instrumentation and logging
626
- # @return [::String]
627
- # @!attribute [rw] channel_args
628
- # Extra parameters passed to the gRPC channel. Note: this is ignored if a
629
- # `GRPC::Core::Channel` object is provided as the credential.
630
- # @return [::Hash]
631
- # @!attribute [rw] interceptors
632
- # An array of interceptors that are run before calls are executed.
633
- # @return [::Array<::GRPC::ClientInterceptor>]
634
- # @!attribute [rw] timeout
635
- # The call timeout in seconds.
636
- # @return [::Numeric]
637
- # @!attribute [rw] metadata
638
- # Additional gRPC headers to be sent with the call.
639
- # @return [::Hash{::Symbol=>::String}]
640
- # @!attribute [rw] retry_policy
641
- # The retry policy. The value is a hash with the following keys:
642
- # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
643
- # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
644
- # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
645
- # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
646
- # trigger a retry.
647
- # @return [::Hash]
648
- # @!attribute [rw] quota_project
649
- # A separate project against which to charge quota.
650
- # @return [::String]
651
- #
652
- class Configuration
653
- extend ::Gapic::Config
654
-
655
- config_attr :endpoint, "networkconnectivity.googleapis.com", ::String
656
- config_attr :credentials, nil do |value|
657
- allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
658
- allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
659
- allowed.any? { |klass| klass === value }
660
- end
661
- config_attr :scope, nil, ::String, ::Array, nil
662
- config_attr :lib_name, nil, ::String, nil
663
- config_attr :lib_version, nil, ::String, nil
664
- config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
665
- config_attr :interceptors, nil, ::Array, nil
666
- config_attr :timeout, nil, ::Numeric, nil
667
- config_attr :metadata, nil, ::Hash, nil
668
- config_attr :retry_policy, nil, ::Hash, ::Proc, nil
669
- config_attr :quota_project, nil, ::String, nil
670
-
671
- # @private
672
- def initialize parent_config = nil
673
- @parent_config = parent_config unless parent_config.nil?
674
-
675
- yield self if block_given?
676
- end
677
-
678
- ##
679
- # Configurations for individual RPCs
680
- # @return [Rpcs]
681
- #
682
- def rpcs
683
- @rpcs ||= begin
684
- parent_rpcs = nil
685
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
686
- Rpcs.new parent_rpcs
687
- end
688
- end
689
-
690
- ##
691
- # Configuration RPC class for the PolicyBasedRoutingService API.
692
- #
693
- # Includes fields providing the configuration for each RPC in this service.
694
- # Each configuration object is of type `Gapic::Config::Method` and includes
695
- # the following configuration fields:
696
- #
697
- # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
698
- # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
699
- # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
700
- # include the following keys:
701
- # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
702
- # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
703
- # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
704
- # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
705
- # trigger a retry.
706
- #
707
- class Rpcs
708
- ##
709
- # RPC-specific configuration for `list_policy_based_routes`
710
- # @return [::Gapic::Config::Method]
711
- #
712
- attr_reader :list_policy_based_routes
713
- ##
714
- # RPC-specific configuration for `get_policy_based_route`
715
- # @return [::Gapic::Config::Method]
716
- #
717
- attr_reader :get_policy_based_route
718
- ##
719
- # RPC-specific configuration for `create_policy_based_route`
720
- # @return [::Gapic::Config::Method]
721
- #
722
- attr_reader :create_policy_based_route
723
- ##
724
- # RPC-specific configuration for `delete_policy_based_route`
725
- # @return [::Gapic::Config::Method]
726
- #
727
- attr_reader :delete_policy_based_route
728
-
729
- # @private
730
- def initialize parent_rpcs = nil
731
- list_policy_based_routes_config = parent_rpcs.list_policy_based_routes if parent_rpcs.respond_to? :list_policy_based_routes
732
- @list_policy_based_routes = ::Gapic::Config::Method.new list_policy_based_routes_config
733
- get_policy_based_route_config = parent_rpcs.get_policy_based_route if parent_rpcs.respond_to? :get_policy_based_route
734
- @get_policy_based_route = ::Gapic::Config::Method.new get_policy_based_route_config
735
- create_policy_based_route_config = parent_rpcs.create_policy_based_route if parent_rpcs.respond_to? :create_policy_based_route
736
- @create_policy_based_route = ::Gapic::Config::Method.new create_policy_based_route_config
737
- delete_policy_based_route_config = parent_rpcs.delete_policy_based_route if parent_rpcs.respond_to? :delete_policy_based_route
738
- @delete_policy_based_route = ::Gapic::Config::Method.new delete_policy_based_route_config
739
-
740
- yield self if block_given?
741
- end
742
- end
743
- end
744
- end
745
- end
746
- end
747
- end
748
- end
749
- end