google-cloud-app_engine-v1 0.8.0 → 0.9.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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -101
  3. data/lib/google/cloud/app_engine/v1/applications/client.rb +32 -8
  4. data/lib/google/cloud/app_engine/v1/applications/operations.rb +28 -6
  5. data/lib/google/cloud/app_engine/v1/applications/rest/client.rb +34 -7
  6. data/lib/google/cloud/app_engine/v1/applications/rest/operations.rb +33 -8
  7. data/lib/google/cloud/app_engine/v1/applications/rest/service_stub.rb +23 -2
  8. data/lib/google/cloud/app_engine/v1/authorized_certificates/client.rb +31 -8
  9. data/lib/google/cloud/app_engine/v1/authorized_certificates/rest/client.rb +33 -7
  10. data/lib/google/cloud/app_engine/v1/authorized_certificates/rest/service_stub.rb +23 -2
  11. data/lib/google/cloud/app_engine/v1/authorized_domains/client.rb +31 -8
  12. data/lib/google/cloud/app_engine/v1/authorized_domains/rest/client.rb +33 -7
  13. data/lib/google/cloud/app_engine/v1/authorized_domains/rest/service_stub.rb +23 -2
  14. data/lib/google/cloud/app_engine/v1/domain_mappings/client.rb +32 -8
  15. data/lib/google/cloud/app_engine/v1/domain_mappings/operations.rb +28 -6
  16. data/lib/google/cloud/app_engine/v1/domain_mappings/rest/client.rb +34 -7
  17. data/lib/google/cloud/app_engine/v1/domain_mappings/rest/operations.rb +33 -8
  18. data/lib/google/cloud/app_engine/v1/domain_mappings/rest/service_stub.rb +23 -2
  19. data/lib/google/cloud/app_engine/v1/firewall/client.rb +31 -8
  20. data/lib/google/cloud/app_engine/v1/firewall/rest/client.rb +33 -7
  21. data/lib/google/cloud/app_engine/v1/firewall/rest/service_stub.rb +23 -2
  22. data/lib/google/cloud/app_engine/v1/instances/client.rb +32 -8
  23. data/lib/google/cloud/app_engine/v1/instances/operations.rb +28 -6
  24. data/lib/google/cloud/app_engine/v1/instances/rest/client.rb +34 -7
  25. data/lib/google/cloud/app_engine/v1/instances/rest/operations.rb +33 -8
  26. data/lib/google/cloud/app_engine/v1/instances/rest/service_stub.rb +23 -2
  27. data/lib/google/cloud/app_engine/v1/services/client.rb +32 -8
  28. data/lib/google/cloud/app_engine/v1/services/operations.rb +28 -6
  29. data/lib/google/cloud/app_engine/v1/services/rest/client.rb +34 -7
  30. data/lib/google/cloud/app_engine/v1/services/rest/operations.rb +33 -8
  31. data/lib/google/cloud/app_engine/v1/services/rest/service_stub.rb +23 -2
  32. data/lib/google/cloud/app_engine/v1/version.rb +1 -1
  33. data/lib/google/cloud/app_engine/v1/versions/client.rb +32 -8
  34. data/lib/google/cloud/app_engine/v1/versions/operations.rb +28 -6
  35. data/lib/google/cloud/app_engine/v1/versions/rest/client.rb +34 -7
  36. data/lib/google/cloud/app_engine/v1/versions/rest/operations.rb +33 -8
  37. data/lib/google/cloud/app_engine/v1/versions/rest/service_stub.rb +23 -2
  38. data/proto_docs/google/api/client.rb +14 -0
  39. metadata +5 -5
@@ -26,6 +26,9 @@ module Google
26
26
  module Instances
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,8 +102,10 @@ 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
110
  interceptors: @config.interceptors,
97
111
  channel_pool_config: @config.channel_pool
@@ -613,9 +627,9 @@ module Google
613
627
  # end
614
628
  #
615
629
  # @!attribute [rw] endpoint
616
- # The hostname or hostname:port of the service endpoint.
617
- # Defaults to `"appengine.googleapis.com"`.
618
- # @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]
619
633
  # @!attribute [rw] credentials
620
634
  # Credentials to send with calls. You may provide any of the following types:
621
635
  # * (`String`) The path to a service account key file in JSON format
@@ -661,13 +675,20 @@ module Google
661
675
  # @!attribute [rw] quota_project
662
676
  # A separate project against which to charge quota.
663
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]
664
683
  #
665
684
  class Configuration
666
685
  extend ::Gapic::Config
667
686
 
687
+ # @private
688
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
668
689
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
669
690
 
670
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
691
+ config_attr :endpoint, nil, ::String, nil
671
692
  config_attr :credentials, nil do |value|
672
693
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
673
694
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -682,6 +703,7 @@ module Google
682
703
  config_attr :metadata, nil, ::Hash, nil
683
704
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
684
705
  config_attr :quota_project, nil, ::String, nil
706
+ config_attr :universe_domain, nil, ::String, nil
685
707
 
686
708
  # @private
687
709
  def initialize parent_config = nil
@@ -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
  ##
@@ -546,9 +565,9 @@ module Google
546
565
  # end
547
566
  #
548
567
  # @!attribute [rw] endpoint
549
- # The hostname or hostname:port of the service endpoint.
550
- # Defaults to `"appengine.googleapis.com"`.
551
- # @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]
552
571
  # @!attribute [rw] credentials
553
572
  # Credentials to send with calls. You may provide any of the following types:
554
573
  # * (`String`) The path to a service account key file in JSON format
@@ -585,13 +604,20 @@ module Google
585
604
  # @!attribute [rw] quota_project
586
605
  # A separate project against which to charge quota.
587
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]
588
612
  #
589
613
  class Configuration
590
614
  extend ::Gapic::Config
591
615
 
616
+ # @private
617
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
592
618
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
593
619
 
594
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
620
+ config_attr :endpoint, nil, ::String, nil
595
621
  config_attr :credentials, nil do |value|
596
622
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
597
623
  allowed.any? { |klass| klass === value }
@@ -603,6 +629,7 @@ module Google
603
629
  config_attr :metadata, nil, ::Hash, nil
604
630
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
605
631
  config_attr :quota_project, nil, ::String, nil
632
+ config_attr :universe_domain, nil, ::String, nil
606
633
 
607
634
  # @private
608
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
@@ -478,9 +492,9 @@ module Google
478
492
  # end
479
493
  #
480
494
  # @!attribute [rw] endpoint
481
- # The hostname or hostname:port of the service endpoint.
482
- # Defaults to `"appengine.googleapis.com"`.
483
- # @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]
484
498
  # @!attribute [rw] credentials
485
499
  # Credentials to send with calls. You may provide any of the following types:
486
500
  # * (`String`) The path to a service account key file in JSON format
@@ -517,13 +531,20 @@ module Google
517
531
  # @!attribute [rw] quota_project
518
532
  # A separate project against which to charge quota.
519
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]
520
539
  #
521
540
  class Configuration
522
541
  extend ::Gapic::Config
523
542
 
543
+ # @private
544
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
524
545
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
525
546
 
526
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
547
+ config_attr :endpoint, nil, ::String, nil
527
548
  config_attr :credentials, nil do |value|
528
549
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
529
550
  allowed.any? { |klass| klass === value }
@@ -535,6 +556,7 @@ module Google
535
556
  config_attr :metadata, nil, ::Hash, nil
536
557
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
537
558
  config_attr :quota_project, nil, ::String, nil
559
+ config_attr :universe_domain, nil, ::String, nil
538
560
 
539
561
  # @private
540
562
  def initialize parent_config = nil
@@ -617,12 +639,15 @@ module Google
617
639
  # Service stub contains baseline method implementations
618
640
  # including transcoding, making the REST call, and deserialing the response.
619
641
  class OperationsServiceStub
620
- def initialize endpoint:, credentials:
642
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
621
643
  # These require statements are intentionally placed here to initialize
622
644
  # the REST modules only when it's required.
623
645
  require "gapic/rest"
624
646
 
625
- @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
626
651
  end
627
652
 
628
653
  ##
@@ -30,16 +30,37 @@ 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
+
55
+ ##
56
+ # The effective endpoint
57
+ #
58
+ # @return [String]
59
+ #
60
+ def endpoint
61
+ @client_stub.endpoint
62
+ end
63
+
43
64
  ##
44
65
  # Baseline implementation for the list_instances REST call
45
66
  #
@@ -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,12 +148,15 @@ 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
161
  interceptors: @config.interceptors,
146
162
  channel_pool_config: @config.channel_pool
@@ -569,9 +585,9 @@ module Google
569
585
  # end
570
586
  #
571
587
  # @!attribute [rw] endpoint
572
- # The hostname or hostname:port of the service endpoint.
573
- # Defaults to `"appengine.googleapis.com"`.
574
- # @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]
575
591
  # @!attribute [rw] credentials
576
592
  # Credentials to send with calls. You may provide any of the following types:
577
593
  # * (`String`) The path to a service account key file in JSON format
@@ -617,13 +633,20 @@ module Google
617
633
  # @!attribute [rw] quota_project
618
634
  # A separate project against which to charge quota.
619
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]
620
641
  #
621
642
  class Configuration
622
643
  extend ::Gapic::Config
623
644
 
645
+ # @private
646
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
624
647
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
625
648
 
626
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
649
+ config_attr :endpoint, nil, ::String, nil
627
650
  config_attr :credentials, nil do |value|
628
651
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
629
652
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -638,6 +661,7 @@ module Google
638
661
  config_attr :metadata, nil, ::Hash, nil
639
662
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
640
663
  config_attr :quota_project, nil, ::String, nil
664
+ config_attr :universe_domain, nil, ::String, nil
641
665
 
642
666
  # @private
643
667
  def initialize parent_config = nil
@@ -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,8 +102,10 @@ 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
110
  interceptors: @config.interceptors,
97
111
  channel_pool_config: @config.channel_pool
@@ -613,9 +627,9 @@ module Google
613
627
  # end
614
628
  #
615
629
  # @!attribute [rw] endpoint
616
- # The hostname or hostname:port of the service endpoint.
617
- # Defaults to `"appengine.googleapis.com"`.
618
- # @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]
619
633
  # @!attribute [rw] credentials
620
634
  # Credentials to send with calls. You may provide any of the following types:
621
635
  # * (`String`) The path to a service account key file in JSON format
@@ -661,13 +675,20 @@ module Google
661
675
  # @!attribute [rw] quota_project
662
676
  # A separate project against which to charge quota.
663
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]
664
683
  #
665
684
  class Configuration
666
685
  extend ::Gapic::Config
667
686
 
687
+ # @private
688
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
668
689
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
669
690
 
670
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
691
+ config_attr :endpoint, nil, ::String, nil
671
692
  config_attr :credentials, nil do |value|
672
693
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
673
694
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -682,6 +703,7 @@ module Google
682
703
  config_attr :metadata, nil, ::Hash, nil
683
704
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
684
705
  config_attr :quota_project, nil, ::String, nil
706
+ config_attr :universe_domain, nil, ::String, nil
685
707
 
686
708
  # @private
687
709
  def initialize parent_config = nil
@@ -32,6 +32,9 @@ module Google
32
32
  # Manages services of 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 :services_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
+ @services_stub.universe_domain
103
+ end
104
+
93
105
  ##
94
106
  # Create a new Services 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
- @services_stub = ::Google::Cloud::AppEngine::V1::Services::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
151
+ @services_stub = ::Google::Cloud::AppEngine::V1::Services::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
  ##
@@ -531,9 +550,9 @@ module Google
531
550
  # end
532
551
  #
533
552
  # @!attribute [rw] endpoint
534
- # The hostname or hostname:port of the service endpoint.
535
- # Defaults to `"appengine.googleapis.com"`.
536
- # @return [::String]
553
+ # A custom service endpoint, as a hostname or hostname:port. The default is
554
+ # nil, indicating to use the default endpoint in the current universe domain.
555
+ # @return [::String,nil]
537
556
  # @!attribute [rw] credentials
538
557
  # Credentials to send with calls. You may provide any of the following types:
539
558
  # * (`String`) The path to a service account key file in JSON format
@@ -570,13 +589,20 @@ module Google
570
589
  # @!attribute [rw] quota_project
571
590
  # A separate project against which to charge quota.
572
591
  # @return [::String]
592
+ # @!attribute [rw] universe_domain
593
+ # The universe domain within which to make requests. This determines the
594
+ # default endpoint URL. The default value of nil uses the environment
595
+ # universe (usually the default "googleapis.com" universe).
596
+ # @return [::String,nil]
573
597
  #
574
598
  class Configuration
575
599
  extend ::Gapic::Config
576
600
 
601
+ # @private
602
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
577
603
  DEFAULT_ENDPOINT = "appengine.googleapis.com"
578
604
 
579
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
605
+ config_attr :endpoint, nil, ::String, nil
580
606
  config_attr :credentials, nil do |value|
581
607
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
582
608
  allowed.any? { |klass| klass === value }
@@ -588,6 +614,7 @@ module Google
588
614
  config_attr :metadata, nil, ::Hash, nil
589
615
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
590
616
  config_attr :quota_project, nil, ::String, nil
617
+ config_attr :universe_domain, nil, ::String, nil
591
618
 
592
619
  # @private
593
620
  def initialize parent_config = nil