google-cloud-profiler-v2 0.3.0 → 0.10.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 (27) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -101
  3. data/README.md +5 -5
  4. data/lib/google/cloud/profiler/v2/export_service/client.rb +446 -0
  5. data/lib/google/cloud/profiler/v2/export_service/credentials.rb +53 -0
  6. data/lib/google/cloud/profiler/v2/export_service/paths.rb +47 -0
  7. data/lib/google/cloud/profiler/v2/export_service/rest/client.rb +413 -0
  8. data/lib/google/cloud/profiler/v2/export_service/rest/service_stub.rb +128 -0
  9. data/lib/google/cloud/profiler/v2/export_service/rest.rb +53 -0
  10. data/lib/google/cloud/profiler/v2/export_service.rb +56 -0
  11. data/lib/google/cloud/profiler/v2/profiler_service/client.rb +79 -23
  12. data/lib/google/cloud/profiler/v2/profiler_service/paths.rb +64 -0
  13. data/lib/google/cloud/profiler/v2/profiler_service/rest/client.rb +622 -0
  14. data/lib/google/cloud/profiler/v2/profiler_service/rest/service_stub.rb +249 -0
  15. data/lib/google/cloud/profiler/v2/profiler_service/rest.rb +56 -0
  16. data/lib/google/cloud/profiler/v2/profiler_service.rb +10 -4
  17. data/lib/google/cloud/profiler/v2/rest.rb +38 -0
  18. data/lib/google/cloud/profiler/v2/version.rb +1 -1
  19. data/lib/google/cloud/profiler/v2.rb +8 -2
  20. data/lib/google/devtools/cloudprofiler/v2/profiler_pb.rb +33 -38
  21. data/lib/google/devtools/cloudprofiler/v2/profiler_services_pb.rb +39 -6
  22. data/proto_docs/google/api/client.rb +399 -0
  23. data/proto_docs/google/api/field_behavior.rb +85 -0
  24. data/proto_docs/google/api/launch_stage.rb +71 -0
  25. data/proto_docs/google/devtools/cloudprofiler/v2/profiler.rb +52 -7
  26. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  27. metadata +23 -119
@@ -0,0 +1,446 @@
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 "google/cloud/errors"
20
+ require "google/devtools/cloudprofiler/v2/profiler_pb"
21
+
22
+ module Google
23
+ module Cloud
24
+ module Profiler
25
+ module V2
26
+ module ExportService
27
+ ##
28
+ # Client for the ExportService service.
29
+ #
30
+ # Service allows existing Cloud Profiler customers to export their profile data
31
+ # out of Google Cloud.
32
+ #
33
+ class Client
34
+ # @private
35
+ API_VERSION = ""
36
+
37
+ # @private
38
+ DEFAULT_ENDPOINT_TEMPLATE = "cloudprofiler.$UNIVERSE_DOMAIN$"
39
+
40
+ include Paths
41
+
42
+ # @private
43
+ attr_reader :export_service_stub
44
+
45
+ ##
46
+ # Configure the ExportService Client class.
47
+ #
48
+ # See {::Google::Cloud::Profiler::V2::ExportService::Client::Configuration}
49
+ # for a description of the configuration fields.
50
+ #
51
+ # @example
52
+ #
53
+ # # Modify the configuration for all ExportService clients
54
+ # ::Google::Cloud::Profiler::V2::ExportService::Client.configure do |config|
55
+ # config.timeout = 10.0
56
+ # end
57
+ #
58
+ # @yield [config] Configure the Client client.
59
+ # @yieldparam config [Client::Configuration]
60
+ #
61
+ # @return [Client::Configuration]
62
+ #
63
+ def self.configure
64
+ @configure ||= begin
65
+ namespace = ["Google", "Cloud", "Profiler", "V2"]
66
+ parent_config = while namespace.any?
67
+ parent_name = namespace.join "::"
68
+ parent_const = const_get parent_name
69
+ break parent_const.configure if parent_const.respond_to? :configure
70
+ namespace.pop
71
+ end
72
+ default_config = Client::Configuration.new parent_config
73
+
74
+ default_config.timeout = 130.0
75
+ default_config.retry_policy = {
76
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
77
+ }
78
+
79
+ default_config
80
+ end
81
+ yield @configure if block_given?
82
+ @configure
83
+ end
84
+
85
+ ##
86
+ # Configure the ExportService Client instance.
87
+ #
88
+ # The configuration is set to the derived mode, meaning that values can be changed,
89
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
90
+ # should be made on {Client.configure}.
91
+ #
92
+ # See {::Google::Cloud::Profiler::V2::ExportService::Client::Configuration}
93
+ # for a description of the configuration fields.
94
+ #
95
+ # @yield [config] Configure the Client client.
96
+ # @yieldparam config [Client::Configuration]
97
+ #
98
+ # @return [Client::Configuration]
99
+ #
100
+ def configure
101
+ yield @config if block_given?
102
+ @config
103
+ end
104
+
105
+ ##
106
+ # The effective universe domain
107
+ #
108
+ # @return [String]
109
+ #
110
+ def universe_domain
111
+ @export_service_stub.universe_domain
112
+ end
113
+
114
+ ##
115
+ # Create a new ExportService client object.
116
+ #
117
+ # @example
118
+ #
119
+ # # Create a client using the default configuration
120
+ # client = ::Google::Cloud::Profiler::V2::ExportService::Client.new
121
+ #
122
+ # # Create a client using a custom configuration
123
+ # client = ::Google::Cloud::Profiler::V2::ExportService::Client.new do |config|
124
+ # config.timeout = 10.0
125
+ # end
126
+ #
127
+ # @yield [config] Configure the ExportService client.
128
+ # @yieldparam config [Client::Configuration]
129
+ #
130
+ def initialize
131
+ # These require statements are intentionally placed here to initialize
132
+ # the gRPC module only when it's required.
133
+ # See https://github.com/googleapis/toolkit/issues/446
134
+ require "gapic/grpc"
135
+ require "google/devtools/cloudprofiler/v2/profiler_services_pb"
136
+
137
+ # Create the configuration object
138
+ @config = Configuration.new Client.configure
139
+
140
+ # Yield the configuration if needed
141
+ yield @config if block_given?
142
+
143
+ # Create credentials
144
+ credentials = @config.credentials
145
+ # Use self-signed JWT if the endpoint is unchanged from default,
146
+ # but only if the default endpoint does not have a region prefix.
147
+ enable_self_signed_jwt = @config.endpoint.nil? ||
148
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
149
+ !@config.endpoint.split(".").first.include?("-"))
150
+ credentials ||= Credentials.default scope: @config.scope,
151
+ enable_self_signed_jwt: enable_self_signed_jwt
152
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
153
+ credentials = Credentials.new credentials, scope: @config.scope
154
+ end
155
+ @quota_project_id = @config.quota_project
156
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
157
+
158
+ @export_service_stub = ::Gapic::ServiceStub.new(
159
+ ::Google::Cloud::Profiler::V2::ExportService::Stub,
160
+ credentials: credentials,
161
+ endpoint: @config.endpoint,
162
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
163
+ universe_domain: @config.universe_domain,
164
+ channel_args: @config.channel_args,
165
+ interceptors: @config.interceptors,
166
+ channel_pool_config: @config.channel_pool
167
+ )
168
+ end
169
+
170
+ # Service calls
171
+
172
+ ##
173
+ # Lists profiles which have been collected so far and for which the caller
174
+ # has permission to view.
175
+ #
176
+ # @overload list_profiles(request, options = nil)
177
+ # Pass arguments to `list_profiles` via a request object, either of type
178
+ # {::Google::Cloud::Profiler::V2::ListProfilesRequest} or an equivalent Hash.
179
+ #
180
+ # @param request [::Google::Cloud::Profiler::V2::ListProfilesRequest, ::Hash]
181
+ # A request object representing the call parameters. Required. To specify no
182
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
183
+ # @param options [::Gapic::CallOptions, ::Hash]
184
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
185
+ #
186
+ # @overload list_profiles(parent: nil, page_size: nil, page_token: nil)
187
+ # Pass arguments to `list_profiles` via keyword arguments. Note that at
188
+ # least one keyword argument is required. To specify no parameters, or to keep all
189
+ # the default parameter values, pass an empty Hash as a request object (see above).
190
+ #
191
+ # @param parent [::String]
192
+ # Required. The parent, which owns this collection of profiles.
193
+ # Format: projects/\\{user_project_id}
194
+ # @param page_size [::Integer]
195
+ # The maximum number of items to return.
196
+ # Default page_size is 1000.
197
+ # Max limit is 1000.
198
+ # @param page_token [::String]
199
+ # The token to continue pagination and get profiles from a particular page.
200
+ # When paginating, all other parameters provided to `ListProfiles` must match
201
+ # the call that provided the page token.
202
+ #
203
+ # @yield [response, operation] Access the result along with the RPC operation
204
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Profiler::V2::Profile>]
205
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
206
+ #
207
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Profiler::V2::Profile>]
208
+ #
209
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
210
+ #
211
+ # @example Basic example
212
+ # require "google/cloud/profiler/v2"
213
+ #
214
+ # # Create a client object. The client can be reused for multiple calls.
215
+ # client = Google::Cloud::Profiler::V2::ExportService::Client.new
216
+ #
217
+ # # Create a request. To set request fields, pass in keyword arguments.
218
+ # request = Google::Cloud::Profiler::V2::ListProfilesRequest.new
219
+ #
220
+ # # Call the list_profiles method.
221
+ # result = client.list_profiles request
222
+ #
223
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
224
+ # # over elements, and API calls will be issued to fetch pages as needed.
225
+ # result.each do |item|
226
+ # # Each element is of type ::Google::Cloud::Profiler::V2::Profile.
227
+ # p item
228
+ # end
229
+ #
230
+ def list_profiles request, options = nil
231
+ raise ::ArgumentError, "request must be provided" if request.nil?
232
+
233
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Profiler::V2::ListProfilesRequest
234
+
235
+ # Converts hash and nil to an options object
236
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
237
+
238
+ # Customize the options with defaults
239
+ metadata = @config.rpcs.list_profiles.metadata.to_h
240
+
241
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
242
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
243
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
244
+ gapic_version: ::Google::Cloud::Profiler::V2::VERSION
245
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
246
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
247
+
248
+ header_params = {}
249
+ if request.parent
250
+ header_params["parent"] = request.parent
251
+ end
252
+
253
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
254
+ metadata[:"x-goog-request-params"] ||= request_params_header
255
+
256
+ options.apply_defaults timeout: @config.rpcs.list_profiles.timeout,
257
+ metadata: metadata,
258
+ retry_policy: @config.rpcs.list_profiles.retry_policy
259
+
260
+ options.apply_defaults timeout: @config.timeout,
261
+ metadata: @config.metadata,
262
+ retry_policy: @config.retry_policy
263
+
264
+ @export_service_stub.call_rpc :list_profiles, request, options: options do |response, operation|
265
+ response = ::Gapic::PagedEnumerable.new @export_service_stub, :list_profiles, request, response, operation, options
266
+ yield response, operation if block_given?
267
+ return response
268
+ end
269
+ rescue ::GRPC::BadStatus => e
270
+ raise ::Google::Cloud::Error.from_error(e)
271
+ end
272
+
273
+ ##
274
+ # Configuration class for the ExportService API.
275
+ #
276
+ # This class represents the configuration for ExportService,
277
+ # providing control over timeouts, retry behavior, logging, transport
278
+ # parameters, and other low-level controls. Certain parameters can also be
279
+ # applied individually to specific RPCs. See
280
+ # {::Google::Cloud::Profiler::V2::ExportService::Client::Configuration::Rpcs}
281
+ # for a list of RPCs that can be configured independently.
282
+ #
283
+ # Configuration can be applied globally to all clients, or to a single client
284
+ # on construction.
285
+ #
286
+ # @example
287
+ #
288
+ # # Modify the global config, setting the timeout for
289
+ # # list_profiles to 20 seconds,
290
+ # # and all remaining timeouts to 10 seconds.
291
+ # ::Google::Cloud::Profiler::V2::ExportService::Client.configure do |config|
292
+ # config.timeout = 10.0
293
+ # config.rpcs.list_profiles.timeout = 20.0
294
+ # end
295
+ #
296
+ # # Apply the above configuration only to a new client.
297
+ # client = ::Google::Cloud::Profiler::V2::ExportService::Client.new do |config|
298
+ # config.timeout = 10.0
299
+ # config.rpcs.list_profiles.timeout = 20.0
300
+ # end
301
+ #
302
+ # @!attribute [rw] endpoint
303
+ # A custom service endpoint, as a hostname or hostname:port. The default is
304
+ # nil, indicating to use the default endpoint in the current universe domain.
305
+ # @return [::String,nil]
306
+ # @!attribute [rw] credentials
307
+ # Credentials to send with calls. You may provide any of the following types:
308
+ # * (`String`) The path to a service account key file in JSON format
309
+ # * (`Hash`) A service account key as a Hash
310
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
311
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
312
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
313
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
314
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
315
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
316
+ # * (`nil`) indicating no credentials
317
+ # @return [::Object]
318
+ # @!attribute [rw] scope
319
+ # The OAuth scopes
320
+ # @return [::Array<::String>]
321
+ # @!attribute [rw] lib_name
322
+ # The library name as recorded in instrumentation and logging
323
+ # @return [::String]
324
+ # @!attribute [rw] lib_version
325
+ # The library version as recorded in instrumentation and logging
326
+ # @return [::String]
327
+ # @!attribute [rw] channel_args
328
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
329
+ # `GRPC::Core::Channel` object is provided as the credential.
330
+ # @return [::Hash]
331
+ # @!attribute [rw] interceptors
332
+ # An array of interceptors that are run before calls are executed.
333
+ # @return [::Array<::GRPC::ClientInterceptor>]
334
+ # @!attribute [rw] timeout
335
+ # The call timeout in seconds.
336
+ # @return [::Numeric]
337
+ # @!attribute [rw] metadata
338
+ # Additional gRPC headers to be sent with the call.
339
+ # @return [::Hash{::Symbol=>::String}]
340
+ # @!attribute [rw] retry_policy
341
+ # The retry policy. The value is a hash with the following keys:
342
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
343
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
344
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
345
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
346
+ # trigger a retry.
347
+ # @return [::Hash]
348
+ # @!attribute [rw] quota_project
349
+ # A separate project against which to charge quota.
350
+ # @return [::String]
351
+ # @!attribute [rw] universe_domain
352
+ # The universe domain within which to make requests. This determines the
353
+ # default endpoint URL. The default value of nil uses the environment
354
+ # universe (usually the default "googleapis.com" universe).
355
+ # @return [::String,nil]
356
+ #
357
+ class Configuration
358
+ extend ::Gapic::Config
359
+
360
+ # @private
361
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
362
+ DEFAULT_ENDPOINT = "cloudprofiler.googleapis.com"
363
+
364
+ config_attr :endpoint, nil, ::String, nil
365
+ config_attr :credentials, nil do |value|
366
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
367
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
368
+ allowed.any? { |klass| klass === value }
369
+ end
370
+ config_attr :scope, nil, ::String, ::Array, nil
371
+ config_attr :lib_name, nil, ::String, nil
372
+ config_attr :lib_version, nil, ::String, nil
373
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
374
+ config_attr :interceptors, nil, ::Array, nil
375
+ config_attr :timeout, nil, ::Numeric, nil
376
+ config_attr :metadata, nil, ::Hash, nil
377
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
378
+ config_attr :quota_project, nil, ::String, nil
379
+ config_attr :universe_domain, nil, ::String, nil
380
+
381
+ # @private
382
+ def initialize parent_config = nil
383
+ @parent_config = parent_config unless parent_config.nil?
384
+
385
+ yield self if block_given?
386
+ end
387
+
388
+ ##
389
+ # Configurations for individual RPCs
390
+ # @return [Rpcs]
391
+ #
392
+ def rpcs
393
+ @rpcs ||= begin
394
+ parent_rpcs = nil
395
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
396
+ Rpcs.new parent_rpcs
397
+ end
398
+ end
399
+
400
+ ##
401
+ # Configuration for the channel pool
402
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
403
+ #
404
+ def channel_pool
405
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
406
+ end
407
+
408
+ ##
409
+ # Configuration RPC class for the ExportService API.
410
+ #
411
+ # Includes fields providing the configuration for each RPC in this service.
412
+ # Each configuration object is of type `Gapic::Config::Method` and includes
413
+ # the following configuration fields:
414
+ #
415
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
416
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
417
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
418
+ # include the following keys:
419
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
420
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
421
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
422
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
423
+ # trigger a retry.
424
+ #
425
+ class Rpcs
426
+ ##
427
+ # RPC-specific configuration for `list_profiles`
428
+ # @return [::Gapic::Config::Method]
429
+ #
430
+ attr_reader :list_profiles
431
+
432
+ # @private
433
+ def initialize parent_rpcs = nil
434
+ list_profiles_config = parent_rpcs.list_profiles if parent_rpcs.respond_to? :list_profiles
435
+ @list_profiles = ::Gapic::Config::Method.new list_profiles_config
436
+
437
+ yield self if block_given?
438
+ end
439
+ end
440
+ end
441
+ end
442
+ end
443
+ end
444
+ end
445
+ end
446
+ end
@@ -0,0 +1,53 @@
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 "googleauth"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Profiler
24
+ module V2
25
+ module ExportService
26
+ # Credentials for the ExportService API.
27
+ class Credentials < ::Google::Auth::Credentials
28
+ self.scope = [
29
+ "https://www.googleapis.com/auth/cloud-platform",
30
+ "https://www.googleapis.com/auth/monitoring",
31
+ "https://www.googleapis.com/auth/monitoring.write"
32
+ ]
33
+ self.env_vars = [
34
+ "PROFILER_CREDENTIALS",
35
+ "PROFILER_KEYFILE",
36
+ "GOOGLE_CLOUD_CREDENTIALS",
37
+ "GOOGLE_CLOUD_KEYFILE",
38
+ "GCLOUD_KEYFILE",
39
+ "PROFILER_CREDENTIALS_JSON",
40
+ "PROFILER_KEYFILE_JSON",
41
+ "GOOGLE_CLOUD_CREDENTIALS_JSON",
42
+ "GOOGLE_CLOUD_KEYFILE_JSON",
43
+ "GCLOUD_KEYFILE_JSON"
44
+ ]
45
+ self.paths = [
46
+ "~/.config/google_cloud/application_default_credentials.json"
47
+ ]
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,47 @@
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
+
20
+ module Google
21
+ module Cloud
22
+ module Profiler
23
+ module V2
24
+ module ExportService
25
+ # Path helper methods for the ExportService API.
26
+ module Paths
27
+ ##
28
+ # Create a fully-qualified Project resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}`
33
+ #
34
+ # @param project [String]
35
+ #
36
+ # @return [::String]
37
+ def project_path project:
38
+ "projects/#{project}"
39
+ end
40
+
41
+ extend self
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end