google-cloud-app_engine-v1 0.7.0 → 0.9.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -101
  3. data/lib/google/cloud/app_engine/v1/applications/client.rb +42 -9
  4. data/lib/google/cloud/app_engine/v1/applications/operations.rb +38 -7
  5. data/lib/google/cloud/app_engine/v1/applications/rest/client.rb +119 -7
  6. data/lib/google/cloud/app_engine/v1/applications/rest/operations.rb +108 -8
  7. data/lib/google/cloud/app_engine/v1/applications/rest/service_stub.rb +14 -2
  8. data/lib/google/cloud/app_engine/v1/authorized_certificates/client.rb +41 -9
  9. data/lib/google/cloud/app_engine/v1/authorized_certificates/rest/client.rb +117 -7
  10. data/lib/google/cloud/app_engine/v1/authorized_certificates/rest/service_stub.rb +14 -2
  11. data/lib/google/cloud/app_engine/v1/authorized_domains/client.rb +41 -9
  12. data/lib/google/cloud/app_engine/v1/authorized_domains/rest/client.rb +53 -7
  13. data/lib/google/cloud/app_engine/v1/authorized_domains/rest/service_stub.rb +14 -2
  14. data/lib/google/cloud/app_engine/v1/domain_mappings/client.rb +42 -9
  15. data/lib/google/cloud/app_engine/v1/domain_mappings/operations.rb +38 -7
  16. data/lib/google/cloud/app_engine/v1/domain_mappings/rest/client.rb +139 -7
  17. data/lib/google/cloud/app_engine/v1/domain_mappings/rest/operations.rb +108 -8
  18. data/lib/google/cloud/app_engine/v1/domain_mappings/rest/service_stub.rb +14 -2
  19. data/lib/google/cloud/app_engine/v1/firewall/client.rb +41 -9
  20. data/lib/google/cloud/app_engine/v1/firewall/rest/client.rb +133 -7
  21. data/lib/google/cloud/app_engine/v1/firewall/rest/service_stub.rb +14 -2
  22. data/lib/google/cloud/app_engine/v1/instances/client.rb +42 -9
  23. data/lib/google/cloud/app_engine/v1/instances/operations.rb +38 -7
  24. data/lib/google/cloud/app_engine/v1/instances/rest/client.rb +116 -7
  25. data/lib/google/cloud/app_engine/v1/instances/rest/operations.rb +108 -8
  26. data/lib/google/cloud/app_engine/v1/instances/rest/service_stub.rb +14 -2
  27. data/lib/google/cloud/app_engine/v1/services/client.rb +42 -9
  28. data/lib/google/cloud/app_engine/v1/services/operations.rb +38 -7
  29. data/lib/google/cloud/app_engine/v1/services/rest/client.rb +116 -7
  30. data/lib/google/cloud/app_engine/v1/services/rest/operations.rb +108 -8
  31. data/lib/google/cloud/app_engine/v1/services/rest/service_stub.rb +14 -2
  32. data/lib/google/cloud/app_engine/v1/version.rb +1 -1
  33. data/lib/google/cloud/app_engine/v1/versions/client.rb +42 -9
  34. data/lib/google/cloud/app_engine/v1/versions/operations.rb +38 -7
  35. data/lib/google/cloud/app_engine/v1/versions/rest/client.rb +139 -7
  36. data/lib/google/cloud/app_engine/v1/versions/rest/operations.rb +108 -8
  37. data/lib/google/cloud/app_engine/v1/versions/rest/service_stub.rb +14 -2
  38. data/proto_docs/google/api/client.rb +14 -0
  39. data/proto_docs/google/api/field_behavior.rb +14 -0
  40. metadata +5 -5
@@ -32,6 +32,9 @@ module Google
32
32
  # Manages instances of a version.
33
33
  #
34
34
  class Client
35
+ # @private
36
+ DEFAULT_ENDPOINT_TEMPLATE = "appengine.$UNIVERSE_DOMAIN$"
37
+
35
38
  # @private
36
39
  attr_reader :instances_stub
37
40
 
@@ -90,6 +93,15 @@ module Google
90
93
  @config
91
94
  end
92
95
 
96
+ ##
97
+ # The effective universe domain
98
+ #
99
+ # @return [String]
100
+ #
101
+ def universe_domain
102
+ @instances_stub.universe_domain
103
+ end
104
+
93
105
  ##
94
106
  # Create a new Instances REST client object.
95
107
  #
@@ -117,8 +129,9 @@ module Google
117
129
  credentials = @config.credentials
118
130
  # Use self-signed JWT if the endpoint is unchanged from default,
119
131
  # but only if the default endpoint does not have a region prefix.
120
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
121
- !@config.endpoint.split(".").first.include?("-")
132
+ enable_self_signed_jwt = @config.endpoint.nil? ||
133
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
134
+ !@config.endpoint.split(".").first.include?("-"))
122
135
  credentials ||= Credentials.default scope: @config.scope,
123
136
  enable_self_signed_jwt: enable_self_signed_jwt
124
137
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -132,9 +145,15 @@ module Google
132
145
  config.credentials = credentials
133
146
  config.quota_project = @quota_project_id
134
147
  config.endpoint = @config.endpoint
148
+ config.universe_domain = @config.universe_domain
135
149
  end
136
150
 
137
- @instances_stub = ::Google::Cloud::AppEngine::V1::Instances::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
151
+ @instances_stub = ::Google::Cloud::AppEngine::V1::Instances::Rest::ServiceStub.new(
152
+ endpoint: @config.endpoint,
153
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
154
+ universe_domain: @config.universe_domain,
155
+ credentials: credentials
156
+ )
138
157
  end
139
158
 
140
159
  ##
@@ -181,6 +200,26 @@ module Google
181
200
  # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::AppEngine::V1::Instance>]
182
201
  #
183
202
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
203
+ #
204
+ # @example Basic example
205
+ # require "google/cloud/app_engine/v1"
206
+ #
207
+ # # Create a client object. The client can be reused for multiple calls.
208
+ # client = Google::Cloud::AppEngine::V1::Instances::Rest::Client.new
209
+ #
210
+ # # Create a request. To set request fields, pass in keyword arguments.
211
+ # request = Google::Cloud::AppEngine::V1::ListInstancesRequest.new
212
+ #
213
+ # # Call the list_instances method.
214
+ # result = client.list_instances request
215
+ #
216
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
217
+ # # over elements, and API calls will be issued to fetch pages as needed.
218
+ # result.each do |item|
219
+ # # Each element is of type ::Google::Cloud::AppEngine::V1::Instance.
220
+ # p item
221
+ # end
222
+ #
184
223
  def list_instances request, options = nil
185
224
  raise ::ArgumentError, "request must be provided" if request.nil?
186
225
 
@@ -245,6 +284,22 @@ module Google
245
284
  # @return [::Google::Cloud::AppEngine::V1::Instance]
246
285
  #
247
286
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
287
+ #
288
+ # @example Basic example
289
+ # require "google/cloud/app_engine/v1"
290
+ #
291
+ # # Create a client object. The client can be reused for multiple calls.
292
+ # client = Google::Cloud::AppEngine::V1::Instances::Rest::Client.new
293
+ #
294
+ # # Create a request. To set request fields, pass in keyword arguments.
295
+ # request = Google::Cloud::AppEngine::V1::GetInstanceRequest.new
296
+ #
297
+ # # Call the get_instance method.
298
+ # result = client.get_instance request
299
+ #
300
+ # # The returned object is of type Google::Cloud::AppEngine::V1::Instance.
301
+ # p result
302
+ #
248
303
  def get_instance request, options = nil
249
304
  raise ::ArgumentError, "request must be provided" if request.nil?
250
305
 
@@ -319,6 +374,29 @@ module Google
319
374
  # @return [::Gapic::Operation]
320
375
  #
321
376
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
377
+ #
378
+ # @example Basic example
379
+ # require "google/cloud/app_engine/v1"
380
+ #
381
+ # # Create a client object. The client can be reused for multiple calls.
382
+ # client = Google::Cloud::AppEngine::V1::Instances::Rest::Client.new
383
+ #
384
+ # # Create a request. To set request fields, pass in keyword arguments.
385
+ # request = Google::Cloud::AppEngine::V1::DeleteInstanceRequest.new
386
+ #
387
+ # # Call the delete_instance method.
388
+ # result = client.delete_instance request
389
+ #
390
+ # # The returned object is of type Gapic::Operation. You can use it to
391
+ # # check the status of an operation, cancel it, or wait for results.
392
+ # # Here is how to wait for a response.
393
+ # result.wait_until_done! timeout: 60
394
+ # if result.response?
395
+ # p result.response
396
+ # else
397
+ # puts "No response received."
398
+ # end
399
+ #
322
400
  def delete_instance request, options = nil
323
401
  raise ::ArgumentError, "request must be provided" if request.nil?
324
402
 
@@ -398,6 +476,29 @@ module Google
398
476
  # @return [::Gapic::Operation]
399
477
  #
400
478
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
479
+ #
480
+ # @example Basic example
481
+ # require "google/cloud/app_engine/v1"
482
+ #
483
+ # # Create a client object. The client can be reused for multiple calls.
484
+ # client = Google::Cloud::AppEngine::V1::Instances::Rest::Client.new
485
+ #
486
+ # # Create a request. To set request fields, pass in keyword arguments.
487
+ # request = Google::Cloud::AppEngine::V1::DebugInstanceRequest.new
488
+ #
489
+ # # Call the debug_instance method.
490
+ # result = client.debug_instance request
491
+ #
492
+ # # The returned object is of type Gapic::Operation. You can use it to
493
+ # # check the status of an operation, cancel it, or wait for results.
494
+ # # Here is how to wait for a response.
495
+ # result.wait_until_done! timeout: 60
496
+ # if result.response?
497
+ # p result.response
498
+ # else
499
+ # puts "No response received."
500
+ # end
501
+ #
401
502
  def debug_instance request, options = nil
402
503
  raise ::ArgumentError, "request must be provided" if request.nil?
403
504
 
@@ -464,9 +565,9 @@ module Google
464
565
  # end
465
566
  #
466
567
  # @!attribute [rw] endpoint
467
- # The hostname or hostname:port of the service endpoint.
468
- # Defaults to `"appengine.googleapis.com"`.
469
- # @return [::String]
568
+ # A custom service endpoint, as a hostname or hostname:port. The default is
569
+ # nil, indicating to use the default endpoint in the current universe domain.
570
+ # @return [::String,nil]
470
571
  # @!attribute [rw] credentials
471
572
  # Credentials to send with calls. You may provide any of the following types:
472
573
  # * (`String`) The path to a service account key file in JSON format
@@ -503,13 +604,20 @@ module Google
503
604
  # @!attribute [rw] quota_project
504
605
  # A separate project against which to charge quota.
505
606
  # @return [::String]
607
+ # @!attribute [rw] universe_domain
608
+ # The universe domain within which to make requests. This determines the
609
+ # default endpoint URL. The default value of nil uses the environment
610
+ # universe (usually the default "googleapis.com" universe).
611
+ # @return [::String,nil]
506
612
  #
507
613
  class Configuration
508
614
  extend ::Gapic::Config
509
615
 
616
+ # @private
617
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
510
618
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
511
619
 
512
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
620
+ config_attr :endpoint, nil, ::String, nil
513
621
  config_attr :credentials, nil do |value|
514
622
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
515
623
  allowed.any? { |klass| klass === value }
@@ -521,6 +629,7 @@ module Google
521
629
  config_attr :metadata, nil, ::Hash, nil
522
630
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
523
631
  config_attr :quota_project, nil, ::String, nil
632
+ config_attr :universe_domain, nil, ::String, nil
524
633
 
525
634
  # @private
526
635
  def initialize parent_config = nil
@@ -26,6 +26,9 @@ module Google
26
26
  module Rest
27
27
  # Service that implements Longrunning Operations API.
28
28
  class Operations
29
+ # @private
30
+ DEFAULT_ENDPOINT_TEMPLATE = "appengine.$UNIVERSE_DOMAIN$"
31
+
29
32
  # @private
30
33
  attr_reader :operations_stub
31
34
 
@@ -60,6 +63,15 @@ module Google
60
63
  @config
61
64
  end
62
65
 
66
+ ##
67
+ # The effective universe domain
68
+ #
69
+ # @return [String]
70
+ #
71
+ def universe_domain
72
+ @operations_stub.universe_domain
73
+ end
74
+
63
75
  ##
64
76
  # Create a new Operations client object.
65
77
  #
@@ -84,8 +96,10 @@ module Google
84
96
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
85
97
 
86
98
  @operations_stub = OperationsServiceStub.new(
87
- endpoint: @config.endpoint,
88
- credentials: credentials
99
+ endpoint: @config.endpoint,
100
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
101
+ universe_domain: @config.universe_domain,
102
+ credentials: credentials
89
103
  )
90
104
 
91
105
  # Used by an LRO wrapper for some methods of this service
@@ -136,6 +150,26 @@ module Google
136
150
  # @return [::Gapic::Operation]
137
151
  #
138
152
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
153
+ #
154
+ # @example Basic example
155
+ # require "google/longrunning"
156
+ #
157
+ # # Create a client object. The client can be reused for multiple calls.
158
+ # client = Google::Longrunning::Operations::Rest::Client.new
159
+ #
160
+ # # Create a request. To set request fields, pass in keyword arguments.
161
+ # request = Google::Longrunning::ListOperationsRequest.new
162
+ #
163
+ # # Call the list_operations method.
164
+ # result = client.list_operations request
165
+ #
166
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
167
+ # # over elements, and API calls will be issued to fetch pages as needed.
168
+ # result.each do |item|
169
+ # # Each element is of type ::Google::Longrunning::Operation.
170
+ # p item
171
+ # end
172
+ #
139
173
  def list_operations request, options = nil
140
174
  raise ::ArgumentError, "request must be provided" if request.nil?
141
175
 
@@ -201,6 +235,29 @@ module Google
201
235
  # @return [::Gapic::Operation]
202
236
  #
203
237
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
238
+ #
239
+ # @example Basic example
240
+ # require "google/longrunning"
241
+ #
242
+ # # Create a client object. The client can be reused for multiple calls.
243
+ # client = Google::Longrunning::Operations::Rest::Client.new
244
+ #
245
+ # # Create a request. To set request fields, pass in keyword arguments.
246
+ # request = Google::Longrunning::GetOperationRequest.new
247
+ #
248
+ # # Call the get_operation method.
249
+ # result = client.get_operation request
250
+ #
251
+ # # The returned object is of type Gapic::Operation. You can use it to
252
+ # # check the status of an operation, cancel it, or wait for results.
253
+ # # Here is how to wait for a response.
254
+ # result.wait_until_done! timeout: 60
255
+ # if result.response?
256
+ # p result.response
257
+ # else
258
+ # puts "No response received."
259
+ # end
260
+ #
204
261
  def get_operation request, options = nil
205
262
  raise ::ArgumentError, "request must be provided" if request.nil?
206
263
 
@@ -267,6 +324,22 @@ module Google
267
324
  # @return [::Google::Protobuf::Empty]
268
325
  #
269
326
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
327
+ #
328
+ # @example Basic example
329
+ # require "google/longrunning"
330
+ #
331
+ # # Create a client object. The client can be reused for multiple calls.
332
+ # client = Google::Longrunning::Operations::Rest::Client.new
333
+ #
334
+ # # Create a request. To set request fields, pass in keyword arguments.
335
+ # request = Google::Longrunning::DeleteOperationRequest.new
336
+ #
337
+ # # Call the delete_operation method.
338
+ # result = client.delete_operation request
339
+ #
340
+ # # The returned object is of type Google::Protobuf::Empty.
341
+ # p result
342
+ #
270
343
  def delete_operation request, options = nil
271
344
  raise ::ArgumentError, "request must be provided" if request.nil?
272
345
 
@@ -338,6 +411,22 @@ module Google
338
411
  # @return [::Google::Protobuf::Empty]
339
412
  #
340
413
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
414
+ #
415
+ # @example Basic example
416
+ # require "google/longrunning"
417
+ #
418
+ # # Create a client object. The client can be reused for multiple calls.
419
+ # client = Google::Longrunning::Operations::Rest::Client.new
420
+ #
421
+ # # Create a request. To set request fields, pass in keyword arguments.
422
+ # request = Google::Longrunning::CancelOperationRequest.new
423
+ #
424
+ # # Call the cancel_operation method.
425
+ # result = client.cancel_operation request
426
+ #
427
+ # # The returned object is of type Google::Protobuf::Empty.
428
+ # p result
429
+ #
341
430
  def cancel_operation request, options = nil
342
431
  raise ::ArgumentError, "request must be provided" if request.nil?
343
432
 
@@ -403,9 +492,9 @@ module Google
403
492
  # end
404
493
  #
405
494
  # @!attribute [rw] endpoint
406
- # The hostname or hostname:port of the service endpoint.
407
- # Defaults to `"appengine.googleapis.com"`.
408
- # @return [::String]
495
+ # A custom service endpoint, as a hostname or hostname:port. The default is
496
+ # nil, indicating to use the default endpoint in the current universe domain.
497
+ # @return [::String,nil]
409
498
  # @!attribute [rw] credentials
410
499
  # Credentials to send with calls. You may provide any of the following types:
411
500
  # * (`String`) The path to a service account key file in JSON format
@@ -442,13 +531,20 @@ module Google
442
531
  # @!attribute [rw] quota_project
443
532
  # A separate project against which to charge quota.
444
533
  # @return [::String]
534
+ # @!attribute [rw] universe_domain
535
+ # The universe domain within which to make requests. This determines the
536
+ # default endpoint URL. The default value of nil uses the environment
537
+ # universe (usually the default "googleapis.com" universe).
538
+ # @return [::String,nil]
445
539
  #
446
540
  class Configuration
447
541
  extend ::Gapic::Config
448
542
 
543
+ # @private
544
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
449
545
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
450
546
 
451
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
547
+ config_attr :endpoint, nil, ::String, nil
452
548
  config_attr :credentials, nil do |value|
453
549
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
454
550
  allowed.any? { |klass| klass === value }
@@ -460,6 +556,7 @@ module Google
460
556
  config_attr :metadata, nil, ::Hash, nil
461
557
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
462
558
  config_attr :quota_project, nil, ::String, nil
559
+ config_attr :universe_domain, nil, ::String, nil
463
560
 
464
561
  # @private
465
562
  def initialize parent_config = nil
@@ -542,12 +639,15 @@ module Google
542
639
  # Service stub contains baseline method implementations
543
640
  # including transcoding, making the REST call, and deserialing the response.
544
641
  class OperationsServiceStub
545
- def initialize endpoint:, credentials:
642
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
546
643
  # These require statements are intentionally placed here to initialize
547
644
  # the REST modules only when it's required.
548
645
  require "gapic/rest"
549
646
 
550
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials
647
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
648
+ endpoint_template: endpoint_template,
649
+ universe_domain: universe_domain,
650
+ credentials: credentials
551
651
  end
552
652
 
553
653
  ##
@@ -30,16 +30,28 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, credentials:
33
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
34
  # These require statements are intentionally placed here to initialize
35
35
  # the REST modules only when it's required.
36
36
  require "gapic/rest"
37
37
 
38
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
39
+ endpoint_template: endpoint_template,
40
+ universe_domain: universe_domain,
41
+ credentials: credentials,
39
42
  numeric_enums: true,
40
43
  raise_faraday_errors: false
41
44
  end
42
45
 
46
+ ##
47
+ # The effective universe domain
48
+ #
49
+ # @return [String]
50
+ #
51
+ def universe_domain
52
+ @client_stub.universe_domain
53
+ end
54
+
43
55
  ##
44
56
  # Baseline implementation for the list_instances REST call
45
57
  #
@@ -30,6 +30,9 @@ module Google
30
30
  # Manages services of an application.
31
31
  #
32
32
  class Client
33
+ # @private
34
+ DEFAULT_ENDPOINT_TEMPLATE = "appengine.$UNIVERSE_DOMAIN$"
35
+
33
36
  # @private
34
37
  attr_reader :services_stub
35
38
 
@@ -88,6 +91,15 @@ module Google
88
91
  @config
89
92
  end
90
93
 
94
+ ##
95
+ # The effective universe domain
96
+ #
97
+ # @return [String]
98
+ #
99
+ def universe_domain
100
+ @services_stub.universe_domain
101
+ end
102
+
91
103
  ##
92
104
  # Create a new Services client object.
93
105
  #
@@ -121,8 +133,9 @@ module Google
121
133
  credentials = @config.credentials
122
134
  # Use self-signed JWT if the endpoint is unchanged from default,
123
135
  # but only if the default endpoint does not have a region prefix.
124
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
125
- !@config.endpoint.split(".").first.include?("-")
136
+ enable_self_signed_jwt = @config.endpoint.nil? ||
137
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
138
+ !@config.endpoint.split(".").first.include?("-"))
126
139
  credentials ||= Credentials.default scope: @config.scope,
127
140
  enable_self_signed_jwt: enable_self_signed_jwt
128
141
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -135,14 +148,18 @@ module Google
135
148
  config.credentials = credentials
136
149
  config.quota_project = @quota_project_id
137
150
  config.endpoint = @config.endpoint
151
+ config.universe_domain = @config.universe_domain
138
152
  end
139
153
 
140
154
  @services_stub = ::Gapic::ServiceStub.new(
141
155
  ::Google::Cloud::AppEngine::V1::Services::Stub,
142
- credentials: credentials,
143
- endpoint: @config.endpoint,
156
+ credentials: credentials,
157
+ endpoint: @config.endpoint,
158
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
159
+ universe_domain: @config.universe_domain,
144
160
  channel_args: @config.channel_args,
145
- interceptors: @config.interceptors
161
+ interceptors: @config.interceptors,
162
+ channel_pool_config: @config.channel_pool
146
163
  )
147
164
  end
148
165
 
@@ -568,9 +585,9 @@ module Google
568
585
  # end
569
586
  #
570
587
  # @!attribute [rw] endpoint
571
- # The hostname or hostname:port of the service endpoint.
572
- # Defaults to `"appengine.googleapis.com"`.
573
- # @return [::String]
588
+ # A custom service endpoint, as a hostname or hostname:port. The default is
589
+ # nil, indicating to use the default endpoint in the current universe domain.
590
+ # @return [::String,nil]
574
591
  # @!attribute [rw] credentials
575
592
  # Credentials to send with calls. You may provide any of the following types:
576
593
  # * (`String`) The path to a service account key file in JSON format
@@ -616,13 +633,20 @@ module Google
616
633
  # @!attribute [rw] quota_project
617
634
  # A separate project against which to charge quota.
618
635
  # @return [::String]
636
+ # @!attribute [rw] universe_domain
637
+ # The universe domain within which to make requests. This determines the
638
+ # default endpoint URL. The default value of nil uses the environment
639
+ # universe (usually the default "googleapis.com" universe).
640
+ # @return [::String,nil]
619
641
  #
620
642
  class Configuration
621
643
  extend ::Gapic::Config
622
644
 
645
+ # @private
646
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
623
647
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
624
648
 
625
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
649
+ config_attr :endpoint, nil, ::String, nil
626
650
  config_attr :credentials, nil do |value|
627
651
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
628
652
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -637,6 +661,7 @@ module Google
637
661
  config_attr :metadata, nil, ::Hash, nil
638
662
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
639
663
  config_attr :quota_project, nil, ::String, nil
664
+ config_attr :universe_domain, nil, ::String, nil
640
665
 
641
666
  # @private
642
667
  def initialize parent_config = nil
@@ -657,6 +682,14 @@ module Google
657
682
  end
658
683
  end
659
684
 
685
+ ##
686
+ # Configuration for the channel pool
687
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
688
+ #
689
+ def channel_pool
690
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
691
+ end
692
+
660
693
  ##
661
694
  # Configuration RPC class for the Services API.
662
695
  #
@@ -26,6 +26,9 @@ module Google
26
26
  module Services
27
27
  # Service that implements Longrunning Operations API.
28
28
  class Operations
29
+ # @private
30
+ DEFAULT_ENDPOINT_TEMPLATE = "appengine.$UNIVERSE_DOMAIN$"
31
+
29
32
  # @private
30
33
  attr_reader :operations_stub
31
34
 
@@ -60,6 +63,15 @@ module Google
60
63
  @config
61
64
  end
62
65
 
66
+ ##
67
+ # The effective universe domain
68
+ #
69
+ # @return [String]
70
+ #
71
+ def universe_domain
72
+ @operations_stub.universe_domain
73
+ end
74
+
63
75
  ##
64
76
  # Create a new Operations client object.
65
77
  #
@@ -90,10 +102,13 @@ module Google
90
102
 
91
103
  @operations_stub = ::Gapic::ServiceStub.new(
92
104
  ::Google::Longrunning::Operations::Stub,
93
- credentials: credentials,
94
- endpoint: @config.endpoint,
105
+ credentials: credentials,
106
+ endpoint: @config.endpoint,
107
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
108
+ universe_domain: @config.universe_domain,
95
109
  channel_args: @config.channel_args,
96
- interceptors: @config.interceptors
110
+ interceptors: @config.interceptors,
111
+ channel_pool_config: @config.channel_pool
97
112
  )
98
113
 
99
114
  # Used by an LRO wrapper for some methods of this service
@@ -612,9 +627,9 @@ module Google
612
627
  # end
613
628
  #
614
629
  # @!attribute [rw] endpoint
615
- # The hostname or hostname:port of the service endpoint.
616
- # Defaults to `"appengine.googleapis.com"`.
617
- # @return [::String]
630
+ # A custom service endpoint, as a hostname or hostname:port. The default is
631
+ # nil, indicating to use the default endpoint in the current universe domain.
632
+ # @return [::String,nil]
618
633
  # @!attribute [rw] credentials
619
634
  # Credentials to send with calls. You may provide any of the following types:
620
635
  # * (`String`) The path to a service account key file in JSON format
@@ -660,13 +675,20 @@ module Google
660
675
  # @!attribute [rw] quota_project
661
676
  # A separate project against which to charge quota.
662
677
  # @return [::String]
678
+ # @!attribute [rw] universe_domain
679
+ # The universe domain within which to make requests. This determines the
680
+ # default endpoint URL. The default value of nil uses the environment
681
+ # universe (usually the default "googleapis.com" universe).
682
+ # @return [::String,nil]
663
683
  #
664
684
  class Configuration
665
685
  extend ::Gapic::Config
666
686
 
687
+ # @private
688
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
667
689
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
668
690
 
669
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
691
+ config_attr :endpoint, nil, ::String, nil
670
692
  config_attr :credentials, nil do |value|
671
693
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
672
694
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -681,6 +703,7 @@ module Google
681
703
  config_attr :metadata, nil, ::Hash, nil
682
704
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
683
705
  config_attr :quota_project, nil, ::String, nil
706
+ config_attr :universe_domain, nil, ::String, nil
684
707
 
685
708
  # @private
686
709
  def initialize parent_config = nil
@@ -701,6 +724,14 @@ module Google
701
724
  end
702
725
  end
703
726
 
727
+ ##
728
+ # Configuration for the channel pool
729
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
730
+ #
731
+ def channel_pool
732
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
733
+ end
734
+
704
735
  ##
705
736
  # Configuration RPC class for the Operations API.
706
737
  #