google-cloud-service_directory-v1beta1 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/service_directory/v1beta1/bindings_override.rb +102 -0
  3. data/lib/google/cloud/service_directory/v1beta1/lookup_service/client.rb +23 -4
  4. data/lib/google/cloud/service_directory/v1beta1/lookup_service/rest/client.rb +31 -4
  5. data/lib/google/cloud/service_directory/v1beta1/lookup_service/rest/service_stub.rb +1 -1
  6. data/lib/google/cloud/service_directory/v1beta1/lookup_service/rest.rb +1 -0
  7. data/lib/google/cloud/service_directory/v1beta1/registration_service/client.rb +37 -11
  8. data/lib/google/cloud/service_directory/v1beta1/registration_service/rest/client.rb +45 -11
  9. data/lib/google/cloud/service_directory/v1beta1/registration_service/rest/service_stub.rb +42 -18
  10. data/lib/google/cloud/service_directory/v1beta1/registration_service/rest.rb +1 -0
  11. data/lib/google/cloud/service_directory/v1beta1/rest.rb +1 -0
  12. data/lib/google/cloud/service_directory/v1beta1/version.rb +1 -1
  13. data/lib/google/cloud/servicedirectory/v1beta1/endpoint_pb.rb +1 -1
  14. data/lib/google/cloud/servicedirectory/v1beta1/lookup_service_pb.rb +2 -2
  15. data/lib/google/cloud/servicedirectory/v1beta1/namespace_pb.rb +1 -1
  16. data/lib/google/cloud/servicedirectory/v1beta1/registration_service_pb.rb +1 -1
  17. data/lib/google/cloud/servicedirectory/v1beta1/registration_service_services_pb.rb +4 -3
  18. data/lib/google/cloud/servicedirectory/v1beta1/service_pb.rb +1 -1
  19. data/proto_docs/google/cloud/servicedirectory/v1beta1/endpoint.rb +8 -7
  20. data/proto_docs/google/cloud/servicedirectory/v1beta1/lookup_service.rb +9 -4
  21. data/proto_docs/google/cloud/servicedirectory/v1beta1/namespace.rb +4 -0
  22. data/proto_docs/google/cloud/servicedirectory/v1beta1/registration_service.rb +52 -25
  23. data/proto_docs/google/cloud/servicedirectory/v1beta1/service.rb +9 -8
  24. data/proto_docs/google/protobuf/any.rb +144 -0
  25. metadata +26 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4dff6673b7c2a5318ddc2f9bc5210bc7a03a206026b027f1ddae19a8a01ee846
4
- data.tar.gz: f24bdf536d9127afb4e64bf323829a07c8c9673cb931cf3e436c775abf144e48
3
+ metadata.gz: 905499e1010925fa4a789ea0d5a53f264f495a904c626988213dfe5040b7efdf
4
+ data.tar.gz: a7de58fca2d4d1aa14eed872280f1697eb24fd402ab509aefd0c7f00551d25e9
5
5
  SHA512:
6
- metadata.gz: a777ea7d1a788613f20a06ee10ab903442db0aa552b7b2e9940182052ca14ff3df30b3bb758bbfaa73d654167fde1b02454338be12334e732427e6a384a3850e
7
- data.tar.gz: 55977ef7d33b2dd1af4558919eb0785b191a805a8cf88079d433fe6d48dc0794d582da13fa11d6382ab747eb00bebf0c76c7c001a7b45fe4efc074ec4297a56e
6
+ metadata.gz: ef8042b209d87b37000cc707325b5d3ece34dc7e7a35e938da6c5df1a0962cbaa2e77e186082787a8aaedab45725ccc6cbe56f34396e84fd40ab307f827e15db
7
+ data.tar.gz: 2f55eec1d5d003cc91f9af4390200f784fd0848b95f2f62b8ff535ba422feaac134095cacc45ac20ca8bef1f5bb5f0c90e8fb3ac27a4171529870fcfd2b1b8a6
@@ -0,0 +1,102 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/config"
20
+
21
+ module Google
22
+ module Cloud
23
+ module ServiceDirectory
24
+ ##
25
+ # @example Loading just the REST part of this package, including all its services, and instantiating a REST client
26
+ #
27
+ # require "google/cloud/service_directory/v1beta1/rest"
28
+ # client = ::Google::Cloud::ServiceDirectory::V1beta1::LookupService::Rest::Client.new
29
+ #
30
+ module V1beta1
31
+ ##
32
+ # @private
33
+ # Initialize the mixin bindings configuration
34
+ #
35
+ def self.configure
36
+ @configure ||= begin
37
+ namespace = ["Google", "Cloud", "ServiceDirectory"]
38
+ parent_config = while namespace.any?
39
+ parent_name = namespace.join "::"
40
+ parent_const = const_get parent_name
41
+ break parent_const.configure if parent_const.respond_to? :configure
42
+ namespace.pop
43
+ end
44
+
45
+ default_config = Configuration.new parent_config
46
+ default_config.bindings_override["google.cloud.location.Locations.GetLocation"] = [
47
+ Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
48
+ uri_method: :get,
49
+ uri_template: "/v1beta1/{name}",
50
+ matches: [
51
+ ["name", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
52
+ ],
53
+ body: nil
54
+ )
55
+ ]
56
+ default_config.bindings_override["google.cloud.location.Locations.ListLocations"] = [
57
+
58
+ Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
59
+ uri_method: :get,
60
+ uri_template: "/v1beta1/{name}/locations",
61
+ matches: [
62
+ ["name", %r{^projects/[^/]+/?$}, false]
63
+ ],
64
+ body: nil
65
+ )
66
+ ]
67
+ default_config
68
+ end
69
+ yield @configure if block_given?
70
+ @configure
71
+ end
72
+
73
+ ##
74
+ # @private
75
+ # Configuration class for the google.cloud.servicedirectory.v1beta1 package.
76
+ #
77
+ # This class contains common configuration for all services
78
+ # of the google.cloud.servicedirectory.v1beta1 package.
79
+ #
80
+ # This configuration is for internal use of the client library classes,
81
+ # and it is not intended that the end-users will read or change it.
82
+ #
83
+ class Configuration
84
+ extend ::Gapic::Config
85
+
86
+ # @private
87
+ # Overrides for http bindings for the RPC of the mixins for this package.
88
+ # Services in this package should use these when creating clients for the mixin services.
89
+ # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
90
+ config_attr :bindings_override, {}, ::Hash, nil
91
+
92
+ # @private
93
+ def initialize parent_config = nil
94
+ @parent_config = parent_config unless parent_config.nil?
95
+
96
+ yield self if block_given?
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -18,6 +18,7 @@
18
18
 
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/servicedirectory/v1beta1/lookup_service_pb"
21
+ require "google/cloud/location"
21
22
 
22
23
  module Google
23
24
  module Cloud
@@ -128,7 +129,7 @@ module Google
128
129
  credentials = @config.credentials
129
130
  # Use self-signed JWT if the endpoint is unchanged from default,
130
131
  # but only if the default endpoint does not have a region prefix.
131
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
132
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
132
133
  !@config.endpoint.split(".").first.include?("-")
133
134
  credentials ||= Credentials.default scope: @config.scope,
134
135
  enable_self_signed_jwt: enable_self_signed_jwt
@@ -138,6 +139,12 @@ module Google
138
139
  @quota_project_id = @config.quota_project
139
140
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
140
141
 
142
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
143
+ config.credentials = credentials
144
+ config.quota_project = @quota_project_id
145
+ config.endpoint = @config.endpoint
146
+ end
147
+
141
148
  @lookup_service_stub = ::Gapic::ServiceStub.new(
142
149
  ::Google::Cloud::ServiceDirectory::V1beta1::LookupService::Stub,
143
150
  credentials: credentials,
@@ -147,6 +154,13 @@ module Google
147
154
  )
148
155
  end
149
156
 
157
+ ##
158
+ # Get the associated client for mix-in of the Locations.
159
+ #
160
+ # @return [Google::Cloud::Location::Locations::Client]
161
+ #
162
+ attr_reader :location_client
163
+
150
164
  # Service calls
151
165
 
152
166
  ##
@@ -172,8 +186,8 @@ module Google
172
186
  # @param name [::String]
173
187
  # Required. The name of the service to resolve.
174
188
  # @param max_endpoints [::Integer]
175
- # Optional. The maximum number of endpoints to return. Defaults to 25. Maximum is 100.
176
- # If a value less than one is specified, the Default is used.
189
+ # Optional. The maximum number of endpoints to return. Defaults to 25.
190
+ # Maximum is 100. If a value less than one is specified, the Default is used.
177
191
  # If a value greater than the Maximum is specified, the Maximum is used.
178
192
  # @param endpoint_filter [::String]
179
193
  # Optional. The filter applied to the endpoints of the resolved service.
@@ -200,6 +214,9 @@ module Google
200
214
  # `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
201
215
  # returns endpoints that have name that is alphabetically later than the
202
216
  # string, so "endpoint-e" is returned but "endpoint-a" is not
217
+ # *
218
+ # `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1`
219
+ # returns the endpoint that has an endpoint_id equal to `ep-1`
203
220
  # * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
204
221
  # `owner` in annotation key but value is not `sd` AND have key/value
205
222
  # `foo=bar`
@@ -356,7 +373,9 @@ module Google
356
373
  class Configuration
357
374
  extend ::Gapic::Config
358
375
 
359
- config_attr :endpoint, "servicedirectory.googleapis.com", ::String
376
+ DEFAULT_ENDPOINT = "servicedirectory.googleapis.com"
377
+
378
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
360
379
  config_attr :credentials, nil do |value|
361
380
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
362
381
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -19,6 +19,7 @@
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/servicedirectory/v1beta1/lookup_service_pb"
21
21
  require "google/cloud/service_directory/v1beta1/lookup_service/rest/service_stub"
22
+ require "google/cloud/location/rest"
22
23
 
23
24
  module Google
24
25
  module Cloud
@@ -124,7 +125,7 @@ module Google
124
125
  credentials = @config.credentials
125
126
  # Use self-signed JWT if the endpoint is unchanged from default,
126
127
  # but only if the default endpoint does not have a region prefix.
127
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
128
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
128
129
  !@config.endpoint.split(".").first.include?("-")
129
130
  credentials ||= Credentials.default scope: @config.scope,
130
131
  enable_self_signed_jwt: enable_self_signed_jwt
@@ -135,9 +136,23 @@ module Google
135
136
  @quota_project_id = @config.quota_project
136
137
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
137
138
 
139
+ @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
140
+ config.credentials = credentials
141
+ config.quota_project = @quota_project_id
142
+ config.endpoint = @config.endpoint
143
+ config.bindings_override = @config.bindings_override
144
+ end
145
+
138
146
  @lookup_service_stub = ::Google::Cloud::ServiceDirectory::V1beta1::LookupService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
139
147
  end
140
148
 
149
+ ##
150
+ # Get the associated client for mix-in of the Locations.
151
+ #
152
+ # @return [Google::Cloud::Location::Locations::Rest::Client]
153
+ #
154
+ attr_reader :location_client
155
+
141
156
  # Service calls
142
157
 
143
158
  ##
@@ -163,8 +178,8 @@ module Google
163
178
  # @param name [::String]
164
179
  # Required. The name of the service to resolve.
165
180
  # @param max_endpoints [::Integer]
166
- # Optional. The maximum number of endpoints to return. Defaults to 25. Maximum is 100.
167
- # If a value less than one is specified, the Default is used.
181
+ # Optional. The maximum number of endpoints to return. Defaults to 25.
182
+ # Maximum is 100. If a value less than one is specified, the Default is used.
168
183
  # If a value greater than the Maximum is specified, the Maximum is used.
169
184
  # @param endpoint_filter [::String]
170
185
  # Optional. The filter applied to the endpoints of the resolved service.
@@ -191,6 +206,9 @@ module Google
191
206
  # `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
192
207
  # returns endpoints that have name that is alphabetically later than the
193
208
  # string, so "endpoint-e" is returned but "endpoint-a" is not
209
+ # *
210
+ # `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1`
211
+ # returns the endpoint that has an endpoint_id equal to `ep-1`
194
212
  # * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
195
213
  # `owner` in annotation key but value is not `sd` AND have key/value
196
214
  # `foo=bar`
@@ -315,7 +333,9 @@ module Google
315
333
  class Configuration
316
334
  extend ::Gapic::Config
317
335
 
318
- config_attr :endpoint, "servicedirectory.googleapis.com", ::String
336
+ DEFAULT_ENDPOINT = "servicedirectory.googleapis.com"
337
+
338
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
319
339
  config_attr :credentials, nil do |value|
320
340
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
321
341
  allowed.any? { |klass| klass === value }
@@ -328,6 +348,13 @@ module Google
328
348
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
329
349
  config_attr :quota_project, nil, ::String, nil
330
350
 
351
+ # @private
352
+ # Overrides for http bindings for the RPCs of this service
353
+ # are only used when this service is used as mixin, and only
354
+ # by the host service.
355
+ # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
356
+ config_attr :bindings_override, {}, ::Hash, nil
357
+
331
358
  # @private
332
359
  def initialize parent_config = nil
333
360
  @parent_config = parent_config unless parent_config.nil?
@@ -59,7 +59,7 @@ module Google
59
59
 
60
60
  verb, uri, query_string_params, body = ServiceStub.transcode_resolve_service_request request_pb
61
61
  query_string_params = if query_string_params.any?
62
- query_string_params.to_h { |p| p.split("=", 2) }
62
+ query_string_params.to_h { |p| p.split "=", 2 }
63
63
  else
64
64
  {}
65
65
  end
@@ -21,6 +21,7 @@ require "gapic/config"
21
21
  require "gapic/config/method"
22
22
 
23
23
  require "google/cloud/service_directory/v1beta1/version"
24
+ require "google/cloud/service_directory/v1beta1/bindings_override"
24
25
 
25
26
  require "google/cloud/service_directory/v1beta1/lookup_service/credentials"
26
27
  require "google/cloud/service_directory/v1beta1/lookup_service/paths"
@@ -18,6 +18,7 @@
18
18
 
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/servicedirectory/v1beta1/registration_service_pb"
21
+ require "google/cloud/location"
21
22
 
22
23
  module Google
23
24
  module Cloud
@@ -142,7 +143,7 @@ module Google
142
143
  credentials = @config.credentials
143
144
  # Use self-signed JWT if the endpoint is unchanged from default,
144
145
  # but only if the default endpoint does not have a region prefix.
145
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
146
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
146
147
  !@config.endpoint.split(".").first.include?("-")
147
148
  credentials ||= Credentials.default scope: @config.scope,
148
149
  enable_self_signed_jwt: enable_self_signed_jwt
@@ -152,6 +153,12 @@ module Google
152
153
  @quota_project_id = @config.quota_project
153
154
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
154
155
 
156
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
157
+ config.credentials = credentials
158
+ config.quota_project = @quota_project_id
159
+ config.endpoint = @config.endpoint
160
+ end
161
+
155
162
  @registration_service_stub = ::Gapic::ServiceStub.new(
156
163
  ::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Stub,
157
164
  credentials: credentials,
@@ -161,6 +168,13 @@ module Google
161
168
  )
162
169
  end
163
170
 
171
+ ##
172
+ # Get the associated client for mix-in of the Locations.
173
+ #
174
+ # @return [Google::Cloud::Location::Locations::Client]
175
+ #
176
+ attr_reader :location_client
177
+
164
178
  # Service calls
165
179
 
166
180
  ##
@@ -278,19 +292,21 @@ module Google
278
292
  # the default parameter values, pass an empty Hash as a request object (see above).
279
293
  #
280
294
  # @param parent [::String]
281
- # Required. The resource name of the project and location whose namespaces you'd like
282
- # to list.
295
+ # Required. The resource name of the project and location whose namespaces
296
+ # you'd like to list.
283
297
  # @param page_size [::Integer]
284
298
  # Optional. The maximum number of items to return.
285
299
  # @param page_token [::String]
286
- # Optional. The next_page_token value returned from a previous List request, if any.
300
+ # Optional. The next_page_token value returned from a previous List request,
301
+ # if any.
287
302
  # @param filter [::String]
288
303
  # Optional. The filter to list results by.
289
304
  #
290
305
  # General `filter` string syntax:
291
306
  # `<field> <operator> <value> (<logical connector>)`
292
307
  #
293
- # * `<field>` can be `name` or `labels.<key>` for map field
308
+ # * `<field>` can be `name`, `labels.<key>` for map field, or
309
+ # `attributes.<field>` for attributes field
294
310
  # * `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
295
311
  # means `HAS`, and is roughly the same as `=`
296
312
  # * `<value>` must be the same data type as field
@@ -309,6 +325,8 @@ module Google
309
325
  # * `doesnotexist.foo=bar` returns an empty list. Note that namespace
310
326
  # doesn't have a field called "doesnotexist". Since the filter does not
311
327
  # match any namespaces, it returns no results
328
+ # * `attributes.managed_registration=true` returns namespaces that are
329
+ # managed by a GCP product or service
312
330
  #
313
331
  # For more information about filtering, see
314
332
  # [API Filtering](https://aip.dev/160).
@@ -800,6 +818,9 @@ module Google
800
818
  # * `doesnotexist.foo=bar` returns an empty list. Note that service
801
819
  # doesn't have a field called "doesnotexist". Since the filter does not
802
820
  # match any services, it returns no results
821
+ # * `attributes.managed_registration=true` returns services that are
822
+ # managed
823
+ # by a GCP product or service
803
824
  #
804
825
  # For more information about filtering, see
805
826
  # [API Filtering](https://aip.dev/160).
@@ -1269,8 +1290,8 @@ module Google
1269
1290
  # General `filter` string syntax:
1270
1291
  # `<field> <operator> <value> (<logical connector>)`
1271
1292
  #
1272
- # * `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
1273
- # field
1293
+ # * `<field>` can be `name`, `address`, `port`, `metadata.<key>` for map
1294
+ # field, or `attributes.<field>` for attributes field
1274
1295
  # * `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
1275
1296
  # means `HAS`, and is roughly the same as `=`
1276
1297
  # * `<value>` must be the same data type as field
@@ -1294,6 +1315,8 @@ module Google
1294
1315
  # * `doesnotexist.foo=bar` returns an empty list. Note that endpoint
1295
1316
  # doesn't have a field called "doesnotexist". Since the filter does not
1296
1317
  # match any endpoints, it returns no results
1318
+ # * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_
1319
+ # IP` returns endpoints with the corresponding kubernetes_resource_type
1297
1320
  #
1298
1321
  # For more information about filtering, see
1299
1322
  # [API Filtering](https://aip.dev/160).
@@ -1636,7 +1659,7 @@ module Google
1636
1659
  end
1637
1660
 
1638
1661
  ##
1639
- # Gets the IAM Policy for a resource (namespace or service only).
1662
+ # Gets the IAM Policy for a resource
1640
1663
  #
1641
1664
  # @overload get_iam_policy(request, options = nil)
1642
1665
  # Pass arguments to `get_iam_policy` via a request object, either of type
@@ -1725,7 +1748,7 @@ module Google
1725
1748
  end
1726
1749
 
1727
1750
  ##
1728
- # Sets the IAM Policy for a resource (namespace or service only).
1751
+ # Sets the IAM Policy for a resource
1729
1752
  #
1730
1753
  # @overload set_iam_policy(request, options = nil)
1731
1754
  # Pass arguments to `set_iam_policy` via a request object, either of type
@@ -1822,7 +1845,8 @@ module Google
1822
1845
  end
1823
1846
 
1824
1847
  ##
1825
- # Tests IAM permissions for a resource (namespace or service only).
1848
+ # Tests IAM permissions for a resource (namespace, service or
1849
+ # service workload only).
1826
1850
  #
1827
1851
  # @overload test_iam_permissions(request, options = nil)
1828
1852
  # Pass arguments to `test_iam_permissions` via a request object, either of type
@@ -1994,7 +2018,9 @@ module Google
1994
2018
  class Configuration
1995
2019
  extend ::Gapic::Config
1996
2020
 
1997
- config_attr :endpoint, "servicedirectory.googleapis.com", ::String
2021
+ DEFAULT_ENDPOINT = "servicedirectory.googleapis.com"
2022
+
2023
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1998
2024
  config_attr :credentials, nil do |value|
1999
2025
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
2000
2026
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -19,6 +19,7 @@
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/servicedirectory/v1beta1/registration_service_pb"
21
21
  require "google/cloud/service_directory/v1beta1/registration_service/rest/service_stub"
22
+ require "google/cloud/location/rest"
22
23
 
23
24
  module Google
24
25
  module Cloud
@@ -138,7 +139,7 @@ module Google
138
139
  credentials = @config.credentials
139
140
  # Use self-signed JWT if the endpoint is unchanged from default,
140
141
  # but only if the default endpoint does not have a region prefix.
141
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
142
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
142
143
  !@config.endpoint.split(".").first.include?("-")
143
144
  credentials ||= Credentials.default scope: @config.scope,
144
145
  enable_self_signed_jwt: enable_self_signed_jwt
@@ -149,9 +150,23 @@ module Google
149
150
  @quota_project_id = @config.quota_project
150
151
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
151
152
 
153
+ @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
154
+ config.credentials = credentials
155
+ config.quota_project = @quota_project_id
156
+ config.endpoint = @config.endpoint
157
+ config.bindings_override = @config.bindings_override
158
+ end
159
+
152
160
  @registration_service_stub = ::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
153
161
  end
154
162
 
163
+ ##
164
+ # Get the associated client for mix-in of the Locations.
165
+ #
166
+ # @return [Google::Cloud::Location::Locations::Rest::Client]
167
+ #
168
+ attr_reader :location_client
169
+
155
170
  # Service calls
156
171
 
157
172
  ##
@@ -246,19 +261,21 @@ module Google
246
261
  # the default parameter values, pass an empty Hash as a request object (see above).
247
262
  #
248
263
  # @param parent [::String]
249
- # Required. The resource name of the project and location whose namespaces you'd like
250
- # to list.
264
+ # Required. The resource name of the project and location whose namespaces
265
+ # you'd like to list.
251
266
  # @param page_size [::Integer]
252
267
  # Optional. The maximum number of items to return.
253
268
  # @param page_token [::String]
254
- # Optional. The next_page_token value returned from a previous List request, if any.
269
+ # Optional. The next_page_token value returned from a previous List request,
270
+ # if any.
255
271
  # @param filter [::String]
256
272
  # Optional. The filter to list results by.
257
273
  #
258
274
  # General `filter` string syntax:
259
275
  # `<field> <operator> <value> (<logical connector>)`
260
276
  #
261
- # * `<field>` can be `name` or `labels.<key>` for map field
277
+ # * `<field>` can be `name`, `labels.<key>` for map field, or
278
+ # `attributes.<field>` for attributes field
262
279
  # * `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
263
280
  # means `HAS`, and is roughly the same as `=`
264
281
  # * `<value>` must be the same data type as field
@@ -277,6 +294,8 @@ module Google
277
294
  # * `doesnotexist.foo=bar` returns an empty list. Note that namespace
278
295
  # doesn't have a field called "doesnotexist". Since the filter does not
279
296
  # match any namespaces, it returns no results
297
+ # * `attributes.managed_registration=true` returns namespaces that are
298
+ # managed by a GCP product or service
280
299
  #
281
300
  # For more information about filtering, see
282
301
  # [API Filtering](https://aip.dev/160).
@@ -649,6 +668,9 @@ module Google
649
668
  # * `doesnotexist.foo=bar` returns an empty list. Note that service
650
669
  # doesn't have a field called "doesnotexist". Since the filter does not
651
670
  # match any services, it returns no results
671
+ # * `attributes.managed_registration=true` returns services that are
672
+ # managed
673
+ # by a GCP product or service
652
674
  #
653
675
  # For more information about filtering, see
654
676
  # [API Filtering](https://aip.dev/160).
@@ -999,8 +1021,8 @@ module Google
999
1021
  # General `filter` string syntax:
1000
1022
  # `<field> <operator> <value> (<logical connector>)`
1001
1023
  #
1002
- # * `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
1003
- # field
1024
+ # * `<field>` can be `name`, `address`, `port`, `metadata.<key>` for map
1025
+ # field, or `attributes.<field>` for attributes field
1004
1026
  # * `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
1005
1027
  # means `HAS`, and is roughly the same as `=`
1006
1028
  # * `<value>` must be the same data type as field
@@ -1024,6 +1046,8 @@ module Google
1024
1046
  # * `doesnotexist.foo=bar` returns an empty list. Note that endpoint
1025
1047
  # doesn't have a field called "doesnotexist". Since the filter does not
1026
1048
  # match any endpoints, it returns no results
1049
+ # * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_
1050
+ # IP` returns endpoints with the corresponding kubernetes_resource_type
1027
1051
  #
1028
1052
  # For more information about filtering, see
1029
1053
  # [API Filtering](https://aip.dev/160).
@@ -1270,7 +1294,7 @@ module Google
1270
1294
  end
1271
1295
 
1272
1296
  ##
1273
- # Gets the IAM Policy for a resource (namespace or service only).
1297
+ # Gets the IAM Policy for a resource
1274
1298
  #
1275
1299
  # @overload get_iam_policy(request, options = nil)
1276
1300
  # Pass arguments to `get_iam_policy` via a request object, either of type
@@ -1336,7 +1360,7 @@ module Google
1336
1360
  end
1337
1361
 
1338
1362
  ##
1339
- # Sets the IAM Policy for a resource (namespace or service only).
1363
+ # Sets the IAM Policy for a resource
1340
1364
  #
1341
1365
  # @overload set_iam_policy(request, options = nil)
1342
1366
  # Pass arguments to `set_iam_policy` via a request object, either of type
@@ -1410,7 +1434,8 @@ module Google
1410
1434
  end
1411
1435
 
1412
1436
  ##
1413
- # Tests IAM permissions for a resource (namespace or service only).
1437
+ # Tests IAM permissions for a resource (namespace, service or
1438
+ # service workload only).
1414
1439
  #
1415
1440
  # @overload test_iam_permissions(request, options = nil)
1416
1441
  # Pass arguments to `test_iam_permissions` via a request object, either of type
@@ -1550,7 +1575,9 @@ module Google
1550
1575
  class Configuration
1551
1576
  extend ::Gapic::Config
1552
1577
 
1553
- config_attr :endpoint, "servicedirectory.googleapis.com", ::String
1578
+ DEFAULT_ENDPOINT = "servicedirectory.googleapis.com"
1579
+
1580
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1554
1581
  config_attr :credentials, nil do |value|
1555
1582
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1556
1583
  allowed.any? { |klass| klass === value }
@@ -1563,6 +1590,13 @@ module Google
1563
1590
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1564
1591
  config_attr :quota_project, nil, ::String, nil
1565
1592
 
1593
+ # @private
1594
+ # Overrides for http bindings for the RPCs of this service
1595
+ # are only used when this service is used as mixin, and only
1596
+ # by the host service.
1597
+ # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
1598
+ config_attr :bindings_override, {}, ::Hash, nil
1599
+
1566
1600
  # @private
1567
1601
  def initialize parent_config = nil
1568
1602
  @parent_config = parent_config unless parent_config.nil?