google-cloud-api_hub-v1 0.5.0 → 0.6.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/api_hub/v1/api_hub/paths.rb +21 -0
  3. data/lib/google/cloud/api_hub/v1/api_hub/rest/client.rb +497 -9
  4. data/lib/google/cloud/api_hub/v1/api_hub/rest/service_stub.rb +185 -0
  5. data/lib/google/cloud/api_hub/v1/api_hub_collect/credentials.rb +47 -0
  6. data/lib/google/cloud/api_hub/v1/api_hub_collect/paths.rb +218 -0
  7. data/lib/google/cloud/api_hub/v1/api_hub_collect/rest/client.rb +487 -0
  8. data/lib/google/cloud/api_hub/v1/api_hub_collect/rest/operations.rb +914 -0
  9. data/lib/google/cloud/api_hub/v1/api_hub_collect/rest/service_stub.rb +143 -0
  10. data/lib/google/cloud/api_hub/v1/api_hub_collect/rest.rb +56 -0
  11. data/lib/google/cloud/api_hub/v1/api_hub_collect.rb +50 -0
  12. data/lib/google/cloud/api_hub/v1/api_hub_curate/credentials.rb +47 -0
  13. data/lib/google/cloud/api_hub/v1/api_hub_curate/paths.rb +90 -0
  14. data/lib/google/cloud/api_hub/v1/api_hub_curate/rest/client.rb +869 -0
  15. data/lib/google/cloud/api_hub/v1/api_hub_curate/rest/service_stub.rb +388 -0
  16. data/lib/google/cloud/api_hub/v1/api_hub_curate/rest.rb +54 -0
  17. data/lib/google/cloud/api_hub/v1/api_hub_curate.rb +49 -0
  18. data/lib/google/cloud/api_hub/v1/api_hub_discovery/credentials.rb +47 -0
  19. data/lib/google/cloud/api_hub/v1/api_hub_discovery/paths.rb +90 -0
  20. data/lib/google/cloud/api_hub/v1/api_hub_discovery/rest/client.rb +750 -0
  21. data/lib/google/cloud/api_hub/v1/api_hub_discovery/rest/service_stub.rb +325 -0
  22. data/lib/google/cloud/api_hub/v1/api_hub_discovery/rest.rb +54 -0
  23. data/lib/google/cloud/api_hub/v1/api_hub_discovery.rb +49 -0
  24. data/lib/google/cloud/api_hub/v1/api_hub_plugin/paths.rb +74 -0
  25. data/lib/google/cloud/api_hub/v1/api_hub_plugin/rest/client.rb +1265 -98
  26. data/lib/google/cloud/api_hub/v1/api_hub_plugin/rest/operations.rb +914 -0
  27. data/lib/google/cloud/api_hub/v1/api_hub_plugin/rest/service_stub.rb +677 -0
  28. data/lib/google/cloud/api_hub/v1/api_hub_plugin/rest.rb +1 -0
  29. data/lib/google/cloud/api_hub/v1/bindings_override.rb +2 -29
  30. data/lib/google/cloud/api_hub/v1/provisioning/rest/client.rb +96 -0
  31. data/lib/google/cloud/api_hub/v1/provisioning/rest/service_stub.rb +61 -0
  32. data/lib/google/cloud/api_hub/v1/rest.rb +3 -0
  33. data/lib/google/cloud/api_hub/v1/version.rb +1 -1
  34. data/lib/google/cloud/api_hub/v1.rb +3 -0
  35. data/lib/google/cloud/apihub/v1/apihub_service_pb.rb +4 -1
  36. data/lib/google/cloud/apihub/v1/apihub_service_services_pb.rb +35 -2
  37. data/lib/google/cloud/apihub/v1/collect_service_pb.rb +60 -0
  38. data/lib/google/cloud/apihub/v1/collect_service_services_pb.rb +47 -0
  39. data/lib/google/cloud/apihub/v1/common_fields_pb.rb +34 -1
  40. data/lib/google/cloud/apihub/v1/curate_service_pb.rb +63 -0
  41. data/lib/google/cloud/apihub/v1/curate_service_services_pb.rb +64 -0
  42. data/lib/google/cloud/apihub/v1/discovery_service_pb.rb +54 -0
  43. data/lib/google/cloud/apihub/v1/discovery_service_services_pb.rb +55 -0
  44. data/lib/google/cloud/apihub/v1/plugin_service_pb.rb +44 -1
  45. data/lib/google/cloud/apihub/v1/plugin_service_services_pb.rb +43 -1
  46. data/lib/google/cloud/apihub/v1/provisioning_service_pb.rb +3 -1
  47. data/lib/google/cloud/apihub/v1/provisioning_service_services_pb.rb +2 -0
  48. data/proto_docs/google/cloud/apihub/v1/apihub_service.rb +251 -15
  49. data/proto_docs/google/cloud/apihub/v1/collect_service.rb +188 -0
  50. data/proto_docs/google/cloud/apihub/v1/common_fields.rb +819 -28
  51. data/proto_docs/google/cloud/apihub/v1/curate_service.rb +268 -0
  52. data/proto_docs/google/cloud/apihub/v1/discovery_service.rb +124 -0
  53. data/proto_docs/google/cloud/apihub/v1/linting_service.rb +10 -4
  54. data/proto_docs/google/cloud/apihub/v1/plugin_service.rb +799 -1
  55. data/proto_docs/google/cloud/apihub/v1/provisioning_service.rb +13 -0
  56. metadata +33 -4
@@ -0,0 +1,325 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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 "google/cloud/apihub/v1/discovery_service_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module ApiHub
24
+ module V1
25
+ module ApiHubDiscovery
26
+ module Rest
27
+ ##
28
+ # REST service stub for the ApiHubDiscovery service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
+ # These require statements are intentionally placed here to initialize
36
+ # the REST modules only when it's required.
37
+ require "gapic/rest"
38
+
39
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
40
+ endpoint_template: endpoint_template,
41
+ universe_domain: universe_domain,
42
+ credentials: credentials,
43
+ numeric_enums: true,
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
47
+ end
48
+
49
+ ##
50
+ # The effective universe domain
51
+ #
52
+ # @return [String]
53
+ #
54
+ def universe_domain
55
+ @client_stub.universe_domain
56
+ end
57
+
58
+ ##
59
+ # The effective endpoint
60
+ #
61
+ # @return [String]
62
+ #
63
+ def endpoint
64
+ @client_stub.endpoint
65
+ end
66
+
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
76
+ ##
77
+ # Baseline implementation for the list_discovered_api_observations REST call
78
+ #
79
+ # @param request_pb [::Google::Cloud::ApiHub::V1::ListDiscoveredApiObservationsRequest]
80
+ # A request object representing the call parameters. Required.
81
+ # @param options [::Gapic::CallOptions]
82
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
83
+ #
84
+ # @yield [result, operation] Access the result along with the TransportOperation object
85
+ # @yieldparam result [::Google::Cloud::ApiHub::V1::ListDiscoveredApiObservationsResponse]
86
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
87
+ #
88
+ # @return [::Google::Cloud::ApiHub::V1::ListDiscoveredApiObservationsResponse]
89
+ # A result object deserialized from the server's reply
90
+ def list_discovered_api_observations request_pb, options = nil
91
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
92
+
93
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_discovered_api_observations_request request_pb
94
+ query_string_params = if query_string_params.any?
95
+ query_string_params.to_h { |p| p.split "=", 2 }
96
+ else
97
+ {}
98
+ end
99
+
100
+ response = @client_stub.make_http_request(
101
+ verb,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "list_discovered_api_observations",
106
+ options: options
107
+ )
108
+ operation = ::Gapic::Rest::TransportOperation.new response
109
+ result = ::Google::Cloud::ApiHub::V1::ListDiscoveredApiObservationsResponse.decode_json response.body, ignore_unknown_fields: true
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
114
+ end
115
+
116
+ ##
117
+ # Baseline implementation for the get_discovered_api_observation REST call
118
+ #
119
+ # @param request_pb [::Google::Cloud::ApiHub::V1::GetDiscoveredApiObservationRequest]
120
+ # A request object representing the call parameters. Required.
121
+ # @param options [::Gapic::CallOptions]
122
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
123
+ #
124
+ # @yield [result, operation] Access the result along with the TransportOperation object
125
+ # @yieldparam result [::Google::Cloud::ApiHub::V1::DiscoveredApiObservation]
126
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
127
+ #
128
+ # @return [::Google::Cloud::ApiHub::V1::DiscoveredApiObservation]
129
+ # A result object deserialized from the server's reply
130
+ def get_discovered_api_observation request_pb, options = nil
131
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
132
+
133
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_discovered_api_observation_request request_pb
134
+ query_string_params = if query_string_params.any?
135
+ query_string_params.to_h { |p| p.split "=", 2 }
136
+ else
137
+ {}
138
+ end
139
+
140
+ response = @client_stub.make_http_request(
141
+ verb,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "get_discovered_api_observation",
146
+ options: options
147
+ )
148
+ operation = ::Gapic::Rest::TransportOperation.new response
149
+ result = ::Google::Cloud::ApiHub::V1::DiscoveredApiObservation.decode_json response.body, ignore_unknown_fields: true
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
154
+ end
155
+
156
+ ##
157
+ # Baseline implementation for the list_discovered_api_operations REST call
158
+ #
159
+ # @param request_pb [::Google::Cloud::ApiHub::V1::ListDiscoveredApiOperationsRequest]
160
+ # A request object representing the call parameters. Required.
161
+ # @param options [::Gapic::CallOptions]
162
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
163
+ #
164
+ # @yield [result, operation] Access the result along with the TransportOperation object
165
+ # @yieldparam result [::Google::Cloud::ApiHub::V1::ListDiscoveredApiOperationsResponse]
166
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
167
+ #
168
+ # @return [::Google::Cloud::ApiHub::V1::ListDiscoveredApiOperationsResponse]
169
+ # A result object deserialized from the server's reply
170
+ def list_discovered_api_operations request_pb, options = nil
171
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
172
+
173
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_discovered_api_operations_request request_pb
174
+ query_string_params = if query_string_params.any?
175
+ query_string_params.to_h { |p| p.split "=", 2 }
176
+ else
177
+ {}
178
+ end
179
+
180
+ response = @client_stub.make_http_request(
181
+ verb,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "list_discovered_api_operations",
186
+ options: options
187
+ )
188
+ operation = ::Gapic::Rest::TransportOperation.new response
189
+ result = ::Google::Cloud::ApiHub::V1::ListDiscoveredApiOperationsResponse.decode_json response.body, ignore_unknown_fields: true
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
194
+ end
195
+
196
+ ##
197
+ # Baseline implementation for the get_discovered_api_operation REST call
198
+ #
199
+ # @param request_pb [::Google::Cloud::ApiHub::V1::GetDiscoveredApiOperationRequest]
200
+ # A request object representing the call parameters. Required.
201
+ # @param options [::Gapic::CallOptions]
202
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
203
+ #
204
+ # @yield [result, operation] Access the result along with the TransportOperation object
205
+ # @yieldparam result [::Google::Cloud::ApiHub::V1::DiscoveredApiOperation]
206
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
207
+ #
208
+ # @return [::Google::Cloud::ApiHub::V1::DiscoveredApiOperation]
209
+ # A result object deserialized from the server's reply
210
+ def get_discovered_api_operation request_pb, options = nil
211
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
212
+
213
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_discovered_api_operation_request request_pb
214
+ query_string_params = if query_string_params.any?
215
+ query_string_params.to_h { |p| p.split "=", 2 }
216
+ else
217
+ {}
218
+ end
219
+
220
+ response = @client_stub.make_http_request(
221
+ verb,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "get_discovered_api_operation",
226
+ options: options
227
+ )
228
+ operation = ::Gapic::Rest::TransportOperation.new response
229
+ result = ::Google::Cloud::ApiHub::V1::DiscoveredApiOperation.decode_json response.body, ignore_unknown_fields: true
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
234
+ end
235
+
236
+ ##
237
+ # @private
238
+ #
239
+ # GRPC transcoding helper method for the list_discovered_api_observations REST call
240
+ #
241
+ # @param request_pb [::Google::Cloud::ApiHub::V1::ListDiscoveredApiObservationsRequest]
242
+ # A request object representing the call parameters. Required.
243
+ # @return [Array(String, [String, nil], Hash{String => String})]
244
+ # Uri, Body, Query string parameters
245
+ def self.transcode_list_discovered_api_observations_request request_pb
246
+ transcoder = Gapic::Rest::GrpcTranscoder.new
247
+ .with_bindings(
248
+ uri_method: :get,
249
+ uri_template: "/v1/{parent}/discoveredApiObservations",
250
+ matches: [
251
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
252
+ ]
253
+ )
254
+ transcoder.transcode request_pb
255
+ end
256
+
257
+ ##
258
+ # @private
259
+ #
260
+ # GRPC transcoding helper method for the get_discovered_api_observation REST call
261
+ #
262
+ # @param request_pb [::Google::Cloud::ApiHub::V1::GetDiscoveredApiObservationRequest]
263
+ # A request object representing the call parameters. Required.
264
+ # @return [Array(String, [String, nil], Hash{String => String})]
265
+ # Uri, Body, Query string parameters
266
+ def self.transcode_get_discovered_api_observation_request request_pb
267
+ transcoder = Gapic::Rest::GrpcTranscoder.new
268
+ .with_bindings(
269
+ uri_method: :get,
270
+ uri_template: "/v1/{name}",
271
+ matches: [
272
+ ["name", %r{^projects/[^/]+/locations/[^/]+/discoveredApiObservations/[^/]+/?$}, false]
273
+ ]
274
+ )
275
+ transcoder.transcode request_pb
276
+ end
277
+
278
+ ##
279
+ # @private
280
+ #
281
+ # GRPC transcoding helper method for the list_discovered_api_operations REST call
282
+ #
283
+ # @param request_pb [::Google::Cloud::ApiHub::V1::ListDiscoveredApiOperationsRequest]
284
+ # A request object representing the call parameters. Required.
285
+ # @return [Array(String, [String, nil], Hash{String => String})]
286
+ # Uri, Body, Query string parameters
287
+ def self.transcode_list_discovered_api_operations_request request_pb
288
+ transcoder = Gapic::Rest::GrpcTranscoder.new
289
+ .with_bindings(
290
+ uri_method: :get,
291
+ uri_template: "/v1/{parent}/discoveredApiOperations",
292
+ matches: [
293
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/discoveredApiObservations/[^/]+/?$}, false]
294
+ ]
295
+ )
296
+ transcoder.transcode request_pb
297
+ end
298
+
299
+ ##
300
+ # @private
301
+ #
302
+ # GRPC transcoding helper method for the get_discovered_api_operation REST call
303
+ #
304
+ # @param request_pb [::Google::Cloud::ApiHub::V1::GetDiscoveredApiOperationRequest]
305
+ # A request object representing the call parameters. Required.
306
+ # @return [Array(String, [String, nil], Hash{String => String})]
307
+ # Uri, Body, Query string parameters
308
+ def self.transcode_get_discovered_api_operation_request request_pb
309
+ transcoder = Gapic::Rest::GrpcTranscoder.new
310
+ .with_bindings(
311
+ uri_method: :get,
312
+ uri_template: "/v1/{name}",
313
+ matches: [
314
+ ["name", %r{^projects/[^/]+/locations/[^/]+/discoveredApiObservations/[^/]+/discoveredApiOperations/[^/]+/?$}, false]
315
+ ]
316
+ )
317
+ transcoder.transcode request_pb
318
+ end
319
+ end
320
+ end
321
+ end
322
+ end
323
+ end
324
+ end
325
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/api_hub/v1/version"
24
+ require "google/cloud/api_hub/v1/bindings_override"
25
+
26
+ require "google/cloud/api_hub/v1/api_hub_discovery/credentials"
27
+ require "google/cloud/api_hub/v1/api_hub_discovery/paths"
28
+ require "google/cloud/api_hub/v1/api_hub_discovery/rest/client"
29
+
30
+ module Google
31
+ module Cloud
32
+ module ApiHub
33
+ module V1
34
+ ##
35
+ # This service exposes methods used to manage DiscoveredApiObservations
36
+ # and DiscoveredApiOperations.
37
+ #
38
+ # To load this service and instantiate a REST client:
39
+ #
40
+ # require "google/cloud/api_hub/v1/api_hub_discovery/rest"
41
+ # client = ::Google::Cloud::ApiHub::V1::ApiHubDiscovery::Rest::Client.new
42
+ #
43
+ module ApiHubDiscovery
44
+ # Client for the REST transport
45
+ module Rest
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
54
+ require "google/cloud/api_hub/v1/api_hub_discovery/rest/helpers" if ::File.file? helper_path
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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
+ require "gapic/config/method"
21
+
22
+ require "google/cloud/api_hub/v1/version"
23
+
24
+ require "google/cloud/api_hub/v1/api_hub_discovery/credentials"
25
+ require "google/cloud/api_hub/v1/api_hub_discovery/paths"
26
+ require "google/cloud/api_hub/v1/api_hub_discovery/rest"
27
+
28
+ module Google
29
+ module Cloud
30
+ module ApiHub
31
+ module V1
32
+ ##
33
+ # This service exposes methods used to manage DiscoveredApiObservations
34
+ # and DiscoveredApiOperations.
35
+ #
36
+ # @example Load this service and instantiate a REST client
37
+ #
38
+ # require "google/cloud/api_hub/v1/api_hub_discovery/rest"
39
+ # client = ::Google::Cloud::ApiHub::V1::ApiHubDiscovery::Rest::Client.new
40
+ #
41
+ module ApiHubDiscovery
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+
48
+ helper_path = ::File.join __dir__, "api_hub_discovery", "helpers.rb"
49
+ require "google/cloud/api_hub/v1/api_hub_discovery/helpers" if ::File.file? helper_path
@@ -24,6 +24,42 @@ module Google
24
24
  module ApiHubPlugin
25
25
  # Path helper methods for the ApiHubPlugin API.
26
26
  module Paths
27
+ ##
28
+ # Create a fully-qualified Attribute resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}/attributes/{attribute}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ # @param attribute [String]
37
+ #
38
+ # @return [::String]
39
+ def attribute_path project:, location:, attribute:
40
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
41
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
42
+
43
+ "projects/#{project}/locations/#{location}/attributes/#{attribute}"
44
+ end
45
+
46
+ ##
47
+ # Create a fully-qualified Location resource string.
48
+ #
49
+ # The resource will be in the following format:
50
+ #
51
+ # `projects/{project}/locations/{location}`
52
+ #
53
+ # @param project [String]
54
+ # @param location [String]
55
+ #
56
+ # @return [::String]
57
+ def location_path project:, location:
58
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
59
+
60
+ "projects/#{project}/locations/#{location}"
61
+ end
62
+
27
63
  ##
28
64
  # Create a fully-qualified Plugin resource string.
29
65
  #
@@ -43,6 +79,44 @@ module Google
43
79
  "projects/#{project}/locations/#{location}/plugins/#{plugin}"
44
80
  end
45
81
 
82
+ ##
83
+ # Create a fully-qualified PluginInstance resource string.
84
+ #
85
+ # The resource will be in the following format:
86
+ #
87
+ # `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
88
+ #
89
+ # @param project [String]
90
+ # @param location [String]
91
+ # @param plugin [String]
92
+ # @param instance [String]
93
+ #
94
+ # @return [::String]
95
+ def plugin_instance_path project:, location:, plugin:, instance:
96
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
97
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
98
+ raise ::ArgumentError, "plugin cannot contain /" if plugin.to_s.include? "/"
99
+
100
+ "projects/#{project}/locations/#{location}/plugins/#{plugin}/instances/#{instance}"
101
+ end
102
+
103
+ ##
104
+ # Create a fully-qualified ServiceAccount resource string.
105
+ #
106
+ # The resource will be in the following format:
107
+ #
108
+ # `projects/{project}/serviceAccounts/{service_account}`
109
+ #
110
+ # @param project [String]
111
+ # @param service_account [String]
112
+ #
113
+ # @return [::String]
114
+ def service_account_path project:, service_account:
115
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
116
+
117
+ "projects/#{project}/serviceAccounts/#{service_account}"
118
+ end
119
+
46
120
  extend self
47
121
  end
48
122
  end