google-apis-discoveryengine_v1 0.57.0 → 0.59.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.
@@ -22,679 +22,6 @@ module Google
22
22
  module Apis
23
23
  module DiscoveryengineV1
24
24
 
25
- # Information to read/write to blobstore2.
26
- class GdataBlobstore2Info
27
- include Google::Apis::Core::Hashable
28
-
29
- # The blob generation id.
30
- # Corresponds to the JSON property `blobGeneration`
31
- # @return [Fixnum]
32
- attr_accessor :blob_generation
33
-
34
- # The blob id, e.g., /blobstore/prod/playground/scotty
35
- # Corresponds to the JSON property `blobId`
36
- # @return [String]
37
- attr_accessor :blob_id
38
-
39
- # Read handle passed from Bigstore -> Scotty for a GCS download. This is a
40
- # signed, serialized blobstore2.ReadHandle proto which must never be set outside
41
- # of Bigstore, and is not applicable to non-GCS media downloads.
42
- # Corresponds to the JSON property `downloadReadHandle`
43
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
44
- # @return [String]
45
- attr_accessor :download_read_handle
46
-
47
- # The blob read token. Needed to read blobs that have not been replicated. Might
48
- # not be available until the final call.
49
- # Corresponds to the JSON property `readToken`
50
- # @return [String]
51
- attr_accessor :read_token
52
-
53
- # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a
54
- # signed, serialized blobstore2.BlobMetadataContainer proto which must never be
55
- # consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
56
- # Corresponds to the JSON property `uploadMetadataContainer`
57
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
58
- # @return [String]
59
- attr_accessor :upload_metadata_container
60
-
61
- def initialize(**args)
62
- update!(**args)
63
- end
64
-
65
- # Update properties of this object
66
- def update!(**args)
67
- @blob_generation = args[:blob_generation] if args.key?(:blob_generation)
68
- @blob_id = args[:blob_id] if args.key?(:blob_id)
69
- @download_read_handle = args[:download_read_handle] if args.key?(:download_read_handle)
70
- @read_token = args[:read_token] if args.key?(:read_token)
71
- @upload_metadata_container = args[:upload_metadata_container] if args.key?(:upload_metadata_container)
72
- end
73
- end
74
-
75
- # A sequence of media data references representing composite data. Introduced to
76
- # support Bigstore composite objects. For details, visit http://go/bigstore-
77
- # composites.
78
- class GdataCompositeMedia
79
- include Google::Apis::Core::Hashable
80
-
81
- # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be
82
- # the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating
83
- # v1, use blobstore2_info instead. For now, any v2 blob will also be represented
84
- # in this field as v1 BlobRef.
85
- # Corresponds to the JSON property `blobRef`
86
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
87
- # @return [String]
88
- attr_accessor :blob_ref
89
-
90
- # Information to read/write to blobstore2.
91
- # Corresponds to the JSON property `blobstore2Info`
92
- # @return [Google::Apis::DiscoveryengineV1::GdataBlobstore2Info]
93
- attr_accessor :blobstore2_info
94
-
95
- # A binary data reference for a media download. Serves as a technology-agnostic
96
- # binary reference in some Google infrastructure. This value is a serialized
97
- # storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get
98
- # around the fact that the cosmo proto (as well as others it includes) doesn't
99
- # support JavaScript. This prevents us from including the actual type of this
100
- # field.
101
- # Corresponds to the JSON property `cosmoBinaryReference`
102
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
103
- # @return [String]
104
- attr_accessor :cosmo_binary_reference
105
-
106
- # crc32.c hash for the payload.
107
- # Corresponds to the JSON property `crc32cHash`
108
- # @return [Fixnum]
109
- attr_accessor :crc32c_hash
110
-
111
- # Media data, set if reference_type is INLINE
112
- # Corresponds to the JSON property `inline`
113
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
114
- # @return [String]
115
- attr_accessor :inline
116
-
117
- # Size of the data, in bytes
118
- # Corresponds to the JSON property `length`
119
- # @return [Fixnum]
120
- attr_accessor :length
121
-
122
- # MD5 hash for the payload.
123
- # Corresponds to the JSON property `md5Hash`
124
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
125
- # @return [String]
126
- attr_accessor :md5_hash
127
-
128
- # This is a copy of the tech.blob.ObjectId proto, which could not be used
129
- # directly here due to transitive closure issues with JavaScript support; see
130
- # http://b/8801763.
131
- # Corresponds to the JSON property `objectId`
132
- # @return [Google::Apis::DiscoveryengineV1::GdataObjectId]
133
- attr_accessor :object_id_prop
134
-
135
- # Path to the data, set if reference_type is PATH
136
- # Corresponds to the JSON property `path`
137
- # @return [String]
138
- attr_accessor :path
139
-
140
- # Describes what the field reference contains.
141
- # Corresponds to the JSON property `referenceType`
142
- # @return [String]
143
- attr_accessor :reference_type
144
-
145
- # SHA-1 hash for the payload.
146
- # Corresponds to the JSON property `sha1Hash`
147
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
148
- # @return [String]
149
- attr_accessor :sha1_hash
150
-
151
- def initialize(**args)
152
- update!(**args)
153
- end
154
-
155
- # Update properties of this object
156
- def update!(**args)
157
- @blob_ref = args[:blob_ref] if args.key?(:blob_ref)
158
- @blobstore2_info = args[:blobstore2_info] if args.key?(:blobstore2_info)
159
- @cosmo_binary_reference = args[:cosmo_binary_reference] if args.key?(:cosmo_binary_reference)
160
- @crc32c_hash = args[:crc32c_hash] if args.key?(:crc32c_hash)
161
- @inline = args[:inline] if args.key?(:inline)
162
- @length = args[:length] if args.key?(:length)
163
- @md5_hash = args[:md5_hash] if args.key?(:md5_hash)
164
- @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
165
- @path = args[:path] if args.key?(:path)
166
- @reference_type = args[:reference_type] if args.key?(:reference_type)
167
- @sha1_hash = args[:sha1_hash] if args.key?(:sha1_hash)
168
- end
169
- end
170
-
171
- # Detailed Content-Type information from Scotty. The Content-Type of the media
172
- # will typically be filled in by the header or Scotty's best_guess, but this
173
- # extended information provides the backend with more information so that it can
174
- # make a better decision if needed. This is only used on media upload requests
175
- # from Scotty.
176
- class GdataContentTypeInfo
177
- include Google::Apis::Core::Hashable
178
-
179
- # Scotty's best guess of what the content type of the file is.
180
- # Corresponds to the JSON property `bestGuess`
181
- # @return [String]
182
- attr_accessor :best_guess
183
-
184
- # The content type of the file derived by looking at specific bytes (i.e. "magic
185
- # bytes") of the actual file.
186
- # Corresponds to the JSON property `fromBytes`
187
- # @return [String]
188
- attr_accessor :from_bytes
189
-
190
- # The content type of the file derived from the file extension of the original
191
- # file name used by the client.
192
- # Corresponds to the JSON property `fromFileName`
193
- # @return [String]
194
- attr_accessor :from_file_name
195
-
196
- # The content type of the file as specified in the request headers, multipart
197
- # headers, or RUPIO start request.
198
- # Corresponds to the JSON property `fromHeader`
199
- # @return [String]
200
- attr_accessor :from_header
201
-
202
- # The content type of the file derived from the file extension of the URL path.
203
- # The URL path is assumed to represent a file name (which is typically only true
204
- # for agents that are providing a REST API).
205
- # Corresponds to the JSON property `fromUrlPath`
206
- # @return [String]
207
- attr_accessor :from_url_path
208
-
209
- def initialize(**args)
210
- update!(**args)
211
- end
212
-
213
- # Update properties of this object
214
- def update!(**args)
215
- @best_guess = args[:best_guess] if args.key?(:best_guess)
216
- @from_bytes = args[:from_bytes] if args.key?(:from_bytes)
217
- @from_file_name = args[:from_file_name] if args.key?(:from_file_name)
218
- @from_header = args[:from_header] if args.key?(:from_header)
219
- @from_url_path = args[:from_url_path] if args.key?(:from_url_path)
220
- end
221
- end
222
-
223
- # Backend response for a Diff get checksums response. For details on the Scotty
224
- # Diff protocol, visit http://go/scotty-diff-protocol.
225
- class GdataDiffChecksumsResponse
226
- include Google::Apis::Core::Hashable
227
-
228
- # A sequence of media data references representing composite data. Introduced to
229
- # support Bigstore composite objects. For details, visit http://go/bigstore-
230
- # composites.
231
- # Corresponds to the JSON property `checksumsLocation`
232
- # @return [Google::Apis::DiscoveryengineV1::GdataCompositeMedia]
233
- attr_accessor :checksums_location
234
-
235
- # The chunk size of checksums. Must be a multiple of 256KB.
236
- # Corresponds to the JSON property `chunkSizeBytes`
237
- # @return [Fixnum]
238
- attr_accessor :chunk_size_bytes
239
-
240
- # A sequence of media data references representing composite data. Introduced to
241
- # support Bigstore composite objects. For details, visit http://go/bigstore-
242
- # composites.
243
- # Corresponds to the JSON property `objectLocation`
244
- # @return [Google::Apis::DiscoveryengineV1::GdataCompositeMedia]
245
- attr_accessor :object_location
246
-
247
- # The total size of the server object.
248
- # Corresponds to the JSON property `objectSizeBytes`
249
- # @return [Fixnum]
250
- attr_accessor :object_size_bytes
251
-
252
- # The object version of the object the checksums are being returned for.
253
- # Corresponds to the JSON property `objectVersion`
254
- # @return [String]
255
- attr_accessor :object_version
256
-
257
- def initialize(**args)
258
- update!(**args)
259
- end
260
-
261
- # Update properties of this object
262
- def update!(**args)
263
- @checksums_location = args[:checksums_location] if args.key?(:checksums_location)
264
- @chunk_size_bytes = args[:chunk_size_bytes] if args.key?(:chunk_size_bytes)
265
- @object_location = args[:object_location] if args.key?(:object_location)
266
- @object_size_bytes = args[:object_size_bytes] if args.key?(:object_size_bytes)
267
- @object_version = args[:object_version] if args.key?(:object_version)
268
- end
269
- end
270
-
271
- # Backend response for a Diff download response. For details on the Scotty Diff
272
- # protocol, visit http://go/scotty-diff-protocol.
273
- class GdataDiffDownloadResponse
274
- include Google::Apis::Core::Hashable
275
-
276
- # A sequence of media data references representing composite data. Introduced to
277
- # support Bigstore composite objects. For details, visit http://go/bigstore-
278
- # composites.
279
- # Corresponds to the JSON property `objectLocation`
280
- # @return [Google::Apis::DiscoveryengineV1::GdataCompositeMedia]
281
- attr_accessor :object_location
282
-
283
- def initialize(**args)
284
- update!(**args)
285
- end
286
-
287
- # Update properties of this object
288
- def update!(**args)
289
- @object_location = args[:object_location] if args.key?(:object_location)
290
- end
291
- end
292
-
293
- # A Diff upload request. For details on the Scotty Diff protocol, visit http://
294
- # go/scotty-diff-protocol.
295
- class GdataDiffUploadRequest
296
- include Google::Apis::Core::Hashable
297
-
298
- # A sequence of media data references representing composite data. Introduced to
299
- # support Bigstore composite objects. For details, visit http://go/bigstore-
300
- # composites.
301
- # Corresponds to the JSON property `checksumsInfo`
302
- # @return [Google::Apis::DiscoveryengineV1::GdataCompositeMedia]
303
- attr_accessor :checksums_info
304
-
305
- # A sequence of media data references representing composite data. Introduced to
306
- # support Bigstore composite objects. For details, visit http://go/bigstore-
307
- # composites.
308
- # Corresponds to the JSON property `objectInfo`
309
- # @return [Google::Apis::DiscoveryengineV1::GdataCompositeMedia]
310
- attr_accessor :object_info
311
-
312
- # The object version of the object that is the base version the incoming diff
313
- # script will be applied to. This field will always be filled in.
314
- # Corresponds to the JSON property `objectVersion`
315
- # @return [String]
316
- attr_accessor :object_version
317
-
318
- def initialize(**args)
319
- update!(**args)
320
- end
321
-
322
- # Update properties of this object
323
- def update!(**args)
324
- @checksums_info = args[:checksums_info] if args.key?(:checksums_info)
325
- @object_info = args[:object_info] if args.key?(:object_info)
326
- @object_version = args[:object_version] if args.key?(:object_version)
327
- end
328
- end
329
-
330
- # Backend response for a Diff upload request. For details on the Scotty Diff
331
- # protocol, visit http://go/scotty-diff-protocol.
332
- class GdataDiffUploadResponse
333
- include Google::Apis::Core::Hashable
334
-
335
- # The object version of the object at the server. Must be included in the end
336
- # notification response. The version in the end notification response must
337
- # correspond to the new version of the object that is now stored at the server,
338
- # after the upload.
339
- # Corresponds to the JSON property `objectVersion`
340
- # @return [String]
341
- attr_accessor :object_version
342
-
343
- # A sequence of media data references representing composite data. Introduced to
344
- # support Bigstore composite objects. For details, visit http://go/bigstore-
345
- # composites.
346
- # Corresponds to the JSON property `originalObject`
347
- # @return [Google::Apis::DiscoveryengineV1::GdataCompositeMedia]
348
- attr_accessor :original_object
349
-
350
- def initialize(**args)
351
- update!(**args)
352
- end
353
-
354
- # Update properties of this object
355
- def update!(**args)
356
- @object_version = args[:object_version] if args.key?(:object_version)
357
- @original_object = args[:original_object] if args.key?(:original_object)
358
- end
359
- end
360
-
361
- # Backend response for a Diff get version response. For details on the Scotty
362
- # Diff protocol, visit http://go/scotty-diff-protocol.
363
- class GdataDiffVersionResponse
364
- include Google::Apis::Core::Hashable
365
-
366
- # The total size of the server object.
367
- # Corresponds to the JSON property `objectSizeBytes`
368
- # @return [Fixnum]
369
- attr_accessor :object_size_bytes
370
-
371
- # The version of the object stored at the server.
372
- # Corresponds to the JSON property `objectVersion`
373
- # @return [String]
374
- attr_accessor :object_version
375
-
376
- def initialize(**args)
377
- update!(**args)
378
- end
379
-
380
- # Update properties of this object
381
- def update!(**args)
382
- @object_size_bytes = args[:object_size_bytes] if args.key?(:object_size_bytes)
383
- @object_version = args[:object_version] if args.key?(:object_version)
384
- end
385
- end
386
-
387
- # Parameters specific to media downloads.
388
- class GdataDownloadParameters
389
- include Google::Apis::Core::Hashable
390
-
391
- # A boolean to be returned in the response to Scotty. Allows/disallows gzip
392
- # encoding of the payload content when the server thinks it's advantageous (
393
- # hence, does not guarantee compression) which allows Scotty to GZip the
394
- # response to the client.
395
- # Corresponds to the JSON property `allowGzipCompression`
396
- # @return [Boolean]
397
- attr_accessor :allow_gzip_compression
398
- alias_method :allow_gzip_compression?, :allow_gzip_compression
399
-
400
- # Determining whether or not Apiary should skip the inclusion of any Content-
401
- # Range header on its response to Scotty.
402
- # Corresponds to the JSON property `ignoreRange`
403
- # @return [Boolean]
404
- attr_accessor :ignore_range
405
- alias_method :ignore_range?, :ignore_range
406
-
407
- def initialize(**args)
408
- update!(**args)
409
- end
410
-
411
- # Update properties of this object
412
- def update!(**args)
413
- @allow_gzip_compression = args[:allow_gzip_compression] if args.key?(:allow_gzip_compression)
414
- @ignore_range = args[:ignore_range] if args.key?(:ignore_range)
415
- end
416
- end
417
-
418
- # A reference to data stored on the filesystem, on GFS or in blobstore.
419
- class GdataMedia
420
- include Google::Apis::Core::Hashable
421
-
422
- # Deprecated, use one of explicit hash type fields instead. Algorithm used for
423
- # calculating the hash. As of 2011/01/21, "MD5" is the only possible value for
424
- # this field. New values may be added at any time.
425
- # Corresponds to the JSON property `algorithm`
426
- # @return [String]
427
- attr_accessor :algorithm
428
-
429
- # Use object_id instead.
430
- # Corresponds to the JSON property `bigstoreObjectRef`
431
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
432
- # @return [String]
433
- attr_accessor :bigstore_object_ref
434
-
435
- # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be
436
- # the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating
437
- # v1, use blobstore2_info instead. For now, any v2 blob will also be represented
438
- # in this field as v1 BlobRef.
439
- # Corresponds to the JSON property `blobRef`
440
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
441
- # @return [String]
442
- attr_accessor :blob_ref
443
-
444
- # Information to read/write to blobstore2.
445
- # Corresponds to the JSON property `blobstore2Info`
446
- # @return [Google::Apis::DiscoveryengineV1::GdataBlobstore2Info]
447
- attr_accessor :blobstore2_info
448
-
449
- # A composite media composed of one or more media objects, set if reference_type
450
- # is COMPOSITE_MEDIA. The media length field must be set to the sum of the
451
- # lengths of all composite media objects. Note: All composite media must have
452
- # length specified.
453
- # Corresponds to the JSON property `compositeMedia`
454
- # @return [Array<Google::Apis::DiscoveryengineV1::GdataCompositeMedia>]
455
- attr_accessor :composite_media
456
-
457
- # MIME type of the data
458
- # Corresponds to the JSON property `contentType`
459
- # @return [String]
460
- attr_accessor :content_type
461
-
462
- # Detailed Content-Type information from Scotty. The Content-Type of the media
463
- # will typically be filled in by the header or Scotty's best_guess, but this
464
- # extended information provides the backend with more information so that it can
465
- # make a better decision if needed. This is only used on media upload requests
466
- # from Scotty.
467
- # Corresponds to the JSON property `contentTypeInfo`
468
- # @return [Google::Apis::DiscoveryengineV1::GdataContentTypeInfo]
469
- attr_accessor :content_type_info
470
-
471
- # A binary data reference for a media download. Serves as a technology-agnostic
472
- # binary reference in some Google infrastructure. This value is a serialized
473
- # storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get
474
- # around the fact that the cosmo proto (as well as others it includes) doesn't
475
- # support JavaScript. This prevents us from including the actual type of this
476
- # field.
477
- # Corresponds to the JSON property `cosmoBinaryReference`
478
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
479
- # @return [String]
480
- attr_accessor :cosmo_binary_reference
481
-
482
- # For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (
483
- # WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided
484
- # by the agent to be used to verify the data being downloaded. Currently only
485
- # supported for inline payloads. Further, only crc32c_hash is currently
486
- # supported.
487
- # Corresponds to the JSON property `crc32cHash`
488
- # @return [Fixnum]
489
- attr_accessor :crc32c_hash
490
-
491
- # Backend response for a Diff get checksums response. For details on the Scotty
492
- # Diff protocol, visit http://go/scotty-diff-protocol.
493
- # Corresponds to the JSON property `diffChecksumsResponse`
494
- # @return [Google::Apis::DiscoveryengineV1::GdataDiffChecksumsResponse]
495
- attr_accessor :diff_checksums_response
496
-
497
- # Backend response for a Diff download response. For details on the Scotty Diff
498
- # protocol, visit http://go/scotty-diff-protocol.
499
- # Corresponds to the JSON property `diffDownloadResponse`
500
- # @return [Google::Apis::DiscoveryengineV1::GdataDiffDownloadResponse]
501
- attr_accessor :diff_download_response
502
-
503
- # A Diff upload request. For details on the Scotty Diff protocol, visit http://
504
- # go/scotty-diff-protocol.
505
- # Corresponds to the JSON property `diffUploadRequest`
506
- # @return [Google::Apis::DiscoveryengineV1::GdataDiffUploadRequest]
507
- attr_accessor :diff_upload_request
508
-
509
- # Backend response for a Diff upload request. For details on the Scotty Diff
510
- # protocol, visit http://go/scotty-diff-protocol.
511
- # Corresponds to the JSON property `diffUploadResponse`
512
- # @return [Google::Apis::DiscoveryengineV1::GdataDiffUploadResponse]
513
- attr_accessor :diff_upload_response
514
-
515
- # Backend response for a Diff get version response. For details on the Scotty
516
- # Diff protocol, visit http://go/scotty-diff-protocol.
517
- # Corresponds to the JSON property `diffVersionResponse`
518
- # @return [Google::Apis::DiscoveryengineV1::GdataDiffVersionResponse]
519
- attr_accessor :diff_version_response
520
-
521
- # Parameters specific to media downloads.
522
- # Corresponds to the JSON property `downloadParameters`
523
- # @return [Google::Apis::DiscoveryengineV1::GdataDownloadParameters]
524
- attr_accessor :download_parameters
525
-
526
- # Original file name
527
- # Corresponds to the JSON property `filename`
528
- # @return [String]
529
- attr_accessor :filename
530
-
531
- # Deprecated, use one of explicit hash type fields instead. These two hash
532
- # related fields will only be populated on Scotty based media uploads and will
533
- # contain the content of the hash group in the NotificationRequest: http://cs/#
534
- # google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash
535
- # Hex encoded hash value of the uploaded media.
536
- # Corresponds to the JSON property `hash`
537
- # @return [String]
538
- attr_accessor :hash_prop
539
-
540
- # For Scotty uploads only. If a user sends a hash code and the backend has
541
- # requested that Scotty verify the upload against the client hash, Scotty will
542
- # perform the check on behalf of the backend and will reject it if the hashes
543
- # don't match. This is set to true if Scotty performed this verification.
544
- # Corresponds to the JSON property `hashVerified`
545
- # @return [Boolean]
546
- attr_accessor :hash_verified
547
- alias_method :hash_verified?, :hash_verified
548
-
549
- # Media data, set if reference_type is INLINE
550
- # Corresponds to the JSON property `inline`
551
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
552
- # @return [String]
553
- attr_accessor :inline
554
-
555
- # |is_potential_retry| is set false only when Scotty is certain that it has not
556
- # sent the request before. When a client resumes an upload, this field must be
557
- # set true in agent calls, because Scotty cannot be certain that it has never
558
- # sent the request before due to potential failure in the session state
559
- # persistence.
560
- # Corresponds to the JSON property `isPotentialRetry`
561
- # @return [Boolean]
562
- attr_accessor :is_potential_retry
563
- alias_method :is_potential_retry?, :is_potential_retry
564
-
565
- # Size of the data, in bytes
566
- # Corresponds to the JSON property `length`
567
- # @return [Fixnum]
568
- attr_accessor :length
569
-
570
- # Scotty-provided MD5 hash for an upload.
571
- # Corresponds to the JSON property `md5Hash`
572
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
573
- # @return [String]
574
- attr_accessor :md5_hash
575
-
576
- # Media id to forward to the operation GetMedia. Can be set if reference_type is
577
- # GET_MEDIA.
578
- # Corresponds to the JSON property `mediaId`
579
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
580
- # @return [String]
581
- attr_accessor :media_id
582
-
583
- # This is a copy of the tech.blob.ObjectId proto, which could not be used
584
- # directly here due to transitive closure issues with JavaScript support; see
585
- # http://b/8801763.
586
- # Corresponds to the JSON property `objectId`
587
- # @return [Google::Apis::DiscoveryengineV1::GdataObjectId]
588
- attr_accessor :object_id_prop
589
-
590
- # Path to the data, set if reference_type is PATH
591
- # Corresponds to the JSON property `path`
592
- # @return [String]
593
- attr_accessor :path
594
-
595
- # Describes what the field reference contains.
596
- # Corresponds to the JSON property `referenceType`
597
- # @return [String]
598
- attr_accessor :reference_type
599
-
600
- # Scotty-provided SHA1 hash for an upload.
601
- # Corresponds to the JSON property `sha1Hash`
602
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
603
- # @return [String]
604
- attr_accessor :sha1_hash
605
-
606
- # Scotty-provided SHA256 hash for an upload.
607
- # Corresponds to the JSON property `sha256Hash`
608
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
609
- # @return [String]
610
- attr_accessor :sha256_hash
611
-
612
- # Time at which the media data was last updated, in milliseconds since UNIX
613
- # epoch
614
- # Corresponds to the JSON property `timestamp`
615
- # @return [Fixnum]
616
- attr_accessor :timestamp
617
-
618
- # A unique fingerprint/version id for the media data
619
- # Corresponds to the JSON property `token`
620
- # @return [String]
621
- attr_accessor :token
622
-
623
- def initialize(**args)
624
- update!(**args)
625
- end
626
-
627
- # Update properties of this object
628
- def update!(**args)
629
- @algorithm = args[:algorithm] if args.key?(:algorithm)
630
- @bigstore_object_ref = args[:bigstore_object_ref] if args.key?(:bigstore_object_ref)
631
- @blob_ref = args[:blob_ref] if args.key?(:blob_ref)
632
- @blobstore2_info = args[:blobstore2_info] if args.key?(:blobstore2_info)
633
- @composite_media = args[:composite_media] if args.key?(:composite_media)
634
- @content_type = args[:content_type] if args.key?(:content_type)
635
- @content_type_info = args[:content_type_info] if args.key?(:content_type_info)
636
- @cosmo_binary_reference = args[:cosmo_binary_reference] if args.key?(:cosmo_binary_reference)
637
- @crc32c_hash = args[:crc32c_hash] if args.key?(:crc32c_hash)
638
- @diff_checksums_response = args[:diff_checksums_response] if args.key?(:diff_checksums_response)
639
- @diff_download_response = args[:diff_download_response] if args.key?(:diff_download_response)
640
- @diff_upload_request = args[:diff_upload_request] if args.key?(:diff_upload_request)
641
- @diff_upload_response = args[:diff_upload_response] if args.key?(:diff_upload_response)
642
- @diff_version_response = args[:diff_version_response] if args.key?(:diff_version_response)
643
- @download_parameters = args[:download_parameters] if args.key?(:download_parameters)
644
- @filename = args[:filename] if args.key?(:filename)
645
- @hash_prop = args[:hash_prop] if args.key?(:hash_prop)
646
- @hash_verified = args[:hash_verified] if args.key?(:hash_verified)
647
- @inline = args[:inline] if args.key?(:inline)
648
- @is_potential_retry = args[:is_potential_retry] if args.key?(:is_potential_retry)
649
- @length = args[:length] if args.key?(:length)
650
- @md5_hash = args[:md5_hash] if args.key?(:md5_hash)
651
- @media_id = args[:media_id] if args.key?(:media_id)
652
- @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
653
- @path = args[:path] if args.key?(:path)
654
- @reference_type = args[:reference_type] if args.key?(:reference_type)
655
- @sha1_hash = args[:sha1_hash] if args.key?(:sha1_hash)
656
- @sha256_hash = args[:sha256_hash] if args.key?(:sha256_hash)
657
- @timestamp = args[:timestamp] if args.key?(:timestamp)
658
- @token = args[:token] if args.key?(:token)
659
- end
660
- end
661
-
662
- # This is a copy of the tech.blob.ObjectId proto, which could not be used
663
- # directly here due to transitive closure issues with JavaScript support; see
664
- # http://b/8801763.
665
- class GdataObjectId
666
- include Google::Apis::Core::Hashable
667
-
668
- # The name of the bucket to which this object belongs.
669
- # Corresponds to the JSON property `bucketName`
670
- # @return [String]
671
- attr_accessor :bucket_name
672
-
673
- # Generation of the object. Generations are monotonically increasing across
674
- # writes, allowing them to be be compared to determine which generation is newer.
675
- # If this is omitted in a request, then you are requesting the live object. See
676
- # http://go/bigstore-versions
677
- # Corresponds to the JSON property `generation`
678
- # @return [Fixnum]
679
- attr_accessor :generation
680
-
681
- # The name of the object.
682
- # Corresponds to the JSON property `objectName`
683
- # @return [String]
684
- attr_accessor :object_name
685
-
686
- def initialize(**args)
687
- update!(**args)
688
- end
689
-
690
- # Update properties of this object
691
- def update!(**args)
692
- @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
693
- @generation = args[:generation] if args.key?(:generation)
694
- @object_name = args[:object_name] if args.key?(:object_name)
695
- end
696
- end
697
-
698
25
  # `Distribution` contains summary statistics for a population of values. It
699
26
  # optionally contains a histogram representing the distribution of those values
700
27
  # across a set of buckets. The summary statistics are the count, mean, sum of
@@ -3918,10 +3245,22 @@ module Google
3918
3245
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistantCustomerPolicy]
3919
3246
  attr_accessor :customer_policy
3920
3247
 
3921
- # Optional. Note: not implemented yet. Use enabled_actions instead. The enabled
3922
- # tools on this assistant. The keys are connector name, for example "projects/`
3923
- # projectId`/locations/`locationId`/collections/`collectionId`/dataconnector The
3924
- # values consist of admin enabled tools towards the connector instance. Admin
3248
+ # Optional. Description for additional information. Expected to be shown on the
3249
+ # configuration UI, not to the users of the assistant.
3250
+ # Corresponds to the JSON property `description`
3251
+ # @return [String]
3252
+ attr_accessor :description
3253
+
3254
+ # Required. The assistant display name. It must be a UTF-8 encoded string with a
3255
+ # length limit of 128 characters.
3256
+ # Corresponds to the JSON property `displayName`
3257
+ # @return [String]
3258
+ attr_accessor :display_name
3259
+
3260
+ # Optional. Note: not implemented yet. Use enabled_actions instead. The enabled
3261
+ # tools on this assistant. The keys are connector name, for example "projects/`
3262
+ # projectId`/locations/`locationId`/collections/`collectionId`/dataconnector The
3263
+ # values consist of admin enabled tools towards the connector instance. Admin
3925
3264
  # can selectively enable multiple tools on any of the connector instances that
3926
3265
  # they created in the project. For example `"jira1ConnectorName": [(toolId1, "
3927
3266
  # createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3,
@@ -3955,6 +3294,8 @@ module Google
3955
3294
  # Update properties of this object
3956
3295
  def update!(**args)
3957
3296
  @customer_policy = args[:customer_policy] if args.key?(:customer_policy)
3297
+ @description = args[:description] if args.key?(:description)
3298
+ @display_name = args[:display_name] if args.key?(:display_name)
3958
3299
  @enabled_tools = args[:enabled_tools] if args.key?(:enabled_tools)
3959
3300
  @generation_config = args[:generation_config] if args.key?(:generation_config)
3960
3301
  @name = args[:name] if args.key?(:name)
@@ -4217,6 +3558,11 @@ module Google
4217
3558
  class GoogleCloudDiscoveryengineV1AssistantGenerationConfig
4218
3559
  include Google::Apis::Core::Hashable
4219
3560
 
3561
+ # Optional. The list of models that are allowed to be used for assistant.
3562
+ # Corresponds to the JSON property `allowedModelIds`
3563
+ # @return [Array<String>]
3564
+ attr_accessor :allowed_model_ids
3565
+
4220
3566
  # The default language to use for the generation of the assistant response. Use
4221
3567
  # an ISO 639-1 language code such as `en`. If not specified, the language will
4222
3568
  # be automatically detected.
@@ -4224,6 +3570,11 @@ module Google
4224
3570
  # @return [String]
4225
3571
  attr_accessor :default_language
4226
3572
 
3573
+ # Optional. The default model to use for assistant.
3574
+ # Corresponds to the JSON property `defaultModelId`
3575
+ # @return [String]
3576
+ attr_accessor :default_model_id
3577
+
4227
3578
  # System instruction, also known as the prompt preamble for LLM calls.
4228
3579
  # Corresponds to the JSON property `systemInstruction`
4229
3580
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction]
@@ -4235,7 +3586,9 @@ module Google
4235
3586
 
4236
3587
  # Update properties of this object
4237
3588
  def update!(**args)
3589
+ @allowed_model_ids = args[:allowed_model_ids] if args.key?(:allowed_model_ids)
4238
3590
  @default_language = args[:default_language] if args.key?(:default_language)
3591
+ @default_model_id = args[:default_model_id] if args.key?(:default_model_id)
4239
3592
  @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
4240
3593
  end
4241
3594
  end
@@ -8286,6 +7639,12 @@ module Google
8286
7639
  attr_accessor :enable_image_annotation
8287
7640
  alias_method :enable_image_annotation?, :enable_image_annotation
8288
7641
 
7642
+ # Optional. If true, the pdf layout will be refined using an LLM.
7643
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
7644
+ # @return [Boolean]
7645
+ attr_accessor :enable_llm_layout_parsing
7646
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
7647
+
8289
7648
  # Optional. If true, the LLM based annotation is added to the table during
8290
7649
  # parsing.
8291
7650
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -8322,6 +7681,7 @@ module Google
8322
7681
  def update!(**args)
8323
7682
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
8324
7683
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
7684
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
8325
7685
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
8326
7686
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
8327
7687
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -8453,6 +7813,11 @@ module Google
8453
7813
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineChatEngineMetadata]
8454
7814
  attr_accessor :chat_engine_metadata
8455
7815
 
7816
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
7817
+ # Corresponds to the JSON property `cmekConfig`
7818
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CmekConfig]
7819
+ attr_accessor :cmek_config
7820
+
8456
7821
  # Common configurations for an Engine.
8457
7822
  # Corresponds to the JSON property `commonConfig`
8458
7823
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineCommonConfig]
@@ -8514,6 +7879,17 @@ module Google
8514
7879
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfig]
8515
7880
  attr_accessor :media_recommendation_engine_config
8516
7881
 
7882
+ # Optional. Maps a model name to its specific configuration for this engine.
7883
+ # This allows admin users to turn on/off individual models. This only stores
7884
+ # models whose states are overridden by the admin. When the state is unspecified,
7885
+ # or model_configs is empty for this model, the system will decide if this
7886
+ # model should be available or not based on the default configuration. For
7887
+ # example, a preview model should be disabled by default if the admin has not
7888
+ # chosen to enable it.
7889
+ # Corresponds to the JSON property `modelConfigs`
7890
+ # @return [Hash<String,String>]
7891
+ attr_accessor :model_configs
7892
+
8517
7893
  # Immutable. Identifier. The fully qualified resource name of the engine. This
8518
7894
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
8519
7895
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -8547,6 +7923,7 @@ module Google
8547
7923
  @app_type = args[:app_type] if args.key?(:app_type)
8548
7924
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
8549
7925
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
7926
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
8550
7927
  @common_config = args[:common_config] if args.key?(:common_config)
8551
7928
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
8552
7929
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -8556,6 +7933,7 @@ module Google
8556
7933
  @features = args[:features] if args.key?(:features)
8557
7934
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
8558
7935
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
7936
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
8559
7937
  @name = args[:name] if args.key?(:name)
8560
7938
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
8561
7939
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -10179,6 +9557,57 @@ module Google
10179
9557
  end
10180
9558
  end
10181
9559
 
9560
+ # Stats about users' licenses.
9561
+ class GoogleCloudDiscoveryengineV1LicenseConfigUsageStats
9562
+ include Google::Apis::Core::Hashable
9563
+
9564
+ # Required. The LicenseConfig name.
9565
+ # Corresponds to the JSON property `licenseConfig`
9566
+ # @return [String]
9567
+ attr_accessor :license_config
9568
+
9569
+ # Required. The number of licenses used.
9570
+ # Corresponds to the JSON property `usedLicenseCount`
9571
+ # @return [Fixnum]
9572
+ attr_accessor :used_license_count
9573
+
9574
+ def initialize(**args)
9575
+ update!(**args)
9576
+ end
9577
+
9578
+ # Update properties of this object
9579
+ def update!(**args)
9580
+ @license_config = args[:license_config] if args.key?(:license_config)
9581
+ @used_license_count = args[:used_license_count] if args.key?(:used_license_count)
9582
+ end
9583
+ end
9584
+
9585
+ # Response message for the AssistantService.ListAssistants method.
9586
+ class GoogleCloudDiscoveryengineV1ListAssistantsResponse
9587
+ include Google::Apis::Core::Hashable
9588
+
9589
+ # All the customer's Assistants.
9590
+ # Corresponds to the JSON property `assistants`
9591
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Assistant>]
9592
+ attr_accessor :assistants
9593
+
9594
+ # A token that can be sent as ListAssistantsRequest.page_token to retrieve the
9595
+ # next page. If this field is omitted, there are no subsequent pages.
9596
+ # Corresponds to the JSON property `nextPageToken`
9597
+ # @return [String]
9598
+ attr_accessor :next_page_token
9599
+
9600
+ def initialize(**args)
9601
+ update!(**args)
9602
+ end
9603
+
9604
+ # Update properties of this object
9605
+ def update!(**args)
9606
+ @assistants = args[:assistants] if args.key?(:assistants)
9607
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9608
+ end
9609
+ end
9610
+
10182
9611
  # Response message for CmekConfigService.ListCmekConfigs method.
10183
9612
  class GoogleCloudDiscoveryengineV1ListCmekConfigsResponse
10184
9613
  include Google::Apis::Core::Hashable
@@ -10396,6 +9825,25 @@ module Google
10396
9825
  end
10397
9826
  end
10398
9827
 
9828
+ # Response message for UserLicenseService.ListLicenseConfigUsageStats method.
9829
+ class GoogleCloudDiscoveryengineV1ListLicenseConfigsUsageStatsResponse
9830
+ include Google::Apis::Core::Hashable
9831
+
9832
+ # All the customer's LicenseConfigUsageStats.
9833
+ # Corresponds to the JSON property `licenseConfigUsageStats`
9834
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1LicenseConfigUsageStats>]
9835
+ attr_accessor :license_config_usage_stats
9836
+
9837
+ def initialize(**args)
9838
+ update!(**args)
9839
+ end
9840
+
9841
+ # Update properties of this object
9842
+ def update!(**args)
9843
+ @license_config_usage_stats = args[:license_config_usage_stats] if args.key?(:license_config_usage_stats)
9844
+ end
9845
+ end
9846
+
10399
9847
  # Response message for SchemaService.ListSchemas method.
10400
9848
  class GoogleCloudDiscoveryengineV1ListSchemasResponse
10401
9849
  include Google::Apis::Core::Hashable
@@ -11984,6 +11432,18 @@ module Google
11984
11432
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec]
11985
11433
  attr_accessor :content_search_spec
11986
11434
 
11435
+ # Optional. Crowding specifications for improving result diversity. If multiple
11436
+ # CrowdingSpecs are specified, crowding will be evaluated on each unique
11437
+ # combination of the `field` values, and max_count will be the maximum value of `
11438
+ # max_count` across all CrowdingSpecs. For example, if the first CrowdingSpec
11439
+ # has `field` = "color" and `max_count` = 3, and the second CrowdingSpec has `
11440
+ # field` = "size" and `max_count` = 2, then after 3 documents that share the
11441
+ # same color AND size have been returned, subsequent ones should be removed or
11442
+ # demoted.
11443
+ # Corresponds to the JSON property `crowdingSpecs`
11444
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestCrowdingSpec>]
11445
+ attr_accessor :crowding_specs
11446
+
11987
11447
  # Specifications that define the specific DataStores to be searched, along with
11988
11448
  # configurations for those data stores. This is only considered for Engines with
11989
11449
  # multiple data stores. For engines with a single data store, the specs directly
@@ -12065,6 +11525,20 @@ module Google
12065
11525
  # @return [String]
12066
11526
  attr_accessor :order_by
12067
11527
 
11528
+ # Optional. The categories associated with a category page. Must be set for
11529
+ # category navigation queries to achieve good search quality. The format should
11530
+ # be the same as UserEvent.PageInfo.page_category. This field is the equivalent
11531
+ # of the query for browse (navigation) queries. It's used by the browse model
11532
+ # when the query is empty. If the field is empty, it will not be used by the
11533
+ # browse model. To represent full path of a category, use '>' character to
11534
+ # separate different hierarchies. If '>' is part of the category name, replace
11535
+ # it with other character(s). For example, `Graphics Cards > RTX>4090 > Founders
11536
+ # Edition` where "RTX > 4090" represents one level, can be rewritten as `
11537
+ # Graphics Cards > RTX_4090 > Founders Edition`
11538
+ # Corresponds to the JSON property `pageCategories`
11539
+ # @return [Array<String>]
11540
+ attr_accessor :page_categories
11541
+
12068
11542
  # Maximum number of Documents to return. The maximum allowed value depends on
12069
11543
  # the data type. Values above the maximum value are coerced to the maximum value.
12070
11544
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -12258,6 +11732,7 @@ module Google
12258
11732
  @branch = args[:branch] if args.key?(:branch)
12259
11733
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
12260
11734
  @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
11735
+ @crowding_specs = args[:crowding_specs] if args.key?(:crowding_specs)
12261
11736
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
12262
11737
  @display_spec = args[:display_spec] if args.key?(:display_spec)
12263
11738
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -12268,6 +11743,7 @@ module Google
12268
11743
  @offset = args[:offset] if args.key?(:offset)
12269
11744
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
12270
11745
  @order_by = args[:order_by] if args.key?(:order_by)
11746
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
12271
11747
  @page_size = args[:page_size] if args.key?(:page_size)
12272
11748
  @page_token = args[:page_token] if args.key?(:page_token)
12273
11749
  @params = args[:params] if args.key?(:params)
@@ -12776,6 +12252,45 @@ module Google
12776
12252
  end
12777
12253
  end
12778
12254
 
12255
+ # Specification for crowding. Crowding improves the diversity of search results
12256
+ # by limiting the number of results that share the same field value. For example,
12257
+ # crowding on the color field with a max_count of 3 and mode
12258
+ # DROP_CROWDED_RESULTS will return at most 3 results with the same color across
12259
+ # all pages.
12260
+ class GoogleCloudDiscoveryengineV1SearchRequestCrowdingSpec
12261
+ include Google::Apis::Core::Hashable
12262
+
12263
+ # The field to use for crowding. Documents can be crowded by a field in the
12264
+ # Document object. Crowding field is case sensitive.
12265
+ # Corresponds to the JSON property `field`
12266
+ # @return [String]
12267
+ attr_accessor :field
12268
+
12269
+ # The maximum number of documents to keep per value of the field. Once there are
12270
+ # at least max_count previous results which contain the same value for the given
12271
+ # field (according to the order specified in `order_by`), later results with the
12272
+ # same value are "crowded away". If not specified, the default value is 1.
12273
+ # Corresponds to the JSON property `maxCount`
12274
+ # @return [Fixnum]
12275
+ attr_accessor :max_count
12276
+
12277
+ # Mode to use for documents that are crowded away.
12278
+ # Corresponds to the JSON property `mode`
12279
+ # @return [String]
12280
+ attr_accessor :mode
12281
+
12282
+ def initialize(**args)
12283
+ update!(**args)
12284
+ end
12285
+
12286
+ # Update properties of this object
12287
+ def update!(**args)
12288
+ @field = args[:field] if args.key?(:field)
12289
+ @max_count = args[:max_count] if args.key?(:max_count)
12290
+ @mode = args[:mode] if args.key?(:mode)
12291
+ end
12292
+ end
12293
+
12779
12294
  # A struct to define data stores to filter on in a search call and
12780
12295
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
12781
12296
  # is returned.
@@ -14563,6 +14078,11 @@ module Google
14563
14078
  # @return [String]
14564
14079
  attr_accessor :assist_token
14565
14080
 
14081
+ # The tool names of the tools that were invoked.
14082
+ # Corresponds to the JSON property `invocationTools`
14083
+ # @return [Array<String>]
14084
+ attr_accessor :invocation_tools
14085
+
14566
14086
  # Information about the session.
14567
14087
  # Corresponds to the JSON property `sessionInfo`
14568
14088
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1StreamAssistResponseSessionInfo]
@@ -14576,6 +14096,7 @@ module Google
14576
14096
  def update!(**args)
14577
14097
  @answer = args[:answer] if args.key?(:answer)
14578
14098
  @assist_token = args[:assist_token] if args.key?(:assist_token)
14099
+ @invocation_tools = args[:invocation_tools] if args.key?(:invocation_tools)
14579
14100
  @session_info = args[:session_info] if args.key?(:session_info)
14580
14101
  end
14581
14102
  end
@@ -15350,33 +14871,823 @@ module Google
15350
14871
  end
15351
14872
  end
15352
14873
 
15353
- # Information of an end user.
15354
- class GoogleCloudDiscoveryengineV1UserInfo
14874
+ # Information of an end user.
14875
+ class GoogleCloudDiscoveryengineV1UserInfo
14876
+ include Google::Apis::Core::Hashable
14877
+
14878
+ # Optional. IANA time zone, e.g. Europe/Budapest.
14879
+ # Corresponds to the JSON property `timeZone`
14880
+ # @return [String]
14881
+ attr_accessor :time_zone
14882
+
14883
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
14884
+ # string with a length limit of 1,000 characters. Otherwise, an `
14885
+ # INVALID_ARGUMENT` error is returned. This should not be set when using the
14886
+ # client side event reporting with GTM or JavaScript tag in UserEventService.
14887
+ # CollectUserEvent or if UserEvent.direct_user_request is set.
14888
+ # Corresponds to the JSON property `userAgent`
14889
+ # @return [String]
14890
+ attr_accessor :user_agent
14891
+
14892
+ # Highly recommended for logged-in users. Unique identifier for logged-in user,
14893
+ # such as a user name. Don't set for anonymous users. Always use a hashed value
14894
+ # for this ID. Don't set the field to the same fixed ID for different users.
14895
+ # This mixes the event history of those users together, which results in
14896
+ # degraded model quality. The field must be a UTF-8 encoded string with a length
14897
+ # limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
14898
+ # Corresponds to the JSON property `userId`
14899
+ # @return [String]
14900
+ attr_accessor :user_id
14901
+
14902
+ def initialize(**args)
14903
+ update!(**args)
14904
+ end
14905
+
14906
+ # Update properties of this object
14907
+ def update!(**args)
14908
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
14909
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
14910
+ @user_id = args[:user_id] if args.key?(:user_id)
14911
+ end
14912
+ end
14913
+
14914
+ # User License information assigned by the admin.
14915
+ class GoogleCloudDiscoveryengineV1UserLicense
14916
+ include Google::Apis::Core::Hashable
14917
+
14918
+ # Output only. User created timestamp.
14919
+ # Corresponds to the JSON property `createTime`
14920
+ # @return [String]
14921
+ attr_accessor :create_time
14922
+
14923
+ # Output only. User last logged in time. If the user has not logged in yet, this
14924
+ # field will be empty.
14925
+ # Corresponds to the JSON property `lastLoginTime`
14926
+ # @return [String]
14927
+ attr_accessor :last_login_time
14928
+
14929
+ # Output only. License assignment state of the user. If the user is assigned
14930
+ # with a license config, the user login will be assigned with the license; If
14931
+ # the user's license assignment state is unassigned or unspecified, no license
14932
+ # config will be associated to the user;
14933
+ # Corresponds to the JSON property `licenseAssignmentState`
14934
+ # @return [String]
14935
+ attr_accessor :license_assignment_state
14936
+
14937
+ # Optional. The full resource name of the Subscription(LicenseConfig) assigned
14938
+ # to the user.
14939
+ # Corresponds to the JSON property `licenseConfig`
14940
+ # @return [String]
14941
+ attr_accessor :license_config
14942
+
14943
+ # Output only. User update timestamp.
14944
+ # Corresponds to the JSON property `updateTime`
14945
+ # @return [String]
14946
+ attr_accessor :update_time
14947
+
14948
+ # Required. Immutable. The user principal of the User, could be email address or
14949
+ # other prinical identifier. This field is immutable. Admin assign licenses
14950
+ # based on the user principal.
14951
+ # Corresponds to the JSON property `userPrincipal`
14952
+ # @return [String]
14953
+ attr_accessor :user_principal
14954
+
14955
+ # Optional. The user profile. We user user full name(First name + Last name) as
14956
+ # user profile.
14957
+ # Corresponds to the JSON property `userProfile`
14958
+ # @return [String]
14959
+ attr_accessor :user_profile
14960
+
14961
+ def initialize(**args)
14962
+ update!(**args)
14963
+ end
14964
+
14965
+ # Update properties of this object
14966
+ def update!(**args)
14967
+ @create_time = args[:create_time] if args.key?(:create_time)
14968
+ @last_login_time = args[:last_login_time] if args.key?(:last_login_time)
14969
+ @license_assignment_state = args[:license_assignment_state] if args.key?(:license_assignment_state)
14970
+ @license_config = args[:license_config] if args.key?(:license_config)
14971
+ @update_time = args[:update_time] if args.key?(:update_time)
14972
+ @user_principal = args[:user_principal] if args.key?(:user_principal)
14973
+ @user_profile = args[:user_profile] if args.key?(:user_profile)
14974
+ end
14975
+ end
14976
+
14977
+ # Configures metadata that is used for End User entities.
14978
+ class GoogleCloudDiscoveryengineV1UserStore
14979
+ include Google::Apis::Core::Hashable
14980
+
14981
+ # Optional. The default subscription LicenseConfig for the UserStore, if
14982
+ # UserStore.enable_license_auto_register is true, new users will automatically
14983
+ # register under the default subscription. If default LicenseConfig doesn't have
14984
+ # remaining license seats left, new users will not be assigned with license and
14985
+ # will be blocked for Vertex AI Search features. This is used if `
14986
+ # license_assignment_tier_rules` is not configured.
14987
+ # Corresponds to the JSON property `defaultLicenseConfig`
14988
+ # @return [String]
14989
+ attr_accessor :default_license_config
14990
+
14991
+ # The display name of the User Store.
14992
+ # Corresponds to the JSON property `displayName`
14993
+ # @return [String]
14994
+ attr_accessor :display_name
14995
+
14996
+ # Optional. Whether to enable license auto update for users in this User Store.
14997
+ # If true, users with expired licenses will automatically be updated to use the
14998
+ # default license config as long as the default license config has seats left.
14999
+ # Corresponds to the JSON property `enableExpiredLicenseAutoUpdate`
15000
+ # @return [Boolean]
15001
+ attr_accessor :enable_expired_license_auto_update
15002
+ alias_method :enable_expired_license_auto_update?, :enable_expired_license_auto_update
15003
+
15004
+ # Optional. Whether to enable license auto register for users in this User Store.
15005
+ # If true, new users will automatically register under the default license
15006
+ # config as long as the default license config has seats left.
15007
+ # Corresponds to the JSON property `enableLicenseAutoRegister`
15008
+ # @return [Boolean]
15009
+ attr_accessor :enable_license_auto_register
15010
+ alias_method :enable_license_auto_register?, :enable_license_auto_register
15011
+
15012
+ # Immutable. The full resource name of the User Store, in the format of `
15013
+ # projects/`project`/locations/`location`/userStores/`user_store``. This field
15014
+ # must be a UTF-8 encoded string with a length limit of 1024 characters.
15015
+ # Corresponds to the JSON property `name`
15016
+ # @return [String]
15017
+ attr_accessor :name
15018
+
15019
+ def initialize(**args)
15020
+ update!(**args)
15021
+ end
15022
+
15023
+ # Update properties of this object
15024
+ def update!(**args)
15025
+ @default_license_config = args[:default_license_config] if args.key?(:default_license_config)
15026
+ @display_name = args[:display_name] if args.key?(:display_name)
15027
+ @enable_expired_license_auto_update = args[:enable_expired_license_auto_update] if args.key?(:enable_expired_license_auto_update)
15028
+ @enable_license_auto_register = args[:enable_license_auto_register] if args.key?(:enable_license_auto_register)
15029
+ @name = args[:name] if args.key?(:name)
15030
+ end
15031
+ end
15032
+
15033
+ # WidgetConfig captures configs at the Widget level.
15034
+ class GoogleCloudDiscoveryengineV1WidgetConfig
15035
+ include Google::Apis::Core::Hashable
15036
+
15037
+ # Describes widget access settings.
15038
+ # Corresponds to the JSON property `accessSettings`
15039
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigAccessSettings]
15040
+ attr_accessor :access_settings
15041
+
15042
+ # Whether allow no-auth integration with widget. If set true, public access to
15043
+ # search or other solutions from widget is allowed without authenication token
15044
+ # provided by customer hosted backend server.
15045
+ # Corresponds to the JSON property `allowPublicAccess`
15046
+ # @return [Boolean]
15047
+ attr_accessor :allow_public_access
15048
+ alias_method :allow_public_access?, :allow_public_access
15049
+
15050
+ # Allowlisted domains that can load this widget.
15051
+ # Corresponds to the JSON property `allowlistedDomains`
15052
+ # @return [Array<String>]
15053
+ attr_accessor :allowlisted_domains
15054
+
15055
+ # Describes the assistant settings of the widget.
15056
+ # Corresponds to the JSON property `assistantSettings`
15057
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigAssistantSettings]
15058
+ attr_accessor :assistant_settings
15059
+
15060
+ # Output only. Collection components that lists all collections and child data
15061
+ # stores associated with the widget config, those data sources can be used for
15062
+ # filtering in widget service APIs, users can return results that from selected
15063
+ # data sources.
15064
+ # Corresponds to the JSON property `collectionComponents`
15065
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigCollectionComponent>]
15066
+ attr_accessor :collection_components
15067
+
15068
+ # Output only. Unique obfuscated identifier of a WidgetConfig.
15069
+ # Corresponds to the JSON property `configId`
15070
+ # @return [String]
15071
+ attr_accessor :config_id
15072
+
15073
+ # A specification for configuring the behavior of content search.
15074
+ # Corresponds to the JSON property `contentSearchSpec`
15075
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec]
15076
+ attr_accessor :content_search_spec
15077
+
15078
+ # Output only. Timestamp the WidgetConfig was created.
15079
+ # Corresponds to the JSON property `createTime`
15080
+ # @return [String]
15081
+ attr_accessor :create_time
15082
+
15083
+ # Customer provided configurations.
15084
+ # Corresponds to the JSON property `customerProvidedConfig`
15085
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigCustomerProvidedConfig]
15086
+ attr_accessor :customer_provided_config
15087
+
15088
+ # Output only. The type of the parent data store.
15089
+ # Corresponds to the JSON property `dataStoreType`
15090
+ # @return [String]
15091
+ attr_accessor :data_store_type
15092
+
15093
+ # Configurable UI configurations per data store.
15094
+ # Corresponds to the JSON property `dataStoreUiConfigs`
15095
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigDataStoreUiConfig>]
15096
+ attr_accessor :data_store_ui_configs
15097
+
15098
+ # The default ordering for search results if specified. Used to set
15099
+ # SearchRequest#order_by on applicable requests. https://cloud.google.com/
15100
+ # generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.
15101
+ # dataStores.servingConfigs/search#request-body
15102
+ # Corresponds to the JSON property `defaultSearchRequestOrderBy`
15103
+ # @return [String]
15104
+ attr_accessor :default_search_request_order_by
15105
+
15106
+ # Required. The human readable widget config display name. Used in Discovery UI.
15107
+ # This field must be a UTF-8 encoded string with a length limit of 128
15108
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned.
15109
+ # Corresponds to the JSON property `displayName`
15110
+ # @return [String]
15111
+ attr_accessor :display_name
15112
+
15113
+ # Whether or not to enable autocomplete.
15114
+ # Corresponds to the JSON property `enableAutocomplete`
15115
+ # @return [Boolean]
15116
+ attr_accessor :enable_autocomplete
15117
+ alias_method :enable_autocomplete?, :enable_autocomplete
15118
+
15119
+ # Whether to allow conversational search (LLM, multi-turn) or not (non-LLM,
15120
+ # single-turn).
15121
+ # Corresponds to the JSON property `enableConversationalSearch`
15122
+ # @return [Boolean]
15123
+ attr_accessor :enable_conversational_search
15124
+ alias_method :enable_conversational_search?, :enable_conversational_search
15125
+
15126
+ # Optional. Output only. Whether to enable private knowledge graph.
15127
+ # Corresponds to the JSON property `enablePrivateKnowledgeGraph`
15128
+ # @return [Boolean]
15129
+ attr_accessor :enable_private_knowledge_graph
15130
+ alias_method :enable_private_knowledge_graph?, :enable_private_knowledge_graph
15131
+
15132
+ # Turn on or off collecting the search result quality feedback from end users.
15133
+ # Corresponds to the JSON property `enableQualityFeedback`
15134
+ # @return [Boolean]
15135
+ attr_accessor :enable_quality_feedback
15136
+ alias_method :enable_quality_feedback?, :enable_quality_feedback
15137
+
15138
+ # Whether to show the result score.
15139
+ # Corresponds to the JSON property `enableResultScore`
15140
+ # @return [Boolean]
15141
+ attr_accessor :enable_result_score
15142
+ alias_method :enable_result_score?, :enable_result_score
15143
+
15144
+ # Whether to enable safe search.
15145
+ # Corresponds to the JSON property `enableSafeSearch`
15146
+ # @return [Boolean]
15147
+ attr_accessor :enable_safe_search
15148
+ alias_method :enable_safe_search?, :enable_safe_search
15149
+
15150
+ # Whether to enable search-as-you-type behavior for the search widget
15151
+ # Corresponds to the JSON property `enableSearchAsYouType`
15152
+ # @return [Boolean]
15153
+ attr_accessor :enable_search_as_you_type
15154
+ alias_method :enable_search_as_you_type?, :enable_search_as_you_type
15155
+
15156
+ # Turn on or off summary for each snippets result.
15157
+ # Corresponds to the JSON property `enableSnippetResultSummary`
15158
+ # @return [Boolean]
15159
+ attr_accessor :enable_snippet_result_summary
15160
+ alias_method :enable_snippet_result_summary?, :enable_snippet_result_summary
15161
+
15162
+ # Turn on or off summarization for the search response.
15163
+ # Corresponds to the JSON property `enableSummarization`
15164
+ # @return [Boolean]
15165
+ attr_accessor :enable_summarization
15166
+ alias_method :enable_summarization?, :enable_summarization
15167
+
15168
+ # Whether to enable standalone web app.
15169
+ # Corresponds to the JSON property `enableWebApp`
15170
+ # @return [Boolean]
15171
+ attr_accessor :enable_web_app
15172
+ alias_method :enable_web_app?, :enable_web_app
15173
+
15174
+ # The configuration and appearance of facets in the end user view.
15175
+ # Corresponds to the JSON property `facetField`
15176
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigFacetField>]
15177
+ attr_accessor :facet_field
15178
+
15179
+ # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `
15180
+ # url`, `custom1`, `custom2`, `custom3`. The value is the name of the field
15181
+ # along with its device visibility. The 3 custom fields are optional and can be
15182
+ # added or removed. `title`, `thumbnail`, `url` are required UI components that
15183
+ # cannot be removed.
15184
+ # Corresponds to the JSON property `fieldsUiComponentsMap`
15185
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigUiComponentField>]
15186
+ attr_accessor :fields_ui_components_map
15187
+
15188
+ # Output only. Whether the subscription is gemini bundle or not.
15189
+ # Corresponds to the JSON property `geminiBundle`
15190
+ # @return [Boolean]
15191
+ attr_accessor :gemini_bundle
15192
+ alias_method :gemini_bundle?, :gemini_bundle
15193
+
15194
+ # Describes the homepage setting of the widget. It includes all homepage related
15195
+ # settings and configurations, such as shortcuts.
15196
+ # Corresponds to the JSON property `homepageSetting`
15197
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigHomepageSetting]
15198
+ attr_accessor :homepage_setting
15199
+
15200
+ # Output only. The industry vertical that the WidgetConfig registers. The
15201
+ # WidgetConfig industry vertical is based on the associated Engine.
15202
+ # Corresponds to the JSON property `industryVertical`
15203
+ # @return [String]
15204
+ attr_accessor :industry_vertical
15205
+
15206
+ # Output only. Whether LLM is enabled in the corresponding data store.
15207
+ # Corresponds to the JSON property `llmEnabled`
15208
+ # @return [Boolean]
15209
+ attr_accessor :llm_enabled
15210
+ alias_method :llm_enabled?, :llm_enabled
15211
+
15212
+ # Output only. Whether the customer accepted data use terms.
15213
+ # Corresponds to the JSON property `minimumDataTermAccepted`
15214
+ # @return [Boolean]
15215
+ attr_accessor :minimum_data_term_accepted
15216
+ alias_method :minimum_data_term_accepted?, :minimum_data_term_accepted
15217
+
15218
+ # Immutable. The full resource name of the widget config. Format: `projects/`
15219
+ # project`/locations/`location`/collections/`collection_id`/dataStores/`
15220
+ # data_store_id`/widgetConfigs/`widget_config_id``. This field must be a UTF-8
15221
+ # encoded string with a length limit of 1024 characters.
15222
+ # Corresponds to the JSON property `name`
15223
+ # @return [String]
15224
+ attr_accessor :name
15225
+
15226
+ # The type of snippet to display in UCS widget. -
15227
+ # RESULT_DISPLAY_TYPE_UNSPECIFIED for existing users. - SNIPPET for new non-
15228
+ # enterprise search users. - EXTRACTIVE_ANSWER for new enterprise search users.
15229
+ # Corresponds to the JSON property `resultDisplayType`
15230
+ # @return [String]
15231
+ attr_accessor :result_display_type
15232
+
15233
+ # Required. Immutable. Specifies the solution type that this WidgetConfig can be
15234
+ # used for.
15235
+ # Corresponds to the JSON property `solutionType`
15236
+ # @return [String]
15237
+ attr_accessor :solution_type
15238
+
15239
+ # Describes widget UI branding settings.
15240
+ # Corresponds to the JSON property `uiBranding`
15241
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigUiBrandingSettings]
15242
+ attr_accessor :ui_branding
15243
+
15244
+ # Describes general widget (or web app) UI settings as seen in the cloud console
15245
+ # UI configuration page.
15246
+ # Corresponds to the JSON property `uiSettings`
15247
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigUiSettings]
15248
+ attr_accessor :ui_settings
15249
+
15250
+ # Output only. Timestamp the WidgetConfig was updated.
15251
+ # Corresponds to the JSON property `updateTime`
15252
+ # @return [String]
15253
+ attr_accessor :update_time
15254
+
15255
+ def initialize(**args)
15256
+ update!(**args)
15257
+ end
15258
+
15259
+ # Update properties of this object
15260
+ def update!(**args)
15261
+ @access_settings = args[:access_settings] if args.key?(:access_settings)
15262
+ @allow_public_access = args[:allow_public_access] if args.key?(:allow_public_access)
15263
+ @allowlisted_domains = args[:allowlisted_domains] if args.key?(:allowlisted_domains)
15264
+ @assistant_settings = args[:assistant_settings] if args.key?(:assistant_settings)
15265
+ @collection_components = args[:collection_components] if args.key?(:collection_components)
15266
+ @config_id = args[:config_id] if args.key?(:config_id)
15267
+ @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
15268
+ @create_time = args[:create_time] if args.key?(:create_time)
15269
+ @customer_provided_config = args[:customer_provided_config] if args.key?(:customer_provided_config)
15270
+ @data_store_type = args[:data_store_type] if args.key?(:data_store_type)
15271
+ @data_store_ui_configs = args[:data_store_ui_configs] if args.key?(:data_store_ui_configs)
15272
+ @default_search_request_order_by = args[:default_search_request_order_by] if args.key?(:default_search_request_order_by)
15273
+ @display_name = args[:display_name] if args.key?(:display_name)
15274
+ @enable_autocomplete = args[:enable_autocomplete] if args.key?(:enable_autocomplete)
15275
+ @enable_conversational_search = args[:enable_conversational_search] if args.key?(:enable_conversational_search)
15276
+ @enable_private_knowledge_graph = args[:enable_private_knowledge_graph] if args.key?(:enable_private_knowledge_graph)
15277
+ @enable_quality_feedback = args[:enable_quality_feedback] if args.key?(:enable_quality_feedback)
15278
+ @enable_result_score = args[:enable_result_score] if args.key?(:enable_result_score)
15279
+ @enable_safe_search = args[:enable_safe_search] if args.key?(:enable_safe_search)
15280
+ @enable_search_as_you_type = args[:enable_search_as_you_type] if args.key?(:enable_search_as_you_type)
15281
+ @enable_snippet_result_summary = args[:enable_snippet_result_summary] if args.key?(:enable_snippet_result_summary)
15282
+ @enable_summarization = args[:enable_summarization] if args.key?(:enable_summarization)
15283
+ @enable_web_app = args[:enable_web_app] if args.key?(:enable_web_app)
15284
+ @facet_field = args[:facet_field] if args.key?(:facet_field)
15285
+ @fields_ui_components_map = args[:fields_ui_components_map] if args.key?(:fields_ui_components_map)
15286
+ @gemini_bundle = args[:gemini_bundle] if args.key?(:gemini_bundle)
15287
+ @homepage_setting = args[:homepage_setting] if args.key?(:homepage_setting)
15288
+ @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
15289
+ @llm_enabled = args[:llm_enabled] if args.key?(:llm_enabled)
15290
+ @minimum_data_term_accepted = args[:minimum_data_term_accepted] if args.key?(:minimum_data_term_accepted)
15291
+ @name = args[:name] if args.key?(:name)
15292
+ @result_display_type = args[:result_display_type] if args.key?(:result_display_type)
15293
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
15294
+ @ui_branding = args[:ui_branding] if args.key?(:ui_branding)
15295
+ @ui_settings = args[:ui_settings] if args.key?(:ui_settings)
15296
+ @update_time = args[:update_time] if args.key?(:update_time)
15297
+ end
15298
+ end
15299
+
15300
+ # Describes widget access settings.
15301
+ class GoogleCloudDiscoveryengineV1WidgetConfigAccessSettings
15302
+ include Google::Apis::Core::Hashable
15303
+
15304
+ # Whether public unauthenticated access is allowed.
15305
+ # Corresponds to the JSON property `allowPublicAccess`
15306
+ # @return [Boolean]
15307
+ attr_accessor :allow_public_access
15308
+ alias_method :allow_public_access?, :allow_public_access
15309
+
15310
+ # List of domains that are allowed to integrate the search widget.
15311
+ # Corresponds to the JSON property `allowlistedDomains`
15312
+ # @return [Array<String>]
15313
+ attr_accessor :allowlisted_domains
15314
+
15315
+ # Whether web app access is enabled.
15316
+ # Corresponds to the JSON property `enableWebApp`
15317
+ # @return [Boolean]
15318
+ attr_accessor :enable_web_app
15319
+ alias_method :enable_web_app?, :enable_web_app
15320
+
15321
+ # Optional. Language code for user interface. Use language tags defined by [
15322
+ # BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). If unset, the default
15323
+ # language code is "en-US".
15324
+ # Corresponds to the JSON property `languageCode`
15325
+ # @return [String]
15326
+ attr_accessor :language_code
15327
+
15328
+ # Optional. The workforce identity pool provider used to access the widget.
15329
+ # Corresponds to the JSON property `workforceIdentityPoolProvider`
15330
+ # @return [String]
15331
+ attr_accessor :workforce_identity_pool_provider
15332
+
15333
+ def initialize(**args)
15334
+ update!(**args)
15335
+ end
15336
+
15337
+ # Update properties of this object
15338
+ def update!(**args)
15339
+ @allow_public_access = args[:allow_public_access] if args.key?(:allow_public_access)
15340
+ @allowlisted_domains = args[:allowlisted_domains] if args.key?(:allowlisted_domains)
15341
+ @enable_web_app = args[:enable_web_app] if args.key?(:enable_web_app)
15342
+ @language_code = args[:language_code] if args.key?(:language_code)
15343
+ @workforce_identity_pool_provider = args[:workforce_identity_pool_provider] if args.key?(:workforce_identity_pool_provider)
15344
+ end
15345
+ end
15346
+
15347
+ # Describes the assistant settings of the widget.
15348
+ class GoogleCloudDiscoveryengineV1WidgetConfigAssistantSettings
15349
+ include Google::Apis::Core::Hashable
15350
+
15351
+ # Output only. This field controls the default web grounding toggle for end
15352
+ # users if `web_grounding_type` is set to `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `
15353
+ # WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`. By default, this field is set to
15354
+ # false. If `web_grounding_type` is `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `
15355
+ # WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`, end users will have web grounding
15356
+ # enabled by default on UI. If true, grounding toggle will be disabled by
15357
+ # default on UI. End users can still enable web grounding in the UI if web
15358
+ # grounding is enabled.
15359
+ # Corresponds to the JSON property `defaultWebGroundingToggleOff`
15360
+ # @return [Boolean]
15361
+ attr_accessor :default_web_grounding_toggle_off
15362
+ alias_method :default_web_grounding_toggle_off?, :default_web_grounding_toggle_off
15363
+
15364
+ # Optional. Output only. Whether to disable user location context.
15365
+ # Corresponds to the JSON property `disableLocationContext`
15366
+ # @return [Boolean]
15367
+ attr_accessor :disable_location_context
15368
+ alias_method :disable_location_context?, :disable_location_context
15369
+
15370
+ # Whether or not the Google search grounding toggle is shown. Deprecated. Use
15371
+ # web_grounding_type instead.
15372
+ # Corresponds to the JSON property `googleSearchGroundingEnabled`
15373
+ # @return [Boolean]
15374
+ attr_accessor :google_search_grounding_enabled
15375
+ alias_method :google_search_grounding_enabled?, :google_search_grounding_enabled
15376
+
15377
+ # Optional. The type of web grounding to use.
15378
+ # Corresponds to the JSON property `webGroundingType`
15379
+ # @return [String]
15380
+ attr_accessor :web_grounding_type
15381
+
15382
+ def initialize(**args)
15383
+ update!(**args)
15384
+ end
15385
+
15386
+ # Update properties of this object
15387
+ def update!(**args)
15388
+ @default_web_grounding_toggle_off = args[:default_web_grounding_toggle_off] if args.key?(:default_web_grounding_toggle_off)
15389
+ @disable_location_context = args[:disable_location_context] if args.key?(:disable_location_context)
15390
+ @google_search_grounding_enabled = args[:google_search_grounding_enabled] if args.key?(:google_search_grounding_enabled)
15391
+ @web_grounding_type = args[:web_grounding_type] if args.key?(:web_grounding_type)
15392
+ end
15393
+ end
15394
+
15395
+ # Read-only collection component that contains data store collections fields
15396
+ # that may be used for filtering
15397
+ class GoogleCloudDiscoveryengineV1WidgetConfigCollectionComponent
15398
+ include Google::Apis::Core::Hashable
15399
+
15400
+ # Output only. The icon link of the connector source.
15401
+ # Corresponds to the JSON property `connectorIconLink`
15402
+ # @return [String]
15403
+ attr_accessor :connector_icon_link
15404
+
15405
+ # The name of the data source, retrieved from `Collection.data_connector.
15406
+ # data_source`.
15407
+ # Corresponds to the JSON property `dataSource`
15408
+ # @return [String]
15409
+ attr_accessor :data_source
15410
+
15411
+ # Output only. The display name of the data source.
15412
+ # Corresponds to the JSON property `dataSourceDisplayName`
15413
+ # @return [String]
15414
+ attr_accessor :data_source_display_name
15415
+
15416
+ # For the data store collection, list of the children data stores.
15417
+ # Corresponds to the JSON property `dataStoreComponents`
15418
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigDataStoreComponent>]
15419
+ attr_accessor :data_store_components
15420
+
15421
+ # The display name of the collection.
15422
+ # Corresponds to the JSON property `displayName`
15423
+ # @return [String]
15424
+ attr_accessor :display_name
15425
+
15426
+ # Output only. the identifier of the collection, used for widget service. For
15427
+ # now it refers to collection_id, in the future we will migrate the field to
15428
+ # encrypted collection name UUID.
15429
+ # Corresponds to the JSON property `id`
15430
+ # @return [String]
15431
+ attr_accessor :id
15432
+
15433
+ # The name of the collection. It should be collection resource name. Format: `
15434
+ # projects/`project`/locations/`location`/collections/`collection_id``. For APIs
15435
+ # under WidgetService, such as WidgetService.LookUpWidgetConfig, the project
15436
+ # number and location part is erased in this field.
15437
+ # Corresponds to the JSON property `name`
15438
+ # @return [String]
15439
+ attr_accessor :name
15440
+
15441
+ def initialize(**args)
15442
+ update!(**args)
15443
+ end
15444
+
15445
+ # Update properties of this object
15446
+ def update!(**args)
15447
+ @connector_icon_link = args[:connector_icon_link] if args.key?(:connector_icon_link)
15448
+ @data_source = args[:data_source] if args.key?(:data_source)
15449
+ @data_source_display_name = args[:data_source_display_name] if args.key?(:data_source_display_name)
15450
+ @data_store_components = args[:data_store_components] if args.key?(:data_store_components)
15451
+ @display_name = args[:display_name] if args.key?(:display_name)
15452
+ @id = args[:id] if args.key?(:id)
15453
+ @name = args[:name] if args.key?(:name)
15454
+ end
15455
+ end
15456
+
15457
+ # Customer provided configurations.
15458
+ class GoogleCloudDiscoveryengineV1WidgetConfigCustomerProvidedConfig
15459
+ include Google::Apis::Core::Hashable
15460
+
15461
+ # Customer type.
15462
+ # Corresponds to the JSON property `customerType`
15463
+ # @return [String]
15464
+ attr_accessor :customer_type
15465
+
15466
+ def initialize(**args)
15467
+ update!(**args)
15468
+ end
15469
+
15470
+ # Update properties of this object
15471
+ def update!(**args)
15472
+ @customer_type = args[:customer_type] if args.key?(:customer_type)
15473
+ end
15474
+ end
15475
+
15476
+ # Read-only data store component that contains data stores fields that may be
15477
+ # used for filtering, it's the child of `CollectionComponent`.
15478
+ class GoogleCloudDiscoveryengineV1WidgetConfigDataStoreComponent
15479
+ include Google::Apis::Core::Hashable
15480
+
15481
+ # Output only. The type of the data store config.
15482
+ # Corresponds to the JSON property `dataStoreConfigType`
15483
+ # @return [String]
15484
+ attr_accessor :data_store_config_type
15485
+
15486
+ # The display name of the data store.
15487
+ # Corresponds to the JSON property `displayName`
15488
+ # @return [String]
15489
+ attr_accessor :display_name
15490
+
15491
+ # The name of the entity, retrieved from `Collection.data_connector.entities.
15492
+ # entityName`.
15493
+ # Corresponds to the JSON property `entityName`
15494
+ # @return [String]
15495
+ attr_accessor :entity_name
15496
+
15497
+ # Output only. the identifier of the data store, used for widget service. For
15498
+ # now it refers to data_store_id, in the future we will migrate the field to
15499
+ # encrypted data store name UUID.
15500
+ # Corresponds to the JSON property `id`
15501
+ # @return [String]
15502
+ attr_accessor :id
15503
+
15504
+ # The name of the data store. It should be data store resource name Format: `
15505
+ # projects/`project`/locations/`location`/collections/`collection_id`/dataStores/
15506
+ # `data_store_id``. For APIs under WidgetService, such as WidgetService.
15507
+ # LookUpWidgetConfig, the project number and location part is erased in this
15508
+ # field.
15509
+ # Corresponds to the JSON property `name`
15510
+ # @return [String]
15511
+ attr_accessor :name
15512
+
15513
+ def initialize(**args)
15514
+ update!(**args)
15515
+ end
15516
+
15517
+ # Update properties of this object
15518
+ def update!(**args)
15519
+ @data_store_config_type = args[:data_store_config_type] if args.key?(:data_store_config_type)
15520
+ @display_name = args[:display_name] if args.key?(:display_name)
15521
+ @entity_name = args[:entity_name] if args.key?(:entity_name)
15522
+ @id = args[:id] if args.key?(:id)
15523
+ @name = args[:name] if args.key?(:name)
15524
+ end
15525
+ end
15526
+
15527
+ # UI component configuration for data store.
15528
+ class GoogleCloudDiscoveryengineV1WidgetConfigDataStoreUiConfig
15529
+ include Google::Apis::Core::Hashable
15530
+
15531
+ # Facet fields that store the mapping of fields to end user widget appearance.
15532
+ # Corresponds to the JSON property `facetField`
15533
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigFacetField>]
15534
+ attr_accessor :facet_field
15535
+
15536
+ # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `
15537
+ # url`, `custom1`, `custom2`, `custom3`. The value is the name of the field
15538
+ # along with its device visibility. The 3 custom fields are optional and can be
15539
+ # added or removed. `title`, `thumbnail`, `url` are required UI components that
15540
+ # cannot be removed.
15541
+ # Corresponds to the JSON property `fieldsUiComponentsMap`
15542
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigUiComponentField>]
15543
+ attr_accessor :fields_ui_components_map
15544
+
15545
+ # Output only. the identifier of the data store, used for widget service. For
15546
+ # now it refers to data_store_id, in the future we will migrate the field to
15547
+ # encrypted data store name UUID.
15548
+ # Corresponds to the JSON property `id`
15549
+ # @return [String]
15550
+ attr_accessor :id
15551
+
15552
+ # The name of the data store. It should be data store resource name Format: `
15553
+ # projects/`project`/locations/`location`/collections/`collection_id`/dataStores/
15554
+ # `data_store_id``. For APIs under WidgetService, such as WidgetService.
15555
+ # LookUpWidgetConfig, the project number and location part is erased in this
15556
+ # field.
15557
+ # Corresponds to the JSON property `name`
15558
+ # @return [String]
15559
+ attr_accessor :name
15560
+
15561
+ def initialize(**args)
15562
+ update!(**args)
15563
+ end
15564
+
15565
+ # Update properties of this object
15566
+ def update!(**args)
15567
+ @facet_field = args[:facet_field] if args.key?(:facet_field)
15568
+ @fields_ui_components_map = args[:fields_ui_components_map] if args.key?(:fields_ui_components_map)
15569
+ @id = args[:id] if args.key?(:id)
15570
+ @name = args[:name] if args.key?(:name)
15571
+ end
15572
+ end
15573
+
15574
+ # Facet fields that store the mapping of fields to end user widget appearance.
15575
+ class GoogleCloudDiscoveryengineV1WidgetConfigFacetField
15576
+ include Google::Apis::Core::Hashable
15577
+
15578
+ # Optional. The field name that end users will see.
15579
+ # Corresponds to the JSON property `displayName`
15580
+ # @return [String]
15581
+ attr_accessor :display_name
15582
+
15583
+ # Required. Registered field name. The format is `field.abc`.
15584
+ # Corresponds to the JSON property `field`
15585
+ # @return [String]
15586
+ attr_accessor :field
15587
+
15588
+ def initialize(**args)
15589
+ update!(**args)
15590
+ end
15591
+
15592
+ # Update properties of this object
15593
+ def update!(**args)
15594
+ @display_name = args[:display_name] if args.key?(:display_name)
15595
+ @field = args[:field] if args.key?(:field)
15596
+ end
15597
+ end
15598
+
15599
+ # Describes the homepage setting of the widget. It includes all homepage related
15600
+ # settings and configurations, such as shortcuts.
15601
+ class GoogleCloudDiscoveryengineV1WidgetConfigHomepageSetting
15602
+ include Google::Apis::Core::Hashable
15603
+
15604
+ # Optional. The shortcuts to display on the homepage.
15605
+ # Corresponds to the JSON property `shortcuts`
15606
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigHomepageSettingShortcut>]
15607
+ attr_accessor :shortcuts
15608
+
15609
+ def initialize(**args)
15610
+ update!(**args)
15611
+ end
15612
+
15613
+ # Update properties of this object
15614
+ def update!(**args)
15615
+ @shortcuts = args[:shortcuts] if args.key?(:shortcuts)
15616
+ end
15617
+ end
15618
+
15619
+ # Describes an entity of shortcut (aka pinned content) on the homepage. The home
15620
+ # page will render these shortcuts in the same order as what the API returns. If
15621
+ # a customer wants to reorder or remove a shortcut, the UI should always provide
15622
+ # the new full list of shortcuts.
15623
+ class GoogleCloudDiscoveryengineV1WidgetConfigHomepageSettingShortcut
15624
+ include Google::Apis::Core::Hashable
15625
+
15626
+ # Optional. Destination URL of shortcut.
15627
+ # Corresponds to the JSON property `destinationUri`
15628
+ # @return [String]
15629
+ attr_accessor :destination_uri
15630
+
15631
+ # Options to store an image.
15632
+ # Corresponds to the JSON property `icon`
15633
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigImage]
15634
+ attr_accessor :icon
15635
+
15636
+ # Optional. Title of the shortcut.
15637
+ # Corresponds to the JSON property `title`
15638
+ # @return [String]
15639
+ attr_accessor :title
15640
+
15641
+ def initialize(**args)
15642
+ update!(**args)
15643
+ end
15644
+
15645
+ # Update properties of this object
15646
+ def update!(**args)
15647
+ @destination_uri = args[:destination_uri] if args.key?(:destination_uri)
15648
+ @icon = args[:icon] if args.key?(:icon)
15649
+ @title = args[:title] if args.key?(:title)
15650
+ end
15651
+ end
15652
+
15653
+ # Options to store an image.
15654
+ class GoogleCloudDiscoveryengineV1WidgetConfigImage
15655
+ include Google::Apis::Core::Hashable
15656
+
15657
+ # Image URL.
15658
+ # Corresponds to the JSON property `url`
15659
+ # @return [String]
15660
+ attr_accessor :url
15661
+
15662
+ def initialize(**args)
15663
+ update!(**args)
15664
+ end
15665
+
15666
+ # Update properties of this object
15667
+ def update!(**args)
15668
+ @url = args[:url] if args.key?(:url)
15669
+ end
15670
+ end
15671
+
15672
+ # Facet field that maps to a UI Component.
15673
+ class GoogleCloudDiscoveryengineV1WidgetConfigUiComponentField
15355
15674
  include Google::Apis::Core::Hashable
15356
15675
 
15357
- # Optional. IANA time zone, e.g. Europe/Budapest.
15358
- # Corresponds to the JSON property `timeZone`
15359
- # @return [String]
15360
- attr_accessor :time_zone
15676
+ # The field visibility on different types of devices.
15677
+ # Corresponds to the JSON property `deviceVisibility`
15678
+ # @return [Array<String>]
15679
+ attr_accessor :device_visibility
15361
15680
 
15362
- # User agent as included in the HTTP header. The field must be a UTF-8 encoded
15363
- # string with a length limit of 1,000 characters. Otherwise, an `
15364
- # INVALID_ARGUMENT` error is returned. This should not be set when using the
15365
- # client side event reporting with GTM or JavaScript tag in UserEventService.
15366
- # CollectUserEvent or if UserEvent.direct_user_request is set.
15367
- # Corresponds to the JSON property `userAgent`
15681
+ # The template to customize how the field is displayed. An example value would
15682
+ # be a string that looks like: "Price: `value`".
15683
+ # Corresponds to the JSON property `displayTemplate`
15368
15684
  # @return [String]
15369
- attr_accessor :user_agent
15685
+ attr_accessor :display_template
15370
15686
 
15371
- # Highly recommended for logged-in users. Unique identifier for logged-in user,
15372
- # such as a user name. Don't set for anonymous users. Always use a hashed value
15373
- # for this ID. Don't set the field to the same fixed ID for different users.
15374
- # This mixes the event history of those users together, which results in
15375
- # degraded model quality. The field must be a UTF-8 encoded string with a length
15376
- # limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
15377
- # Corresponds to the JSON property `userId`
15687
+ # Required. Registered field name. The format is `field.abc`.
15688
+ # Corresponds to the JSON property `field`
15378
15689
  # @return [String]
15379
- attr_accessor :user_id
15690
+ attr_accessor :field
15380
15691
 
15381
15692
  def initialize(**args)
15382
15693
  update!(**args)
@@ -15384,58 +15695,135 @@ module Google
15384
15695
 
15385
15696
  # Update properties of this object
15386
15697
  def update!(**args)
15387
- @time_zone = args[:time_zone] if args.key?(:time_zone)
15388
- @user_agent = args[:user_agent] if args.key?(:user_agent)
15389
- @user_id = args[:user_id] if args.key?(:user_id)
15698
+ @device_visibility = args[:device_visibility] if args.key?(:device_visibility)
15699
+ @display_template = args[:display_template] if args.key?(:display_template)
15700
+ @field = args[:field] if args.key?(:field)
15390
15701
  end
15391
15702
  end
15392
15703
 
15393
- # User License information assigned by the admin.
15394
- class GoogleCloudDiscoveryengineV1UserLicense
15704
+ # Describes widget UI branding settings.
15705
+ class GoogleCloudDiscoveryengineV1WidgetConfigUiBrandingSettings
15395
15706
  include Google::Apis::Core::Hashable
15396
15707
 
15397
- # Output only. User created timestamp.
15398
- # Corresponds to the JSON property `createTime`
15399
- # @return [String]
15400
- attr_accessor :create_time
15708
+ # Options to store an image.
15709
+ # Corresponds to the JSON property `logo`
15710
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigImage]
15711
+ attr_accessor :logo
15401
15712
 
15402
- # Output only. User last logged in time. If the user has not logged in yet, this
15403
- # field will be empty.
15404
- # Corresponds to the JSON property `lastLoginTime`
15405
- # @return [String]
15406
- attr_accessor :last_login_time
15713
+ def initialize(**args)
15714
+ update!(**args)
15715
+ end
15407
15716
 
15408
- # Output only. License assignment state of the user. If the user is assigned
15409
- # with a license config, the user login will be assigned with the license; If
15410
- # the user's license assignment state is unassigned or unspecified, no license
15411
- # config will be associated to the user;
15412
- # Corresponds to the JSON property `licenseAssignmentState`
15413
- # @return [String]
15414
- attr_accessor :license_assignment_state
15717
+ # Update properties of this object
15718
+ def update!(**args)
15719
+ @logo = args[:logo] if args.key?(:logo)
15720
+ end
15721
+ end
15415
15722
 
15416
- # Optional. The full resource name of the Subscription(LicenseConfig) assigned
15417
- # to the user.
15418
- # Corresponds to the JSON property `licenseConfig`
15419
- # @return [String]
15420
- attr_accessor :license_config
15723
+ # Describes general widget (or web app) UI settings as seen in the cloud console
15724
+ # UI configuration page.
15725
+ class GoogleCloudDiscoveryengineV1WidgetConfigUiSettings
15726
+ include Google::Apis::Core::Hashable
15421
15727
 
15422
- # Output only. User update timestamp.
15423
- # Corresponds to the JSON property `updateTime`
15728
+ # Per data store configuration.
15729
+ # Corresponds to the JSON property `dataStoreUiConfigs`
15730
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigDataStoreUiConfig>]
15731
+ attr_accessor :data_store_ui_configs
15732
+
15733
+ # The default ordering for search results if specified. Used to set
15734
+ # SearchRequest#order_by on applicable requests. https://cloud.google.com/
15735
+ # generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.
15736
+ # dataStores.servingConfigs/search#request-body
15737
+ # Corresponds to the JSON property `defaultSearchRequestOrderBy`
15424
15738
  # @return [String]
15425
- attr_accessor :update_time
15739
+ attr_accessor :default_search_request_order_by
15426
15740
 
15427
- # Required. Immutable. The user principal of the User, could be email address or
15428
- # other prinical identifier. This field is immutable. Admin assign licenses
15429
- # based on the user principal.
15430
- # Corresponds to the JSON property `userPrincipal`
15741
+ # If set to true, the widget will not collect user events.
15742
+ # Corresponds to the JSON property `disableUserEventsCollection`
15743
+ # @return [Boolean]
15744
+ attr_accessor :disable_user_events_collection
15745
+ alias_method :disable_user_events_collection?, :disable_user_events_collection
15746
+
15747
+ # Whether or not to enable autocomplete.
15748
+ # Corresponds to the JSON property `enableAutocomplete`
15749
+ # @return [Boolean]
15750
+ attr_accessor :enable_autocomplete
15751
+ alias_method :enable_autocomplete?, :enable_autocomplete
15752
+
15753
+ # Optional. If set to true, the widget will enable the create agent button.
15754
+ # Corresponds to the JSON property `enableCreateAgentButton`
15755
+ # @return [Boolean]
15756
+ attr_accessor :enable_create_agent_button
15757
+ alias_method :enable_create_agent_button?, :enable_create_agent_button
15758
+
15759
+ # Optional. If set to true, the widget will enable people search.
15760
+ # Corresponds to the JSON property `enablePeopleSearch`
15761
+ # @return [Boolean]
15762
+ attr_accessor :enable_people_search
15763
+ alias_method :enable_people_search?, :enable_people_search
15764
+
15765
+ # Turn on or off collecting the search result quality feedback from end users.
15766
+ # Corresponds to the JSON property `enableQualityFeedback`
15767
+ # @return [Boolean]
15768
+ attr_accessor :enable_quality_feedback
15769
+ alias_method :enable_quality_feedback?, :enable_quality_feedback
15770
+
15771
+ # Whether to enable safe search.
15772
+ # Corresponds to the JSON property `enableSafeSearch`
15773
+ # @return [Boolean]
15774
+ attr_accessor :enable_safe_search
15775
+ alias_method :enable_safe_search?, :enable_safe_search
15776
+
15777
+ # Whether to enable search-as-you-type behavior for the search widget.
15778
+ # Corresponds to the JSON property `enableSearchAsYouType`
15779
+ # @return [Boolean]
15780
+ attr_accessor :enable_search_as_you_type
15781
+ alias_method :enable_search_as_you_type?, :enable_search_as_you_type
15782
+
15783
+ # If set to true, the widget will enable visual content summary on applicable
15784
+ # search requests. Only used by healthcare search.
15785
+ # Corresponds to the JSON property `enableVisualContentSummary`
15786
+ # @return [Boolean]
15787
+ attr_accessor :enable_visual_content_summary
15788
+ alias_method :enable_visual_content_summary?, :enable_visual_content_summary
15789
+
15790
+ # Output only. Feature config for the engine to opt in or opt out of features.
15791
+ # Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery`
15792
+ # * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-
15793
+ # chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
15794
+ # personalization-memory` * `disable-agent-sharing` * `disable-image-generation`
15795
+ # * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-
15796
+ # content` * `disable-google-drive-upload`
15797
+ # Corresponds to the JSON property `features`
15798
+ # @return [Hash<String,String>]
15799
+ attr_accessor :features
15800
+
15801
+ # Describes configuration for generative answer.
15802
+ # Corresponds to the JSON property `generativeAnswerConfig`
15803
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsGenerativeAnswerConfig]
15804
+ attr_accessor :generative_answer_config
15805
+
15806
+ # Describes widget (or web app) interaction type
15807
+ # Corresponds to the JSON property `interactionType`
15431
15808
  # @return [String]
15432
- attr_accessor :user_principal
15809
+ attr_accessor :interaction_type
15433
15810
 
15434
- # Optional. The user profile. We user user full name(First name + Last name) as
15435
- # user profile.
15436
- # Corresponds to the JSON property `userProfile`
15811
+ # Output only. Maps a model name to its specific configuration for this engine.
15812
+ # This allows admin users to turn on/off individual models. This only stores
15813
+ # models whose states are overridden by the admin. When the state is unspecified,
15814
+ # or model_configs is empty for this model, the system will decide if this
15815
+ # model should be available or not based on the default configuration. For
15816
+ # example, a preview model should be disabled by default if the admin has not
15817
+ # chosen to enable it.
15818
+ # Corresponds to the JSON property `modelConfigs`
15819
+ # @return [Hash<String,String>]
15820
+ attr_accessor :model_configs
15821
+
15822
+ # Controls whether result extract is display and how (snippet or extractive
15823
+ # answer). Default to no result if unspecified.
15824
+ # Corresponds to the JSON property `resultDescriptionType`
15437
15825
  # @return [String]
15438
- attr_accessor :user_profile
15826
+ attr_accessor :result_description_type
15439
15827
 
15440
15828
  def initialize(**args)
15441
15829
  update!(**args)
@@ -15443,57 +15831,89 @@ module Google
15443
15831
 
15444
15832
  # Update properties of this object
15445
15833
  def update!(**args)
15446
- @create_time = args[:create_time] if args.key?(:create_time)
15447
- @last_login_time = args[:last_login_time] if args.key?(:last_login_time)
15448
- @license_assignment_state = args[:license_assignment_state] if args.key?(:license_assignment_state)
15449
- @license_config = args[:license_config] if args.key?(:license_config)
15450
- @update_time = args[:update_time] if args.key?(:update_time)
15451
- @user_principal = args[:user_principal] if args.key?(:user_principal)
15452
- @user_profile = args[:user_profile] if args.key?(:user_profile)
15834
+ @data_store_ui_configs = args[:data_store_ui_configs] if args.key?(:data_store_ui_configs)
15835
+ @default_search_request_order_by = args[:default_search_request_order_by] if args.key?(:default_search_request_order_by)
15836
+ @disable_user_events_collection = args[:disable_user_events_collection] if args.key?(:disable_user_events_collection)
15837
+ @enable_autocomplete = args[:enable_autocomplete] if args.key?(:enable_autocomplete)
15838
+ @enable_create_agent_button = args[:enable_create_agent_button] if args.key?(:enable_create_agent_button)
15839
+ @enable_people_search = args[:enable_people_search] if args.key?(:enable_people_search)
15840
+ @enable_quality_feedback = args[:enable_quality_feedback] if args.key?(:enable_quality_feedback)
15841
+ @enable_safe_search = args[:enable_safe_search] if args.key?(:enable_safe_search)
15842
+ @enable_search_as_you_type = args[:enable_search_as_you_type] if args.key?(:enable_search_as_you_type)
15843
+ @enable_visual_content_summary = args[:enable_visual_content_summary] if args.key?(:enable_visual_content_summary)
15844
+ @features = args[:features] if args.key?(:features)
15845
+ @generative_answer_config = args[:generative_answer_config] if args.key?(:generative_answer_config)
15846
+ @interaction_type = args[:interaction_type] if args.key?(:interaction_type)
15847
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
15848
+ @result_description_type = args[:result_description_type] if args.key?(:result_description_type)
15453
15849
  end
15454
15850
  end
15455
15851
 
15456
- # Configures metadata that is used for End User entities.
15457
- class GoogleCloudDiscoveryengineV1UserStore
15852
+ # Describes configuration for generative answer.
15853
+ class GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsGenerativeAnswerConfig
15458
15854
  include Google::Apis::Core::Hashable
15459
15855
 
15460
- # Optional. The default subscription LicenseConfig for the UserStore, if
15461
- # UserStore.enable_license_auto_register is true, new users will automatically
15462
- # register under the default subscription. If default LicenseConfig doesn't have
15463
- # remaining license seats left, new users will not be assigned with license and
15464
- # will be blocked for Vertex AI Search features. This is used if `
15465
- # license_assignment_tier_rules` is not configured.
15466
- # Corresponds to the JSON property `defaultLicenseConfig`
15467
- # @return [String]
15468
- attr_accessor :default_license_config
15856
+ # Whether generated answer contains suggested related questions.
15857
+ # Corresponds to the JSON property `disableRelatedQuestions`
15858
+ # @return [Boolean]
15859
+ attr_accessor :disable_related_questions
15860
+ alias_method :disable_related_questions?, :disable_related_questions
15469
15861
 
15470
- # The display name of the User Store.
15471
- # Corresponds to the JSON property `displayName`
15472
- # @return [String]
15473
- attr_accessor :display_name
15862
+ # Optional. Specifies whether to filter out queries that are adversarial.
15863
+ # Corresponds to the JSON property `ignoreAdversarialQuery`
15864
+ # @return [Boolean]
15865
+ attr_accessor :ignore_adversarial_query
15866
+ alias_method :ignore_adversarial_query?, :ignore_adversarial_query
15474
15867
 
15475
- # Optional. Whether to enable license auto update for users in this User Store.
15476
- # If true, users with expired licenses will automatically be updated to use the
15477
- # default license config as long as the default license config has seats left.
15478
- # Corresponds to the JSON property `enableExpiredLicenseAutoUpdate`
15868
+ # Optional. Specifies whether to filter out queries that are not relevant to the
15869
+ # content.
15870
+ # Corresponds to the JSON property `ignoreLowRelevantContent`
15479
15871
  # @return [Boolean]
15480
- attr_accessor :enable_expired_license_auto_update
15481
- alias_method :enable_expired_license_auto_update?, :enable_expired_license_auto_update
15872
+ attr_accessor :ignore_low_relevant_content
15873
+ alias_method :ignore_low_relevant_content?, :ignore_low_relevant_content
15482
15874
 
15483
- # Optional. Whether to enable license auto register for users in this User Store.
15484
- # If true, new users will automatically register under the default license
15485
- # config as long as the default license config has seats left.
15486
- # Corresponds to the JSON property `enableLicenseAutoRegister`
15875
+ # Optional. Specifies whether to filter out queries that are not answer-seeking.
15876
+ # The default value is `false`. No answer is returned if the search query is
15877
+ # classified as a non-answer seeking query. If this field is set to `true`, we
15878
+ # skip generating answers for non-answer seeking queries and return fallback
15879
+ # messages instead.
15880
+ # Corresponds to the JSON property `ignoreNonAnswerSeekingQuery`
15487
15881
  # @return [Boolean]
15488
- attr_accessor :enable_license_auto_register
15489
- alias_method :enable_license_auto_register?, :enable_license_auto_register
15882
+ attr_accessor :ignore_non_answer_seeking_query
15883
+ alias_method :ignore_non_answer_seeking_query?, :ignore_non_answer_seeking_query
15490
15884
 
15491
- # Immutable. The full resource name of the User Store, in the format of `
15492
- # projects/`project`/locations/`location`/userStores/`user_store``. This field
15493
- # must be a UTF-8 encoded string with a length limit of 1024 characters.
15494
- # Corresponds to the JSON property `name`
15885
+ # Optional. Source of image returned in the answer.
15886
+ # Corresponds to the JSON property `imageSource`
15495
15887
  # @return [String]
15496
- attr_accessor :name
15888
+ attr_accessor :image_source
15889
+
15890
+ # Language code for Summary. Use language tags defined by [BCP47](https://www.
15891
+ # rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
15892
+ # Corresponds to the JSON property `languageCode`
15893
+ # @return [String]
15894
+ attr_accessor :language_code
15895
+
15896
+ # Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it
15897
+ # will be set to 1 by default.
15898
+ # Corresponds to the JSON property `maxRephraseSteps`
15899
+ # @return [Fixnum]
15900
+ attr_accessor :max_rephrase_steps
15901
+
15902
+ # Text at the beginning of the prompt that instructs the model that generates
15903
+ # the answer.
15904
+ # Corresponds to the JSON property `modelPromptPreamble`
15905
+ # @return [String]
15906
+ attr_accessor :model_prompt_preamble
15907
+
15908
+ # The model version used to generate the answer.
15909
+ # Corresponds to the JSON property `modelVersion`
15910
+ # @return [String]
15911
+ attr_accessor :model_version
15912
+
15913
+ # The number of top results to generate the answer from. Up to 10.
15914
+ # Corresponds to the JSON property `resultCount`
15915
+ # @return [Fixnum]
15916
+ attr_accessor :result_count
15497
15917
 
15498
15918
  def initialize(**args)
15499
15919
  update!(**args)
@@ -15501,11 +15921,16 @@ module Google
15501
15921
 
15502
15922
  # Update properties of this object
15503
15923
  def update!(**args)
15504
- @default_license_config = args[:default_license_config] if args.key?(:default_license_config)
15505
- @display_name = args[:display_name] if args.key?(:display_name)
15506
- @enable_expired_license_auto_update = args[:enable_expired_license_auto_update] if args.key?(:enable_expired_license_auto_update)
15507
- @enable_license_auto_register = args[:enable_license_auto_register] if args.key?(:enable_license_auto_register)
15508
- @name = args[:name] if args.key?(:name)
15924
+ @disable_related_questions = args[:disable_related_questions] if args.key?(:disable_related_questions)
15925
+ @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
15926
+ @ignore_low_relevant_content = args[:ignore_low_relevant_content] if args.key?(:ignore_low_relevant_content)
15927
+ @ignore_non_answer_seeking_query = args[:ignore_non_answer_seeking_query] if args.key?(:ignore_non_answer_seeking_query)
15928
+ @image_source = args[:image_source] if args.key?(:image_source)
15929
+ @language_code = args[:language_code] if args.key?(:language_code)
15930
+ @max_rephrase_steps = args[:max_rephrase_steps] if args.key?(:max_rephrase_steps)
15931
+ @model_prompt_preamble = args[:model_prompt_preamble] if args.key?(:model_prompt_preamble)
15932
+ @model_version = args[:model_version] if args.key?(:model_version)
15933
+ @result_count = args[:result_count] if args.key?(:result_count)
15509
15934
  end
15510
15935
  end
15511
15936
 
@@ -19567,6 +19992,12 @@ module Google
19567
19992
  attr_accessor :enable_image_annotation
19568
19993
  alias_method :enable_image_annotation?, :enable_image_annotation
19569
19994
 
19995
+ # Optional. If true, the pdf layout will be refined using an LLM.
19996
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
19997
+ # @return [Boolean]
19998
+ attr_accessor :enable_llm_layout_parsing
19999
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
20000
+
19570
20001
  # Optional. If true, the LLM based annotation is added to the table during
19571
20002
  # parsing.
19572
20003
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -19603,6 +20034,7 @@ module Google
19603
20034
  def update!(**args)
19604
20035
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
19605
20036
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
20037
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
19606
20038
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
19607
20039
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
19608
20040
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -19702,6 +20134,11 @@ module Google
19702
20134
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata]
19703
20135
  attr_accessor :chat_engine_metadata
19704
20136
 
20137
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
20138
+ # Corresponds to the JSON property `cmekConfig`
20139
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaCmekConfig]
20140
+ attr_accessor :cmek_config
20141
+
19705
20142
  # Common configurations for an Engine.
19706
20143
  # Corresponds to the JSON property `commonConfig`
19707
20144
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineCommonConfig]
@@ -19763,6 +20200,17 @@ module Google
19763
20200
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig]
19764
20201
  attr_accessor :media_recommendation_engine_config
19765
20202
 
20203
+ # Optional. Maps a model name to its specific configuration for this engine.
20204
+ # This allows admin users to turn on/off individual models. This only stores
20205
+ # models whose states are overridden by the admin. When the state is unspecified,
20206
+ # or model_configs is empty for this model, the system will decide if this
20207
+ # model should be available or not based on the default configuration. For
20208
+ # example, a preview model should be disabled by default if the admin has not
20209
+ # chosen to enable it.
20210
+ # Corresponds to the JSON property `modelConfigs`
20211
+ # @return [Hash<String,String>]
20212
+ attr_accessor :model_configs
20213
+
19766
20214
  # Immutable. Identifier. The fully qualified resource name of the engine. This
19767
20215
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
19768
20216
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -19806,6 +20254,7 @@ module Google
19806
20254
  @app_type = args[:app_type] if args.key?(:app_type)
19807
20255
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
19808
20256
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
20257
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
19809
20258
  @common_config = args[:common_config] if args.key?(:common_config)
19810
20259
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
19811
20260
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -19815,6 +20264,7 @@ module Google
19815
20264
  @features = args[:features] if args.key?(:features)
19816
20265
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
19817
20266
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
20267
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
19818
20268
  @name = args[:name] if args.key?(:name)
19819
20269
  @recommendation_metadata = args[:recommendation_metadata] if args.key?(:recommendation_metadata)
19820
20270
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
@@ -22485,6 +22935,18 @@ module Google
22485
22935
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec]
22486
22936
  attr_accessor :content_search_spec
22487
22937
 
22938
+ # Optional. Crowding specifications for improving result diversity. If multiple
22939
+ # CrowdingSpecs are specified, crowding will be evaluated on each unique
22940
+ # combination of the `field` values, and max_count will be the maximum value of `
22941
+ # max_count` across all CrowdingSpecs. For example, if the first CrowdingSpec
22942
+ # has `field` = "color" and `max_count` = 3, and the second CrowdingSpec has `
22943
+ # field` = "size" and `max_count` = 2, then after 3 documents that share the
22944
+ # same color AND size have been returned, subsequent ones should be removed or
22945
+ # demoted.
22946
+ # Corresponds to the JSON property `crowdingSpecs`
22947
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestCrowdingSpec>]
22948
+ attr_accessor :crowding_specs
22949
+
22488
22950
  # Defines custom fine tuning spec.
22489
22951
  # Corresponds to the JSON property `customFineTuningSpec`
22490
22952
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec]
@@ -22577,6 +23039,20 @@ module Google
22577
23039
  # @return [String]
22578
23040
  attr_accessor :order_by
22579
23041
 
23042
+ # Optional. The categories associated with a category page. Must be set for
23043
+ # category navigation queries to achieve good search quality. The format should
23044
+ # be the same as UserEvent.PageInfo.page_category. This field is the equivalent
23045
+ # of the query for browse (navigation) queries. It's used by the browse model
23046
+ # when the query is empty. If the field is empty, it will not be used by the
23047
+ # browse model. To represent full path of a category, use '>' character to
23048
+ # separate different hierarchies. If '>' is part of the category name, replace
23049
+ # it with other character(s). For example, `Graphics Cards > RTX>4090 > Founders
23050
+ # Edition` where "RTX > 4090" represents one level, can be rewritten as `
23051
+ # Graphics Cards > RTX_4090 > Founders Edition`
23052
+ # Corresponds to the JSON property `pageCategories`
23053
+ # @return [Array<String>]
23054
+ attr_accessor :page_categories
23055
+
22580
23056
  # Maximum number of Documents to return. The maximum allowed value depends on
22581
23057
  # the data type. Values above the maximum value are coerced to the maximum value.
22582
23058
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -22809,6 +23285,7 @@ module Google
22809
23285
  @branch = args[:branch] if args.key?(:branch)
22810
23286
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
22811
23287
  @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
23288
+ @crowding_specs = args[:crowding_specs] if args.key?(:crowding_specs)
22812
23289
  @custom_fine_tuning_spec = args[:custom_fine_tuning_spec] if args.key?(:custom_fine_tuning_spec)
22813
23290
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
22814
23291
  @display_spec = args[:display_spec] if args.key?(:display_spec)
@@ -22821,6 +23298,7 @@ module Google
22821
23298
  @offset = args[:offset] if args.key?(:offset)
22822
23299
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
22823
23300
  @order_by = args[:order_by] if args.key?(:order_by)
23301
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
22824
23302
  @page_size = args[:page_size] if args.key?(:page_size)
22825
23303
  @page_token = args[:page_token] if args.key?(:page_token)
22826
23304
  @params = args[:params] if args.key?(:params)
@@ -23361,6 +23839,45 @@ module Google
23361
23839
  end
23362
23840
  end
23363
23841
 
23842
+ # Specification for crowding. Crowding improves the diversity of search results
23843
+ # by limiting the number of results that share the same field value. For example,
23844
+ # crowding on the color field with a max_count of 3 and mode
23845
+ # DROP_CROWDED_RESULTS will return at most 3 results with the same color across
23846
+ # all pages.
23847
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestCrowdingSpec
23848
+ include Google::Apis::Core::Hashable
23849
+
23850
+ # The field to use for crowding. Documents can be crowded by a field in the
23851
+ # Document object. Crowding field is case sensitive.
23852
+ # Corresponds to the JSON property `field`
23853
+ # @return [String]
23854
+ attr_accessor :field
23855
+
23856
+ # The maximum number of documents to keep per value of the field. Once there are
23857
+ # at least max_count previous results which contain the same value for the given
23858
+ # field (according to the order specified in `order_by`), later results with the
23859
+ # same value are "crowded away". If not specified, the default value is 1.
23860
+ # Corresponds to the JSON property `maxCount`
23861
+ # @return [Fixnum]
23862
+ attr_accessor :max_count
23863
+
23864
+ # Mode to use for documents that are crowded away.
23865
+ # Corresponds to the JSON property `mode`
23866
+ # @return [String]
23867
+ attr_accessor :mode
23868
+
23869
+ def initialize(**args)
23870
+ update!(**args)
23871
+ end
23872
+
23873
+ # Update properties of this object
23874
+ def update!(**args)
23875
+ @field = args[:field] if args.key?(:field)
23876
+ @max_count = args[:max_count] if args.key?(:max_count)
23877
+ @mode = args[:mode] if args.key?(:mode)
23878
+ end
23879
+ end
23880
+
23364
23881
  # A struct to define data stores to filter on in a search call and
23365
23882
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
23366
23883
  # is returned.
@@ -26211,6 +26728,12 @@ module Google
26211
26728
  attr_accessor :enable_image_annotation
26212
26729
  alias_method :enable_image_annotation?, :enable_image_annotation
26213
26730
 
26731
+ # Optional. If true, the pdf layout will be refined using an LLM.
26732
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
26733
+ # @return [Boolean]
26734
+ attr_accessor :enable_llm_layout_parsing
26735
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
26736
+
26214
26737
  # Optional. If true, the LLM based annotation is added to the table during
26215
26738
  # parsing.
26216
26739
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -26247,6 +26770,7 @@ module Google
26247
26770
  def update!(**args)
26248
26771
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
26249
26772
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
26773
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
26250
26774
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
26251
26775
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
26252
26776
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -26346,6 +26870,11 @@ module Google
26346
26870
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata]
26347
26871
  attr_accessor :chat_engine_metadata
26348
26872
 
26873
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
26874
+ # Corresponds to the JSON property `cmekConfig`
26875
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaCmekConfig]
26876
+ attr_accessor :cmek_config
26877
+
26349
26878
  # Common configurations for an Engine.
26350
26879
  # Corresponds to the JSON property `commonConfig`
26351
26880
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineCommonConfig]
@@ -26407,6 +26936,17 @@ module Google
26407
26936
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfig]
26408
26937
  attr_accessor :media_recommendation_engine_config
26409
26938
 
26939
+ # Optional. Maps a model name to its specific configuration for this engine.
26940
+ # This allows admin users to turn on/off individual models. This only stores
26941
+ # models whose states are overridden by the admin. When the state is unspecified,
26942
+ # or model_configs is empty for this model, the system will decide if this
26943
+ # model should be available or not based on the default configuration. For
26944
+ # example, a preview model should be disabled by default if the admin has not
26945
+ # chosen to enable it.
26946
+ # Corresponds to the JSON property `modelConfigs`
26947
+ # @return [Hash<String,String>]
26948
+ attr_accessor :model_configs
26949
+
26410
26950
  # Immutable. Identifier. The fully qualified resource name of the engine. This
26411
26951
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
26412
26952
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -26440,6 +26980,7 @@ module Google
26440
26980
  @app_type = args[:app_type] if args.key?(:app_type)
26441
26981
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
26442
26982
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
26983
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
26443
26984
  @common_config = args[:common_config] if args.key?(:common_config)
26444
26985
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
26445
26986
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -26449,6 +26990,7 @@ module Google
26449
26990
  @features = args[:features] if args.key?(:features)
26450
26991
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
26451
26992
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
26993
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
26452
26994
  @name = args[:name] if args.key?(:name)
26453
26995
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
26454
26996
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -28273,6 +28815,18 @@ module Google
28273
28815
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec]
28274
28816
  attr_accessor :content_search_spec
28275
28817
 
28818
+ # Optional. Crowding specifications for improving result diversity. If multiple
28819
+ # CrowdingSpecs are specified, crowding will be evaluated on each unique
28820
+ # combination of the `field` values, and max_count will be the maximum value of `
28821
+ # max_count` across all CrowdingSpecs. For example, if the first CrowdingSpec
28822
+ # has `field` = "color" and `max_count` = 3, and the second CrowdingSpec has `
28823
+ # field` = "size" and `max_count` = 2, then after 3 documents that share the
28824
+ # same color AND size have been returned, subsequent ones should be removed or
28825
+ # demoted.
28826
+ # Corresponds to the JSON property `crowdingSpecs`
28827
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestCrowdingSpec>]
28828
+ attr_accessor :crowding_specs
28829
+
28276
28830
  # Specifications that define the specific DataStores to be searched, along with
28277
28831
  # configurations for those data stores. This is only considered for Engines with
28278
28832
  # multiple data stores. For engines with a single data store, the specs directly
@@ -28360,6 +28914,20 @@ module Google
28360
28914
  # @return [String]
28361
28915
  attr_accessor :order_by
28362
28916
 
28917
+ # Optional. The categories associated with a category page. Must be set for
28918
+ # category navigation queries to achieve good search quality. The format should
28919
+ # be the same as UserEvent.PageInfo.page_category. This field is the equivalent
28920
+ # of the query for browse (navigation) queries. It's used by the browse model
28921
+ # when the query is empty. If the field is empty, it will not be used by the
28922
+ # browse model. To represent full path of a category, use '>' character to
28923
+ # separate different hierarchies. If '>' is part of the category name, replace
28924
+ # it with other character(s). For example, `Graphics Cards > RTX>4090 > Founders
28925
+ # Edition` where "RTX > 4090" represents one level, can be rewritten as `
28926
+ # Graphics Cards > RTX_4090 > Founders Edition`
28927
+ # Corresponds to the JSON property `pageCategories`
28928
+ # @return [Array<String>]
28929
+ attr_accessor :page_categories
28930
+
28363
28931
  # Maximum number of Documents to return. The maximum allowed value depends on
28364
28932
  # the data type. Values above the maximum value are coerced to the maximum value.
28365
28933
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -28583,6 +29151,7 @@ module Google
28583
29151
  @branch = args[:branch] if args.key?(:branch)
28584
29152
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
28585
29153
  @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
29154
+ @crowding_specs = args[:crowding_specs] if args.key?(:crowding_specs)
28586
29155
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
28587
29156
  @display_spec = args[:display_spec] if args.key?(:display_spec)
28588
29157
  @embedding_spec = args[:embedding_spec] if args.key?(:embedding_spec)
@@ -28594,6 +29163,7 @@ module Google
28594
29163
  @offset = args[:offset] if args.key?(:offset)
28595
29164
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
28596
29165
  @order_by = args[:order_by] if args.key?(:order_by)
29166
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
28597
29167
  @page_size = args[:page_size] if args.key?(:page_size)
28598
29168
  @page_token = args[:page_token] if args.key?(:page_token)
28599
29169
  @params = args[:params] if args.key?(:params)
@@ -29133,6 +29703,45 @@ module Google
29133
29703
  end
29134
29704
  end
29135
29705
 
29706
+ # Specification for crowding. Crowding improves the diversity of search results
29707
+ # by limiting the number of results that share the same field value. For example,
29708
+ # crowding on the color field with a max_count of 3 and mode
29709
+ # DROP_CROWDED_RESULTS will return at most 3 results with the same color across
29710
+ # all pages.
29711
+ class GoogleCloudDiscoveryengineV1betaSearchRequestCrowdingSpec
29712
+ include Google::Apis::Core::Hashable
29713
+
29714
+ # The field to use for crowding. Documents can be crowded by a field in the
29715
+ # Document object. Crowding field is case sensitive.
29716
+ # Corresponds to the JSON property `field`
29717
+ # @return [String]
29718
+ attr_accessor :field
29719
+
29720
+ # The maximum number of documents to keep per value of the field. Once there are
29721
+ # at least max_count previous results which contain the same value for the given
29722
+ # field (according to the order specified in `order_by`), later results with the
29723
+ # same value are "crowded away". If not specified, the default value is 1.
29724
+ # Corresponds to the JSON property `maxCount`
29725
+ # @return [Fixnum]
29726
+ attr_accessor :max_count
29727
+
29728
+ # Mode to use for documents that are crowded away.
29729
+ # Corresponds to the JSON property `mode`
29730
+ # @return [String]
29731
+ attr_accessor :mode
29732
+
29733
+ def initialize(**args)
29734
+ update!(**args)
29735
+ end
29736
+
29737
+ # Update properties of this object
29738
+ def update!(**args)
29739
+ @field = args[:field] if args.key?(:field)
29740
+ @max_count = args[:max_count] if args.key?(:max_count)
29741
+ @mode = args[:mode] if args.key?(:mode)
29742
+ end
29743
+ end
29744
+
29136
29745
  # A struct to define data stores to filter on in a search call and
29137
29746
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
29138
29747
  # is returned.
@@ -30310,8 +30919,9 @@ module Google
30310
30919
  attr_accessor :operations
30311
30920
 
30312
30921
  # Unordered list. Unreachable resources. Populated when the request sets `
30313
- # ListOperationsRequest.return_partial_success` and reads across collections e.g.
30314
- # when attempting to list all resources across all supported locations.
30922
+ # ListOperationsRequest.return_partial_success` and reads across collections.
30923
+ # For example, when attempting to list all resources across all supported
30924
+ # locations.
30315
30925
  # Corresponds to the JSON property `unreachable`
30316
30926
  # @return [Array<String>]
30317
30927
  attr_accessor :unreachable