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
@@ -26,6 +26,9 @@ module Google
26
26
  module DomainMappings
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
  #
@@ -32,6 +32,9 @@ module Google
32
32
  # Manages domains serving an application.
33
33
  #
34
34
  class Client
35
+ # @private
36
+ DEFAULT_ENDPOINT_TEMPLATE = "appengine.$UNIVERSE_DOMAIN$"
37
+
35
38
  # @private
36
39
  attr_reader :domain_mappings_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
+ @domain_mappings_stub.universe_domain
103
+ end
104
+
93
105
  ##
94
106
  # Create a new DomainMappings 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
- @domain_mappings_stub = ::Google::Cloud::AppEngine::V1::DomainMappings::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
151
+ @domain_mappings_stub = ::Google::Cloud::AppEngine::V1::DomainMappings::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
  ##
@@ -177,6 +196,26 @@ module Google
177
196
  # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::AppEngine::V1::DomainMapping>]
178
197
  #
179
198
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
199
+ #
200
+ # @example Basic example
201
+ # require "google/cloud/app_engine/v1"
202
+ #
203
+ # # Create a client object. The client can be reused for multiple calls.
204
+ # client = Google::Cloud::AppEngine::V1::DomainMappings::Rest::Client.new
205
+ #
206
+ # # Create a request. To set request fields, pass in keyword arguments.
207
+ # request = Google::Cloud::AppEngine::V1::ListDomainMappingsRequest.new
208
+ #
209
+ # # Call the list_domain_mappings method.
210
+ # result = client.list_domain_mappings request
211
+ #
212
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
213
+ # # over elements, and API calls will be issued to fetch pages as needed.
214
+ # result.each do |item|
215
+ # # Each element is of type ::Google::Cloud::AppEngine::V1::DomainMapping.
216
+ # p item
217
+ # end
218
+ #
180
219
  def list_domain_mappings request, options = nil
181
220
  raise ::ArgumentError, "request must be provided" if request.nil?
182
221
 
@@ -241,6 +280,22 @@ module Google
241
280
  # @return [::Google::Cloud::AppEngine::V1::DomainMapping]
242
281
  #
243
282
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
283
+ #
284
+ # @example Basic example
285
+ # require "google/cloud/app_engine/v1"
286
+ #
287
+ # # Create a client object. The client can be reused for multiple calls.
288
+ # client = Google::Cloud::AppEngine::V1::DomainMappings::Rest::Client.new
289
+ #
290
+ # # Create a request. To set request fields, pass in keyword arguments.
291
+ # request = Google::Cloud::AppEngine::V1::GetDomainMappingRequest.new
292
+ #
293
+ # # Call the get_domain_mapping method.
294
+ # result = client.get_domain_mapping request
295
+ #
296
+ # # The returned object is of type Google::Cloud::AppEngine::V1::DomainMapping.
297
+ # p result
298
+ #
244
299
  def get_domain_mapping request, options = nil
245
300
  raise ::ArgumentError, "request must be provided" if request.nil?
246
301
 
@@ -310,6 +365,29 @@ module Google
310
365
  # @return [::Gapic::Operation]
311
366
  #
312
367
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
368
+ #
369
+ # @example Basic example
370
+ # require "google/cloud/app_engine/v1"
371
+ #
372
+ # # Create a client object. The client can be reused for multiple calls.
373
+ # client = Google::Cloud::AppEngine::V1::DomainMappings::Rest::Client.new
374
+ #
375
+ # # Create a request. To set request fields, pass in keyword arguments.
376
+ # request = Google::Cloud::AppEngine::V1::CreateDomainMappingRequest.new
377
+ #
378
+ # # Call the create_domain_mapping method.
379
+ # result = client.create_domain_mapping request
380
+ #
381
+ # # The returned object is of type Gapic::Operation. You can use it to
382
+ # # check the status of an operation, cancel it, or wait for results.
383
+ # # Here is how to wait for a response.
384
+ # result.wait_until_done! timeout: 60
385
+ # if result.response?
386
+ # p result.response
387
+ # else
388
+ # puts "No response received."
389
+ # end
390
+ #
313
391
  def create_domain_mapping request, options = nil
314
392
  raise ::ArgumentError, "request must be provided" if request.nil?
315
393
 
@@ -382,6 +460,29 @@ module Google
382
460
  # @return [::Gapic::Operation]
383
461
  #
384
462
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
463
+ #
464
+ # @example Basic example
465
+ # require "google/cloud/app_engine/v1"
466
+ #
467
+ # # Create a client object. The client can be reused for multiple calls.
468
+ # client = Google::Cloud::AppEngine::V1::DomainMappings::Rest::Client.new
469
+ #
470
+ # # Create a request. To set request fields, pass in keyword arguments.
471
+ # request = Google::Cloud::AppEngine::V1::UpdateDomainMappingRequest.new
472
+ #
473
+ # # Call the update_domain_mapping method.
474
+ # result = client.update_domain_mapping request
475
+ #
476
+ # # The returned object is of type Gapic::Operation. You can use it to
477
+ # # check the status of an operation, cancel it, or wait for results.
478
+ # # Here is how to wait for a response.
479
+ # result.wait_until_done! timeout: 60
480
+ # if result.response?
481
+ # p result.response
482
+ # else
483
+ # puts "No response received."
484
+ # end
485
+ #
385
486
  def update_domain_mapping request, options = nil
386
487
  raise ::ArgumentError, "request must be provided" if request.nil?
387
488
 
@@ -448,6 +549,29 @@ module Google
448
549
  # @return [::Gapic::Operation]
449
550
  #
450
551
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
552
+ #
553
+ # @example Basic example
554
+ # require "google/cloud/app_engine/v1"
555
+ #
556
+ # # Create a client object. The client can be reused for multiple calls.
557
+ # client = Google::Cloud::AppEngine::V1::DomainMappings::Rest::Client.new
558
+ #
559
+ # # Create a request. To set request fields, pass in keyword arguments.
560
+ # request = Google::Cloud::AppEngine::V1::DeleteDomainMappingRequest.new
561
+ #
562
+ # # Call the delete_domain_mapping method.
563
+ # result = client.delete_domain_mapping request
564
+ #
565
+ # # The returned object is of type Gapic::Operation. You can use it to
566
+ # # check the status of an operation, cancel it, or wait for results.
567
+ # # Here is how to wait for a response.
568
+ # result.wait_until_done! timeout: 60
569
+ # if result.response?
570
+ # p result.response
571
+ # else
572
+ # puts "No response received."
573
+ # end
574
+ #
451
575
  def delete_domain_mapping request, options = nil
452
576
  raise ::ArgumentError, "request must be provided" if request.nil?
453
577
 
@@ -514,9 +638,9 @@ module Google
514
638
  # end
515
639
  #
516
640
  # @!attribute [rw] endpoint
517
- # The hostname or hostname:port of the service endpoint.
518
- # Defaults to `"appengine.googleapis.com"`.
519
- # @return [::String]
641
+ # A custom service endpoint, as a hostname or hostname:port. The default is
642
+ # nil, indicating to use the default endpoint in the current universe domain.
643
+ # @return [::String,nil]
520
644
  # @!attribute [rw] credentials
521
645
  # Credentials to send with calls. You may provide any of the following types:
522
646
  # * (`String`) The path to a service account key file in JSON format
@@ -553,13 +677,20 @@ module Google
553
677
  # @!attribute [rw] quota_project
554
678
  # A separate project against which to charge quota.
555
679
  # @return [::String]
680
+ # @!attribute [rw] universe_domain
681
+ # The universe domain within which to make requests. This determines the
682
+ # default endpoint URL. The default value of nil uses the environment
683
+ # universe (usually the default "googleapis.com" universe).
684
+ # @return [::String,nil]
556
685
  #
557
686
  class Configuration
558
687
  extend ::Gapic::Config
559
688
 
689
+ # @private
690
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
560
691
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
561
692
 
562
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
693
+ config_attr :endpoint, nil, ::String, nil
563
694
  config_attr :credentials, nil do |value|
564
695
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
565
696
  allowed.any? { |klass| klass === value }
@@ -571,6 +702,7 @@ module Google
571
702
  config_attr :metadata, nil, ::Hash, nil
572
703
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
573
704
  config_attr :quota_project, nil, ::String, nil
705
+ config_attr :universe_domain, nil, ::String, nil
574
706
 
575
707
  # @private
576
708
  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_domain_mappings REST call
45
57
  #
@@ -39,6 +39,9 @@ module Google
39
39
  # set to "allow" if not otherwise specified by the user.
40
40
  #
41
41
  class Client
42
+ # @private
43
+ DEFAULT_ENDPOINT_TEMPLATE = "appengine.$UNIVERSE_DOMAIN$"
44
+
42
45
  # @private
43
46
  attr_reader :firewall_stub
44
47
 
@@ -97,6 +100,15 @@ module Google
97
100
  @config
98
101
  end
99
102
 
103
+ ##
104
+ # The effective universe domain
105
+ #
106
+ # @return [String]
107
+ #
108
+ def universe_domain
109
+ @firewall_stub.universe_domain
110
+ end
111
+
100
112
  ##
101
113
  # Create a new Firewall client object.
102
114
  #
@@ -130,8 +142,9 @@ module Google
130
142
  credentials = @config.credentials
131
143
  # Use self-signed JWT if the endpoint is unchanged from default,
132
144
  # but only if the default endpoint does not have a region prefix.
133
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
134
- !@config.endpoint.split(".").first.include?("-")
145
+ enable_self_signed_jwt = @config.endpoint.nil? ||
146
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
147
+ !@config.endpoint.split(".").first.include?("-"))
135
148
  credentials ||= Credentials.default scope: @config.scope,
136
149
  enable_self_signed_jwt: enable_self_signed_jwt
137
150
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -142,10 +155,13 @@ module Google
142
155
 
143
156
  @firewall_stub = ::Gapic::ServiceStub.new(
144
157
  ::Google::Cloud::AppEngine::V1::Firewall::Stub,
145
- credentials: credentials,
146
- endpoint: @config.endpoint,
158
+ credentials: credentials,
159
+ endpoint: @config.endpoint,
160
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
161
+ universe_domain: @config.universe_domain,
147
162
  channel_args: @config.channel_args,
148
- interceptors: @config.interceptors
163
+ interceptors: @config.interceptors,
164
+ channel_pool_config: @config.channel_pool
149
165
  )
150
166
  end
151
167
 
@@ -731,9 +747,9 @@ module Google
731
747
  # end
732
748
  #
733
749
  # @!attribute [rw] endpoint
734
- # The hostname or hostname:port of the service endpoint.
735
- # Defaults to `"appengine.googleapis.com"`.
736
- # @return [::String]
750
+ # A custom service endpoint, as a hostname or hostname:port. The default is
751
+ # nil, indicating to use the default endpoint in the current universe domain.
752
+ # @return [::String,nil]
737
753
  # @!attribute [rw] credentials
738
754
  # Credentials to send with calls. You may provide any of the following types:
739
755
  # * (`String`) The path to a service account key file in JSON format
@@ -779,13 +795,20 @@ module Google
779
795
  # @!attribute [rw] quota_project
780
796
  # A separate project against which to charge quota.
781
797
  # @return [::String]
798
+ # @!attribute [rw] universe_domain
799
+ # The universe domain within which to make requests. This determines the
800
+ # default endpoint URL. The default value of nil uses the environment
801
+ # universe (usually the default "googleapis.com" universe).
802
+ # @return [::String,nil]
782
803
  #
783
804
  class Configuration
784
805
  extend ::Gapic::Config
785
806
 
807
+ # @private
808
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
786
809
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
787
810
 
788
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
811
+ config_attr :endpoint, nil, ::String, nil
789
812
  config_attr :credentials, nil do |value|
790
813
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
791
814
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -800,6 +823,7 @@ module Google
800
823
  config_attr :metadata, nil, ::Hash, nil
801
824
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
802
825
  config_attr :quota_project, nil, ::String, nil
826
+ config_attr :universe_domain, nil, ::String, nil
803
827
 
804
828
  # @private
805
829
  def initialize parent_config = nil
@@ -820,6 +844,14 @@ module Google
820
844
  end
821
845
  end
822
846
 
847
+ ##
848
+ # Configuration for the channel pool
849
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
850
+ #
851
+ def channel_pool
852
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
853
+ end
854
+
823
855
  ##
824
856
  # Configuration RPC class for the Firewall API.
825
857
  #