google-cloud-gaming-v1 0.1.0 → 0.3.1

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.
@@ -103,8 +103,13 @@ module Google
103
103
  # Lists operations that match the specified filter in the request. If the
104
104
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
105
105
  #
106
- # NOTE: the `name` binding below allows API services to override the binding
107
- # to use different resource name schemes, such as `users/*/operations`.
106
+ # NOTE: the `name` binding allows API services to override the binding
107
+ # to use different resource name schemes, such as `users/*/operations`. To
108
+ # override the binding, API services can add a binding such as
109
+ # `"/v1/{name=users/*}/operations"` to their service configuration.
110
+ # For backwards compatibility, the default name includes the operations
111
+ # collection id, however overriding users must ensure the name binding
112
+ # is the parent resource, without the operations collection id.
108
113
  #
109
114
  # @overload list_operations(request, options = nil)
110
115
  # Pass arguments to `list_operations` via a request object, either of type
@@ -122,7 +127,7 @@ module Google
122
127
  # the default parameter values, pass an empty Hash as a request object (see above).
123
128
  #
124
129
  # @param name [::String]
125
- # The name of the operation collection.
130
+ # The name of the operation's parent resource.
126
131
  # @param filter [::String]
127
132
  # The standard list filter.
128
133
  # @param page_size [::Integer]
@@ -390,6 +395,79 @@ module Google
390
395
  raise ::Google::Cloud::Error.from_error(e)
391
396
  end
392
397
 
398
+ ##
399
+ # Waits for the specified long-running operation until it is done or reaches
400
+ # at most a specified timeout, returning the latest state. If the operation
401
+ # is already done, the latest state is immediately returned. If the timeout
402
+ # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
403
+ # timeout is used. If the server does not support this method, it returns
404
+ # `google.rpc.Code.UNIMPLEMENTED`.
405
+ # Note that this method is on a best-effort basis. It may return the latest
406
+ # state before the specified timeout (including immediately), meaning even an
407
+ # immediate response is no guarantee that the operation is done.
408
+ #
409
+ # @overload wait_operation(request, options = nil)
410
+ # Pass arguments to `wait_operation` via a request object, either of type
411
+ # {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
412
+ #
413
+ # @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
414
+ # A request object representing the call parameters. Required. To specify no
415
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
416
+ # @param options [::Gapic::CallOptions, ::Hash]
417
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
418
+ #
419
+ # @overload wait_operation(name: nil, timeout: nil)
420
+ # Pass arguments to `wait_operation` via keyword arguments. Note that at
421
+ # least one keyword argument is required. To specify no parameters, or to keep all
422
+ # the default parameter values, pass an empty Hash as a request object (see above).
423
+ #
424
+ # @param name [::String]
425
+ # The name of the operation resource to wait on.
426
+ # @param timeout [::Google::Protobuf::Duration, ::Hash]
427
+ # The maximum duration to wait before timing out. If left blank, the wait
428
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
429
+ # If RPC context deadline is also specified, the shorter one will be used.
430
+ #
431
+ # @yield [response, operation] Access the result along with the RPC operation
432
+ # @yieldparam response [::Gapic::Operation]
433
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
434
+ #
435
+ # @return [::Gapic::Operation]
436
+ #
437
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
438
+ #
439
+ def wait_operation request, options = nil
440
+ raise ::ArgumentError, "request must be provided" if request.nil?
441
+
442
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
443
+
444
+ # Converts hash and nil to an options object
445
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
446
+
447
+ # Customize the options with defaults
448
+ metadata = @config.rpcs.wait_operation.metadata.to_h
449
+
450
+ # Set x-goog-api-client and x-goog-user-project headers
451
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
452
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
453
+ gapic_version: ::Google::Cloud::Gaming::V1::VERSION
454
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
455
+
456
+ options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
457
+ metadata: metadata,
458
+ retry_policy: @config.rpcs.wait_operation.retry_policy
459
+ options.apply_defaults metadata: @config.metadata,
460
+ retry_policy: @config.retry_policy
461
+
462
+ @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
463
+ response = ::Gapic::Operation.new response, @operations_client, options: options
464
+ yield response, operation if block_given?
465
+ return response
466
+ end
467
+ rescue ::GRPC::BadStatus => e
468
+ raise ::Google::Cloud::Error.from_error(e)
469
+ end
470
+
393
471
  ##
394
472
  # Configuration class for the Operations API.
395
473
  #
@@ -475,14 +553,14 @@ module Google
475
553
 
476
554
  config_attr :endpoint, "gameservices.googleapis.com", ::String
477
555
  config_attr :credentials, nil do |value|
478
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
556
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
479
557
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
480
558
  allowed.any? { |klass| klass === value }
481
559
  end
482
560
  config_attr :scope, nil, ::String, ::Array, nil
483
561
  config_attr :lib_name, nil, ::String, nil
484
562
  config_attr :lib_version, nil, ::String, nil
485
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
563
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
486
564
  config_attr :interceptors, nil, ::Array, nil
487
565
  config_attr :timeout, nil, ::Numeric, nil
488
566
  config_attr :metadata, nil, ::Hash, nil
@@ -503,7 +581,7 @@ module Google
503
581
  def rpcs
504
582
  @rpcs ||= begin
505
583
  parent_rpcs = nil
506
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
584
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
507
585
  Rpcs.new parent_rpcs
508
586
  end
509
587
  end
@@ -515,7 +593,7 @@ module Google
515
593
  # Each configuration object is of type `Gapic::Config::Method` and includes
516
594
  # the following configuration fields:
517
595
  #
518
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
596
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
519
597
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
520
598
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
521
599
  # include the following keys:
@@ -546,17 +624,24 @@ module Google
546
624
  # @return [::Gapic::Config::Method]
547
625
  #
548
626
  attr_reader :cancel_operation
627
+ ##
628
+ # RPC-specific configuration for `wait_operation`
629
+ # @return [::Gapic::Config::Method]
630
+ #
631
+ attr_reader :wait_operation
549
632
 
550
633
  # @private
551
634
  def initialize parent_rpcs = nil
552
- list_operations_config = parent_rpcs&.list_operations if parent_rpcs&.respond_to? :list_operations
635
+ list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
553
636
  @list_operations = ::Gapic::Config::Method.new list_operations_config
554
- get_operation_config = parent_rpcs&.get_operation if parent_rpcs&.respond_to? :get_operation
637
+ get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
555
638
  @get_operation = ::Gapic::Config::Method.new get_operation_config
556
- delete_operation_config = parent_rpcs&.delete_operation if parent_rpcs&.respond_to? :delete_operation
639
+ delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
557
640
  @delete_operation = ::Gapic::Config::Method.new delete_operation_config
558
- cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
641
+ cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
559
642
  @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
643
+ wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
644
+ @wait_operation = ::Gapic::Config::Method.new wait_operation_config
560
645
 
561
646
  yield self if block_given?
562
647
  end
@@ -27,7 +27,7 @@ module Google
27
27
  # The game server config configures the game servers in an Agones fleet.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -35,16 +35,16 @@ module Google
35
35
 
36
36
  # Lists game server configs in a given project, location, and game server
37
37
  # deployment.
38
- rpc :ListGameServerConfigs, Google::Cloud::Gaming::V1::ListGameServerConfigsRequest, Google::Cloud::Gaming::V1::ListGameServerConfigsResponse
38
+ rpc :ListGameServerConfigs, ::Google::Cloud::Gaming::V1::ListGameServerConfigsRequest, ::Google::Cloud::Gaming::V1::ListGameServerConfigsResponse
39
39
  # Gets details of a single game server config.
40
- rpc :GetGameServerConfig, Google::Cloud::Gaming::V1::GetGameServerConfigRequest, Google::Cloud::Gaming::V1::GameServerConfig
40
+ rpc :GetGameServerConfig, ::Google::Cloud::Gaming::V1::GetGameServerConfigRequest, ::Google::Cloud::Gaming::V1::GameServerConfig
41
41
  # Creates a new game server config in a given project, location, and game
42
42
  # server deployment. Game server configs are immutable, and are not applied
43
43
  # until referenced in the game server deployment rollout resource.
44
- rpc :CreateGameServerConfig, Google::Cloud::Gaming::V1::CreateGameServerConfigRequest, Google::Longrunning::Operation
44
+ rpc :CreateGameServerConfig, ::Google::Cloud::Gaming::V1::CreateGameServerConfigRequest, ::Google::Longrunning::Operation
45
45
  # Deletes a single game server config. The deletion will fail if the game
46
46
  # server config is referenced in a game server deployment rollout.
47
- rpc :DeleteGameServerConfig, Google::Cloud::Gaming::V1::DeleteGameServerConfigRequest, Google::Longrunning::Operation
47
+ rpc :DeleteGameServerConfig, ::Google::Cloud::Gaming::V1::DeleteGameServerConfigRequest, ::Google::Longrunning::Operation
48
48
  end
49
49
 
50
50
  Stub = Service.rpc_stub_class
@@ -61,7 +61,7 @@ module Google
61
61
  parent_config = while namespace.any?
62
62
  parent_name = namespace.join "::"
63
63
  parent_const = const_get parent_name
64
- break parent_const.configure if parent_const&.respond_to? :configure
64
+ break parent_const.configure if parent_const.respond_to? :configure
65
65
  namespace.pop
66
66
  end
67
67
  default_config = Client::Configuration.new parent_config
@@ -69,17 +69,17 @@ module Google
69
69
  default_config.rpcs.list_game_server_deployments.timeout = 60.0
70
70
  default_config.rpcs.list_game_server_deployments.retry_policy = {
71
71
  initial_delay: 1.0,
72
- max_delay: 10.0,
73
- multiplier: 1.3,
74
- retry_codes: [14]
72
+ max_delay: 10.0,
73
+ multiplier: 1.3,
74
+ retry_codes: [14]
75
75
  }
76
76
 
77
77
  default_config.rpcs.get_game_server_deployment.timeout = 60.0
78
78
  default_config.rpcs.get_game_server_deployment.retry_policy = {
79
79
  initial_delay: 1.0,
80
- max_delay: 10.0,
81
- multiplier: 1.3,
82
- retry_codes: [14]
80
+ max_delay: 10.0,
81
+ multiplier: 1.3,
82
+ retry_codes: [14]
83
83
  }
84
84
 
85
85
  default_config.rpcs.create_game_server_deployment.timeout = 60.0
@@ -91,9 +91,9 @@ module Google
91
91
  default_config.rpcs.get_game_server_deployment_rollout.timeout = 60.0
92
92
  default_config.rpcs.get_game_server_deployment_rollout.retry_policy = {
93
93
  initial_delay: 1.0,
94
- max_delay: 10.0,
95
- multiplier: 1.3,
96
- retry_codes: [14]
94
+ max_delay: 10.0,
95
+ multiplier: 1.3,
96
+ retry_codes: [14]
97
97
  }
98
98
 
99
99
  default_config.rpcs.update_game_server_deployment_rollout.timeout = 60.0
@@ -101,17 +101,17 @@ module Google
101
101
  default_config.rpcs.preview_game_server_deployment_rollout.timeout = 60.0
102
102
  default_config.rpcs.preview_game_server_deployment_rollout.retry_policy = {
103
103
  initial_delay: 1.0,
104
- max_delay: 10.0,
105
- multiplier: 1.3,
106
- retry_codes: [14]
104
+ max_delay: 10.0,
105
+ multiplier: 1.3,
106
+ retry_codes: [14]
107
107
  }
108
108
 
109
109
  default_config.rpcs.fetch_deployment_state.timeout = 120.0
110
110
  default_config.rpcs.fetch_deployment_state.retry_policy = {
111
111
  initial_delay: 1.0,
112
- max_delay: 10.0,
113
- multiplier: 1.3,
114
- retry_codes: [14]
112
+ max_delay: 10.0,
113
+ multiplier: 1.3,
114
+ retry_codes: [14]
115
115
  }
116
116
 
117
117
  default_config
@@ -175,7 +175,13 @@ module Google
175
175
 
176
176
  # Create credentials
177
177
  credentials = @config.credentials
178
- credentials ||= Credentials.default scope: @config.scope
178
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
179
+ # but only if the default endpoint does not have a region prefix.
180
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
181
+ @config.endpoint == Client.configure.endpoint &&
182
+ !@config.endpoint.split(".").first.include?("-")
183
+ credentials ||= Credentials.default scope: @config.scope,
184
+ enable_self_signed_jwt: enable_self_signed_jwt
179
185
  if credentials.is_a?(String) || credentials.is_a?(Hash)
180
186
  credentials = Credentials.new credentials, scope: @config.scope
181
187
  end
@@ -952,14 +958,14 @@ module Google
952
958
 
953
959
  config_attr :endpoint, "gameservices.googleapis.com", ::String
954
960
  config_attr :credentials, nil do |value|
955
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
961
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
956
962
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
957
963
  allowed.any? { |klass| klass === value }
958
964
  end
959
965
  config_attr :scope, nil, ::String, ::Array, nil
960
966
  config_attr :lib_name, nil, ::String, nil
961
967
  config_attr :lib_version, nil, ::String, nil
962
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
968
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
963
969
  config_attr :interceptors, nil, ::Array, nil
964
970
  config_attr :timeout, nil, ::Numeric, nil
965
971
  config_attr :metadata, nil, ::Hash, nil
@@ -980,7 +986,7 @@ module Google
980
986
  def rpcs
981
987
  @rpcs ||= begin
982
988
  parent_rpcs = nil
983
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
989
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
984
990
  Rpcs.new parent_rpcs
985
991
  end
986
992
  end
@@ -992,7 +998,7 @@ module Google
992
998
  # Each configuration object is of type `Gapic::Config::Method` and includes
993
999
  # the following configuration fields:
994
1000
  #
995
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
1001
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
996
1002
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
997
1003
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
998
1004
  # include the following keys:
@@ -1051,23 +1057,23 @@ module Google
1051
1057
 
1052
1058
  # @private
1053
1059
  def initialize parent_rpcs = nil
1054
- list_game_server_deployments_config = parent_rpcs&.list_game_server_deployments if parent_rpcs&.respond_to? :list_game_server_deployments
1060
+ list_game_server_deployments_config = parent_rpcs.list_game_server_deployments if parent_rpcs.respond_to? :list_game_server_deployments
1055
1061
  @list_game_server_deployments = ::Gapic::Config::Method.new list_game_server_deployments_config
1056
- get_game_server_deployment_config = parent_rpcs&.get_game_server_deployment if parent_rpcs&.respond_to? :get_game_server_deployment
1062
+ get_game_server_deployment_config = parent_rpcs.get_game_server_deployment if parent_rpcs.respond_to? :get_game_server_deployment
1057
1063
  @get_game_server_deployment = ::Gapic::Config::Method.new get_game_server_deployment_config
1058
- create_game_server_deployment_config = parent_rpcs&.create_game_server_deployment if parent_rpcs&.respond_to? :create_game_server_deployment
1064
+ create_game_server_deployment_config = parent_rpcs.create_game_server_deployment if parent_rpcs.respond_to? :create_game_server_deployment
1059
1065
  @create_game_server_deployment = ::Gapic::Config::Method.new create_game_server_deployment_config
1060
- delete_game_server_deployment_config = parent_rpcs&.delete_game_server_deployment if parent_rpcs&.respond_to? :delete_game_server_deployment
1066
+ delete_game_server_deployment_config = parent_rpcs.delete_game_server_deployment if parent_rpcs.respond_to? :delete_game_server_deployment
1061
1067
  @delete_game_server_deployment = ::Gapic::Config::Method.new delete_game_server_deployment_config
1062
- update_game_server_deployment_config = parent_rpcs&.update_game_server_deployment if parent_rpcs&.respond_to? :update_game_server_deployment
1068
+ update_game_server_deployment_config = parent_rpcs.update_game_server_deployment if parent_rpcs.respond_to? :update_game_server_deployment
1063
1069
  @update_game_server_deployment = ::Gapic::Config::Method.new update_game_server_deployment_config
1064
- get_game_server_deployment_rollout_config = parent_rpcs&.get_game_server_deployment_rollout if parent_rpcs&.respond_to? :get_game_server_deployment_rollout
1070
+ get_game_server_deployment_rollout_config = parent_rpcs.get_game_server_deployment_rollout if parent_rpcs.respond_to? :get_game_server_deployment_rollout
1065
1071
  @get_game_server_deployment_rollout = ::Gapic::Config::Method.new get_game_server_deployment_rollout_config
1066
- update_game_server_deployment_rollout_config = parent_rpcs&.update_game_server_deployment_rollout if parent_rpcs&.respond_to? :update_game_server_deployment_rollout
1072
+ update_game_server_deployment_rollout_config = parent_rpcs.update_game_server_deployment_rollout if parent_rpcs.respond_to? :update_game_server_deployment_rollout
1067
1073
  @update_game_server_deployment_rollout = ::Gapic::Config::Method.new update_game_server_deployment_rollout_config
1068
- preview_game_server_deployment_rollout_config = parent_rpcs&.preview_game_server_deployment_rollout if parent_rpcs&.respond_to? :preview_game_server_deployment_rollout
1074
+ preview_game_server_deployment_rollout_config = parent_rpcs.preview_game_server_deployment_rollout if parent_rpcs.respond_to? :preview_game_server_deployment_rollout
1069
1075
  @preview_game_server_deployment_rollout = ::Gapic::Config::Method.new preview_game_server_deployment_rollout_config
1070
- fetch_deployment_state_config = parent_rpcs&.fetch_deployment_state if parent_rpcs&.respond_to? :fetch_deployment_state
1076
+ fetch_deployment_state_config = parent_rpcs.fetch_deployment_state if parent_rpcs.respond_to? :fetch_deployment_state
1071
1077
  @fetch_deployment_state = ::Gapic::Config::Method.new fetch_deployment_state_config
1072
1078
 
1073
1079
  yield self if block_given?
@@ -103,8 +103,13 @@ module Google
103
103
  # Lists operations that match the specified filter in the request. If the
104
104
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
105
105
  #
106
- # NOTE: the `name` binding below allows API services to override the binding
107
- # to use different resource name schemes, such as `users/*/operations`.
106
+ # NOTE: the `name` binding allows API services to override the binding
107
+ # to use different resource name schemes, such as `users/*/operations`. To
108
+ # override the binding, API services can add a binding such as
109
+ # `"/v1/{name=users/*}/operations"` to their service configuration.
110
+ # For backwards compatibility, the default name includes the operations
111
+ # collection id, however overriding users must ensure the name binding
112
+ # is the parent resource, without the operations collection id.
108
113
  #
109
114
  # @overload list_operations(request, options = nil)
110
115
  # Pass arguments to `list_operations` via a request object, either of type
@@ -122,7 +127,7 @@ module Google
122
127
  # the default parameter values, pass an empty Hash as a request object (see above).
123
128
  #
124
129
  # @param name [::String]
125
- # The name of the operation collection.
130
+ # The name of the operation's parent resource.
126
131
  # @param filter [::String]
127
132
  # The standard list filter.
128
133
  # @param page_size [::Integer]
@@ -390,6 +395,79 @@ module Google
390
395
  raise ::Google::Cloud::Error.from_error(e)
391
396
  end
392
397
 
398
+ ##
399
+ # Waits for the specified long-running operation until it is done or reaches
400
+ # at most a specified timeout, returning the latest state. If the operation
401
+ # is already done, the latest state is immediately returned. If the timeout
402
+ # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
403
+ # timeout is used. If the server does not support this method, it returns
404
+ # `google.rpc.Code.UNIMPLEMENTED`.
405
+ # Note that this method is on a best-effort basis. It may return the latest
406
+ # state before the specified timeout (including immediately), meaning even an
407
+ # immediate response is no guarantee that the operation is done.
408
+ #
409
+ # @overload wait_operation(request, options = nil)
410
+ # Pass arguments to `wait_operation` via a request object, either of type
411
+ # {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
412
+ #
413
+ # @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
414
+ # A request object representing the call parameters. Required. To specify no
415
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
416
+ # @param options [::Gapic::CallOptions, ::Hash]
417
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
418
+ #
419
+ # @overload wait_operation(name: nil, timeout: nil)
420
+ # Pass arguments to `wait_operation` via keyword arguments. Note that at
421
+ # least one keyword argument is required. To specify no parameters, or to keep all
422
+ # the default parameter values, pass an empty Hash as a request object (see above).
423
+ #
424
+ # @param name [::String]
425
+ # The name of the operation resource to wait on.
426
+ # @param timeout [::Google::Protobuf::Duration, ::Hash]
427
+ # The maximum duration to wait before timing out. If left blank, the wait
428
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
429
+ # If RPC context deadline is also specified, the shorter one will be used.
430
+ #
431
+ # @yield [response, operation] Access the result along with the RPC operation
432
+ # @yieldparam response [::Gapic::Operation]
433
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
434
+ #
435
+ # @return [::Gapic::Operation]
436
+ #
437
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
438
+ #
439
+ def wait_operation request, options = nil
440
+ raise ::ArgumentError, "request must be provided" if request.nil?
441
+
442
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
443
+
444
+ # Converts hash and nil to an options object
445
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
446
+
447
+ # Customize the options with defaults
448
+ metadata = @config.rpcs.wait_operation.metadata.to_h
449
+
450
+ # Set x-goog-api-client and x-goog-user-project headers
451
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
452
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
453
+ gapic_version: ::Google::Cloud::Gaming::V1::VERSION
454
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
455
+
456
+ options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
457
+ metadata: metadata,
458
+ retry_policy: @config.rpcs.wait_operation.retry_policy
459
+ options.apply_defaults metadata: @config.metadata,
460
+ retry_policy: @config.retry_policy
461
+
462
+ @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
463
+ response = ::Gapic::Operation.new response, @operations_client, options: options
464
+ yield response, operation if block_given?
465
+ return response
466
+ end
467
+ rescue ::GRPC::BadStatus => e
468
+ raise ::Google::Cloud::Error.from_error(e)
469
+ end
470
+
393
471
  ##
394
472
  # Configuration class for the Operations API.
395
473
  #
@@ -475,14 +553,14 @@ module Google
475
553
 
476
554
  config_attr :endpoint, "gameservices.googleapis.com", ::String
477
555
  config_attr :credentials, nil do |value|
478
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
556
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
479
557
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
480
558
  allowed.any? { |klass| klass === value }
481
559
  end
482
560
  config_attr :scope, nil, ::String, ::Array, nil
483
561
  config_attr :lib_name, nil, ::String, nil
484
562
  config_attr :lib_version, nil, ::String, nil
485
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
563
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
486
564
  config_attr :interceptors, nil, ::Array, nil
487
565
  config_attr :timeout, nil, ::Numeric, nil
488
566
  config_attr :metadata, nil, ::Hash, nil
@@ -503,7 +581,7 @@ module Google
503
581
  def rpcs
504
582
  @rpcs ||= begin
505
583
  parent_rpcs = nil
506
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
584
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
507
585
  Rpcs.new parent_rpcs
508
586
  end
509
587
  end
@@ -515,7 +593,7 @@ module Google
515
593
  # Each configuration object is of type `Gapic::Config::Method` and includes
516
594
  # the following configuration fields:
517
595
  #
518
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
596
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
519
597
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
520
598
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
521
599
  # include the following keys:
@@ -546,17 +624,24 @@ module Google
546
624
  # @return [::Gapic::Config::Method]
547
625
  #
548
626
  attr_reader :cancel_operation
627
+ ##
628
+ # RPC-specific configuration for `wait_operation`
629
+ # @return [::Gapic::Config::Method]
630
+ #
631
+ attr_reader :wait_operation
549
632
 
550
633
  # @private
551
634
  def initialize parent_rpcs = nil
552
- list_operations_config = parent_rpcs&.list_operations if parent_rpcs&.respond_to? :list_operations
635
+ list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
553
636
  @list_operations = ::Gapic::Config::Method.new list_operations_config
554
- get_operation_config = parent_rpcs&.get_operation if parent_rpcs&.respond_to? :get_operation
637
+ get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
555
638
  @get_operation = ::Gapic::Config::Method.new get_operation_config
556
- delete_operation_config = parent_rpcs&.delete_operation if parent_rpcs&.respond_to? :delete_operation
639
+ delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
557
640
  @delete_operation = ::Gapic::Config::Method.new delete_operation_config
558
- cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
641
+ cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
559
642
  @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
643
+ wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
644
+ @wait_operation = ::Gapic::Config::Method.new wait_operation_config
560
645
 
561
646
  yield self if block_given?
562
647
  end