google-apis-discoveryengine_v1beta 0.75.0 → 0.77.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,6 +22,679 @@ module Google
22
22
  module Apis
23
23
  module DiscoveryengineV1beta
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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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::DiscoveryengineV1beta::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
+
25
698
  # `Distribution` contains summary statistics for a population of values. It
26
699
  # optionally contains a histogram representing the distribution of those values
27
700
  # across a set of buckets. The summary statistics are the count, mean, sum of
@@ -871,6 +1544,28 @@ module Google
871
1544
  class GoogleCloudDiscoveryengineV1Assistant
872
1545
  include Google::Apis::Core::Hashable
873
1546
 
1547
+ # Customer-defined policy for the assistant.
1548
+ # Corresponds to the JSON property `customerPolicy`
1549
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantCustomerPolicy]
1550
+ attr_accessor :customer_policy
1551
+
1552
+ # Optional. Note: not implemented yet. Use enabled_actions instead. The enabled
1553
+ # tools on this assistant. The keys are connector name, for example "projects/`
1554
+ # projectId`/locations/`locationId`/collections/`collectionId`/dataconnector The
1555
+ # values consist of admin enabled tools towards the connector instance. Admin
1556
+ # can selectively enable multiple tools on any of the connector instances that
1557
+ # they created in the project. For example `"jira1ConnectorName": [(toolId1, "
1558
+ # createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3,
1559
+ # "sendEmail"),..] `
1560
+ # Corresponds to the JSON property `enabledTools`
1561
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantToolList>]
1562
+ attr_accessor :enabled_tools
1563
+
1564
+ # Configuration for the generation of the assistant response.
1565
+ # Corresponds to the JSON property `generationConfig`
1566
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantGenerationConfig]
1567
+ attr_accessor :generation_config
1568
+
874
1569
  # Immutable. Resource name of the assistant. Format: `projects/`project`/
875
1570
  # locations/`location`/collections/`collection`/engines/`engine`/assistants/`
876
1571
  # assistant`` It must be a UTF-8 encoded string with a length limit of 1024
@@ -879,13 +1574,169 @@ module Google
879
1574
  # @return [String]
880
1575
  attr_accessor :name
881
1576
 
1577
+ # Optional. The type of web grounding to use.
1578
+ # Corresponds to the JSON property `webGroundingType`
1579
+ # @return [String]
1580
+ attr_accessor :web_grounding_type
1581
+
882
1582
  def initialize(**args)
883
1583
  update!(**args)
884
1584
  end
885
1585
 
886
1586
  # Update properties of this object
887
1587
  def update!(**args)
1588
+ @customer_policy = args[:customer_policy] if args.key?(:customer_policy)
1589
+ @enabled_tools = args[:enabled_tools] if args.key?(:enabled_tools)
1590
+ @generation_config = args[:generation_config] if args.key?(:generation_config)
888
1591
  @name = args[:name] if args.key?(:name)
1592
+ @web_grounding_type = args[:web_grounding_type] if args.key?(:web_grounding_type)
1593
+ end
1594
+ end
1595
+
1596
+ # Customer-defined policy for the assistant.
1597
+ class GoogleCloudDiscoveryengineV1AssistantCustomerPolicy
1598
+ include Google::Apis::Core::Hashable
1599
+
1600
+ # Optional. List of banned phrases.
1601
+ # Corresponds to the JSON property `bannedPhrases`
1602
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase>]
1603
+ attr_accessor :banned_phrases
1604
+
1605
+ def initialize(**args)
1606
+ update!(**args)
1607
+ end
1608
+
1609
+ # Update properties of this object
1610
+ def update!(**args)
1611
+ @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
1612
+ end
1613
+ end
1614
+
1615
+ # Definition of a customer-defined banned phrase. A banned phrase is not allowed
1616
+ # to appear in the user query or the LLM response, or else the answer will be
1617
+ # refused.
1618
+ class GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase
1619
+ include Google::Apis::Core::Hashable
1620
+
1621
+ # Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when
1622
+ # matching banned phrases. For example, "cafe" would match "café".
1623
+ # Corresponds to the JSON property `ignoreDiacritics`
1624
+ # @return [Boolean]
1625
+ attr_accessor :ignore_diacritics
1626
+ alias_method :ignore_diacritics?, :ignore_diacritics
1627
+
1628
+ # Optional. Match type for the banned phrase.
1629
+ # Corresponds to the JSON property `matchType`
1630
+ # @return [String]
1631
+ attr_accessor :match_type
1632
+
1633
+ # Required. The raw string content to be banned.
1634
+ # Corresponds to the JSON property `phrase`
1635
+ # @return [String]
1636
+ attr_accessor :phrase
1637
+
1638
+ def initialize(**args)
1639
+ update!(**args)
1640
+ end
1641
+
1642
+ # Update properties of this object
1643
+ def update!(**args)
1644
+ @ignore_diacritics = args[:ignore_diacritics] if args.key?(:ignore_diacritics)
1645
+ @match_type = args[:match_type] if args.key?(:match_type)
1646
+ @phrase = args[:phrase] if args.key?(:phrase)
1647
+ end
1648
+ end
1649
+
1650
+ # Configuration for the generation of the assistant response.
1651
+ class GoogleCloudDiscoveryengineV1AssistantGenerationConfig
1652
+ include Google::Apis::Core::Hashable
1653
+
1654
+ # The default language to use for the generation of the assistant response. Use
1655
+ # an ISO 639-1 language code such as `en`. If not specified, the language will
1656
+ # be automatically detected.
1657
+ # Corresponds to the JSON property `defaultLanguage`
1658
+ # @return [String]
1659
+ attr_accessor :default_language
1660
+
1661
+ # System instruction, also known as the prompt preamble for LLM calls.
1662
+ # Corresponds to the JSON property `systemInstruction`
1663
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction]
1664
+ attr_accessor :system_instruction
1665
+
1666
+ def initialize(**args)
1667
+ update!(**args)
1668
+ end
1669
+
1670
+ # Update properties of this object
1671
+ def update!(**args)
1672
+ @default_language = args[:default_language] if args.key?(:default_language)
1673
+ @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
1674
+ end
1675
+ end
1676
+
1677
+ # System instruction, also known as the prompt preamble for LLM calls.
1678
+ class GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction
1679
+ include Google::Apis::Core::Hashable
1680
+
1681
+ # Optional. Additional system instruction that will be added to the default
1682
+ # system instruction.
1683
+ # Corresponds to the JSON property `additionalSystemInstruction`
1684
+ # @return [String]
1685
+ attr_accessor :additional_system_instruction
1686
+
1687
+ def initialize(**args)
1688
+ update!(**args)
1689
+ end
1690
+
1691
+ # Update properties of this object
1692
+ def update!(**args)
1693
+ @additional_system_instruction = args[:additional_system_instruction] if args.key?(:additional_system_instruction)
1694
+ end
1695
+ end
1696
+
1697
+ # Information to identify a tool.
1698
+ class GoogleCloudDiscoveryengineV1AssistantToolInfo
1699
+ include Google::Apis::Core::Hashable
1700
+
1701
+ # The display name of the tool.
1702
+ # Corresponds to the JSON property `toolDisplayName`
1703
+ # @return [String]
1704
+ attr_accessor :tool_display_name
1705
+
1706
+ # The name of the tool as defined by DataConnectorService.QueryAvailableActions.
1707
+ # Note: it's using `action` in the DataConnectorService apis, but they are the
1708
+ # same as the `tool` here.
1709
+ # Corresponds to the JSON property `toolName`
1710
+ # @return [String]
1711
+ attr_accessor :tool_name
1712
+
1713
+ def initialize(**args)
1714
+ update!(**args)
1715
+ end
1716
+
1717
+ # Update properties of this object
1718
+ def update!(**args)
1719
+ @tool_display_name = args[:tool_display_name] if args.key?(:tool_display_name)
1720
+ @tool_name = args[:tool_name] if args.key?(:tool_name)
1721
+ end
1722
+ end
1723
+
1724
+ # The enabled tools on a connector
1725
+ class GoogleCloudDiscoveryengineV1AssistantToolList
1726
+ include Google::Apis::Core::Hashable
1727
+
1728
+ # The list of tools with corresponding tool information.
1729
+ # Corresponds to the JSON property `toolInfo`
1730
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantToolInfo>]
1731
+ attr_accessor :tool_info
1732
+
1733
+ def initialize(**args)
1734
+ update!(**args)
1735
+ end
1736
+
1737
+ # Update properties of this object
1738
+ def update!(**args)
1739
+ @tool_info = args[:tool_info] if args.key?(:tool_info)
889
1740
  end
890
1741
  end
891
1742
 
@@ -8565,6 +9416,48 @@ module Google
8565
9416
  end
8566
9417
  end
8567
9418
 
9419
+ # Metadata related to the progress of the Export operation. This is returned by
9420
+ # the google.longrunning.Operation.metadata field.
9421
+ class GoogleCloudDiscoveryengineV1alphaExportMetricsMetadata
9422
+ include Google::Apis::Core::Hashable
9423
+
9424
+ # Operation create time.
9425
+ # Corresponds to the JSON property `createTime`
9426
+ # @return [String]
9427
+ attr_accessor :create_time
9428
+
9429
+ # Operation last update time. If the operation is done, this is also the finish
9430
+ # time.
9431
+ # Corresponds to the JSON property `updateTime`
9432
+ # @return [String]
9433
+ attr_accessor :update_time
9434
+
9435
+ def initialize(**args)
9436
+ update!(**args)
9437
+ end
9438
+
9439
+ # Update properties of this object
9440
+ def update!(**args)
9441
+ @create_time = args[:create_time] if args.key?(:create_time)
9442
+ @update_time = args[:update_time] if args.key?(:update_time)
9443
+ end
9444
+ end
9445
+
9446
+ # Response of the ExportMetricsRequest. If the long running operation was
9447
+ # successful, then this message is returned by the google.longrunning.Operations.
9448
+ # response field.
9449
+ class GoogleCloudDiscoveryengineV1alphaExportMetricsResponse
9450
+ include Google::Apis::Core::Hashable
9451
+
9452
+ def initialize(**args)
9453
+ update!(**args)
9454
+ end
9455
+
9456
+ # Update properties of this object
9457
+ def update!(**args)
9458
+ end
9459
+ end
9460
+
8568
9461
  # Configurations for fields of a schema. For example, configuring a field is
8569
9462
  # indexable, or searchable.
8570
9463
  class GoogleCloudDiscoveryengineV1alphaFieldConfig
@@ -9383,10 +10276,10 @@ module Google
9383
10276
 
9384
10277
  # A comma-separated list of fields to filter by, in EBNF grammar. The supported
9385
10278
  # fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `
9386
- # is_pinned` * `labels` * `create_time` * `update_time` Examples: "
9387
- # user_pseudo_id = some_id" "display_name = \"some_name\"" "starred = true" "
9388
- # is_pinned=true AND (NOT labels:hidden)" "create_time > \"1970-01-01T12:00:00Z\"
9389
- # "
10279
+ # is_pinned` * `labels` * `create_time` * `update_time` Examples: * `
10280
+ # user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `
10281
+ # is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"
10282
+ # `
9390
10283
  # Corresponds to the JSON property `filter`
9391
10284
  # @return [String]
9392
10285
  attr_accessor :filter
@@ -11557,6 +12450,17 @@ module Google
11557
12450
  class GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec
11558
12451
  include Google::Apis::Core::Hashable
11559
12452
 
12453
+ # Optional. Controls behavior of how extracted filters are applied to the search.
12454
+ # The default behavior depends on the request. For single datastore structured
12455
+ # search, the default is `HARD_FILTER`. For multi-datastore search, the default
12456
+ # behavior is `SOFT_BOOST`. Location-based filters are always applied as hard
12457
+ # filters, and the `SOFT_BOOST` setting will not affect them. This field is only
12458
+ # used if SearchRequest.natural_language_query_understanding_spec.
12459
+ # filter_extraction_condition is set to FilterExtractionCondition.ENABLED.
12460
+ # Corresponds to the JSON property `extractedFilterBehavior`
12461
+ # @return [String]
12462
+ attr_accessor :extracted_filter_behavior
12463
+
11560
12464
  # The condition under which filter extraction should occur. Server behavior
11561
12465
  # defaults to `DISABLED`.
11562
12466
  # Corresponds to the JSON property `filterExtractionCondition`
@@ -11578,6 +12482,7 @@ module Google
11578
12482
 
11579
12483
  # Update properties of this object
11580
12484
  def update!(**args)
12485
+ @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
11581
12486
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
11582
12487
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
11583
12488
  end
@@ -14928,6 +15833,28 @@ module Google
14928
15833
  class GoogleCloudDiscoveryengineV1betaAssistant
14929
15834
  include Google::Apis::Core::Hashable
14930
15835
 
15836
+ # Customer-defined policy for the assistant.
15837
+ # Corresponds to the JSON property `customerPolicy`
15838
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy]
15839
+ attr_accessor :customer_policy
15840
+
15841
+ # Optional. Note: not implemented yet. Use enabled_actions instead. The enabled
15842
+ # tools on this assistant. The keys are connector name, for example "projects/`
15843
+ # projectId`/locations/`locationId`/collections/`collectionId`/dataconnector The
15844
+ # values consist of admin enabled tools towards the connector instance. Admin
15845
+ # can selectively enable multiple tools on any of the connector instances that
15846
+ # they created in the project. For example `"jira1ConnectorName": [(toolId1, "
15847
+ # createTicket"), (toolId2, "transferTicket")], "gmail1ConnectorName": [(toolId3,
15848
+ # "sendEmail"),..] `
15849
+ # Corresponds to the JSON property `enabledTools`
15850
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantToolList>]
15851
+ attr_accessor :enabled_tools
15852
+
15853
+ # Configuration for the generation of the assistant response.
15854
+ # Corresponds to the JSON property `generationConfig`
15855
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig]
15856
+ attr_accessor :generation_config
15857
+
14931
15858
  # Immutable. Resource name of the assistant. Format: `projects/`project`/
14932
15859
  # locations/`location`/collections/`collection`/engines/`engine`/assistants/`
14933
15860
  # assistant`` It must be a UTF-8 encoded string with a length limit of 1024
@@ -14936,13 +15863,22 @@ module Google
14936
15863
  # @return [String]
14937
15864
  attr_accessor :name
14938
15865
 
15866
+ # Optional. The type of web grounding to use.
15867
+ # Corresponds to the JSON property `webGroundingType`
15868
+ # @return [String]
15869
+ attr_accessor :web_grounding_type
15870
+
14939
15871
  def initialize(**args)
14940
15872
  update!(**args)
14941
15873
  end
14942
15874
 
14943
15875
  # Update properties of this object
14944
15876
  def update!(**args)
15877
+ @customer_policy = args[:customer_policy] if args.key?(:customer_policy)
15878
+ @enabled_tools = args[:enabled_tools] if args.key?(:enabled_tools)
15879
+ @generation_config = args[:generation_config] if args.key?(:generation_config)
14945
15880
  @name = args[:name] if args.key?(:name)
15881
+ @web_grounding_type = args[:web_grounding_type] if args.key?(:web_grounding_type)
14946
15882
  end
14947
15883
  end
14948
15884
 
@@ -15098,6 +16034,107 @@ module Google
15098
16034
  end
15099
16035
  end
15100
16036
 
16037
+ # Customer-defined policy for the assistant.
16038
+ class GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicy
16039
+ include Google::Apis::Core::Hashable
16040
+
16041
+ # Optional. List of banned phrases.
16042
+ # Corresponds to the JSON property `bannedPhrases`
16043
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase>]
16044
+ attr_accessor :banned_phrases
16045
+
16046
+ def initialize(**args)
16047
+ update!(**args)
16048
+ end
16049
+
16050
+ # Update properties of this object
16051
+ def update!(**args)
16052
+ @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
16053
+ end
16054
+ end
16055
+
16056
+ # Definition of a customer-defined banned phrase. A banned phrase is not allowed
16057
+ # to appear in the user query or the LLM response, or else the answer will be
16058
+ # refused.
16059
+ class GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase
16060
+ include Google::Apis::Core::Hashable
16061
+
16062
+ # Optional. If true, diacritical marks (e.g., accents, umlauts) are ignored when
16063
+ # matching banned phrases. For example, "cafe" would match "café".
16064
+ # Corresponds to the JSON property `ignoreDiacritics`
16065
+ # @return [Boolean]
16066
+ attr_accessor :ignore_diacritics
16067
+ alias_method :ignore_diacritics?, :ignore_diacritics
16068
+
16069
+ # Optional. Match type for the banned phrase.
16070
+ # Corresponds to the JSON property `matchType`
16071
+ # @return [String]
16072
+ attr_accessor :match_type
16073
+
16074
+ # Required. The raw string content to be banned.
16075
+ # Corresponds to the JSON property `phrase`
16076
+ # @return [String]
16077
+ attr_accessor :phrase
16078
+
16079
+ def initialize(**args)
16080
+ update!(**args)
16081
+ end
16082
+
16083
+ # Update properties of this object
16084
+ def update!(**args)
16085
+ @ignore_diacritics = args[:ignore_diacritics] if args.key?(:ignore_diacritics)
16086
+ @match_type = args[:match_type] if args.key?(:match_type)
16087
+ @phrase = args[:phrase] if args.key?(:phrase)
16088
+ end
16089
+ end
16090
+
16091
+ # Configuration for the generation of the assistant response.
16092
+ class GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig
16093
+ include Google::Apis::Core::Hashable
16094
+
16095
+ # The default language to use for the generation of the assistant response. Use
16096
+ # an ISO 639-1 language code such as `en`. If not specified, the language will
16097
+ # be automatically detected.
16098
+ # Corresponds to the JSON property `defaultLanguage`
16099
+ # @return [String]
16100
+ attr_accessor :default_language
16101
+
16102
+ # System instruction, also known as the prompt preamble for LLM calls.
16103
+ # Corresponds to the JSON property `systemInstruction`
16104
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction]
16105
+ attr_accessor :system_instruction
16106
+
16107
+ def initialize(**args)
16108
+ update!(**args)
16109
+ end
16110
+
16111
+ # Update properties of this object
16112
+ def update!(**args)
16113
+ @default_language = args[:default_language] if args.key?(:default_language)
16114
+ @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
16115
+ end
16116
+ end
16117
+
16118
+ # System instruction, also known as the prompt preamble for LLM calls.
16119
+ class GoogleCloudDiscoveryengineV1betaAssistantGenerationConfigSystemInstruction
16120
+ include Google::Apis::Core::Hashable
16121
+
16122
+ # Optional. Additional system instruction that will be added to the default
16123
+ # system instruction.
16124
+ # Corresponds to the JSON property `additionalSystemInstruction`
16125
+ # @return [String]
16126
+ attr_accessor :additional_system_instruction
16127
+
16128
+ def initialize(**args)
16129
+ update!(**args)
16130
+ end
16131
+
16132
+ # Update properties of this object
16133
+ def update!(**args)
16134
+ @additional_system_instruction = args[:additional_system_instruction] if args.key?(:additional_system_instruction)
16135
+ end
16136
+ end
16137
+
15101
16138
  # A piece of content and possibly its grounding information. Not all content
15102
16139
  # needs grounding. Phrases like "Of course, I will gladly search it for you." do
15103
16140
  # not need grounding.
@@ -15266,6 +16303,52 @@ module Google
15266
16303
  end
15267
16304
  end
15268
16305
 
16306
+ # Information to identify a tool.
16307
+ class GoogleCloudDiscoveryengineV1betaAssistantToolInfo
16308
+ include Google::Apis::Core::Hashable
16309
+
16310
+ # The display name of the tool.
16311
+ # Corresponds to the JSON property `toolDisplayName`
16312
+ # @return [String]
16313
+ attr_accessor :tool_display_name
16314
+
16315
+ # The name of the tool as defined by DataConnectorService.QueryAvailableActions.
16316
+ # Note: it's using `action` in the DataConnectorService apis, but they are the
16317
+ # same as the `tool` here.
16318
+ # Corresponds to the JSON property `toolName`
16319
+ # @return [String]
16320
+ attr_accessor :tool_name
16321
+
16322
+ def initialize(**args)
16323
+ update!(**args)
16324
+ end
16325
+
16326
+ # Update properties of this object
16327
+ def update!(**args)
16328
+ @tool_display_name = args[:tool_display_name] if args.key?(:tool_display_name)
16329
+ @tool_name = args[:tool_name] if args.key?(:tool_name)
16330
+ end
16331
+ end
16332
+
16333
+ # The enabled tools on a connector
16334
+ class GoogleCloudDiscoveryengineV1betaAssistantToolList
16335
+ include Google::Apis::Core::Hashable
16336
+
16337
+ # The list of tools with corresponding tool information.
16338
+ # Corresponds to the JSON property `toolInfo`
16339
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantToolInfo>]
16340
+ attr_accessor :tool_info
16341
+
16342
+ def initialize(**args)
16343
+ update!(**args)
16344
+ end
16345
+
16346
+ # Update properties of this object
16347
+ def update!(**args)
16348
+ @tool_info = args[:tool_info] if args.key?(:tool_info)
16349
+ end
16350
+ end
16351
+
15269
16352
  # Metadata related to the progress of the SiteSearchEngineService.
15270
16353
  # BatchCreateTargetSites operation. This will be returned by the google.
15271
16354
  # longrunning.Operation.metadata field.
@@ -16137,6 +17220,12 @@ module Google
16137
17220
  class GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata
16138
17221
  include Google::Apis::Core::Hashable
16139
17222
 
17223
+ # The mime type of the document. https://www.iana.org/assignments/media-types/
17224
+ # media-types.xhtml.
17225
+ # Corresponds to the JSON property `mimeType`
17226
+ # @return [String]
17227
+ attr_accessor :mime_type
17228
+
16140
17229
  # Data representation. The structured JSON data for the document. It should
16141
17230
  # conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.
16142
17231
  # Corresponds to the JSON property `structData`
@@ -16159,6 +17248,7 @@ module Google
16159
17248
 
16160
17249
  # Update properties of this object
16161
17250
  def update!(**args)
17251
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
16162
17252
  @struct_data = args[:struct_data] if args.key?(:struct_data)
16163
17253
  @title = args[:title] if args.key?(:title)
16164
17254
  @uri = args[:uri] if args.key?(:uri)
@@ -23796,6 +24886,17 @@ module Google
23796
24886
  class GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
23797
24887
  include Google::Apis::Core::Hashable
23798
24888
 
24889
+ # Optional. Controls behavior of how extracted filters are applied to the search.
24890
+ # The default behavior depends on the request. For single datastore structured
24891
+ # search, the default is `HARD_FILTER`. For multi-datastore search, the default
24892
+ # behavior is `SOFT_BOOST`. Location-based filters are always applied as hard
24893
+ # filters, and the `SOFT_BOOST` setting will not affect them. This field is only
24894
+ # used if SearchRequest.natural_language_query_understanding_spec.
24895
+ # filter_extraction_condition is set to FilterExtractionCondition.ENABLED.
24896
+ # Corresponds to the JSON property `extractedFilterBehavior`
24897
+ # @return [String]
24898
+ attr_accessor :extracted_filter_behavior
24899
+
23799
24900
  # The condition under which filter extraction should occur. Server behavior
23800
24901
  # defaults to `DISABLED`.
23801
24902
  # Corresponds to the JSON property `filterExtractionCondition`
@@ -23817,6 +24918,7 @@ module Google
23817
24918
 
23818
24919
  # Update properties of this object
23819
24920
  def update!(**args)
24921
+ @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
23820
24922
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
23821
24923
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
23822
24924
  end