google-cloud-network_services-v1 2.0.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/network_services/v1/network_services/client.rb +1188 -140
  3. data/lib/google/cloud/network_services/v1/network_services/paths.rb +175 -0
  4. data/lib/google/cloud/network_services/v1/network_services/rest/client.rb +1115 -137
  5. data/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb +613 -0
  6. data/lib/google/cloud/network_services/v1/version.rb +1 -1
  7. data/lib/google/cloud/networkservices/v1/common_pb.rb +2 -1
  8. data/lib/google/cloud/networkservices/v1/endpoint_policy_pb.rb +1 -1
  9. data/lib/google/cloud/networkservices/v1/gateway_pb.rb +4 -1
  10. data/lib/google/cloud/networkservices/v1/grpc_route_pb.rb +2 -1
  11. data/lib/google/cloud/networkservices/v1/http_route_pb.rb +3 -1
  12. data/lib/google/cloud/networkservices/v1/mesh_pb.rb +2 -1
  13. data/lib/google/cloud/networkservices/v1/network_services_pb.rb +4 -1
  14. data/lib/google/cloud/networkservices/v1/network_services_services_pb.rb +20 -0
  15. data/lib/google/cloud/networkservices/v1/route_view_pb.rb +52 -0
  16. data/lib/google/cloud/networkservices/v1/service_binding_pb.rb +4 -1
  17. data/lib/google/cloud/networkservices/v1/service_lb_policy_pb.rb +58 -0
  18. data/lib/google/cloud/networkservices/v1/tcp_route_pb.rb +3 -1
  19. data/lib/google/cloud/networkservices/v1/tls_route_pb.rb +3 -1
  20. data/proto_docs/google/cloud/networkservices/v1/common.rb +18 -1
  21. data/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb +12 -1
  22. data/proto_docs/google/cloud/networkservices/v1/gateway.rb +96 -8
  23. data/proto_docs/google/cloud/networkservices/v1/grpc_route.rb +51 -7
  24. data/proto_docs/google/cloud/networkservices/v1/http_route.rb +86 -1
  25. data/proto_docs/google/cloud/networkservices/v1/mesh.rb +16 -1
  26. data/proto_docs/google/cloud/networkservices/v1/route_view.rb +168 -0
  27. data/proto_docs/google/cloud/networkservices/v1/service_binding.rb +47 -10
  28. data/proto_docs/google/cloud/networkservices/v1/service_lb_policy.rb +217 -0
  29. data/proto_docs/google/cloud/networkservices/v1/tcp_route.rb +23 -7
  30. data/proto_docs/google/cloud/networkservices/v1/tls_route.rb +35 -6
  31. metadata +19 -33
@@ -244,7 +244,7 @@ module Google
244
244
  # @param options [::Gapic::CallOptions, ::Hash]
245
245
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
246
246
  #
247
- # @overload list_endpoint_policies(parent: nil, page_size: nil, page_token: nil)
247
+ # @overload list_endpoint_policies(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil)
248
248
  # Pass arguments to `list_endpoint_policies` via keyword arguments. Note that at
249
249
  # least one keyword argument is required. To specify no parameters, or to keep all
250
250
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -259,6 +259,10 @@ module Google
259
259
  # Indicates that this is a continuation of a prior
260
260
  # `ListEndpointPolicies` call, and that the system should return the
261
261
  # next page of data.
262
+ # @param return_partial_success [::Boolean]
263
+ # Optional. If true, allow partial responses for multi-regional Aggregated
264
+ # List requests. Otherwise if one of the locations is down or unreachable,
265
+ # the Aggregated List request will fail.
262
266
  #
263
267
  # @yield [response, operation] Access the result along with the RPC operation
264
268
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::EndpointPolicy>]
@@ -1202,7 +1206,7 @@ module Google
1202
1206
  # @param options [::Gapic::CallOptions, ::Hash]
1203
1207
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1204
1208
  #
1205
- # @overload list_grpc_routes(parent: nil, page_size: nil, page_token: nil)
1209
+ # @overload list_grpc_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil)
1206
1210
  # Pass arguments to `list_grpc_routes` via keyword arguments. Note that at
1207
1211
  # least one keyword argument is required. To specify no parameters, or to keep all
1208
1212
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1216,6 +1220,10 @@ module Google
1216
1220
  # The value returned by the last `ListGrpcRoutesResponse`
1217
1221
  # Indicates that this is a continuation of a prior `ListGrpcRoutes` call,
1218
1222
  # and that the system should return the next page of data.
1223
+ # @param return_partial_success [::Boolean]
1224
+ # Optional. If true, allow partial responses for multi-regional Aggregated
1225
+ # List requests. Otherwise if one of the locations is down or unreachable,
1226
+ # the Aggregated List request will fail.
1219
1227
  #
1220
1228
  # @yield [response, operation] Access the result along with the RPC operation
1221
1229
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::GrpcRoute>]
@@ -1680,7 +1688,7 @@ module Google
1680
1688
  # @param options [::Gapic::CallOptions, ::Hash]
1681
1689
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1682
1690
  #
1683
- # @overload list_http_routes(parent: nil, page_size: nil, page_token: nil)
1691
+ # @overload list_http_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil)
1684
1692
  # Pass arguments to `list_http_routes` via keyword arguments. Note that at
1685
1693
  # least one keyword argument is required. To specify no parameters, or to keep all
1686
1694
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1694,6 +1702,10 @@ module Google
1694
1702
  # The value returned by the last `ListHttpRoutesResponse`
1695
1703
  # Indicates that this is a continuation of a prior `ListHttpRoutes` call,
1696
1704
  # and that the system should return the next page of data.
1705
+ # @param return_partial_success [::Boolean]
1706
+ # Optional. If true, allow partial responses for multi-regional Aggregated
1707
+ # List requests. Otherwise if one of the locations is down or unreachable,
1708
+ # the Aggregated List request will fail.
1697
1709
  #
1698
1710
  # @yield [response, operation] Access the result along with the RPC operation
1699
1711
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::HttpRoute>]
@@ -2158,7 +2170,7 @@ module Google
2158
2170
  # @param options [::Gapic::CallOptions, ::Hash]
2159
2171
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2160
2172
  #
2161
- # @overload list_tcp_routes(parent: nil, page_size: nil, page_token: nil)
2173
+ # @overload list_tcp_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil)
2162
2174
  # Pass arguments to `list_tcp_routes` via keyword arguments. Note that at
2163
2175
  # least one keyword argument is required. To specify no parameters, or to keep all
2164
2176
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -2172,6 +2184,10 @@ module Google
2172
2184
  # The value returned by the last `ListTcpRoutesResponse`
2173
2185
  # Indicates that this is a continuation of a prior `ListTcpRoutes` call,
2174
2186
  # and that the system should return the next page of data.
2187
+ # @param return_partial_success [::Boolean]
2188
+ # Optional. If true, allow partial responses for multi-regional Aggregated
2189
+ # List requests. Otherwise if one of the locations is down or unreachable,
2190
+ # the Aggregated List request will fail.
2175
2191
  #
2176
2192
  # @yield [response, operation] Access the result along with the RPC operation
2177
2193
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::TcpRoute>]
@@ -2636,7 +2652,7 @@ module Google
2636
2652
  # @param options [::Gapic::CallOptions, ::Hash]
2637
2653
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2638
2654
  #
2639
- # @overload list_tls_routes(parent: nil, page_size: nil, page_token: nil)
2655
+ # @overload list_tls_routes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil)
2640
2656
  # Pass arguments to `list_tls_routes` via keyword arguments. Note that at
2641
2657
  # least one keyword argument is required. To specify no parameters, or to keep all
2642
2658
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -2650,6 +2666,10 @@ module Google
2650
2666
  # The value returned by the last `ListTlsRoutesResponse`
2651
2667
  # Indicates that this is a continuation of a prior `ListTlsRoutes` call,
2652
2668
  # and that the system should return the next page of data.
2669
+ # @param return_partial_success [::Boolean]
2670
+ # Optional. If true, allow partial responses for multi-regional Aggregated
2671
+ # List requests. Otherwise if one of the locations is down or unreachable,
2672
+ # the Aggregated List request will fail.
2653
2673
  #
2654
2674
  # @yield [response, operation] Access the result along with the RPC operation
2655
2675
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::TlsRoute>]
@@ -3121,7 +3141,7 @@ module Google
3121
3141
  #
3122
3142
  # @param parent [::String]
3123
3143
  # Required. The project and location from which the ServiceBindings should be
3124
- # listed, specified in the format `projects/*/locations/global`.
3144
+ # listed, specified in the format `projects/*/locations/*`.
3125
3145
  # @param page_size [::Integer]
3126
3146
  # Maximum number of ServiceBindings to return per call.
3127
3147
  # @param page_token [::String]
@@ -3219,7 +3239,7 @@ module Google
3219
3239
  #
3220
3240
  # @param name [::String]
3221
3241
  # Required. A name of the ServiceBinding to get. Must be in the format
3222
- # `projects/*/locations/global/serviceBindings/*`.
3242
+ # `projects/*/locations/*/serviceBindings/*`.
3223
3243
  #
3224
3244
  # @yield [response, operation] Access the result along with the RPC operation
3225
3245
  # @yieldparam response [::Google::Cloud::NetworkServices::V1::ServiceBinding]
@@ -3305,7 +3325,7 @@ module Google
3305
3325
  #
3306
3326
  # @param parent [::String]
3307
3327
  # Required. The parent resource of the ServiceBinding. Must be in the
3308
- # format `projects/*/locations/global`.
3328
+ # format `projects/*/locations/*`.
3309
3329
  # @param service_binding_id [::String]
3310
3330
  # Required. Short name of the ServiceBinding resource to be created.
3311
3331
  # @param service_binding [::Google::Cloud::NetworkServices::V1::ServiceBinding, ::Hash]
@@ -3384,6 +3404,106 @@ module Google
3384
3404
  raise ::Google::Cloud::Error.from_error(e)
3385
3405
  end
3386
3406
 
3407
+ ##
3408
+ # Updates the parameters of a single ServiceBinding.
3409
+ #
3410
+ # @overload update_service_binding(request, options = nil)
3411
+ # Pass arguments to `update_service_binding` via a request object, either of type
3412
+ # {::Google::Cloud::NetworkServices::V1::UpdateServiceBindingRequest} or an equivalent Hash.
3413
+ #
3414
+ # @param request [::Google::Cloud::NetworkServices::V1::UpdateServiceBindingRequest, ::Hash]
3415
+ # A request object representing the call parameters. Required. To specify no
3416
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3417
+ # @param options [::Gapic::CallOptions, ::Hash]
3418
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3419
+ #
3420
+ # @overload update_service_binding(update_mask: nil, service_binding: nil)
3421
+ # Pass arguments to `update_service_binding` via keyword arguments. Note that at
3422
+ # least one keyword argument is required. To specify no parameters, or to keep all
3423
+ # the default parameter values, pass an empty Hash as a request object (see above).
3424
+ #
3425
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
3426
+ # Optional. Field mask is used to specify the fields to be overwritten in the
3427
+ # ServiceBinding resource by the update.
3428
+ # The fields specified in the update_mask are relative to the resource, not
3429
+ # the full request. A field will be overwritten if it is in the mask. If the
3430
+ # user does not provide a mask then all fields will be overwritten.
3431
+ # @param service_binding [::Google::Cloud::NetworkServices::V1::ServiceBinding, ::Hash]
3432
+ # Required. Updated ServiceBinding resource.
3433
+ #
3434
+ # @yield [response, operation] Access the result along with the RPC operation
3435
+ # @yieldparam response [::Gapic::Operation]
3436
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3437
+ #
3438
+ # @return [::Gapic::Operation]
3439
+ #
3440
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3441
+ #
3442
+ # @example Basic example
3443
+ # require "google/cloud/network_services/v1"
3444
+ #
3445
+ # # Create a client object. The client can be reused for multiple calls.
3446
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
3447
+ #
3448
+ # # Create a request. To set request fields, pass in keyword arguments.
3449
+ # request = Google::Cloud::NetworkServices::V1::UpdateServiceBindingRequest.new
3450
+ #
3451
+ # # Call the update_service_binding method.
3452
+ # result = client.update_service_binding request
3453
+ #
3454
+ # # The returned object is of type Gapic::Operation. You can use it to
3455
+ # # check the status of an operation, cancel it, or wait for results.
3456
+ # # Here is how to wait for a response.
3457
+ # result.wait_until_done! timeout: 60
3458
+ # if result.response?
3459
+ # p result.response
3460
+ # else
3461
+ # puts "No response received."
3462
+ # end
3463
+ #
3464
+ def update_service_binding request, options = nil
3465
+ raise ::ArgumentError, "request must be provided" if request.nil?
3466
+
3467
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::UpdateServiceBindingRequest
3468
+
3469
+ # Converts hash and nil to an options object
3470
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3471
+
3472
+ # Customize the options with defaults
3473
+ metadata = @config.rpcs.update_service_binding.metadata.to_h
3474
+
3475
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
3476
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3477
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3478
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
3479
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
3480
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3481
+
3482
+ header_params = {}
3483
+ if request.service_binding&.name
3484
+ header_params["service_binding.name"] = request.service_binding.name
3485
+ end
3486
+
3487
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3488
+ metadata[:"x-goog-request-params"] ||= request_params_header
3489
+
3490
+ options.apply_defaults timeout: @config.rpcs.update_service_binding.timeout,
3491
+ metadata: metadata,
3492
+ retry_policy: @config.rpcs.update_service_binding.retry_policy
3493
+
3494
+ options.apply_defaults timeout: @config.timeout,
3495
+ metadata: @config.metadata,
3496
+ retry_policy: @config.retry_policy
3497
+
3498
+ @network_services_stub.call_rpc :update_service_binding, request, options: options do |response, operation|
3499
+ response = ::Gapic::Operation.new response, @operations_client, options: options
3500
+ yield response, operation if block_given?
3501
+ throw :response, response
3502
+ end
3503
+ rescue ::GRPC::BadStatus => e
3504
+ raise ::Google::Cloud::Error.from_error(e)
3505
+ end
3506
+
3387
3507
  ##
3388
3508
  # Deletes a single ServiceBinding.
3389
3509
  #
@@ -3404,7 +3524,7 @@ module Google
3404
3524
  #
3405
3525
  # @param name [::String]
3406
3526
  # Required. A name of the ServiceBinding to delete. Must be in the format
3407
- # `projects/*/locations/global/serviceBindings/*`.
3527
+ # `projects/*/locations/*/serviceBindings/*`.
3408
3528
  #
3409
3529
  # @yield [response, operation] Access the result along with the RPC operation
3410
3530
  # @yieldparam response [::Gapic::Operation]
@@ -3492,7 +3612,7 @@ module Google
3492
3612
  # @param options [::Gapic::CallOptions, ::Hash]
3493
3613
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3494
3614
  #
3495
- # @overload list_meshes(parent: nil, page_size: nil, page_token: nil)
3615
+ # @overload list_meshes(parent: nil, page_size: nil, page_token: nil, return_partial_success: nil)
3496
3616
  # Pass arguments to `list_meshes` via keyword arguments. Note that at
3497
3617
  # least one keyword argument is required. To specify no parameters, or to keep all
3498
3618
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -3506,6 +3626,10 @@ module Google
3506
3626
  # The value returned by the last `ListMeshesResponse`
3507
3627
  # Indicates that this is a continuation of a prior `ListMeshes` call,
3508
3628
  # and that the system should return the next page of data.
3629
+ # @param return_partial_success [::Boolean]
3630
+ # Optional. If true, allow partial responses for multi-regional Aggregated
3631
+ # List requests. Otherwise if one of the locations is down or unreachable,
3632
+ # the Aggregated List request will fail.
3509
3633
  #
3510
3634
  # @yield [response, operation] Access the result along with the RPC operation
3511
3635
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::Mesh>]
@@ -3958,151 +4082,1005 @@ module Google
3958
4082
  end
3959
4083
 
3960
4084
  ##
3961
- # Configuration class for the NetworkServices API.
4085
+ # Lists ServiceLbPolicies in a given project and location.
3962
4086
  #
3963
- # This class represents the configuration for NetworkServices,
3964
- # providing control over timeouts, retry behavior, logging, transport
3965
- # parameters, and other low-level controls. Certain parameters can also be
3966
- # applied individually to specific RPCs. See
3967
- # {::Google::Cloud::NetworkServices::V1::NetworkServices::Client::Configuration::Rpcs}
3968
- # for a list of RPCs that can be configured independently.
4087
+ # @overload list_service_lb_policies(request, options = nil)
4088
+ # Pass arguments to `list_service_lb_policies` via a request object, either of type
4089
+ # {::Google::Cloud::NetworkServices::V1::ListServiceLbPoliciesRequest} or an equivalent Hash.
3969
4090
  #
3970
- # Configuration can be applied globally to all clients, or to a single client
3971
- # on construction.
4091
+ # @param request [::Google::Cloud::NetworkServices::V1::ListServiceLbPoliciesRequest, ::Hash]
4092
+ # A request object representing the call parameters. Required. To specify no
4093
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4094
+ # @param options [::Gapic::CallOptions, ::Hash]
4095
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3972
4096
  #
3973
- # @example
4097
+ # @overload list_service_lb_policies(parent: nil, page_size: nil, page_token: nil)
4098
+ # Pass arguments to `list_service_lb_policies` via keyword arguments. Note that at
4099
+ # least one keyword argument is required. To specify no parameters, or to keep all
4100
+ # the default parameter values, pass an empty Hash as a request object (see above).
3974
4101
  #
3975
- # # Modify the global config, setting the timeout for
3976
- # # list_endpoint_policies to 20 seconds,
3977
- # # and all remaining timeouts to 10 seconds.
3978
- # ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.configure do |config|
3979
- # config.timeout = 10.0
3980
- # config.rpcs.list_endpoint_policies.timeout = 20.0
3981
- # end
4102
+ # @param parent [::String]
4103
+ # Required. The project and location from which the ServiceLbPolicies should
4104
+ # be listed, specified in the format
4105
+ # `projects/{project}/locations/{location}`.
4106
+ # @param page_size [::Integer]
4107
+ # Maximum number of ServiceLbPolicies to return per call.
4108
+ # @param page_token [::String]
4109
+ # The value returned by the last `ListServiceLbPoliciesResponse`
4110
+ # Indicates that this is a continuation of a prior `ListRouters` call,
4111
+ # and that the system should return the next page of data.
3982
4112
  #
3983
- # # Apply the above configuration only to a new client.
3984
- # client = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config|
3985
- # config.timeout = 10.0
3986
- # config.rpcs.list_endpoint_policies.timeout = 20.0
3987
- # end
4113
+ # @yield [response, operation] Access the result along with the RPC operation
4114
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::ServiceLbPolicy>]
4115
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3988
4116
  #
3989
- # @!attribute [rw] endpoint
3990
- # A custom service endpoint, as a hostname or hostname:port. The default is
3991
- # nil, indicating to use the default endpoint in the current universe domain.
3992
- # @return [::String,nil]
3993
- # @!attribute [rw] credentials
3994
- # Credentials to send with calls. You may provide any of the following types:
3995
- # * (`String`) The path to a service account key file in JSON format
3996
- # * (`Hash`) A service account key as a Hash
3997
- # * (`Google::Auth::Credentials`) A googleauth credentials object
3998
- # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
3999
- # * (`Signet::OAuth2::Client`) A signet oauth2 client object
4000
- # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
4001
- # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
4002
- # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
4003
- # * (`nil`) indicating no credentials
4117
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::ServiceLbPolicy>]
4004
4118
  #
4005
- # Warning: If you accept a credential configuration (JSON file or Hash) from an
4006
- # external source for authentication to Google Cloud, you must validate it before
4007
- # providing it to a Google API client library. Providing an unvalidated credential
4008
- # configuration to Google APIs can compromise the security of your systems and data.
4009
- # For more information, refer to [Validate credential configurations from external
4010
- # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
4011
- # @return [::Object]
4012
- # @!attribute [rw] scope
4013
- # The OAuth scopes
4014
- # @return [::Array<::String>]
4015
- # @!attribute [rw] lib_name
4016
- # The library name as recorded in instrumentation and logging
4017
- # @return [::String]
4018
- # @!attribute [rw] lib_version
4019
- # The library version as recorded in instrumentation and logging
4020
- # @return [::String]
4021
- # @!attribute [rw] channel_args
4022
- # Extra parameters passed to the gRPC channel. Note: this is ignored if a
4023
- # `GRPC::Core::Channel` object is provided as the credential.
4024
- # @return [::Hash]
4025
- # @!attribute [rw] interceptors
4026
- # An array of interceptors that are run before calls are executed.
4027
- # @return [::Array<::GRPC::ClientInterceptor>]
4028
- # @!attribute [rw] timeout
4029
- # The call timeout in seconds.
4030
- # @return [::Numeric]
4031
- # @!attribute [rw] metadata
4032
- # Additional gRPC headers to be sent with the call.
4033
- # @return [::Hash{::Symbol=>::String}]
4034
- # @!attribute [rw] retry_policy
4035
- # The retry policy. The value is a hash with the following keys:
4036
- # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
4037
- # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
4038
- # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
4039
- # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
4040
- # trigger a retry.
4041
- # @return [::Hash]
4042
- # @!attribute [rw] quota_project
4043
- # A separate project against which to charge quota.
4044
- # @return [::String]
4045
- # @!attribute [rw] universe_domain
4046
- # The universe domain within which to make requests. This determines the
4047
- # default endpoint URL. The default value of nil uses the environment
4048
- # universe (usually the default "googleapis.com" universe).
4049
- # @return [::String,nil]
4050
- # @!attribute [rw] logger
4051
- # A custom logger to use for request/response debug logging, or the value
4052
- # `:default` (the default) to construct a default logger, or `nil` to
4053
- # explicitly disable logging.
4054
- # @return [::Logger,:default,nil]
4119
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4055
4120
  #
4056
- class Configuration
4057
- extend ::Gapic::Config
4121
+ # @example Basic example
4122
+ # require "google/cloud/network_services/v1"
4123
+ #
4124
+ # # Create a client object. The client can be reused for multiple calls.
4125
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4126
+ #
4127
+ # # Create a request. To set request fields, pass in keyword arguments.
4128
+ # request = Google::Cloud::NetworkServices::V1::ListServiceLbPoliciesRequest.new
4129
+ #
4130
+ # # Call the list_service_lb_policies method.
4131
+ # result = client.list_service_lb_policies request
4132
+ #
4133
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
4134
+ # # over elements, and API calls will be issued to fetch pages as needed.
4135
+ # result.each do |item|
4136
+ # # Each element is of type ::Google::Cloud::NetworkServices::V1::ServiceLbPolicy.
4137
+ # p item
4138
+ # end
4139
+ #
4140
+ def list_service_lb_policies request, options = nil
4141
+ raise ::ArgumentError, "request must be provided" if request.nil?
4058
4142
 
4059
- # @private
4060
- # The endpoint specific to the default "googleapis.com" universe. Deprecated.
4061
- DEFAULT_ENDPOINT = "networkservices.googleapis.com"
4143
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::ListServiceLbPoliciesRequest
4062
4144
 
4063
- config_attr :endpoint, nil, ::String, nil
4064
- config_attr :credentials, nil do |value|
4065
- allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
4066
- allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel
4067
- allowed.any? { |klass| klass === value }
4068
- end
4069
- config_attr :scope, nil, ::String, ::Array, nil
4070
- config_attr :lib_name, nil, ::String, nil
4071
- config_attr :lib_version, nil, ::String, nil
4072
- config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
4073
- config_attr :interceptors, nil, ::Array, nil
4074
- config_attr :timeout, nil, ::Numeric, nil
4075
- config_attr :metadata, nil, ::Hash, nil
4076
- config_attr :retry_policy, nil, ::Hash, ::Proc, nil
4077
- config_attr :quota_project, nil, ::String, nil
4078
- config_attr :universe_domain, nil, ::String, nil
4079
- config_attr :logger, :default, ::Logger, nil, :default
4145
+ # Converts hash and nil to an options object
4146
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4080
4147
 
4081
- # @private
4082
- def initialize parent_config = nil
4083
- @parent_config = parent_config unless parent_config.nil?
4148
+ # Customize the options with defaults
4149
+ metadata = @config.rpcs.list_service_lb_policies.metadata.to_h
4084
4150
 
4085
- yield self if block_given?
4086
- end
4151
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4152
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4153
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4154
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4155
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4156
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4087
4157
 
4088
- ##
4089
- # Configurations for individual RPCs
4090
- # @return [Rpcs]
4091
- #
4092
- def rpcs
4093
- @rpcs ||= begin
4094
- parent_rpcs = nil
4095
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
4096
- Rpcs.new parent_rpcs
4097
- end
4158
+ header_params = {}
4159
+ if request.parent
4160
+ header_params["parent"] = request.parent
4098
4161
  end
4099
4162
 
4100
- ##
4101
- # Configuration for the channel pool
4102
- # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
4103
- #
4104
- def channel_pool
4105
- @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
4163
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4164
+ metadata[:"x-goog-request-params"] ||= request_params_header
4165
+
4166
+ options.apply_defaults timeout: @config.rpcs.list_service_lb_policies.timeout,
4167
+ metadata: metadata,
4168
+ retry_policy: @config.rpcs.list_service_lb_policies.retry_policy
4169
+
4170
+ options.apply_defaults timeout: @config.timeout,
4171
+ metadata: @config.metadata,
4172
+ retry_policy: @config.retry_policy
4173
+
4174
+ @network_services_stub.call_rpc :list_service_lb_policies, request, options: options do |response, operation|
4175
+ response = ::Gapic::PagedEnumerable.new @network_services_stub, :list_service_lb_policies, request, response, operation, options
4176
+ yield response, operation if block_given?
4177
+ throw :response, response
4178
+ end
4179
+ rescue ::GRPC::BadStatus => e
4180
+ raise ::Google::Cloud::Error.from_error(e)
4181
+ end
4182
+
4183
+ ##
4184
+ # Gets details of a single ServiceLbPolicy.
4185
+ #
4186
+ # @overload get_service_lb_policy(request, options = nil)
4187
+ # Pass arguments to `get_service_lb_policy` via a request object, either of type
4188
+ # {::Google::Cloud::NetworkServices::V1::GetServiceLbPolicyRequest} or an equivalent Hash.
4189
+ #
4190
+ # @param request [::Google::Cloud::NetworkServices::V1::GetServiceLbPolicyRequest, ::Hash]
4191
+ # A request object representing the call parameters. Required. To specify no
4192
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4193
+ # @param options [::Gapic::CallOptions, ::Hash]
4194
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4195
+ #
4196
+ # @overload get_service_lb_policy(name: nil)
4197
+ # Pass arguments to `get_service_lb_policy` via keyword arguments. Note that at
4198
+ # least one keyword argument is required. To specify no parameters, or to keep all
4199
+ # the default parameter values, pass an empty Hash as a request object (see above).
4200
+ #
4201
+ # @param name [::String]
4202
+ # Required. A name of the ServiceLbPolicy to get. Must be in the format
4203
+ # `projects/{project}/locations/{location}/serviceLbPolicies/*`.
4204
+ #
4205
+ # @yield [response, operation] Access the result along with the RPC operation
4206
+ # @yieldparam response [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy]
4207
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4208
+ #
4209
+ # @return [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy]
4210
+ #
4211
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4212
+ #
4213
+ # @example Basic example
4214
+ # require "google/cloud/network_services/v1"
4215
+ #
4216
+ # # Create a client object. The client can be reused for multiple calls.
4217
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4218
+ #
4219
+ # # Create a request. To set request fields, pass in keyword arguments.
4220
+ # request = Google::Cloud::NetworkServices::V1::GetServiceLbPolicyRequest.new
4221
+ #
4222
+ # # Call the get_service_lb_policy method.
4223
+ # result = client.get_service_lb_policy request
4224
+ #
4225
+ # # The returned object is of type Google::Cloud::NetworkServices::V1::ServiceLbPolicy.
4226
+ # p result
4227
+ #
4228
+ def get_service_lb_policy request, options = nil
4229
+ raise ::ArgumentError, "request must be provided" if request.nil?
4230
+
4231
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::GetServiceLbPolicyRequest
4232
+
4233
+ # Converts hash and nil to an options object
4234
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4235
+
4236
+ # Customize the options with defaults
4237
+ metadata = @config.rpcs.get_service_lb_policy.metadata.to_h
4238
+
4239
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4240
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4241
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4242
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4243
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4244
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4245
+
4246
+ header_params = {}
4247
+ if request.name
4248
+ header_params["name"] = request.name
4249
+ end
4250
+
4251
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4252
+ metadata[:"x-goog-request-params"] ||= request_params_header
4253
+
4254
+ options.apply_defaults timeout: @config.rpcs.get_service_lb_policy.timeout,
4255
+ metadata: metadata,
4256
+ retry_policy: @config.rpcs.get_service_lb_policy.retry_policy
4257
+
4258
+ options.apply_defaults timeout: @config.timeout,
4259
+ metadata: @config.metadata,
4260
+ retry_policy: @config.retry_policy
4261
+
4262
+ @network_services_stub.call_rpc :get_service_lb_policy, request, options: options do |response, operation|
4263
+ yield response, operation if block_given?
4264
+ end
4265
+ rescue ::GRPC::BadStatus => e
4266
+ raise ::Google::Cloud::Error.from_error(e)
4267
+ end
4268
+
4269
+ ##
4270
+ # Creates a new ServiceLbPolicy in a given project and location.
4271
+ #
4272
+ # @overload create_service_lb_policy(request, options = nil)
4273
+ # Pass arguments to `create_service_lb_policy` via a request object, either of type
4274
+ # {::Google::Cloud::NetworkServices::V1::CreateServiceLbPolicyRequest} or an equivalent Hash.
4275
+ #
4276
+ # @param request [::Google::Cloud::NetworkServices::V1::CreateServiceLbPolicyRequest, ::Hash]
4277
+ # A request object representing the call parameters. Required. To specify no
4278
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4279
+ # @param options [::Gapic::CallOptions, ::Hash]
4280
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4281
+ #
4282
+ # @overload create_service_lb_policy(parent: nil, service_lb_policy_id: nil, service_lb_policy: nil)
4283
+ # Pass arguments to `create_service_lb_policy` via keyword arguments. Note that at
4284
+ # least one keyword argument is required. To specify no parameters, or to keep all
4285
+ # the default parameter values, pass an empty Hash as a request object (see above).
4286
+ #
4287
+ # @param parent [::String]
4288
+ # Required. The parent resource of the ServiceLbPolicy. Must be in the
4289
+ # format `projects/{project}/locations/{location}`.
4290
+ # @param service_lb_policy_id [::String]
4291
+ # Required. Short name of the ServiceLbPolicy resource to be created.
4292
+ # E.g. for resource name
4293
+ # `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
4294
+ # the id is value of \\{service_lb_policy_name}
4295
+ # @param service_lb_policy [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy, ::Hash]
4296
+ # Required. ServiceLbPolicy resource to be created.
4297
+ #
4298
+ # @yield [response, operation] Access the result along with the RPC operation
4299
+ # @yieldparam response [::Gapic::Operation]
4300
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4301
+ #
4302
+ # @return [::Gapic::Operation]
4303
+ #
4304
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4305
+ #
4306
+ # @example Basic example
4307
+ # require "google/cloud/network_services/v1"
4308
+ #
4309
+ # # Create a client object. The client can be reused for multiple calls.
4310
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4311
+ #
4312
+ # # Create a request. To set request fields, pass in keyword arguments.
4313
+ # request = Google::Cloud::NetworkServices::V1::CreateServiceLbPolicyRequest.new
4314
+ #
4315
+ # # Call the create_service_lb_policy method.
4316
+ # result = client.create_service_lb_policy request
4317
+ #
4318
+ # # The returned object is of type Gapic::Operation. You can use it to
4319
+ # # check the status of an operation, cancel it, or wait for results.
4320
+ # # Here is how to wait for a response.
4321
+ # result.wait_until_done! timeout: 60
4322
+ # if result.response?
4323
+ # p result.response
4324
+ # else
4325
+ # puts "No response received."
4326
+ # end
4327
+ #
4328
+ def create_service_lb_policy request, options = nil
4329
+ raise ::ArgumentError, "request must be provided" if request.nil?
4330
+
4331
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::CreateServiceLbPolicyRequest
4332
+
4333
+ # Converts hash and nil to an options object
4334
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4335
+
4336
+ # Customize the options with defaults
4337
+ metadata = @config.rpcs.create_service_lb_policy.metadata.to_h
4338
+
4339
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4340
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4341
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4342
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4343
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4344
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4345
+
4346
+ header_params = {}
4347
+ if request.parent
4348
+ header_params["parent"] = request.parent
4349
+ end
4350
+
4351
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4352
+ metadata[:"x-goog-request-params"] ||= request_params_header
4353
+
4354
+ options.apply_defaults timeout: @config.rpcs.create_service_lb_policy.timeout,
4355
+ metadata: metadata,
4356
+ retry_policy: @config.rpcs.create_service_lb_policy.retry_policy
4357
+
4358
+ options.apply_defaults timeout: @config.timeout,
4359
+ metadata: @config.metadata,
4360
+ retry_policy: @config.retry_policy
4361
+
4362
+ @network_services_stub.call_rpc :create_service_lb_policy, request, options: options do |response, operation|
4363
+ response = ::Gapic::Operation.new response, @operations_client, options: options
4364
+ yield response, operation if block_given?
4365
+ throw :response, response
4366
+ end
4367
+ rescue ::GRPC::BadStatus => e
4368
+ raise ::Google::Cloud::Error.from_error(e)
4369
+ end
4370
+
4371
+ ##
4372
+ # Updates the parameters of a single ServiceLbPolicy.
4373
+ #
4374
+ # @overload update_service_lb_policy(request, options = nil)
4375
+ # Pass arguments to `update_service_lb_policy` via a request object, either of type
4376
+ # {::Google::Cloud::NetworkServices::V1::UpdateServiceLbPolicyRequest} or an equivalent Hash.
4377
+ #
4378
+ # @param request [::Google::Cloud::NetworkServices::V1::UpdateServiceLbPolicyRequest, ::Hash]
4379
+ # A request object representing the call parameters. Required. To specify no
4380
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4381
+ # @param options [::Gapic::CallOptions, ::Hash]
4382
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4383
+ #
4384
+ # @overload update_service_lb_policy(update_mask: nil, service_lb_policy: nil)
4385
+ # Pass arguments to `update_service_lb_policy` via keyword arguments. Note that at
4386
+ # least one keyword argument is required. To specify no parameters, or to keep all
4387
+ # the default parameter values, pass an empty Hash as a request object (see above).
4388
+ #
4389
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
4390
+ # Optional. Field mask is used to specify the fields to be overwritten in the
4391
+ # ServiceLbPolicy resource by the update.
4392
+ # The fields specified in the update_mask are relative to the resource, not
4393
+ # the full request. A field will be overwritten if it is in the mask. If the
4394
+ # user does not provide a mask then all fields will be overwritten.
4395
+ # @param service_lb_policy [::Google::Cloud::NetworkServices::V1::ServiceLbPolicy, ::Hash]
4396
+ # Required. Updated ServiceLbPolicy resource.
4397
+ #
4398
+ # @yield [response, operation] Access the result along with the RPC operation
4399
+ # @yieldparam response [::Gapic::Operation]
4400
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4401
+ #
4402
+ # @return [::Gapic::Operation]
4403
+ #
4404
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4405
+ #
4406
+ # @example Basic example
4407
+ # require "google/cloud/network_services/v1"
4408
+ #
4409
+ # # Create a client object. The client can be reused for multiple calls.
4410
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4411
+ #
4412
+ # # Create a request. To set request fields, pass in keyword arguments.
4413
+ # request = Google::Cloud::NetworkServices::V1::UpdateServiceLbPolicyRequest.new
4414
+ #
4415
+ # # Call the update_service_lb_policy method.
4416
+ # result = client.update_service_lb_policy request
4417
+ #
4418
+ # # The returned object is of type Gapic::Operation. You can use it to
4419
+ # # check the status of an operation, cancel it, or wait for results.
4420
+ # # Here is how to wait for a response.
4421
+ # result.wait_until_done! timeout: 60
4422
+ # if result.response?
4423
+ # p result.response
4424
+ # else
4425
+ # puts "No response received."
4426
+ # end
4427
+ #
4428
+ def update_service_lb_policy request, options = nil
4429
+ raise ::ArgumentError, "request must be provided" if request.nil?
4430
+
4431
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::UpdateServiceLbPolicyRequest
4432
+
4433
+ # Converts hash and nil to an options object
4434
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4435
+
4436
+ # Customize the options with defaults
4437
+ metadata = @config.rpcs.update_service_lb_policy.metadata.to_h
4438
+
4439
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4440
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4441
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4442
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4443
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4444
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4445
+
4446
+ header_params = {}
4447
+ if request.service_lb_policy&.name
4448
+ header_params["service_lb_policy.name"] = request.service_lb_policy.name
4449
+ end
4450
+
4451
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4452
+ metadata[:"x-goog-request-params"] ||= request_params_header
4453
+
4454
+ options.apply_defaults timeout: @config.rpcs.update_service_lb_policy.timeout,
4455
+ metadata: metadata,
4456
+ retry_policy: @config.rpcs.update_service_lb_policy.retry_policy
4457
+
4458
+ options.apply_defaults timeout: @config.timeout,
4459
+ metadata: @config.metadata,
4460
+ retry_policy: @config.retry_policy
4461
+
4462
+ @network_services_stub.call_rpc :update_service_lb_policy, request, options: options do |response, operation|
4463
+ response = ::Gapic::Operation.new response, @operations_client, options: options
4464
+ yield response, operation if block_given?
4465
+ throw :response, response
4466
+ end
4467
+ rescue ::GRPC::BadStatus => e
4468
+ raise ::Google::Cloud::Error.from_error(e)
4469
+ end
4470
+
4471
+ ##
4472
+ # Deletes a single ServiceLbPolicy.
4473
+ #
4474
+ # @overload delete_service_lb_policy(request, options = nil)
4475
+ # Pass arguments to `delete_service_lb_policy` via a request object, either of type
4476
+ # {::Google::Cloud::NetworkServices::V1::DeleteServiceLbPolicyRequest} or an equivalent Hash.
4477
+ #
4478
+ # @param request [::Google::Cloud::NetworkServices::V1::DeleteServiceLbPolicyRequest, ::Hash]
4479
+ # A request object representing the call parameters. Required. To specify no
4480
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4481
+ # @param options [::Gapic::CallOptions, ::Hash]
4482
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4483
+ #
4484
+ # @overload delete_service_lb_policy(name: nil)
4485
+ # Pass arguments to `delete_service_lb_policy` via keyword arguments. Note that at
4486
+ # least one keyword argument is required. To specify no parameters, or to keep all
4487
+ # the default parameter values, pass an empty Hash as a request object (see above).
4488
+ #
4489
+ # @param name [::String]
4490
+ # Required. A name of the ServiceLbPolicy to delete. Must be in the format
4491
+ # `projects/{project}/locations/{location}/serviceLbPolicies/*`.
4492
+ #
4493
+ # @yield [response, operation] Access the result along with the RPC operation
4494
+ # @yieldparam response [::Gapic::Operation]
4495
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4496
+ #
4497
+ # @return [::Gapic::Operation]
4498
+ #
4499
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4500
+ #
4501
+ # @example Basic example
4502
+ # require "google/cloud/network_services/v1"
4503
+ #
4504
+ # # Create a client object. The client can be reused for multiple calls.
4505
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4506
+ #
4507
+ # # Create a request. To set request fields, pass in keyword arguments.
4508
+ # request = Google::Cloud::NetworkServices::V1::DeleteServiceLbPolicyRequest.new
4509
+ #
4510
+ # # Call the delete_service_lb_policy method.
4511
+ # result = client.delete_service_lb_policy request
4512
+ #
4513
+ # # The returned object is of type Gapic::Operation. You can use it to
4514
+ # # check the status of an operation, cancel it, or wait for results.
4515
+ # # Here is how to wait for a response.
4516
+ # result.wait_until_done! timeout: 60
4517
+ # if result.response?
4518
+ # p result.response
4519
+ # else
4520
+ # puts "No response received."
4521
+ # end
4522
+ #
4523
+ def delete_service_lb_policy request, options = nil
4524
+ raise ::ArgumentError, "request must be provided" if request.nil?
4525
+
4526
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::DeleteServiceLbPolicyRequest
4527
+
4528
+ # Converts hash and nil to an options object
4529
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4530
+
4531
+ # Customize the options with defaults
4532
+ metadata = @config.rpcs.delete_service_lb_policy.metadata.to_h
4533
+
4534
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4535
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4536
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4537
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4538
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4539
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4540
+
4541
+ header_params = {}
4542
+ if request.name
4543
+ header_params["name"] = request.name
4544
+ end
4545
+
4546
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4547
+ metadata[:"x-goog-request-params"] ||= request_params_header
4548
+
4549
+ options.apply_defaults timeout: @config.rpcs.delete_service_lb_policy.timeout,
4550
+ metadata: metadata,
4551
+ retry_policy: @config.rpcs.delete_service_lb_policy.retry_policy
4552
+
4553
+ options.apply_defaults timeout: @config.timeout,
4554
+ metadata: @config.metadata,
4555
+ retry_policy: @config.retry_policy
4556
+
4557
+ @network_services_stub.call_rpc :delete_service_lb_policy, request, options: options do |response, operation|
4558
+ response = ::Gapic::Operation.new response, @operations_client, options: options
4559
+ yield response, operation if block_given?
4560
+ throw :response, response
4561
+ end
4562
+ rescue ::GRPC::BadStatus => e
4563
+ raise ::Google::Cloud::Error.from_error(e)
4564
+ end
4565
+
4566
+ ##
4567
+ # Get a single RouteView of a Gateway.
4568
+ #
4569
+ # @overload get_gateway_route_view(request, options = nil)
4570
+ # Pass arguments to `get_gateway_route_view` via a request object, either of type
4571
+ # {::Google::Cloud::NetworkServices::V1::GetGatewayRouteViewRequest} or an equivalent Hash.
4572
+ #
4573
+ # @param request [::Google::Cloud::NetworkServices::V1::GetGatewayRouteViewRequest, ::Hash]
4574
+ # A request object representing the call parameters. Required. To specify no
4575
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4576
+ # @param options [::Gapic::CallOptions, ::Hash]
4577
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4578
+ #
4579
+ # @overload get_gateway_route_view(name: nil)
4580
+ # Pass arguments to `get_gateway_route_view` via keyword arguments. Note that at
4581
+ # least one keyword argument is required. To specify no parameters, or to keep all
4582
+ # the default parameter values, pass an empty Hash as a request object (see above).
4583
+ #
4584
+ # @param name [::String]
4585
+ # Required. Name of the GatewayRouteView resource.
4586
+ # Formats:
4587
+ # projects/\\{project}/locations/\\{location}/gateways/\\{gateway}/routeViews/\\{route_view}
4588
+ #
4589
+ # @yield [response, operation] Access the result along with the RPC operation
4590
+ # @yieldparam response [::Google::Cloud::NetworkServices::V1::GatewayRouteView]
4591
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4592
+ #
4593
+ # @return [::Google::Cloud::NetworkServices::V1::GatewayRouteView]
4594
+ #
4595
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4596
+ #
4597
+ # @example Basic example
4598
+ # require "google/cloud/network_services/v1"
4599
+ #
4600
+ # # Create a client object. The client can be reused for multiple calls.
4601
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4602
+ #
4603
+ # # Create a request. To set request fields, pass in keyword arguments.
4604
+ # request = Google::Cloud::NetworkServices::V1::GetGatewayRouteViewRequest.new
4605
+ #
4606
+ # # Call the get_gateway_route_view method.
4607
+ # result = client.get_gateway_route_view request
4608
+ #
4609
+ # # The returned object is of type Google::Cloud::NetworkServices::V1::GatewayRouteView.
4610
+ # p result
4611
+ #
4612
+ def get_gateway_route_view request, options = nil
4613
+ raise ::ArgumentError, "request must be provided" if request.nil?
4614
+
4615
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::GetGatewayRouteViewRequest
4616
+
4617
+ # Converts hash and nil to an options object
4618
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4619
+
4620
+ # Customize the options with defaults
4621
+ metadata = @config.rpcs.get_gateway_route_view.metadata.to_h
4622
+
4623
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4624
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4625
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4626
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4627
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4628
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4629
+
4630
+ header_params = {}
4631
+ if request.name
4632
+ header_params["name"] = request.name
4633
+ end
4634
+
4635
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4636
+ metadata[:"x-goog-request-params"] ||= request_params_header
4637
+
4638
+ options.apply_defaults timeout: @config.rpcs.get_gateway_route_view.timeout,
4639
+ metadata: metadata,
4640
+ retry_policy: @config.rpcs.get_gateway_route_view.retry_policy
4641
+
4642
+ options.apply_defaults timeout: @config.timeout,
4643
+ metadata: @config.metadata,
4644
+ retry_policy: @config.retry_policy
4645
+
4646
+ @network_services_stub.call_rpc :get_gateway_route_view, request, options: options do |response, operation|
4647
+ yield response, operation if block_given?
4648
+ end
4649
+ rescue ::GRPC::BadStatus => e
4650
+ raise ::Google::Cloud::Error.from_error(e)
4651
+ end
4652
+
4653
+ ##
4654
+ # Get a single RouteView of a Mesh.
4655
+ #
4656
+ # @overload get_mesh_route_view(request, options = nil)
4657
+ # Pass arguments to `get_mesh_route_view` via a request object, either of type
4658
+ # {::Google::Cloud::NetworkServices::V1::GetMeshRouteViewRequest} or an equivalent Hash.
4659
+ #
4660
+ # @param request [::Google::Cloud::NetworkServices::V1::GetMeshRouteViewRequest, ::Hash]
4661
+ # A request object representing the call parameters. Required. To specify no
4662
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4663
+ # @param options [::Gapic::CallOptions, ::Hash]
4664
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4665
+ #
4666
+ # @overload get_mesh_route_view(name: nil)
4667
+ # Pass arguments to `get_mesh_route_view` via keyword arguments. Note that at
4668
+ # least one keyword argument is required. To specify no parameters, or to keep all
4669
+ # the default parameter values, pass an empty Hash as a request object (see above).
4670
+ #
4671
+ # @param name [::String]
4672
+ # Required. Name of the MeshRouteView resource.
4673
+ # Format:
4674
+ # projects/\\{project}/locations/\\{location}/meshes/\\{mesh}/routeViews/\\{route_view}
4675
+ #
4676
+ # @yield [response, operation] Access the result along with the RPC operation
4677
+ # @yieldparam response [::Google::Cloud::NetworkServices::V1::MeshRouteView]
4678
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4679
+ #
4680
+ # @return [::Google::Cloud::NetworkServices::V1::MeshRouteView]
4681
+ #
4682
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4683
+ #
4684
+ # @example Basic example
4685
+ # require "google/cloud/network_services/v1"
4686
+ #
4687
+ # # Create a client object. The client can be reused for multiple calls.
4688
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4689
+ #
4690
+ # # Create a request. To set request fields, pass in keyword arguments.
4691
+ # request = Google::Cloud::NetworkServices::V1::GetMeshRouteViewRequest.new
4692
+ #
4693
+ # # Call the get_mesh_route_view method.
4694
+ # result = client.get_mesh_route_view request
4695
+ #
4696
+ # # The returned object is of type Google::Cloud::NetworkServices::V1::MeshRouteView.
4697
+ # p result
4698
+ #
4699
+ def get_mesh_route_view request, options = nil
4700
+ raise ::ArgumentError, "request must be provided" if request.nil?
4701
+
4702
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::GetMeshRouteViewRequest
4703
+
4704
+ # Converts hash and nil to an options object
4705
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4706
+
4707
+ # Customize the options with defaults
4708
+ metadata = @config.rpcs.get_mesh_route_view.metadata.to_h
4709
+
4710
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4711
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4712
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4713
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4714
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4715
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4716
+
4717
+ header_params = {}
4718
+ if request.name
4719
+ header_params["name"] = request.name
4720
+ end
4721
+
4722
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4723
+ metadata[:"x-goog-request-params"] ||= request_params_header
4724
+
4725
+ options.apply_defaults timeout: @config.rpcs.get_mesh_route_view.timeout,
4726
+ metadata: metadata,
4727
+ retry_policy: @config.rpcs.get_mesh_route_view.retry_policy
4728
+
4729
+ options.apply_defaults timeout: @config.timeout,
4730
+ metadata: @config.metadata,
4731
+ retry_policy: @config.retry_policy
4732
+
4733
+ @network_services_stub.call_rpc :get_mesh_route_view, request, options: options do |response, operation|
4734
+ yield response, operation if block_given?
4735
+ end
4736
+ rescue ::GRPC::BadStatus => e
4737
+ raise ::Google::Cloud::Error.from_error(e)
4738
+ end
4739
+
4740
+ ##
4741
+ # Lists RouteViews
4742
+ #
4743
+ # @overload list_gateway_route_views(request, options = nil)
4744
+ # Pass arguments to `list_gateway_route_views` via a request object, either of type
4745
+ # {::Google::Cloud::NetworkServices::V1::ListGatewayRouteViewsRequest} or an equivalent Hash.
4746
+ #
4747
+ # @param request [::Google::Cloud::NetworkServices::V1::ListGatewayRouteViewsRequest, ::Hash]
4748
+ # A request object representing the call parameters. Required. To specify no
4749
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4750
+ # @param options [::Gapic::CallOptions, ::Hash]
4751
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4752
+ #
4753
+ # @overload list_gateway_route_views(parent: nil, page_size: nil, page_token: nil)
4754
+ # Pass arguments to `list_gateway_route_views` via keyword arguments. Note that at
4755
+ # least one keyword argument is required. To specify no parameters, or to keep all
4756
+ # the default parameter values, pass an empty Hash as a request object (see above).
4757
+ #
4758
+ # @param parent [::String]
4759
+ # Required. The Gateway to which a Route is associated.
4760
+ # Formats:
4761
+ # projects/\\{project}/locations/\\{location}/gateways/\\{gateway}
4762
+ # @param page_size [::Integer]
4763
+ # Maximum number of GatewayRouteViews to return per call.
4764
+ # @param page_token [::String]
4765
+ # The value returned by the last `ListGatewayRouteViewsResponse`
4766
+ # Indicates that this is a continuation of a prior `ListGatewayRouteViews`
4767
+ # call, and that the system should return the next page of data.
4768
+ #
4769
+ # @yield [response, operation] Access the result along with the RPC operation
4770
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::GatewayRouteView>]
4771
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4772
+ #
4773
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::GatewayRouteView>]
4774
+ #
4775
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4776
+ #
4777
+ # @example Basic example
4778
+ # require "google/cloud/network_services/v1"
4779
+ #
4780
+ # # Create a client object. The client can be reused for multiple calls.
4781
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4782
+ #
4783
+ # # Create a request. To set request fields, pass in keyword arguments.
4784
+ # request = Google::Cloud::NetworkServices::V1::ListGatewayRouteViewsRequest.new
4785
+ #
4786
+ # # Call the list_gateway_route_views method.
4787
+ # result = client.list_gateway_route_views request
4788
+ #
4789
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
4790
+ # # over elements, and API calls will be issued to fetch pages as needed.
4791
+ # result.each do |item|
4792
+ # # Each element is of type ::Google::Cloud::NetworkServices::V1::GatewayRouteView.
4793
+ # p item
4794
+ # end
4795
+ #
4796
+ def list_gateway_route_views request, options = nil
4797
+ raise ::ArgumentError, "request must be provided" if request.nil?
4798
+
4799
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::ListGatewayRouteViewsRequest
4800
+
4801
+ # Converts hash and nil to an options object
4802
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4803
+
4804
+ # Customize the options with defaults
4805
+ metadata = @config.rpcs.list_gateway_route_views.metadata.to_h
4806
+
4807
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4808
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4809
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4810
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4811
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4812
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4813
+
4814
+ header_params = {}
4815
+ if request.parent
4816
+ header_params["parent"] = request.parent
4817
+ end
4818
+
4819
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4820
+ metadata[:"x-goog-request-params"] ||= request_params_header
4821
+
4822
+ options.apply_defaults timeout: @config.rpcs.list_gateway_route_views.timeout,
4823
+ metadata: metadata,
4824
+ retry_policy: @config.rpcs.list_gateway_route_views.retry_policy
4825
+
4826
+ options.apply_defaults timeout: @config.timeout,
4827
+ metadata: @config.metadata,
4828
+ retry_policy: @config.retry_policy
4829
+
4830
+ @network_services_stub.call_rpc :list_gateway_route_views, request, options: options do |response, operation|
4831
+ response = ::Gapic::PagedEnumerable.new @network_services_stub, :list_gateway_route_views, request, response, operation, options
4832
+ yield response, operation if block_given?
4833
+ throw :response, response
4834
+ end
4835
+ rescue ::GRPC::BadStatus => e
4836
+ raise ::Google::Cloud::Error.from_error(e)
4837
+ end
4838
+
4839
+ ##
4840
+ # Lists RouteViews
4841
+ #
4842
+ # @overload list_mesh_route_views(request, options = nil)
4843
+ # Pass arguments to `list_mesh_route_views` via a request object, either of type
4844
+ # {::Google::Cloud::NetworkServices::V1::ListMeshRouteViewsRequest} or an equivalent Hash.
4845
+ #
4846
+ # @param request [::Google::Cloud::NetworkServices::V1::ListMeshRouteViewsRequest, ::Hash]
4847
+ # A request object representing the call parameters. Required. To specify no
4848
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4849
+ # @param options [::Gapic::CallOptions, ::Hash]
4850
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4851
+ #
4852
+ # @overload list_mesh_route_views(parent: nil, page_size: nil, page_token: nil)
4853
+ # Pass arguments to `list_mesh_route_views` via keyword arguments. Note that at
4854
+ # least one keyword argument is required. To specify no parameters, or to keep all
4855
+ # the default parameter values, pass an empty Hash as a request object (see above).
4856
+ #
4857
+ # @param parent [::String]
4858
+ # Required. The Mesh to which a Route is associated.
4859
+ # Format:
4860
+ # projects/\\{project}/locations/\\{location}/meshes/\\{mesh}
4861
+ # @param page_size [::Integer]
4862
+ # Maximum number of MeshRouteViews to return per call.
4863
+ # @param page_token [::String]
4864
+ # The value returned by the last `ListMeshRouteViewsResponse`
4865
+ # Indicates that this is a continuation of a prior `ListMeshRouteViews` call,
4866
+ # and that the system should return the next page of data.
4867
+ #
4868
+ # @yield [response, operation] Access the result along with the RPC operation
4869
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::MeshRouteView>]
4870
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4871
+ #
4872
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::NetworkServices::V1::MeshRouteView>]
4873
+ #
4874
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4875
+ #
4876
+ # @example Basic example
4877
+ # require "google/cloud/network_services/v1"
4878
+ #
4879
+ # # Create a client object. The client can be reused for multiple calls.
4880
+ # client = Google::Cloud::NetworkServices::V1::NetworkServices::Client.new
4881
+ #
4882
+ # # Create a request. To set request fields, pass in keyword arguments.
4883
+ # request = Google::Cloud::NetworkServices::V1::ListMeshRouteViewsRequest.new
4884
+ #
4885
+ # # Call the list_mesh_route_views method.
4886
+ # result = client.list_mesh_route_views request
4887
+ #
4888
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
4889
+ # # over elements, and API calls will be issued to fetch pages as needed.
4890
+ # result.each do |item|
4891
+ # # Each element is of type ::Google::Cloud::NetworkServices::V1::MeshRouteView.
4892
+ # p item
4893
+ # end
4894
+ #
4895
+ def list_mesh_route_views request, options = nil
4896
+ raise ::ArgumentError, "request must be provided" if request.nil?
4897
+
4898
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::NetworkServices::V1::ListMeshRouteViewsRequest
4899
+
4900
+ # Converts hash and nil to an options object
4901
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4902
+
4903
+ # Customize the options with defaults
4904
+ metadata = @config.rpcs.list_mesh_route_views.metadata.to_h
4905
+
4906
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
4907
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4908
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4909
+ gapic_version: ::Google::Cloud::NetworkServices::V1::VERSION
4910
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
4911
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4912
+
4913
+ header_params = {}
4914
+ if request.parent
4915
+ header_params["parent"] = request.parent
4916
+ end
4917
+
4918
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4919
+ metadata[:"x-goog-request-params"] ||= request_params_header
4920
+
4921
+ options.apply_defaults timeout: @config.rpcs.list_mesh_route_views.timeout,
4922
+ metadata: metadata,
4923
+ retry_policy: @config.rpcs.list_mesh_route_views.retry_policy
4924
+
4925
+ options.apply_defaults timeout: @config.timeout,
4926
+ metadata: @config.metadata,
4927
+ retry_policy: @config.retry_policy
4928
+
4929
+ @network_services_stub.call_rpc :list_mesh_route_views, request, options: options do |response, operation|
4930
+ response = ::Gapic::PagedEnumerable.new @network_services_stub, :list_mesh_route_views, request, response, operation, options
4931
+ yield response, operation if block_given?
4932
+ throw :response, response
4933
+ end
4934
+ rescue ::GRPC::BadStatus => e
4935
+ raise ::Google::Cloud::Error.from_error(e)
4936
+ end
4937
+
4938
+ ##
4939
+ # Configuration class for the NetworkServices API.
4940
+ #
4941
+ # This class represents the configuration for NetworkServices,
4942
+ # providing control over timeouts, retry behavior, logging, transport
4943
+ # parameters, and other low-level controls. Certain parameters can also be
4944
+ # applied individually to specific RPCs. See
4945
+ # {::Google::Cloud::NetworkServices::V1::NetworkServices::Client::Configuration::Rpcs}
4946
+ # for a list of RPCs that can be configured independently.
4947
+ #
4948
+ # Configuration can be applied globally to all clients, or to a single client
4949
+ # on construction.
4950
+ #
4951
+ # @example
4952
+ #
4953
+ # # Modify the global config, setting the timeout for
4954
+ # # list_endpoint_policies to 20 seconds,
4955
+ # # and all remaining timeouts to 10 seconds.
4956
+ # ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.configure do |config|
4957
+ # config.timeout = 10.0
4958
+ # config.rpcs.list_endpoint_policies.timeout = 20.0
4959
+ # end
4960
+ #
4961
+ # # Apply the above configuration only to a new client.
4962
+ # client = ::Google::Cloud::NetworkServices::V1::NetworkServices::Client.new do |config|
4963
+ # config.timeout = 10.0
4964
+ # config.rpcs.list_endpoint_policies.timeout = 20.0
4965
+ # end
4966
+ #
4967
+ # @!attribute [rw] endpoint
4968
+ # A custom service endpoint, as a hostname or hostname:port. The default is
4969
+ # nil, indicating to use the default endpoint in the current universe domain.
4970
+ # @return [::String,nil]
4971
+ # @!attribute [rw] credentials
4972
+ # Credentials to send with calls. You may provide any of the following types:
4973
+ # * (`String`) The path to a service account key file in JSON format
4974
+ # * (`Hash`) A service account key as a Hash
4975
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
4976
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
4977
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
4978
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
4979
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
4980
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
4981
+ # * (`nil`) indicating no credentials
4982
+ #
4983
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
4984
+ # external source for authentication to Google Cloud, you must validate it before
4985
+ # providing it to a Google API client library. Providing an unvalidated credential
4986
+ # configuration to Google APIs can compromise the security of your systems and data.
4987
+ # For more information, refer to [Validate credential configurations from external
4988
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
4989
+ # @return [::Object]
4990
+ # @!attribute [rw] scope
4991
+ # The OAuth scopes
4992
+ # @return [::Array<::String>]
4993
+ # @!attribute [rw] lib_name
4994
+ # The library name as recorded in instrumentation and logging
4995
+ # @return [::String]
4996
+ # @!attribute [rw] lib_version
4997
+ # The library version as recorded in instrumentation and logging
4998
+ # @return [::String]
4999
+ # @!attribute [rw] channel_args
5000
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
5001
+ # `GRPC::Core::Channel` object is provided as the credential.
5002
+ # @return [::Hash]
5003
+ # @!attribute [rw] interceptors
5004
+ # An array of interceptors that are run before calls are executed.
5005
+ # @return [::Array<::GRPC::ClientInterceptor>]
5006
+ # @!attribute [rw] timeout
5007
+ # The call timeout in seconds.
5008
+ # @return [::Numeric]
5009
+ # @!attribute [rw] metadata
5010
+ # Additional gRPC headers to be sent with the call.
5011
+ # @return [::Hash{::Symbol=>::String}]
5012
+ # @!attribute [rw] retry_policy
5013
+ # The retry policy. The value is a hash with the following keys:
5014
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
5015
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
5016
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
5017
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
5018
+ # trigger a retry.
5019
+ # @return [::Hash]
5020
+ # @!attribute [rw] quota_project
5021
+ # A separate project against which to charge quota.
5022
+ # @return [::String]
5023
+ # @!attribute [rw] universe_domain
5024
+ # The universe domain within which to make requests. This determines the
5025
+ # default endpoint URL. The default value of nil uses the environment
5026
+ # universe (usually the default "googleapis.com" universe).
5027
+ # @return [::String,nil]
5028
+ # @!attribute [rw] logger
5029
+ # A custom logger to use for request/response debug logging, or the value
5030
+ # `:default` (the default) to construct a default logger, or `nil` to
5031
+ # explicitly disable logging.
5032
+ # @return [::Logger,:default,nil]
5033
+ #
5034
+ class Configuration
5035
+ extend ::Gapic::Config
5036
+
5037
+ # @private
5038
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
5039
+ DEFAULT_ENDPOINT = "networkservices.googleapis.com"
5040
+
5041
+ config_attr :endpoint, nil, ::String, nil
5042
+ config_attr :credentials, nil do |value|
5043
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
5044
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel
5045
+ allowed.any? { |klass| klass === value }
5046
+ end
5047
+ config_attr :scope, nil, ::String, ::Array, nil
5048
+ config_attr :lib_name, nil, ::String, nil
5049
+ config_attr :lib_version, nil, ::String, nil
5050
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
5051
+ config_attr :interceptors, nil, ::Array, nil
5052
+ config_attr :timeout, nil, ::Numeric, nil
5053
+ config_attr :metadata, nil, ::Hash, nil
5054
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
5055
+ config_attr :quota_project, nil, ::String, nil
5056
+ config_attr :universe_domain, nil, ::String, nil
5057
+ config_attr :logger, :default, ::Logger, nil, :default
5058
+
5059
+ # @private
5060
+ def initialize parent_config = nil
5061
+ @parent_config = parent_config unless parent_config.nil?
5062
+
5063
+ yield self if block_given?
5064
+ end
5065
+
5066
+ ##
5067
+ # Configurations for individual RPCs
5068
+ # @return [Rpcs]
5069
+ #
5070
+ def rpcs
5071
+ @rpcs ||= begin
5072
+ parent_rpcs = nil
5073
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
5074
+ Rpcs.new parent_rpcs
5075
+ end
5076
+ end
5077
+
5078
+ ##
5079
+ # Configuration for the channel pool
5080
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
5081
+ #
5082
+ def channel_pool
5083
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
4106
5084
  end
4107
5085
 
4108
5086
  ##
@@ -4289,6 +5267,11 @@ module Google
4289
5267
  #
4290
5268
  attr_reader :create_service_binding
4291
5269
  ##
5270
+ # RPC-specific configuration for `update_service_binding`
5271
+ # @return [::Gapic::Config::Method]
5272
+ #
5273
+ attr_reader :update_service_binding
5274
+ ##
4292
5275
  # RPC-specific configuration for `delete_service_binding`
4293
5276
  # @return [::Gapic::Config::Method]
4294
5277
  #
@@ -4318,6 +5301,51 @@ module Google
4318
5301
  # @return [::Gapic::Config::Method]
4319
5302
  #
4320
5303
  attr_reader :delete_mesh
5304
+ ##
5305
+ # RPC-specific configuration for `list_service_lb_policies`
5306
+ # @return [::Gapic::Config::Method]
5307
+ #
5308
+ attr_reader :list_service_lb_policies
5309
+ ##
5310
+ # RPC-specific configuration for `get_service_lb_policy`
5311
+ # @return [::Gapic::Config::Method]
5312
+ #
5313
+ attr_reader :get_service_lb_policy
5314
+ ##
5315
+ # RPC-specific configuration for `create_service_lb_policy`
5316
+ # @return [::Gapic::Config::Method]
5317
+ #
5318
+ attr_reader :create_service_lb_policy
5319
+ ##
5320
+ # RPC-specific configuration for `update_service_lb_policy`
5321
+ # @return [::Gapic::Config::Method]
5322
+ #
5323
+ attr_reader :update_service_lb_policy
5324
+ ##
5325
+ # RPC-specific configuration for `delete_service_lb_policy`
5326
+ # @return [::Gapic::Config::Method]
5327
+ #
5328
+ attr_reader :delete_service_lb_policy
5329
+ ##
5330
+ # RPC-specific configuration for `get_gateway_route_view`
5331
+ # @return [::Gapic::Config::Method]
5332
+ #
5333
+ attr_reader :get_gateway_route_view
5334
+ ##
5335
+ # RPC-specific configuration for `get_mesh_route_view`
5336
+ # @return [::Gapic::Config::Method]
5337
+ #
5338
+ attr_reader :get_mesh_route_view
5339
+ ##
5340
+ # RPC-specific configuration for `list_gateway_route_views`
5341
+ # @return [::Gapic::Config::Method]
5342
+ #
5343
+ attr_reader :list_gateway_route_views
5344
+ ##
5345
+ # RPC-specific configuration for `list_mesh_route_views`
5346
+ # @return [::Gapic::Config::Method]
5347
+ #
5348
+ attr_reader :list_mesh_route_views
4321
5349
 
4322
5350
  # @private
4323
5351
  def initialize parent_rpcs = nil
@@ -4387,6 +5415,8 @@ module Google
4387
5415
  @get_service_binding = ::Gapic::Config::Method.new get_service_binding_config
4388
5416
  create_service_binding_config = parent_rpcs.create_service_binding if parent_rpcs.respond_to? :create_service_binding
4389
5417
  @create_service_binding = ::Gapic::Config::Method.new create_service_binding_config
5418
+ update_service_binding_config = parent_rpcs.update_service_binding if parent_rpcs.respond_to? :update_service_binding
5419
+ @update_service_binding = ::Gapic::Config::Method.new update_service_binding_config
4390
5420
  delete_service_binding_config = parent_rpcs.delete_service_binding if parent_rpcs.respond_to? :delete_service_binding
4391
5421
  @delete_service_binding = ::Gapic::Config::Method.new delete_service_binding_config
4392
5422
  list_meshes_config = parent_rpcs.list_meshes if parent_rpcs.respond_to? :list_meshes
@@ -4399,6 +5429,24 @@ module Google
4399
5429
  @update_mesh = ::Gapic::Config::Method.new update_mesh_config
4400
5430
  delete_mesh_config = parent_rpcs.delete_mesh if parent_rpcs.respond_to? :delete_mesh
4401
5431
  @delete_mesh = ::Gapic::Config::Method.new delete_mesh_config
5432
+ list_service_lb_policies_config = parent_rpcs.list_service_lb_policies if parent_rpcs.respond_to? :list_service_lb_policies
5433
+ @list_service_lb_policies = ::Gapic::Config::Method.new list_service_lb_policies_config
5434
+ get_service_lb_policy_config = parent_rpcs.get_service_lb_policy if parent_rpcs.respond_to? :get_service_lb_policy
5435
+ @get_service_lb_policy = ::Gapic::Config::Method.new get_service_lb_policy_config
5436
+ create_service_lb_policy_config = parent_rpcs.create_service_lb_policy if parent_rpcs.respond_to? :create_service_lb_policy
5437
+ @create_service_lb_policy = ::Gapic::Config::Method.new create_service_lb_policy_config
5438
+ update_service_lb_policy_config = parent_rpcs.update_service_lb_policy if parent_rpcs.respond_to? :update_service_lb_policy
5439
+ @update_service_lb_policy = ::Gapic::Config::Method.new update_service_lb_policy_config
5440
+ delete_service_lb_policy_config = parent_rpcs.delete_service_lb_policy if parent_rpcs.respond_to? :delete_service_lb_policy
5441
+ @delete_service_lb_policy = ::Gapic::Config::Method.new delete_service_lb_policy_config
5442
+ get_gateway_route_view_config = parent_rpcs.get_gateway_route_view if parent_rpcs.respond_to? :get_gateway_route_view
5443
+ @get_gateway_route_view = ::Gapic::Config::Method.new get_gateway_route_view_config
5444
+ get_mesh_route_view_config = parent_rpcs.get_mesh_route_view if parent_rpcs.respond_to? :get_mesh_route_view
5445
+ @get_mesh_route_view = ::Gapic::Config::Method.new get_mesh_route_view_config
5446
+ list_gateway_route_views_config = parent_rpcs.list_gateway_route_views if parent_rpcs.respond_to? :list_gateway_route_views
5447
+ @list_gateway_route_views = ::Gapic::Config::Method.new list_gateway_route_views_config
5448
+ list_mesh_route_views_config = parent_rpcs.list_mesh_route_views if parent_rpcs.respond_to? :list_mesh_route_views
5449
+ @list_mesh_route_views = ::Gapic::Config::Method.new list_mesh_route_views_config
4402
5450
 
4403
5451
  yield self if block_given?
4404
5452
  end