google-cloud-chronicle-v1 0.4.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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +6 -6
  4. data/lib/google/cloud/chronicle/v1/big_query_export_pb.rb +34 -0
  5. data/lib/google/cloud/chronicle/v1/big_query_export_service/client.rb +682 -0
  6. data/lib/google/cloud/chronicle/v1/big_query_export_service/credentials.rb +49 -0
  7. data/lib/google/cloud/chronicle/v1/big_query_export_service/paths.rb +71 -0
  8. data/lib/google/cloud/chronicle/v1/big_query_export_service/rest/client.rb +618 -0
  9. data/lib/google/cloud/chronicle/v1/big_query_export_service/rest/service_stub.rb +266 -0
  10. data/lib/google/cloud/chronicle/v1/big_query_export_service/rest.rb +52 -0
  11. data/lib/google/cloud/chronicle/v1/big_query_export_service.rb +55 -0
  12. data/lib/google/cloud/chronicle/v1/big_query_export_services_pb.rb +51 -0
  13. data/lib/google/cloud/chronicle/v1/dashboard_chart_pb.rb +83 -0
  14. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/client.rb +584 -0
  15. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/credentials.rb +49 -0
  16. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/paths.rb +73 -0
  17. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/rest/client.rb +527 -0
  18. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/rest/service_stub.rb +203 -0
  19. data/lib/google/cloud/chronicle/v1/dashboard_chart_service/rest.rb +52 -0
  20. data/lib/google/cloud/chronicle/v1/dashboard_chart_service.rb +55 -0
  21. data/lib/google/cloud/chronicle/v1/dashboard_chart_services_pb.rb +47 -0
  22. data/lib/google/cloud/chronicle/v1/dashboard_query_pb.rb +58 -0
  23. data/lib/google/cloud/chronicle/v1/dashboard_query_service/client.rb +589 -0
  24. data/lib/google/cloud/chronicle/v1/dashboard_query_service/credentials.rb +49 -0
  25. data/lib/google/cloud/chronicle/v1/dashboard_query_service/paths.rb +94 -0
  26. data/lib/google/cloud/chronicle/v1/dashboard_query_service/rest/client.rb +532 -0
  27. data/lib/google/cloud/chronicle/v1/dashboard_query_service/rest/service_stub.rb +204 -0
  28. data/lib/google/cloud/chronicle/v1/dashboard_query_service/rest.rb +52 -0
  29. data/lib/google/cloud/chronicle/v1/dashboard_query_service.rb +55 -0
  30. data/lib/google/cloud/chronicle/v1/dashboard_query_services_pb.rb +47 -0
  31. data/lib/google/cloud/chronicle/v1/data_table_pb.rb +57 -0
  32. data/lib/google/cloud/chronicle/v1/data_table_service/client.rb +1915 -0
  33. data/lib/google/cloud/chronicle/v1/data_table_service/credentials.rb +49 -0
  34. data/lib/google/cloud/chronicle/v1/data_table_service/paths.rb +138 -0
  35. data/lib/google/cloud/chronicle/v1/data_table_service/rest/client.rb +1767 -0
  36. data/lib/google/cloud/chronicle/v1/data_table_service/rest/service_stub.rb +1004 -0
  37. data/lib/google/cloud/chronicle/v1/data_table_service/rest.rb +52 -0
  38. data/lib/google/cloud/chronicle/v1/data_table_service.rb +55 -0
  39. data/lib/google/cloud/chronicle/v1/data_table_services_pb.rb +73 -0
  40. data/lib/google/cloud/chronicle/v1/featured_content_metadata_pb.rb +25 -0
  41. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_pb.rb +33 -0
  42. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/client.rb +717 -0
  43. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/credentials.rb +49 -0
  44. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/paths.rb +136 -0
  45. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/rest/client.rb +653 -0
  46. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/rest/service_stub.rb +265 -0
  47. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service/rest.rb +53 -0
  48. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_service.rb +56 -0
  49. data/lib/google/cloud/chronicle/v1/featured_content_native_dashboard_services_pb.rb +50 -0
  50. data/lib/google/cloud/chronicle/v1/native_dashboard_pb.rb +61 -0
  51. data/lib/google/cloud/chronicle/v1/native_dashboard_service/client.rb +1611 -0
  52. data/lib/google/cloud/chronicle/v1/native_dashboard_service/credentials.rb +49 -0
  53. data/lib/google/cloud/chronicle/v1/native_dashboard_service/paths.rb +115 -0
  54. data/lib/google/cloud/chronicle/v1/native_dashboard_service/rest/client.rb +1484 -0
  55. data/lib/google/cloud/chronicle/v1/native_dashboard_service/rest/service_stub.rb +822 -0
  56. data/lib/google/cloud/chronicle/v1/native_dashboard_service/rest.rb +52 -0
  57. data/lib/google/cloud/chronicle/v1/native_dashboard_service.rb +55 -0
  58. data/lib/google/cloud/chronicle/v1/native_dashboard_services_pb.rb +67 -0
  59. data/lib/google/cloud/chronicle/v1/rest.rb +7 -1
  60. data/lib/google/cloud/chronicle/v1/version.rb +1 -1
  61. data/lib/google/cloud/chronicle/v1.rb +8 -2
  62. data/proto_docs/google/api/client.rb +149 -29
  63. data/proto_docs/google/cloud/chronicle/v1/big_query_export.rb +142 -0
  64. data/proto_docs/google/cloud/chronicle/v1/dashboard_chart.rb +923 -0
  65. data/proto_docs/google/cloud/chronicle/v1/dashboard_query.rb +653 -0
  66. data/proto_docs/google/cloud/chronicle/v1/data_table.rb +512 -0
  67. data/proto_docs/google/cloud/chronicle/v1/featured_content_metadata.rb +82 -0
  68. data/proto_docs/google/cloud/chronicle/v1/featured_content_native_dashboard.rb +141 -0
  69. data/proto_docs/google/cloud/chronicle/v1/native_dashboard.rb +502 -0
  70. data/proto_docs/google/type/date.rb +56 -0
  71. metadata +71 -9
@@ -0,0 +1,717 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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/cloud/chronicle/v1/featured_content_native_dashboard_pb"
21
+
22
+ module Google
23
+ module Cloud
24
+ module Chronicle
25
+ module V1
26
+ module FeaturedContentNativeDashboardService
27
+ ##
28
+ # Client for the FeaturedContentNativeDashboardService service.
29
+ #
30
+ # This service provides functionality for managing
31
+ # FeaturedContentNativeDashboard.
32
+ #
33
+ class Client
34
+ # @private
35
+ API_VERSION = ""
36
+
37
+ # @private
38
+ DEFAULT_ENDPOINT_TEMPLATE = "chronicle.$UNIVERSE_DOMAIN$"
39
+
40
+ include Paths
41
+
42
+ # @private
43
+ attr_reader :featured_content_native_dashboard_service_stub
44
+
45
+ ##
46
+ # Configure the FeaturedContentNativeDashboardService Client class.
47
+ #
48
+ # See {::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client::Configuration}
49
+ # for a description of the configuration fields.
50
+ #
51
+ # @example
52
+ #
53
+ # # Modify the configuration for all FeaturedContentNativeDashboardService clients
54
+ # ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::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", "Chronicle", "V1"]
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.rpcs.get_featured_content_native_dashboard.timeout = 60.0
75
+ default_config.rpcs.get_featured_content_native_dashboard.retry_policy = {
76
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
77
+ }
78
+
79
+ default_config.rpcs.list_featured_content_native_dashboards.timeout = 60.0
80
+ default_config.rpcs.list_featured_content_native_dashboards.retry_policy = {
81
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
82
+ }
83
+
84
+ default_config
85
+ end
86
+ yield @configure if block_given?
87
+ @configure
88
+ end
89
+
90
+ ##
91
+ # Configure the FeaturedContentNativeDashboardService Client instance.
92
+ #
93
+ # The configuration is set to the derived mode, meaning that values can be changed,
94
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
95
+ # should be made on {Client.configure}.
96
+ #
97
+ # See {::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client::Configuration}
98
+ # for a description of the configuration fields.
99
+ #
100
+ # @yield [config] Configure the Client client.
101
+ # @yieldparam config [Client::Configuration]
102
+ #
103
+ # @return [Client::Configuration]
104
+ #
105
+ def configure
106
+ yield @config if block_given?
107
+ @config
108
+ end
109
+
110
+ ##
111
+ # The effective universe domain
112
+ #
113
+ # @return [String]
114
+ #
115
+ def universe_domain
116
+ @featured_content_native_dashboard_service_stub.universe_domain
117
+ end
118
+
119
+ ##
120
+ # Create a new FeaturedContentNativeDashboardService client object.
121
+ #
122
+ # @example
123
+ #
124
+ # # Create a client using the default configuration
125
+ # client = ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.new
126
+ #
127
+ # # Create a client using a custom configuration
128
+ # client = ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.new do |config|
129
+ # config.timeout = 10.0
130
+ # end
131
+ #
132
+ # @yield [config] Configure the FeaturedContentNativeDashboardService client.
133
+ # @yieldparam config [Client::Configuration]
134
+ #
135
+ def initialize
136
+ # These require statements are intentionally placed here to initialize
137
+ # the gRPC module only when it's required.
138
+ # See https://github.com/googleapis/toolkit/issues/446
139
+ require "gapic/grpc"
140
+ require "google/cloud/chronicle/v1/featured_content_native_dashboard_services_pb"
141
+
142
+ # Create the configuration object
143
+ @config = Configuration.new Client.configure
144
+
145
+ # Yield the configuration if needed
146
+ yield @config if block_given?
147
+
148
+ # Create credentials
149
+ credentials = @config.credentials
150
+ # Use self-signed JWT if the endpoint is unchanged from default,
151
+ # but only if the default endpoint does not have a region prefix.
152
+ enable_self_signed_jwt = @config.endpoint.nil? ||
153
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
154
+ !@config.endpoint.split(".").first.include?("-"))
155
+ credentials ||= Credentials.default scope: @config.scope,
156
+ enable_self_signed_jwt: enable_self_signed_jwt
157
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
158
+ credentials = Credentials.new credentials, scope: @config.scope
159
+ end
160
+ @quota_project_id = @config.quota_project
161
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
162
+
163
+ @featured_content_native_dashboard_service_stub = ::Gapic::ServiceStub.new(
164
+ ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Stub,
165
+ credentials: credentials,
166
+ endpoint: @config.endpoint,
167
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
168
+ universe_domain: @config.universe_domain,
169
+ channel_args: @config.channel_args,
170
+ interceptors: @config.interceptors,
171
+ channel_pool_config: @config.channel_pool,
172
+ logger: @config.logger
173
+ )
174
+
175
+ @featured_content_native_dashboard_service_stub.stub_logger&.info do |entry|
176
+ entry.set_system_name
177
+ entry.set_service
178
+ entry.message = "Created client for #{entry.service}"
179
+ entry.set_credentials_fields credentials
180
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
181
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
182
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
183
+ end
184
+ end
185
+
186
+ ##
187
+ # The logger used for request/response debug logging.
188
+ #
189
+ # @return [Logger]
190
+ #
191
+ def logger
192
+ @featured_content_native_dashboard_service_stub.logger
193
+ end
194
+
195
+ # Service calls
196
+
197
+ ##
198
+ # Get a native dashboard featured content.
199
+ #
200
+ # @overload get_featured_content_native_dashboard(request, options = nil)
201
+ # Pass arguments to `get_featured_content_native_dashboard` via a request object, either of type
202
+ # {::Google::Cloud::Chronicle::V1::GetFeaturedContentNativeDashboardRequest} or an equivalent Hash.
203
+ #
204
+ # @param request [::Google::Cloud::Chronicle::V1::GetFeaturedContentNativeDashboardRequest, ::Hash]
205
+ # A request object representing the call parameters. Required. To specify no
206
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
207
+ # @param options [::Gapic::CallOptions, ::Hash]
208
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
209
+ #
210
+ # @overload get_featured_content_native_dashboard(name: nil)
211
+ # Pass arguments to `get_featured_content_native_dashboard` via keyword arguments. Note that at
212
+ # least one keyword argument is required. To specify no parameters, or to keep all
213
+ # the default parameter values, pass an empty Hash as a request object (see above).
214
+ #
215
+ # @param name [::String]
216
+ # Required. The resource name of the FeaturedContentNativeDashboard to
217
+ # retrieve. Format:
218
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/contentHub/featuredContentNativeDashboards/\\{featured_content_native_dashboard}
219
+ #
220
+ # @yield [response, operation] Access the result along with the RPC operation
221
+ # @yieldparam response [::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboard]
222
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
223
+ #
224
+ # @return [::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboard]
225
+ #
226
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
227
+ #
228
+ # @example Basic example
229
+ # require "google/cloud/chronicle/v1"
230
+ #
231
+ # # Create a client object. The client can be reused for multiple calls.
232
+ # client = Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.new
233
+ #
234
+ # # Create a request. To set request fields, pass in keyword arguments.
235
+ # request = Google::Cloud::Chronicle::V1::GetFeaturedContentNativeDashboardRequest.new
236
+ #
237
+ # # Call the get_featured_content_native_dashboard method.
238
+ # result = client.get_featured_content_native_dashboard request
239
+ #
240
+ # # The returned object is of type Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboard.
241
+ # p result
242
+ #
243
+ def get_featured_content_native_dashboard request, options = nil
244
+ raise ::ArgumentError, "request must be provided" if request.nil?
245
+
246
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Chronicle::V1::GetFeaturedContentNativeDashboardRequest
247
+
248
+ # Converts hash and nil to an options object
249
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
250
+
251
+ # Customize the options with defaults
252
+ metadata = @config.rpcs.get_featured_content_native_dashboard.metadata.to_h
253
+
254
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
255
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
256
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
257
+ gapic_version: ::Google::Cloud::Chronicle::V1::VERSION
258
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
259
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
260
+
261
+ header_params = {}
262
+ if request.name
263
+ header_params["name"] = request.name
264
+ end
265
+
266
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
267
+ metadata[:"x-goog-request-params"] ||= request_params_header
268
+
269
+ options.apply_defaults timeout: @config.rpcs.get_featured_content_native_dashboard.timeout,
270
+ metadata: metadata,
271
+ retry_policy: @config.rpcs.get_featured_content_native_dashboard.retry_policy
272
+
273
+ options.apply_defaults timeout: @config.timeout,
274
+ metadata: @config.metadata,
275
+ retry_policy: @config.retry_policy
276
+
277
+ @featured_content_native_dashboard_service_stub.call_rpc :get_featured_content_native_dashboard, request, options: options do |response, operation|
278
+ yield response, operation if block_given?
279
+ end
280
+ rescue ::GRPC::BadStatus => e
281
+ raise ::Google::Cloud::Error.from_error(e)
282
+ end
283
+
284
+ ##
285
+ # List all native dashboards featured content.
286
+ #
287
+ # @overload list_featured_content_native_dashboards(request, options = nil)
288
+ # Pass arguments to `list_featured_content_native_dashboards` via a request object, either of type
289
+ # {::Google::Cloud::Chronicle::V1::ListFeaturedContentNativeDashboardsRequest} or an equivalent Hash.
290
+ #
291
+ # @param request [::Google::Cloud::Chronicle::V1::ListFeaturedContentNativeDashboardsRequest, ::Hash]
292
+ # A request object representing the call parameters. Required. To specify no
293
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
294
+ # @param options [::Gapic::CallOptions, ::Hash]
295
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
296
+ #
297
+ # @overload list_featured_content_native_dashboards(parent: nil, page_size: nil, page_token: nil, filter: nil)
298
+ # Pass arguments to `list_featured_content_native_dashboards` via keyword arguments. Note that at
299
+ # least one keyword argument is required. To specify no parameters, or to keep all
300
+ # the default parameter values, pass an empty Hash as a request object (see above).
301
+ #
302
+ # @param parent [::String]
303
+ # Required. The parent, which owns this collection of
304
+ # FeaturedContentNativeDashboards. Format:
305
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/contentHub
306
+ # @param page_size [::Integer]
307
+ # Optional. The maximum number of FeaturedContentNativeDashboards to return.
308
+ # The service may return fewer than this value. If unspecified, at most 100
309
+ # FeaturedContentNativeDashboards will be returned. The maximum value is 100;
310
+ # values above 100 will be coerced to 100.
311
+ # @param page_token [::String]
312
+ # Optional. A page token, received from a previous
313
+ # `ListFeaturedContentNativeDashboards` call. Provide this to retrieve the
314
+ # subsequent page.
315
+ #
316
+ # When paginating, all other parameters provided to
317
+ # `ListFeaturedContentNativeDashboards` must match the call that provided the
318
+ # page token.
319
+ # @param filter [::String]
320
+ # Optional. The filter to apply to list the FeaturedContentNativeDashboards.
321
+ #
322
+ # The filter syntax follows Google Cloud syntax: https://google.aip.dev/160.
323
+ #
324
+ # Supported fields for filtering:
325
+ #
326
+ # * `name`: The resource name of the featured content.
327
+ # * `content_metadata.description`: The description of the featured
328
+ # content.
329
+ #
330
+ # When a literal value is provided without a field, it will perform a
331
+ # substring search across both `name` and `content_metadata.description`.
332
+ #
333
+ # Examples:
334
+ #
335
+ # * `"test"`: Matches featured content where either the name or description
336
+ # contains "test" as a substring.
337
+ # * `name="test"`: Matches featured content where the name contains "test".
338
+ # * `content_metadata.description="test"`: Matches featured content where
339
+ # the description contains "test".
340
+ #
341
+ # @yield [response, operation] Access the result along with the RPC operation
342
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboard>]
343
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
344
+ #
345
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboard>]
346
+ #
347
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
348
+ #
349
+ # @example Basic example
350
+ # require "google/cloud/chronicle/v1"
351
+ #
352
+ # # Create a client object. The client can be reused for multiple calls.
353
+ # client = Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.new
354
+ #
355
+ # # Create a request. To set request fields, pass in keyword arguments.
356
+ # request = Google::Cloud::Chronicle::V1::ListFeaturedContentNativeDashboardsRequest.new
357
+ #
358
+ # # Call the list_featured_content_native_dashboards method.
359
+ # result = client.list_featured_content_native_dashboards request
360
+ #
361
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
362
+ # # over elements, and API calls will be issued to fetch pages as needed.
363
+ # result.each do |item|
364
+ # # Each element is of type ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboard.
365
+ # p item
366
+ # end
367
+ #
368
+ def list_featured_content_native_dashboards request, options = nil
369
+ raise ::ArgumentError, "request must be provided" if request.nil?
370
+
371
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Chronicle::V1::ListFeaturedContentNativeDashboardsRequest
372
+
373
+ # Converts hash and nil to an options object
374
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
375
+
376
+ # Customize the options with defaults
377
+ metadata = @config.rpcs.list_featured_content_native_dashboards.metadata.to_h
378
+
379
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
380
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
381
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
382
+ gapic_version: ::Google::Cloud::Chronicle::V1::VERSION
383
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
384
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
385
+
386
+ header_params = {}
387
+ if request.parent
388
+ header_params["parent"] = request.parent
389
+ end
390
+
391
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
392
+ metadata[:"x-goog-request-params"] ||= request_params_header
393
+
394
+ options.apply_defaults timeout: @config.rpcs.list_featured_content_native_dashboards.timeout,
395
+ metadata: metadata,
396
+ retry_policy: @config.rpcs.list_featured_content_native_dashboards.retry_policy
397
+
398
+ options.apply_defaults timeout: @config.timeout,
399
+ metadata: @config.metadata,
400
+ retry_policy: @config.retry_policy
401
+
402
+ @featured_content_native_dashboard_service_stub.call_rpc :list_featured_content_native_dashboards, request, options: options do |response, operation|
403
+ response = ::Gapic::PagedEnumerable.new @featured_content_native_dashboard_service_stub, :list_featured_content_native_dashboards, request, response, operation, options
404
+ yield response, operation if block_given?
405
+ throw :response, response
406
+ end
407
+ rescue ::GRPC::BadStatus => e
408
+ raise ::Google::Cloud::Error.from_error(e)
409
+ end
410
+
411
+ ##
412
+ # Install a native dashboard featured content.
413
+ #
414
+ # @overload install_featured_content_native_dashboard(request, options = nil)
415
+ # Pass arguments to `install_featured_content_native_dashboard` via a request object, either of type
416
+ # {::Google::Cloud::Chronicle::V1::InstallFeaturedContentNativeDashboardRequest} or an equivalent Hash.
417
+ #
418
+ # @param request [::Google::Cloud::Chronicle::V1::InstallFeaturedContentNativeDashboardRequest, ::Hash]
419
+ # A request object representing the call parameters. Required. To specify no
420
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
421
+ # @param options [::Gapic::CallOptions, ::Hash]
422
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
423
+ #
424
+ # @overload install_featured_content_native_dashboard(name: nil, featured_content_native_dashboard: nil)
425
+ # Pass arguments to `install_featured_content_native_dashboard` via keyword arguments. Note that at
426
+ # least one keyword argument is required. To specify no parameters, or to keep all
427
+ # the default parameter values, pass an empty Hash as a request object (see above).
428
+ #
429
+ # @param name [::String]
430
+ # Required. The resource name of the FeaturedContentNativeDashboard to
431
+ # install. Format:
432
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/contentHub/featuredContentNativeDashboards/\\{featured_content_native_dashboard}
433
+ # @param featured_content_native_dashboard [::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboard, ::Hash]
434
+ # Optional. The FeaturedContentNativeDashboard to install.
435
+ #
436
+ # @yield [response, operation] Access the result along with the RPC operation
437
+ # @yieldparam response [::Google::Cloud::Chronicle::V1::InstallFeaturedContentNativeDashboardResponse]
438
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
439
+ #
440
+ # @return [::Google::Cloud::Chronicle::V1::InstallFeaturedContentNativeDashboardResponse]
441
+ #
442
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
443
+ #
444
+ # @example Basic example
445
+ # require "google/cloud/chronicle/v1"
446
+ #
447
+ # # Create a client object. The client can be reused for multiple calls.
448
+ # client = Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.new
449
+ #
450
+ # # Create a request. To set request fields, pass in keyword arguments.
451
+ # request = Google::Cloud::Chronicle::V1::InstallFeaturedContentNativeDashboardRequest.new
452
+ #
453
+ # # Call the install_featured_content_native_dashboard method.
454
+ # result = client.install_featured_content_native_dashboard request
455
+ #
456
+ # # The returned object is of type Google::Cloud::Chronicle::V1::InstallFeaturedContentNativeDashboardResponse.
457
+ # p result
458
+ #
459
+ def install_featured_content_native_dashboard request, options = nil
460
+ raise ::ArgumentError, "request must be provided" if request.nil?
461
+
462
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Chronicle::V1::InstallFeaturedContentNativeDashboardRequest
463
+
464
+ # Converts hash and nil to an options object
465
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
466
+
467
+ # Customize the options with defaults
468
+ metadata = @config.rpcs.install_featured_content_native_dashboard.metadata.to_h
469
+
470
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
471
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
472
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
473
+ gapic_version: ::Google::Cloud::Chronicle::V1::VERSION
474
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
475
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
476
+
477
+ header_params = {}
478
+ if request.name
479
+ header_params["name"] = request.name
480
+ end
481
+
482
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
483
+ metadata[:"x-goog-request-params"] ||= request_params_header
484
+
485
+ options.apply_defaults timeout: @config.rpcs.install_featured_content_native_dashboard.timeout,
486
+ metadata: metadata,
487
+ retry_policy: @config.rpcs.install_featured_content_native_dashboard.retry_policy
488
+
489
+ options.apply_defaults timeout: @config.timeout,
490
+ metadata: @config.metadata,
491
+ retry_policy: @config.retry_policy
492
+
493
+ @featured_content_native_dashboard_service_stub.call_rpc :install_featured_content_native_dashboard, request, options: options do |response, operation|
494
+ yield response, operation if block_given?
495
+ end
496
+ rescue ::GRPC::BadStatus => e
497
+ raise ::Google::Cloud::Error.from_error(e)
498
+ end
499
+
500
+ ##
501
+ # Configuration class for the FeaturedContentNativeDashboardService API.
502
+ #
503
+ # This class represents the configuration for FeaturedContentNativeDashboardService,
504
+ # providing control over timeouts, retry behavior, logging, transport
505
+ # parameters, and other low-level controls. Certain parameters can also be
506
+ # applied individually to specific RPCs. See
507
+ # {::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client::Configuration::Rpcs}
508
+ # for a list of RPCs that can be configured independently.
509
+ #
510
+ # Configuration can be applied globally to all clients, or to a single client
511
+ # on construction.
512
+ #
513
+ # @example
514
+ #
515
+ # # Modify the global config, setting the timeout for
516
+ # # get_featured_content_native_dashboard to 20 seconds,
517
+ # # and all remaining timeouts to 10 seconds.
518
+ # ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.configure do |config|
519
+ # config.timeout = 10.0
520
+ # config.rpcs.get_featured_content_native_dashboard.timeout = 20.0
521
+ # end
522
+ #
523
+ # # Apply the above configuration only to a new client.
524
+ # client = ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.new do |config|
525
+ # config.timeout = 10.0
526
+ # config.rpcs.get_featured_content_native_dashboard.timeout = 20.0
527
+ # end
528
+ #
529
+ # @!attribute [rw] endpoint
530
+ # A custom service endpoint, as a hostname or hostname:port. The default is
531
+ # nil, indicating to use the default endpoint in the current universe domain.
532
+ # @return [::String,nil]
533
+ # @!attribute [rw] credentials
534
+ # Credentials to send with calls. You may provide any of the following types:
535
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
536
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
537
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
538
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
539
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
540
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
541
+ # * (`nil`) indicating no credentials
542
+ #
543
+ # @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials
544
+ # is deprecated. Providing an unvalidated credential configuration to
545
+ # Google APIs can compromise the security of your systems and data.
546
+ #
547
+ # @example
548
+ #
549
+ # # The recommended way to provide credentials is to use the `make_creds` method
550
+ # # on the appropriate credentials class for your environment.
551
+ #
552
+ # require "googleauth"
553
+ #
554
+ # credentials = ::Google::Auth::ServiceAccountCredentials.make_creds(
555
+ # json_key_io: ::File.open("/path/to/keyfile.json")
556
+ # )
557
+ #
558
+ # client = ::Google::Cloud::Chronicle::V1::FeaturedContentNativeDashboardService::Client.new do |config|
559
+ # config.credentials = credentials
560
+ # end
561
+ #
562
+ # @note Warning: If you accept a credential configuration (JSON file or Hash) from an
563
+ # external source for authentication to Google Cloud, you must validate it before
564
+ # providing it to a Google API client library. Providing an unvalidated credential
565
+ # configuration to Google APIs can compromise the security of your systems and data.
566
+ # For more information, refer to [Validate credential configurations from external
567
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
568
+ # @return [::Object]
569
+ # @!attribute [rw] scope
570
+ # The OAuth scopes
571
+ # @return [::Array<::String>]
572
+ # @!attribute [rw] lib_name
573
+ # The library name as recorded in instrumentation and logging
574
+ # @return [::String]
575
+ # @!attribute [rw] lib_version
576
+ # The library version as recorded in instrumentation and logging
577
+ # @return [::String]
578
+ # @!attribute [rw] channel_args
579
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
580
+ # `GRPC::Core::Channel` object is provided as the credential.
581
+ # @return [::Hash]
582
+ # @!attribute [rw] interceptors
583
+ # An array of interceptors that are run before calls are executed.
584
+ # @return [::Array<::GRPC::ClientInterceptor>]
585
+ # @!attribute [rw] timeout
586
+ # The call timeout in seconds.
587
+ # @return [::Numeric]
588
+ # @!attribute [rw] metadata
589
+ # Additional gRPC headers to be sent with the call.
590
+ # @return [::Hash{::Symbol=>::String}]
591
+ # @!attribute [rw] retry_policy
592
+ # The retry policy. The value is a hash with the following keys:
593
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
594
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
595
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
596
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
597
+ # trigger a retry.
598
+ # @return [::Hash]
599
+ # @!attribute [rw] quota_project
600
+ # A separate project against which to charge quota.
601
+ # @return [::String]
602
+ # @!attribute [rw] universe_domain
603
+ # The universe domain within which to make requests. This determines the
604
+ # default endpoint URL. The default value of nil uses the environment
605
+ # universe (usually the default "googleapis.com" universe).
606
+ # @return [::String,nil]
607
+ # @!attribute [rw] logger
608
+ # A custom logger to use for request/response debug logging, or the value
609
+ # `:default` (the default) to construct a default logger, or `nil` to
610
+ # explicitly disable logging.
611
+ # @return [::Logger,:default,nil]
612
+ #
613
+ class Configuration
614
+ extend ::Gapic::Config
615
+
616
+ # @private
617
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
618
+ DEFAULT_ENDPOINT = "chronicle.googleapis.com"
619
+
620
+ config_attr :endpoint, nil, ::String, nil
621
+ config_attr :credentials, nil do |value|
622
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
623
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel
624
+ allowed.any? { |klass| klass === value }
625
+ end
626
+ config_attr :scope, nil, ::String, ::Array, nil
627
+ config_attr :lib_name, nil, ::String, nil
628
+ config_attr :lib_version, nil, ::String, nil
629
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
630
+ config_attr :interceptors, nil, ::Array, nil
631
+ config_attr :timeout, nil, ::Numeric, nil
632
+ config_attr :metadata, nil, ::Hash, nil
633
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
634
+ config_attr :quota_project, nil, ::String, nil
635
+ config_attr :universe_domain, nil, ::String, nil
636
+ config_attr :logger, :default, ::Logger, nil, :default
637
+
638
+ # @private
639
+ def initialize parent_config = nil
640
+ @parent_config = parent_config unless parent_config.nil?
641
+
642
+ yield self if block_given?
643
+ end
644
+
645
+ ##
646
+ # Configurations for individual RPCs
647
+ # @return [Rpcs]
648
+ #
649
+ def rpcs
650
+ @rpcs ||= begin
651
+ parent_rpcs = nil
652
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
653
+ Rpcs.new parent_rpcs
654
+ end
655
+ end
656
+
657
+ ##
658
+ # Configuration for the channel pool
659
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
660
+ #
661
+ def channel_pool
662
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
663
+ end
664
+
665
+ ##
666
+ # Configuration RPC class for the FeaturedContentNativeDashboardService API.
667
+ #
668
+ # Includes fields providing the configuration for each RPC in this service.
669
+ # Each configuration object is of type `Gapic::Config::Method` and includes
670
+ # the following configuration fields:
671
+ #
672
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
673
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
674
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
675
+ # include the following keys:
676
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
677
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
678
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
679
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
680
+ # trigger a retry.
681
+ #
682
+ class Rpcs
683
+ ##
684
+ # RPC-specific configuration for `get_featured_content_native_dashboard`
685
+ # @return [::Gapic::Config::Method]
686
+ #
687
+ attr_reader :get_featured_content_native_dashboard
688
+ ##
689
+ # RPC-specific configuration for `list_featured_content_native_dashboards`
690
+ # @return [::Gapic::Config::Method]
691
+ #
692
+ attr_reader :list_featured_content_native_dashboards
693
+ ##
694
+ # RPC-specific configuration for `install_featured_content_native_dashboard`
695
+ # @return [::Gapic::Config::Method]
696
+ #
697
+ attr_reader :install_featured_content_native_dashboard
698
+
699
+ # @private
700
+ def initialize parent_rpcs = nil
701
+ get_featured_content_native_dashboard_config = parent_rpcs.get_featured_content_native_dashboard if parent_rpcs.respond_to? :get_featured_content_native_dashboard
702
+ @get_featured_content_native_dashboard = ::Gapic::Config::Method.new get_featured_content_native_dashboard_config
703
+ list_featured_content_native_dashboards_config = parent_rpcs.list_featured_content_native_dashboards if parent_rpcs.respond_to? :list_featured_content_native_dashboards
704
+ @list_featured_content_native_dashboards = ::Gapic::Config::Method.new list_featured_content_native_dashboards_config
705
+ install_featured_content_native_dashboard_config = parent_rpcs.install_featured_content_native_dashboard if parent_rpcs.respond_to? :install_featured_content_native_dashboard
706
+ @install_featured_content_native_dashboard = ::Gapic::Config::Method.new install_featured_content_native_dashboard_config
707
+
708
+ yield self if block_given?
709
+ end
710
+ end
711
+ end
712
+ end
713
+ end
714
+ end
715
+ end
716
+ end
717
+ end