google-apis-discoveryengine_v1 0.58.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,6 +3245,18 @@ module Google
3918
3245
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistantCustomerPolicy]
3919
3246
  attr_accessor :customer_policy
3920
3247
 
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
+
3921
3260
  # Optional. Note: not implemented yet. Use enabled_actions instead. The enabled
3922
3261
  # tools on this assistant. The keys are connector name, for example "projects/`
3923
3262
  # projectId`/locations/`locationId`/collections/`collectionId`/dataconnector The
@@ -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
@@ -10229,6 +9582,32 @@ module Google
10229
9582
  end
10230
9583
  end
10231
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
+
10232
9611
  # Response message for CmekConfigService.ListCmekConfigs method.
10233
9612
  class GoogleCloudDiscoveryengineV1ListCmekConfigsResponse
10234
9613
  include Google::Apis::Core::Hashable
@@ -12053,6 +11432,18 @@ module Google
12053
11432
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec]
12054
11433
  attr_accessor :content_search_spec
12055
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
+
12056
11447
  # Specifications that define the specific DataStores to be searched, along with
12057
11448
  # configurations for those data stores. This is only considered for Engines with
12058
11449
  # multiple data stores. For engines with a single data store, the specs directly
@@ -12134,6 +11525,20 @@ module Google
12134
11525
  # @return [String]
12135
11526
  attr_accessor :order_by
12136
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
+
12137
11542
  # Maximum number of Documents to return. The maximum allowed value depends on
12138
11543
  # the data type. Values above the maximum value are coerced to the maximum value.
12139
11544
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -12327,6 +11732,7 @@ module Google
12327
11732
  @branch = args[:branch] if args.key?(:branch)
12328
11733
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
12329
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)
12330
11736
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
12331
11737
  @display_spec = args[:display_spec] if args.key?(:display_spec)
12332
11738
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -12337,6 +11743,7 @@ module Google
12337
11743
  @offset = args[:offset] if args.key?(:offset)
12338
11744
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
12339
11745
  @order_by = args[:order_by] if args.key?(:order_by)
11746
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
12340
11747
  @page_size = args[:page_size] if args.key?(:page_size)
12341
11748
  @page_token = args[:page_token] if args.key?(:page_token)
12342
11749
  @params = args[:params] if args.key?(:params)
@@ -12845,6 +12252,45 @@ module Google
12845
12252
  end
12846
12253
  end
12847
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
+
12848
12294
  # A struct to define data stores to filter on in a search call and
12849
12295
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
12850
12296
  # is returned.
@@ -14632,6 +14078,11 @@ module Google
14632
14078
  # @return [String]
14633
14079
  attr_accessor :assist_token
14634
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
+
14635
14086
  # Information about the session.
14636
14087
  # Corresponds to the JSON property `sessionInfo`
14637
14088
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1StreamAssistResponseSessionInfo]
@@ -14645,6 +14096,7 @@ module Google
14645
14096
  def update!(**args)
14646
14097
  @answer = args[:answer] if args.key?(:answer)
14647
14098
  @assist_token = args[:assist_token] if args.key?(:assist_token)
14099
+ @invocation_tools = args[:invocation_tools] if args.key?(:invocation_tools)
14648
14100
  @session_info = args[:session_info] if args.key?(:session_info)
14649
14101
  end
14650
14102
  end
@@ -23483,6 +22935,18 @@ module Google
23483
22935
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec]
23484
22936
  attr_accessor :content_search_spec
23485
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
+
23486
22950
  # Defines custom fine tuning spec.
23487
22951
  # Corresponds to the JSON property `customFineTuningSpec`
23488
22952
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec]
@@ -23575,6 +23039,20 @@ module Google
23575
23039
  # @return [String]
23576
23040
  attr_accessor :order_by
23577
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
+
23578
23056
  # Maximum number of Documents to return. The maximum allowed value depends on
23579
23057
  # the data type. Values above the maximum value are coerced to the maximum value.
23580
23058
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -23807,6 +23285,7 @@ module Google
23807
23285
  @branch = args[:branch] if args.key?(:branch)
23808
23286
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
23809
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)
23810
23289
  @custom_fine_tuning_spec = args[:custom_fine_tuning_spec] if args.key?(:custom_fine_tuning_spec)
23811
23290
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
23812
23291
  @display_spec = args[:display_spec] if args.key?(:display_spec)
@@ -23819,6 +23298,7 @@ module Google
23819
23298
  @offset = args[:offset] if args.key?(:offset)
23820
23299
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
23821
23300
  @order_by = args[:order_by] if args.key?(:order_by)
23301
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
23822
23302
  @page_size = args[:page_size] if args.key?(:page_size)
23823
23303
  @page_token = args[:page_token] if args.key?(:page_token)
23824
23304
  @params = args[:params] if args.key?(:params)
@@ -24359,6 +23839,45 @@ module Google
24359
23839
  end
24360
23840
  end
24361
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
+
24362
23881
  # A struct to define data stores to filter on in a search call and
24363
23882
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
24364
23883
  # is returned.
@@ -29296,6 +28815,18 @@ module Google
29296
28815
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec]
29297
28816
  attr_accessor :content_search_spec
29298
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
+
29299
28830
  # Specifications that define the specific DataStores to be searched, along with
29300
28831
  # configurations for those data stores. This is only considered for Engines with
29301
28832
  # multiple data stores. For engines with a single data store, the specs directly
@@ -29383,6 +28914,20 @@ module Google
29383
28914
  # @return [String]
29384
28915
  attr_accessor :order_by
29385
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
+
29386
28931
  # Maximum number of Documents to return. The maximum allowed value depends on
29387
28932
  # the data type. Values above the maximum value are coerced to the maximum value.
29388
28933
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -29606,6 +29151,7 @@ module Google
29606
29151
  @branch = args[:branch] if args.key?(:branch)
29607
29152
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
29608
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)
29609
29155
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
29610
29156
  @display_spec = args[:display_spec] if args.key?(:display_spec)
29611
29157
  @embedding_spec = args[:embedding_spec] if args.key?(:embedding_spec)
@@ -29617,6 +29163,7 @@ module Google
29617
29163
  @offset = args[:offset] if args.key?(:offset)
29618
29164
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
29619
29165
  @order_by = args[:order_by] if args.key?(:order_by)
29166
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
29620
29167
  @page_size = args[:page_size] if args.key?(:page_size)
29621
29168
  @page_token = args[:page_token] if args.key?(:page_token)
29622
29169
  @params = args[:params] if args.key?(:params)
@@ -30156,6 +29703,45 @@ module Google
30156
29703
  end
30157
29704
  end
30158
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
+
30159
29745
  # A struct to define data stores to filter on in a search call and
30160
29746
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
30161
29747
  # is returned.
@@ -31333,8 +30919,9 @@ module Google
31333
30919
  attr_accessor :operations
31334
30920
 
31335
30921
  # Unordered list. Unreachable resources. Populated when the request sets `
31336
- # ListOperationsRequest.return_partial_success` and reads across collections e.g.
31337
- # 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.
31338
30925
  # Corresponds to the JSON property `unreachable`
31339
30926
  # @return [Array<String>]
31340
30927
  attr_accessor :unreachable