google-apis-discoveryengine_v1alpha 0.82.0 → 0.84.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,893 +22,6 @@ module Google
22
22
  module Apis
23
23
  module DiscoveryengineV1alpha
24
24
 
25
- # Extra information added to operations that support Scotty media requests.
26
- class ApiservingMediaRequestInfo
27
- include Google::Apis::Core::Hashable
28
-
29
- # The number of current bytes uploaded or downloaded.
30
- # Corresponds to the JSON property `currentBytes`
31
- # @return [Fixnum]
32
- attr_accessor :current_bytes
33
-
34
- # Data to be copied to backend requests. Custom data is returned to Scotty in
35
- # the agent_state field, which Scotty will then provide in subsequent upload
36
- # notifications.
37
- # Corresponds to the JSON property `customData`
38
- # @return [String]
39
- attr_accessor :custom_data
40
-
41
- # Set if the http request info is diff encoded. The value of this field is the
42
- # version number of the base revision. This is corresponding to Apiary's
43
- # mediaDiffObjectVersion (//depot/google3/java/com/google/api/server/media/
44
- # variable/DiffObjectVersionVariable.java). See go/esf-scotty-diff-upload for
45
- # more information.
46
- # Corresponds to the JSON property `diffObjectVersion`
47
- # @return [String]
48
- attr_accessor :diff_object_version
49
-
50
- # The existence of the final_status field indicates that this is the last call
51
- # to the agent for this request_id. http://google3/uploader/agent/scotty_agent.
52
- # proto?l=737&rcl=347601929
53
- # Corresponds to the JSON property `finalStatus`
54
- # @return [Fixnum]
55
- attr_accessor :final_status
56
-
57
- # The type of notification received from Scotty.
58
- # Corresponds to the JSON property `notificationType`
59
- # @return [String]
60
- attr_accessor :notification_type
61
-
62
- # The physical headers provided by RequestReceivedParameters in Scotty request.
63
- # type is uploader_service.KeyValuePairs.
64
- # Corresponds to the JSON property `physicalHeaders`
65
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
66
- # @return [String]
67
- attr_accessor :physical_headers
68
-
69
- # The Scotty request ID.
70
- # Corresponds to the JSON property `requestId`
71
- # @return [String]
72
- attr_accessor :request_id
73
-
74
- # The partition of the Scotty server handling this request. type is
75
- # uploader_service.RequestReceivedParamsServingInfo LINT.IfChange(
76
- # request_received_params_serving_info_annotations) LINT.ThenChange()
77
- # Corresponds to the JSON property `requestReceivedParamsServingInfo`
78
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
79
- # @return [String]
80
- attr_accessor :request_received_params_serving_info
81
-
82
- # The total size of the file.
83
- # Corresponds to the JSON property `totalBytes`
84
- # @return [Fixnum]
85
- attr_accessor :total_bytes
86
-
87
- # Whether the total bytes field contains an estimated data.
88
- # Corresponds to the JSON property `totalBytesIsEstimated`
89
- # @return [Boolean]
90
- attr_accessor :total_bytes_is_estimated
91
- alias_method :total_bytes_is_estimated?, :total_bytes_is_estimated
92
-
93
- def initialize(**args)
94
- update!(**args)
95
- end
96
-
97
- # Update properties of this object
98
- def update!(**args)
99
- @current_bytes = args[:current_bytes] if args.key?(:current_bytes)
100
- @custom_data = args[:custom_data] if args.key?(:custom_data)
101
- @diff_object_version = args[:diff_object_version] if args.key?(:diff_object_version)
102
- @final_status = args[:final_status] if args.key?(:final_status)
103
- @notification_type = args[:notification_type] if args.key?(:notification_type)
104
- @physical_headers = args[:physical_headers] if args.key?(:physical_headers)
105
- @request_id = args[:request_id] if args.key?(:request_id)
106
- @request_received_params_serving_info = args[:request_received_params_serving_info] if args.key?(:request_received_params_serving_info)
107
- @total_bytes = args[:total_bytes] if args.key?(:total_bytes)
108
- @total_bytes_is_estimated = args[:total_bytes_is_estimated] if args.key?(:total_bytes_is_estimated)
109
- end
110
- end
111
-
112
- # This message is for backends to pass their scotty media specific fields to ESF.
113
- # Backend will include this in their response message to ESF. Example:
114
- # ExportFile is an rpc defined for upload using scotty from ESF. rpc ExportFile(
115
- # ExportFileRequest) returns (ExportFileResponse) Message ExportFileResponse
116
- # will include apiserving.MediaResponseInfo to tell ESF about data like
117
- # dynamic_dropzone it needs to pass to Scotty. message ExportFileResponse `
118
- # optional gdata.Media blob = 1; optional apiserving.MediaResponseInfo
119
- # media_response_info = 2 `
120
- class ApiservingMediaResponseInfo
121
- include Google::Apis::Core::Hashable
122
-
123
- # Data to copy from backend response to the next backend requests. Custom data
124
- # is returned to Scotty in the agent_state field, which Scotty will then provide
125
- # in subsequent upload notifications.
126
- # Corresponds to the JSON property `customData`
127
- # @return [String]
128
- attr_accessor :custom_data
129
-
130
- # Specifies any transformation to be applied to data before persisting it or
131
- # retrieving from storage. E.g., encryption options for blobstore2. This should
132
- # be of the form uploader_service.DataStorageTransform.
133
- # Corresponds to the JSON property `dataStorageTransform`
134
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
135
- # @return [String]
136
- attr_accessor :data_storage_transform
137
-
138
- # For the first notification of a |diff_encoded| HttpRequestInfo, this is the
139
- # index of the blob mint that Scotty should use when writing the resulting blob.
140
- # This field is optional. It's not required ever, even if `
141
- # original_object_blob_mint_index` is set. In situations like that, we will use
142
- # the destination blob's mint for the destination blob and regular blob ACL
143
- # checks for the original object. Note: This field is only for use by Drive API
144
- # for diff uploads.
145
- # Corresponds to the JSON property `destinationBlobMintIndex`
146
- # @return [Fixnum]
147
- attr_accessor :destination_blob_mint_index
148
-
149
- # Specifies the Scotty Drop Target to use for uploads. If present in a media
150
- # response, Scotty does not upload to a standard drop zone. Instead, Scotty
151
- # saves the upload directly to the location specified in this drop target.
152
- # Unlike drop zones, the drop target is the final storage location for an upload.
153
- # So, the agent does not need to clone the blob at the end of the upload. The
154
- # agent is responsible for garbage collecting any orphaned blobs that may occur
155
- # due to aborted uploads. For more information, see the drop target design doc
156
- # here: http://goto/ScottyDropTarget This field will be preferred to
157
- # dynamicDropzone. If provided, the identified field in the response must be of
158
- # the type uploader.agent.DropTarget.
159
- # Corresponds to the JSON property `dynamicDropTarget`
160
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
161
- # @return [String]
162
- attr_accessor :dynamic_drop_target
163
-
164
- # Specifies the Scotty dropzone to use for uploads.
165
- # Corresponds to the JSON property `dynamicDropzone`
166
- # @return [String]
167
- attr_accessor :dynamic_dropzone
168
-
169
- # A reference to data stored on the filesystem, on GFS or in blobstore.
170
- # Corresponds to the JSON property `mediaForDiff`
171
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataMedia]
172
- attr_accessor :media_for_diff
173
-
174
- # For the first notification of a |diff_encoded| HttpRequestInfo, this is the
175
- # index of the blob mint that Scotty should use when reading the original blob.
176
- # This field is optional. It's not required ever, even if `
177
- # destination_blob_mint_index` is set. In situations like that, we will use the
178
- # destination blob's mint for the destination blob and regular blob ACL checks
179
- # for the original object. Note: This field is only for use by Drive API for
180
- # diff uploads.
181
- # Corresponds to the JSON property `originalObjectBlobMintIndex`
182
- # @return [Fixnum]
183
- attr_accessor :original_object_blob_mint_index
184
-
185
- # Request class to use for all Blobstore operations for this request.
186
- # Corresponds to the JSON property `requestClass`
187
- # @return [String]
188
- attr_accessor :request_class
189
-
190
- # Requester ID passed along to be recorded in the Scotty logs
191
- # Corresponds to the JSON property `scottyAgentUserId`
192
- # @return [Fixnum]
193
- attr_accessor :scotty_agent_user_id
194
-
195
- # Customer-specific data to be recorded in the Scotty logs type is
196
- # logs_proto_scotty.CustomerLog
197
- # Corresponds to the JSON property `scottyCustomerLog`
198
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
199
- # @return [String]
200
- attr_accessor :scotty_customer_log
201
-
202
- # Specifies the TrafficClass that Scotty should use for any RPCs to fetch the
203
- # response bytes. Will override the traffic class GTOS of the incoming http
204
- # request. This is a temporary field to facilitate whitelisting and
205
- # experimentation by the bigstore agent only. For instance, this does not apply
206
- # to RTMP reads. WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.
207
- # Corresponds to the JSON property `trafficClassField`
208
- # @return [String]
209
- attr_accessor :traffic_class_field
210
-
211
- # Tells Scotty to verify hashes on the agent's behalf by parsing out the X-Goog-
212
- # Hash header.
213
- # Corresponds to the JSON property `verifyHashFromHeader`
214
- # @return [Boolean]
215
- attr_accessor :verify_hash_from_header
216
- alias_method :verify_hash_from_header?, :verify_hash_from_header
217
-
218
- def initialize(**args)
219
- update!(**args)
220
- end
221
-
222
- # Update properties of this object
223
- def update!(**args)
224
- @custom_data = args[:custom_data] if args.key?(:custom_data)
225
- @data_storage_transform = args[:data_storage_transform] if args.key?(:data_storage_transform)
226
- @destination_blob_mint_index = args[:destination_blob_mint_index] if args.key?(:destination_blob_mint_index)
227
- @dynamic_drop_target = args[:dynamic_drop_target] if args.key?(:dynamic_drop_target)
228
- @dynamic_dropzone = args[:dynamic_dropzone] if args.key?(:dynamic_dropzone)
229
- @media_for_diff = args[:media_for_diff] if args.key?(:media_for_diff)
230
- @original_object_blob_mint_index = args[:original_object_blob_mint_index] if args.key?(:original_object_blob_mint_index)
231
- @request_class = args[:request_class] if args.key?(:request_class)
232
- @scotty_agent_user_id = args[:scotty_agent_user_id] if args.key?(:scotty_agent_user_id)
233
- @scotty_customer_log = args[:scotty_customer_log] if args.key?(:scotty_customer_log)
234
- @traffic_class_field = args[:traffic_class_field] if args.key?(:traffic_class_field)
235
- @verify_hash_from_header = args[:verify_hash_from_header] if args.key?(:verify_hash_from_header)
236
- end
237
- end
238
-
239
- # Information to read/write to blobstore2.
240
- class GdataBlobstore2Info
241
- include Google::Apis::Core::Hashable
242
-
243
- # The blob generation id.
244
- # Corresponds to the JSON property `blobGeneration`
245
- # @return [Fixnum]
246
- attr_accessor :blob_generation
247
-
248
- # The blob id, e.g., /blobstore/prod/playground/scotty
249
- # Corresponds to the JSON property `blobId`
250
- # @return [String]
251
- attr_accessor :blob_id
252
-
253
- # Read handle passed from Bigstore -> Scotty for a GCS download. This is a
254
- # signed, serialized blobstore2.ReadHandle proto which must never be set outside
255
- # of Bigstore, and is not applicable to non-GCS media downloads.
256
- # Corresponds to the JSON property `downloadReadHandle`
257
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
258
- # @return [String]
259
- attr_accessor :download_read_handle
260
-
261
- # The blob read token. Needed to read blobs that have not been replicated. Might
262
- # not be available until the final call.
263
- # Corresponds to the JSON property `readToken`
264
- # @return [String]
265
- attr_accessor :read_token
266
-
267
- # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a
268
- # signed, serialized blobstore2.BlobMetadataContainer proto which must never be
269
- # consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
270
- # Corresponds to the JSON property `uploadMetadataContainer`
271
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
272
- # @return [String]
273
- attr_accessor :upload_metadata_container
274
-
275
- def initialize(**args)
276
- update!(**args)
277
- end
278
-
279
- # Update properties of this object
280
- def update!(**args)
281
- @blob_generation = args[:blob_generation] if args.key?(:blob_generation)
282
- @blob_id = args[:blob_id] if args.key?(:blob_id)
283
- @download_read_handle = args[:download_read_handle] if args.key?(:download_read_handle)
284
- @read_token = args[:read_token] if args.key?(:read_token)
285
- @upload_metadata_container = args[:upload_metadata_container] if args.key?(:upload_metadata_container)
286
- end
287
- end
288
-
289
- # A sequence of media data references representing composite data. Introduced to
290
- # support Bigstore composite objects. For details, visit http://go/bigstore-
291
- # composites.
292
- class GdataCompositeMedia
293
- include Google::Apis::Core::Hashable
294
-
295
- # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be
296
- # the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating
297
- # v1, use blobstore2_info instead. For now, any v2 blob will also be represented
298
- # in this field as v1 BlobRef.
299
- # Corresponds to the JSON property `blobRef`
300
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
301
- # @return [String]
302
- attr_accessor :blob_ref
303
-
304
- # Information to read/write to blobstore2.
305
- # Corresponds to the JSON property `blobstore2Info`
306
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataBlobstore2Info]
307
- attr_accessor :blobstore2_info
308
-
309
- # A binary data reference for a media download. Serves as a technology-agnostic
310
- # binary reference in some Google infrastructure. This value is a serialized
311
- # storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get
312
- # around the fact that the cosmo proto (as well as others it includes) doesn't
313
- # support JavaScript. This prevents us from including the actual type of this
314
- # field.
315
- # Corresponds to the JSON property `cosmoBinaryReference`
316
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
317
- # @return [String]
318
- attr_accessor :cosmo_binary_reference
319
-
320
- # crc32.c hash for the payload.
321
- # Corresponds to the JSON property `crc32cHash`
322
- # @return [Fixnum]
323
- attr_accessor :crc32c_hash
324
-
325
- # Media data, set if reference_type is INLINE
326
- # Corresponds to the JSON property `inline`
327
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
328
- # @return [String]
329
- attr_accessor :inline
330
-
331
- # Size of the data, in bytes
332
- # Corresponds to the JSON property `length`
333
- # @return [Fixnum]
334
- attr_accessor :length
335
-
336
- # MD5 hash for the payload.
337
- # Corresponds to the JSON property `md5Hash`
338
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
339
- # @return [String]
340
- attr_accessor :md5_hash
341
-
342
- # This is a copy of the tech.blob.ObjectId proto, which could not be used
343
- # directly here due to transitive closure issues with JavaScript support; see
344
- # http://b/8801763.
345
- # Corresponds to the JSON property `objectId`
346
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataObjectId]
347
- attr_accessor :object_id_prop
348
-
349
- # Path to the data, set if reference_type is PATH
350
- # Corresponds to the JSON property `path`
351
- # @return [String]
352
- attr_accessor :path
353
-
354
- # Describes what the field reference contains.
355
- # Corresponds to the JSON property `referenceType`
356
- # @return [String]
357
- attr_accessor :reference_type
358
-
359
- # SHA-1 hash for the payload.
360
- # Corresponds to the JSON property `sha1Hash`
361
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
362
- # @return [String]
363
- attr_accessor :sha1_hash
364
-
365
- def initialize(**args)
366
- update!(**args)
367
- end
368
-
369
- # Update properties of this object
370
- def update!(**args)
371
- @blob_ref = args[:blob_ref] if args.key?(:blob_ref)
372
- @blobstore2_info = args[:blobstore2_info] if args.key?(:blobstore2_info)
373
- @cosmo_binary_reference = args[:cosmo_binary_reference] if args.key?(:cosmo_binary_reference)
374
- @crc32c_hash = args[:crc32c_hash] if args.key?(:crc32c_hash)
375
- @inline = args[:inline] if args.key?(:inline)
376
- @length = args[:length] if args.key?(:length)
377
- @md5_hash = args[:md5_hash] if args.key?(:md5_hash)
378
- @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
379
- @path = args[:path] if args.key?(:path)
380
- @reference_type = args[:reference_type] if args.key?(:reference_type)
381
- @sha1_hash = args[:sha1_hash] if args.key?(:sha1_hash)
382
- end
383
- end
384
-
385
- # Detailed Content-Type information from Scotty. The Content-Type of the media
386
- # will typically be filled in by the header or Scotty's best_guess, but this
387
- # extended information provides the backend with more information so that it can
388
- # make a better decision if needed. This is only used on media upload requests
389
- # from Scotty.
390
- class GdataContentTypeInfo
391
- include Google::Apis::Core::Hashable
392
-
393
- # Scotty's best guess of what the content type of the file is.
394
- # Corresponds to the JSON property `bestGuess`
395
- # @return [String]
396
- attr_accessor :best_guess
397
-
398
- # The content type of the file derived by looking at specific bytes (i.e. "magic
399
- # bytes") of the actual file.
400
- # Corresponds to the JSON property `fromBytes`
401
- # @return [String]
402
- attr_accessor :from_bytes
403
-
404
- # The content type of the file derived from the file extension of the original
405
- # file name used by the client.
406
- # Corresponds to the JSON property `fromFileName`
407
- # @return [String]
408
- attr_accessor :from_file_name
409
-
410
- # The content type of the file as specified in the request headers, multipart
411
- # headers, or RUPIO start request.
412
- # Corresponds to the JSON property `fromHeader`
413
- # @return [String]
414
- attr_accessor :from_header
415
-
416
- # The content type of the file derived from the file extension of the URL path.
417
- # The URL path is assumed to represent a file name (which is typically only true
418
- # for agents that are providing a REST API).
419
- # Corresponds to the JSON property `fromUrlPath`
420
- # @return [String]
421
- attr_accessor :from_url_path
422
-
423
- def initialize(**args)
424
- update!(**args)
425
- end
426
-
427
- # Update properties of this object
428
- def update!(**args)
429
- @best_guess = args[:best_guess] if args.key?(:best_guess)
430
- @from_bytes = args[:from_bytes] if args.key?(:from_bytes)
431
- @from_file_name = args[:from_file_name] if args.key?(:from_file_name)
432
- @from_header = args[:from_header] if args.key?(:from_header)
433
- @from_url_path = args[:from_url_path] if args.key?(:from_url_path)
434
- end
435
- end
436
-
437
- # Backend response for a Diff get checksums response. For details on the Scotty
438
- # Diff protocol, visit http://go/scotty-diff-protocol.
439
- class GdataDiffChecksumsResponse
440
- include Google::Apis::Core::Hashable
441
-
442
- # A sequence of media data references representing composite data. Introduced to
443
- # support Bigstore composite objects. For details, visit http://go/bigstore-
444
- # composites.
445
- # Corresponds to the JSON property `checksumsLocation`
446
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataCompositeMedia]
447
- attr_accessor :checksums_location
448
-
449
- # The chunk size of checksums. Must be a multiple of 256KB.
450
- # Corresponds to the JSON property `chunkSizeBytes`
451
- # @return [Fixnum]
452
- attr_accessor :chunk_size_bytes
453
-
454
- # A sequence of media data references representing composite data. Introduced to
455
- # support Bigstore composite objects. For details, visit http://go/bigstore-
456
- # composites.
457
- # Corresponds to the JSON property `objectLocation`
458
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataCompositeMedia]
459
- attr_accessor :object_location
460
-
461
- # The total size of the server object.
462
- # Corresponds to the JSON property `objectSizeBytes`
463
- # @return [Fixnum]
464
- attr_accessor :object_size_bytes
465
-
466
- # The object version of the object the checksums are being returned for.
467
- # Corresponds to the JSON property `objectVersion`
468
- # @return [String]
469
- attr_accessor :object_version
470
-
471
- def initialize(**args)
472
- update!(**args)
473
- end
474
-
475
- # Update properties of this object
476
- def update!(**args)
477
- @checksums_location = args[:checksums_location] if args.key?(:checksums_location)
478
- @chunk_size_bytes = args[:chunk_size_bytes] if args.key?(:chunk_size_bytes)
479
- @object_location = args[:object_location] if args.key?(:object_location)
480
- @object_size_bytes = args[:object_size_bytes] if args.key?(:object_size_bytes)
481
- @object_version = args[:object_version] if args.key?(:object_version)
482
- end
483
- end
484
-
485
- # Backend response for a Diff download response. For details on the Scotty Diff
486
- # protocol, visit http://go/scotty-diff-protocol.
487
- class GdataDiffDownloadResponse
488
- include Google::Apis::Core::Hashable
489
-
490
- # A sequence of media data references representing composite data. Introduced to
491
- # support Bigstore composite objects. For details, visit http://go/bigstore-
492
- # composites.
493
- # Corresponds to the JSON property `objectLocation`
494
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataCompositeMedia]
495
- attr_accessor :object_location
496
-
497
- def initialize(**args)
498
- update!(**args)
499
- end
500
-
501
- # Update properties of this object
502
- def update!(**args)
503
- @object_location = args[:object_location] if args.key?(:object_location)
504
- end
505
- end
506
-
507
- # A Diff upload request. For details on the Scotty Diff protocol, visit http://
508
- # go/scotty-diff-protocol.
509
- class GdataDiffUploadRequest
510
- include Google::Apis::Core::Hashable
511
-
512
- # A sequence of media data references representing composite data. Introduced to
513
- # support Bigstore composite objects. For details, visit http://go/bigstore-
514
- # composites.
515
- # Corresponds to the JSON property `checksumsInfo`
516
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataCompositeMedia]
517
- attr_accessor :checksums_info
518
-
519
- # A sequence of media data references representing composite data. Introduced to
520
- # support Bigstore composite objects. For details, visit http://go/bigstore-
521
- # composites.
522
- # Corresponds to the JSON property `objectInfo`
523
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataCompositeMedia]
524
- attr_accessor :object_info
525
-
526
- # The object version of the object that is the base version the incoming diff
527
- # script will be applied to. This field will always be filled in.
528
- # Corresponds to the JSON property `objectVersion`
529
- # @return [String]
530
- attr_accessor :object_version
531
-
532
- def initialize(**args)
533
- update!(**args)
534
- end
535
-
536
- # Update properties of this object
537
- def update!(**args)
538
- @checksums_info = args[:checksums_info] if args.key?(:checksums_info)
539
- @object_info = args[:object_info] if args.key?(:object_info)
540
- @object_version = args[:object_version] if args.key?(:object_version)
541
- end
542
- end
543
-
544
- # Backend response for a Diff upload request. For details on the Scotty Diff
545
- # protocol, visit http://go/scotty-diff-protocol.
546
- class GdataDiffUploadResponse
547
- include Google::Apis::Core::Hashable
548
-
549
- # The object version of the object at the server. Must be included in the end
550
- # notification response. The version in the end notification response must
551
- # correspond to the new version of the object that is now stored at the server,
552
- # after the upload.
553
- # Corresponds to the JSON property `objectVersion`
554
- # @return [String]
555
- attr_accessor :object_version
556
-
557
- # A sequence of media data references representing composite data. Introduced to
558
- # support Bigstore composite objects. For details, visit http://go/bigstore-
559
- # composites.
560
- # Corresponds to the JSON property `originalObject`
561
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataCompositeMedia]
562
- attr_accessor :original_object
563
-
564
- def initialize(**args)
565
- update!(**args)
566
- end
567
-
568
- # Update properties of this object
569
- def update!(**args)
570
- @object_version = args[:object_version] if args.key?(:object_version)
571
- @original_object = args[:original_object] if args.key?(:original_object)
572
- end
573
- end
574
-
575
- # Backend response for a Diff get version response. For details on the Scotty
576
- # Diff protocol, visit http://go/scotty-diff-protocol.
577
- class GdataDiffVersionResponse
578
- include Google::Apis::Core::Hashable
579
-
580
- # The total size of the server object.
581
- # Corresponds to the JSON property `objectSizeBytes`
582
- # @return [Fixnum]
583
- attr_accessor :object_size_bytes
584
-
585
- # The version of the object stored at the server.
586
- # Corresponds to the JSON property `objectVersion`
587
- # @return [String]
588
- attr_accessor :object_version
589
-
590
- def initialize(**args)
591
- update!(**args)
592
- end
593
-
594
- # Update properties of this object
595
- def update!(**args)
596
- @object_size_bytes = args[:object_size_bytes] if args.key?(:object_size_bytes)
597
- @object_version = args[:object_version] if args.key?(:object_version)
598
- end
599
- end
600
-
601
- # Parameters specific to media downloads.
602
- class GdataDownloadParameters
603
- include Google::Apis::Core::Hashable
604
-
605
- # A boolean to be returned in the response to Scotty. Allows/disallows gzip
606
- # encoding of the payload content when the server thinks it's advantageous (
607
- # hence, does not guarantee compression) which allows Scotty to GZip the
608
- # response to the client.
609
- # Corresponds to the JSON property `allowGzipCompression`
610
- # @return [Boolean]
611
- attr_accessor :allow_gzip_compression
612
- alias_method :allow_gzip_compression?, :allow_gzip_compression
613
-
614
- # Determining whether or not Apiary should skip the inclusion of any Content-
615
- # Range header on its response to Scotty.
616
- # Corresponds to the JSON property `ignoreRange`
617
- # @return [Boolean]
618
- attr_accessor :ignore_range
619
- alias_method :ignore_range?, :ignore_range
620
-
621
- def initialize(**args)
622
- update!(**args)
623
- end
624
-
625
- # Update properties of this object
626
- def update!(**args)
627
- @allow_gzip_compression = args[:allow_gzip_compression] if args.key?(:allow_gzip_compression)
628
- @ignore_range = args[:ignore_range] if args.key?(:ignore_range)
629
- end
630
- end
631
-
632
- # A reference to data stored on the filesystem, on GFS or in blobstore.
633
- class GdataMedia
634
- include Google::Apis::Core::Hashable
635
-
636
- # Deprecated, use one of explicit hash type fields instead. Algorithm used for
637
- # calculating the hash. As of 2011/01/21, "MD5" is the only possible value for
638
- # this field. New values may be added at any time.
639
- # Corresponds to the JSON property `algorithm`
640
- # @return [String]
641
- attr_accessor :algorithm
642
-
643
- # Use object_id instead.
644
- # Corresponds to the JSON property `bigstoreObjectRef`
645
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
646
- # @return [String]
647
- attr_accessor :bigstore_object_ref
648
-
649
- # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be
650
- # the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating
651
- # v1, use blobstore2_info instead. For now, any v2 blob will also be represented
652
- # in this field as v1 BlobRef.
653
- # Corresponds to the JSON property `blobRef`
654
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
655
- # @return [String]
656
- attr_accessor :blob_ref
657
-
658
- # Information to read/write to blobstore2.
659
- # Corresponds to the JSON property `blobstore2Info`
660
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataBlobstore2Info]
661
- attr_accessor :blobstore2_info
662
-
663
- # A composite media composed of one or more media objects, set if reference_type
664
- # is COMPOSITE_MEDIA. The media length field must be set to the sum of the
665
- # lengths of all composite media objects. Note: All composite media must have
666
- # length specified.
667
- # Corresponds to the JSON property `compositeMedia`
668
- # @return [Array<Google::Apis::DiscoveryengineV1alpha::GdataCompositeMedia>]
669
- attr_accessor :composite_media
670
-
671
- # MIME type of the data
672
- # Corresponds to the JSON property `contentType`
673
- # @return [String]
674
- attr_accessor :content_type
675
-
676
- # Detailed Content-Type information from Scotty. The Content-Type of the media
677
- # will typically be filled in by the header or Scotty's best_guess, but this
678
- # extended information provides the backend with more information so that it can
679
- # make a better decision if needed. This is only used on media upload requests
680
- # from Scotty.
681
- # Corresponds to the JSON property `contentTypeInfo`
682
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataContentTypeInfo]
683
- attr_accessor :content_type_info
684
-
685
- # A binary data reference for a media download. Serves as a technology-agnostic
686
- # binary reference in some Google infrastructure. This value is a serialized
687
- # storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get
688
- # around the fact that the cosmo proto (as well as others it includes) doesn't
689
- # support JavaScript. This prevents us from including the actual type of this
690
- # field.
691
- # Corresponds to the JSON property `cosmoBinaryReference`
692
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
693
- # @return [String]
694
- attr_accessor :cosmo_binary_reference
695
-
696
- # For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (
697
- # WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided
698
- # by the agent to be used to verify the data being downloaded. Currently only
699
- # supported for inline payloads. Further, only crc32c_hash is currently
700
- # supported.
701
- # Corresponds to the JSON property `crc32cHash`
702
- # @return [Fixnum]
703
- attr_accessor :crc32c_hash
704
-
705
- # Backend response for a Diff get checksums response. For details on the Scotty
706
- # Diff protocol, visit http://go/scotty-diff-protocol.
707
- # Corresponds to the JSON property `diffChecksumsResponse`
708
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataDiffChecksumsResponse]
709
- attr_accessor :diff_checksums_response
710
-
711
- # Backend response for a Diff download response. For details on the Scotty Diff
712
- # protocol, visit http://go/scotty-diff-protocol.
713
- # Corresponds to the JSON property `diffDownloadResponse`
714
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataDiffDownloadResponse]
715
- attr_accessor :diff_download_response
716
-
717
- # A Diff upload request. For details on the Scotty Diff protocol, visit http://
718
- # go/scotty-diff-protocol.
719
- # Corresponds to the JSON property `diffUploadRequest`
720
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataDiffUploadRequest]
721
- attr_accessor :diff_upload_request
722
-
723
- # Backend response for a Diff upload request. For details on the Scotty Diff
724
- # protocol, visit http://go/scotty-diff-protocol.
725
- # Corresponds to the JSON property `diffUploadResponse`
726
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataDiffUploadResponse]
727
- attr_accessor :diff_upload_response
728
-
729
- # Backend response for a Diff get version response. For details on the Scotty
730
- # Diff protocol, visit http://go/scotty-diff-protocol.
731
- # Corresponds to the JSON property `diffVersionResponse`
732
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataDiffVersionResponse]
733
- attr_accessor :diff_version_response
734
-
735
- # Parameters specific to media downloads.
736
- # Corresponds to the JSON property `downloadParameters`
737
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataDownloadParameters]
738
- attr_accessor :download_parameters
739
-
740
- # Original file name
741
- # Corresponds to the JSON property `filename`
742
- # @return [String]
743
- attr_accessor :filename
744
-
745
- # Deprecated, use one of explicit hash type fields instead. These two hash
746
- # related fields will only be populated on Scotty based media uploads and will
747
- # contain the content of the hash group in the NotificationRequest: http://cs/#
748
- # google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash
749
- # Hex encoded hash value of the uploaded media.
750
- # Corresponds to the JSON property `hash`
751
- # @return [String]
752
- attr_accessor :hash_prop
753
-
754
- # For Scotty uploads only. If a user sends a hash code and the backend has
755
- # requested that Scotty verify the upload against the client hash, Scotty will
756
- # perform the check on behalf of the backend and will reject it if the hashes
757
- # don't match. This is set to true if Scotty performed this verification.
758
- # Corresponds to the JSON property `hashVerified`
759
- # @return [Boolean]
760
- attr_accessor :hash_verified
761
- alias_method :hash_verified?, :hash_verified
762
-
763
- # Media data, set if reference_type is INLINE
764
- # Corresponds to the JSON property `inline`
765
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
766
- # @return [String]
767
- attr_accessor :inline
768
-
769
- # |is_potential_retry| is set false only when Scotty is certain that it has not
770
- # sent the request before. When a client resumes an upload, this field must be
771
- # set true in agent calls, because Scotty cannot be certain that it has never
772
- # sent the request before due to potential failure in the session state
773
- # persistence.
774
- # Corresponds to the JSON property `isPotentialRetry`
775
- # @return [Boolean]
776
- attr_accessor :is_potential_retry
777
- alias_method :is_potential_retry?, :is_potential_retry
778
-
779
- # Size of the data, in bytes
780
- # Corresponds to the JSON property `length`
781
- # @return [Fixnum]
782
- attr_accessor :length
783
-
784
- # Scotty-provided MD5 hash for an upload.
785
- # Corresponds to the JSON property `md5Hash`
786
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
787
- # @return [String]
788
- attr_accessor :md5_hash
789
-
790
- # Media id to forward to the operation GetMedia. Can be set if reference_type is
791
- # GET_MEDIA.
792
- # Corresponds to the JSON property `mediaId`
793
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
794
- # @return [String]
795
- attr_accessor :media_id
796
-
797
- # This is a copy of the tech.blob.ObjectId proto, which could not be used
798
- # directly here due to transitive closure issues with JavaScript support; see
799
- # http://b/8801763.
800
- # Corresponds to the JSON property `objectId`
801
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataObjectId]
802
- attr_accessor :object_id_prop
803
-
804
- # Path to the data, set if reference_type is PATH
805
- # Corresponds to the JSON property `path`
806
- # @return [String]
807
- attr_accessor :path
808
-
809
- # Describes what the field reference contains.
810
- # Corresponds to the JSON property `referenceType`
811
- # @return [String]
812
- attr_accessor :reference_type
813
-
814
- # Scotty-provided SHA1 hash for an upload.
815
- # Corresponds to the JSON property `sha1Hash`
816
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
817
- # @return [String]
818
- attr_accessor :sha1_hash
819
-
820
- # Scotty-provided SHA256 hash for an upload.
821
- # Corresponds to the JSON property `sha256Hash`
822
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
823
- # @return [String]
824
- attr_accessor :sha256_hash
825
-
826
- # Time at which the media data was last updated, in milliseconds since UNIX
827
- # epoch
828
- # Corresponds to the JSON property `timestamp`
829
- # @return [Fixnum]
830
- attr_accessor :timestamp
831
-
832
- # A unique fingerprint/version id for the media data
833
- # Corresponds to the JSON property `token`
834
- # @return [String]
835
- attr_accessor :token
836
-
837
- def initialize(**args)
838
- update!(**args)
839
- end
840
-
841
- # Update properties of this object
842
- def update!(**args)
843
- @algorithm = args[:algorithm] if args.key?(:algorithm)
844
- @bigstore_object_ref = args[:bigstore_object_ref] if args.key?(:bigstore_object_ref)
845
- @blob_ref = args[:blob_ref] if args.key?(:blob_ref)
846
- @blobstore2_info = args[:blobstore2_info] if args.key?(:blobstore2_info)
847
- @composite_media = args[:composite_media] if args.key?(:composite_media)
848
- @content_type = args[:content_type] if args.key?(:content_type)
849
- @content_type_info = args[:content_type_info] if args.key?(:content_type_info)
850
- @cosmo_binary_reference = args[:cosmo_binary_reference] if args.key?(:cosmo_binary_reference)
851
- @crc32c_hash = args[:crc32c_hash] if args.key?(:crc32c_hash)
852
- @diff_checksums_response = args[:diff_checksums_response] if args.key?(:diff_checksums_response)
853
- @diff_download_response = args[:diff_download_response] if args.key?(:diff_download_response)
854
- @diff_upload_request = args[:diff_upload_request] if args.key?(:diff_upload_request)
855
- @diff_upload_response = args[:diff_upload_response] if args.key?(:diff_upload_response)
856
- @diff_version_response = args[:diff_version_response] if args.key?(:diff_version_response)
857
- @download_parameters = args[:download_parameters] if args.key?(:download_parameters)
858
- @filename = args[:filename] if args.key?(:filename)
859
- @hash_prop = args[:hash_prop] if args.key?(:hash_prop)
860
- @hash_verified = args[:hash_verified] if args.key?(:hash_verified)
861
- @inline = args[:inline] if args.key?(:inline)
862
- @is_potential_retry = args[:is_potential_retry] if args.key?(:is_potential_retry)
863
- @length = args[:length] if args.key?(:length)
864
- @md5_hash = args[:md5_hash] if args.key?(:md5_hash)
865
- @media_id = args[:media_id] if args.key?(:media_id)
866
- @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
867
- @path = args[:path] if args.key?(:path)
868
- @reference_type = args[:reference_type] if args.key?(:reference_type)
869
- @sha1_hash = args[:sha1_hash] if args.key?(:sha1_hash)
870
- @sha256_hash = args[:sha256_hash] if args.key?(:sha256_hash)
871
- @timestamp = args[:timestamp] if args.key?(:timestamp)
872
- @token = args[:token] if args.key?(:token)
873
- end
874
- end
875
-
876
- # This is a copy of the tech.blob.ObjectId proto, which could not be used
877
- # directly here due to transitive closure issues with JavaScript support; see
878
- # http://b/8801763.
879
- class GdataObjectId
880
- include Google::Apis::Core::Hashable
881
-
882
- # The name of the bucket to which this object belongs.
883
- # Corresponds to the JSON property `bucketName`
884
- # @return [String]
885
- attr_accessor :bucket_name
886
-
887
- # Generation of the object. Generations are monotonically increasing across
888
- # writes, allowing them to be be compared to determine which generation is newer.
889
- # If this is omitted in a request, then you are requesting the live object. See
890
- # http://go/bigstore-versions
891
- # Corresponds to the JSON property `generation`
892
- # @return [Fixnum]
893
- attr_accessor :generation
894
-
895
- # The name of the object.
896
- # Corresponds to the JSON property `objectName`
897
- # @return [String]
898
- attr_accessor :object_name
899
-
900
- def initialize(**args)
901
- update!(**args)
902
- end
903
-
904
- # Update properties of this object
905
- def update!(**args)
906
- @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
907
- @generation = args[:generation] if args.key?(:generation)
908
- @object_name = args[:object_name] if args.key?(:object_name)
909
- end
910
- end
911
-
912
25
  # `Distribution` contains summary statistics for a population of values. It
913
26
  # optionally contains a histogram representing the distribution of those values
914
27
  # across a set of buckets. The summary statistics are the count, mean, sum of
@@ -1890,6 +1003,18 @@ module Google
1890
1003
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1AssistantCustomerPolicy]
1891
1004
  attr_accessor :customer_policy
1892
1005
 
1006
+ # Optional. Description for additional information. Expected to be shown on the
1007
+ # configuration UI, not to the users of the assistant.
1008
+ # Corresponds to the JSON property `description`
1009
+ # @return [String]
1010
+ attr_accessor :description
1011
+
1012
+ # Required. The assistant display name. It must be a UTF-8 encoded string with a
1013
+ # length limit of 128 characters.
1014
+ # Corresponds to the JSON property `displayName`
1015
+ # @return [String]
1016
+ attr_accessor :display_name
1017
+
1893
1018
  # Optional. Note: not implemented yet. Use enabled_actions instead. The enabled
1894
1019
  # tools on this assistant. The keys are connector name, for example "projects/`
1895
1020
  # projectId`/locations/`locationId`/collections/`collectionId`/dataconnector The
@@ -1927,6 +1052,8 @@ module Google
1927
1052
  # Update properties of this object
1928
1053
  def update!(**args)
1929
1054
  @customer_policy = args[:customer_policy] if args.key?(:customer_policy)
1055
+ @description = args[:description] if args.key?(:description)
1056
+ @display_name = args[:display_name] if args.key?(:display_name)
1930
1057
  @enabled_tools = args[:enabled_tools] if args.key?(:enabled_tools)
1931
1058
  @generation_config = args[:generation_config] if args.key?(:generation_config)
1932
1059
  @name = args[:name] if args.key?(:name)
@@ -2037,6 +1164,11 @@ module Google
2037
1164
  class GoogleCloudDiscoveryengineV1AssistantGenerationConfig
2038
1165
  include Google::Apis::Core::Hashable
2039
1166
 
1167
+ # Optional. The list of models that are allowed to be used for assistant.
1168
+ # Corresponds to the JSON property `allowedModelIds`
1169
+ # @return [Array<String>]
1170
+ attr_accessor :allowed_model_ids
1171
+
2040
1172
  # The default language to use for the generation of the assistant response. Use
2041
1173
  # an ISO 639-1 language code such as `en`. If not specified, the language will
2042
1174
  # be automatically detected.
@@ -2044,6 +1176,11 @@ module Google
2044
1176
  # @return [String]
2045
1177
  attr_accessor :default_language
2046
1178
 
1179
+ # Optional. The default model to use for assistant.
1180
+ # Corresponds to the JSON property `defaultModelId`
1181
+ # @return [String]
1182
+ attr_accessor :default_model_id
1183
+
2047
1184
  # System instruction, also known as the prompt preamble for LLM calls.
2048
1185
  # Corresponds to the JSON property `systemInstruction`
2049
1186
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1AssistantGenerationConfigSystemInstruction]
@@ -2055,7 +1192,9 @@ module Google
2055
1192
 
2056
1193
  # Update properties of this object
2057
1194
  def update!(**args)
1195
+ @allowed_model_ids = args[:allowed_model_ids] if args.key?(:allowed_model_ids)
2058
1196
  @default_language = args[:default_language] if args.key?(:default_language)
1197
+ @default_model_id = args[:default_model_id] if args.key?(:default_model_id)
2059
1198
  @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
2060
1199
  end
2061
1200
  end
@@ -4148,6 +3287,12 @@ module Google
4148
3287
  attr_accessor :enable_image_annotation
4149
3288
  alias_method :enable_image_annotation?, :enable_image_annotation
4150
3289
 
3290
+ # Optional. If true, the pdf layout will be refined using an LLM.
3291
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
3292
+ # @return [Boolean]
3293
+ attr_accessor :enable_llm_layout_parsing
3294
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
3295
+
4151
3296
  # Optional. If true, the LLM based annotation is added to the table during
4152
3297
  # parsing.
4153
3298
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -4184,6 +3329,7 @@ module Google
4184
3329
  def update!(**args)
4185
3330
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
4186
3331
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
3332
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
4187
3333
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
4188
3334
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
4189
3335
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -4283,6 +3429,11 @@ module Google
4283
3429
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1EngineChatEngineMetadata]
4284
3430
  attr_accessor :chat_engine_metadata
4285
3431
 
3432
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
3433
+ # Corresponds to the JSON property `cmekConfig`
3434
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1CmekConfig]
3435
+ attr_accessor :cmek_config
3436
+
4286
3437
  # Common configurations for an Engine.
4287
3438
  # Corresponds to the JSON property `commonConfig`
4288
3439
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1EngineCommonConfig]
@@ -4344,6 +3495,17 @@ module Google
4344
3495
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfig]
4345
3496
  attr_accessor :media_recommendation_engine_config
4346
3497
 
3498
+ # Optional. Maps a model name to its specific configuration for this engine.
3499
+ # This allows admin users to turn on/off individual models. This only stores
3500
+ # models whose states are overridden by the admin. When the state is unspecified,
3501
+ # or model_configs is empty for this model, the system will decide if this
3502
+ # model should be available or not based on the default configuration. For
3503
+ # example, a preview model should be disabled by default if the admin has not
3504
+ # chosen to enable it.
3505
+ # Corresponds to the JSON property `modelConfigs`
3506
+ # @return [Hash<String,String>]
3507
+ attr_accessor :model_configs
3508
+
4347
3509
  # Immutable. Identifier. The fully qualified resource name of the engine. This
4348
3510
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
4349
3511
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -4377,6 +3539,7 @@ module Google
4377
3539
  @app_type = args[:app_type] if args.key?(:app_type)
4378
3540
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
4379
3541
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
3542
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
4380
3543
  @common_config = args[:common_config] if args.key?(:common_config)
4381
3544
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
4382
3545
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -4386,6 +3549,7 @@ module Google
4386
3549
  @features = args[:features] if args.key?(:features)
4387
3550
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
4388
3551
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
3552
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
4389
3553
  @name = args[:name] if args.key?(:name)
4390
3554
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
4391
3555
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -7637,6 +6801,11 @@ module Google
7637
6801
  # @return [String]
7638
6802
  attr_accessor :rejection_reason
7639
6803
 
6804
+ # Sharing related configuration.
6805
+ # Corresponds to the JSON property `sharingConfig`
6806
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentSharingConfig]
6807
+ attr_accessor :sharing_config
6808
+
7640
6809
  # Optional. The starter prompt suggestions to show the user on the landing page
7641
6810
  # of the agent.
7642
6811
  # Corresponds to the JSON property `starterPrompts`
@@ -7678,6 +6847,7 @@ module Google
7678
6847
  @language_code = args[:language_code] if args.key?(:language_code)
7679
6848
  @name = args[:name] if args.key?(:name)
7680
6849
  @rejection_reason = args[:rejection_reason] if args.key?(:rejection_reason)
6850
+ @sharing_config = args[:sharing_config] if args.key?(:sharing_config)
7681
6851
  @starter_prompts = args[:starter_prompts] if args.key?(:starter_prompts)
7682
6852
  @state = args[:state] if args.key?(:state)
7683
6853
  @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
@@ -7743,6 +6913,25 @@ module Google
7743
6913
  end
7744
6914
  end
7745
6915
 
6916
+ # Sharing related configuration.
6917
+ class GoogleCloudDiscoveryengineV1alphaAgentSharingConfig
6918
+ include Google::Apis::Core::Hashable
6919
+
6920
+ # Optional. The sharing scope of the agent.
6921
+ # Corresponds to the JSON property `scope`
6922
+ # @return [String]
6923
+ attr_accessor :scope
6924
+
6925
+ def initialize(**args)
6926
+ update!(**args)
6927
+ end
6928
+
6929
+ # Update properties of this object
6930
+ def update!(**args)
6931
+ @scope = args[:scope] if args.key?(:scope)
6932
+ end
6933
+ end
6934
+
7746
6935
  # The starter prompt suggestion to show the user on the landing page of the
7747
6936
  # agent.
7748
6937
  class GoogleCloudDiscoveryengineV1alphaAgentStarterPrompt
@@ -7763,6 +6952,204 @@ module Google
7763
6952
  end
7764
6953
  end
7765
6954
 
6955
+ # The data for displaying an Agent.
6956
+ class GoogleCloudDiscoveryengineV1alphaAgentView
6957
+ include Google::Apis::Core::Hashable
6958
+
6959
+ # Immutable. The origin of the Agent.
6960
+ # Corresponds to the JSON property `agentOrigin`
6961
+ # @return [String]
6962
+ attr_accessor :agent_origin
6963
+
6964
+ # Output only. The sharing state of the agent.
6965
+ # Corresponds to the JSON property `agentSharingState`
6966
+ # @return [String]
6967
+ attr_accessor :agent_sharing_state
6968
+
6969
+ # Output only. The type of the agent.
6970
+ # Corresponds to the JSON property `agentType`
6971
+ # @return [String]
6972
+ attr_accessor :agent_type
6973
+
6974
+ # The custom placeholder text that appears in the text box before the user
6975
+ # enters any text.
6976
+ # Corresponds to the JSON property `customPlaceholderText`
6977
+ # @return [String]
6978
+ attr_accessor :custom_placeholder_text
6979
+
6980
+ # The reason why the agent deployment failed. Only set if the state is
6981
+ # DEPLOYMENT_FAILED.
6982
+ # Corresponds to the JSON property `deploymentFailureReason`
6983
+ # @return [String]
6984
+ attr_accessor :deployment_failure_reason
6985
+
6986
+ # Required. Human-readable description of the agent. This might be used by an
6987
+ # LLM to automatically select an agent to respond to a user query and to
6988
+ # generate the first version of the steps for the agent that can be modified by
6989
+ # the user. The language of this is either Agent.language_code, or
6990
+ # ListAvailableAgentViewsRequest.language_code if translations are enabled.
6991
+ # Corresponds to the JSON property `description`
6992
+ # @return [String]
6993
+ attr_accessor :description
6994
+
6995
+ # Required. Display name of the agent. The language of this is either Agent.
6996
+ # language_code, or ListAvailableAgentViewsRequest.language_code if translations
6997
+ # are enabled.
6998
+ # Corresponds to the JSON property `displayName`
6999
+ # @return [String]
7000
+ attr_accessor :display_name
7001
+
7002
+ # Represents an image.
7003
+ # Corresponds to the JSON property `icon`
7004
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentImage]
7005
+ attr_accessor :icon
7006
+
7007
+ # Resource name of the agent. Format: `projects/`project`/locations/`location`/
7008
+ # collections/`collection`/engines/`engine`/assistants/`assistant`/agents/`agent`
7009
+ # `
7010
+ # Corresponds to the JSON property `name`
7011
+ # @return [String]
7012
+ attr_accessor :name
7013
+
7014
+ # The reason why the agent was rejected. Only set if the state is PRIVATE, and
7015
+ # got there via rejection.
7016
+ # Corresponds to the JSON property `rejectionReason`
7017
+ # @return [String]
7018
+ attr_accessor :rejection_reason
7019
+
7020
+ # Output only. The state of the Agent.
7021
+ # Corresponds to the JSON property `state`
7022
+ # @return [String]
7023
+ attr_accessor :state
7024
+
7025
+ # Optional. The suggested prompts for the agent, to be shown on the agent
7026
+ # landing page.
7027
+ # Corresponds to the JSON property `suggestedPrompts`
7028
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt>]
7029
+ attr_accessor :suggested_prompts
7030
+
7031
+ # The reason why the agent was suspended. Only set if the state is SUSPENDED.
7032
+ # Corresponds to the JSON property `suspensionReason`
7033
+ # @return [String]
7034
+ attr_accessor :suspension_reason
7035
+
7036
+ # Per-user annotations for an Agent, based on UserAnnotation.
7037
+ # Corresponds to the JSON property `userAnnotations`
7038
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaUserAnnotations]
7039
+ attr_accessor :user_annotations
7040
+
7041
+ # The permissions of the user on an Agent.
7042
+ # Corresponds to the JSON property `userPermissions`
7043
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions]
7044
+ attr_accessor :user_permissions
7045
+
7046
+ def initialize(**args)
7047
+ update!(**args)
7048
+ end
7049
+
7050
+ # Update properties of this object
7051
+ def update!(**args)
7052
+ @agent_origin = args[:agent_origin] if args.key?(:agent_origin)
7053
+ @agent_sharing_state = args[:agent_sharing_state] if args.key?(:agent_sharing_state)
7054
+ @agent_type = args[:agent_type] if args.key?(:agent_type)
7055
+ @custom_placeholder_text = args[:custom_placeholder_text] if args.key?(:custom_placeholder_text)
7056
+ @deployment_failure_reason = args[:deployment_failure_reason] if args.key?(:deployment_failure_reason)
7057
+ @description = args[:description] if args.key?(:description)
7058
+ @display_name = args[:display_name] if args.key?(:display_name)
7059
+ @icon = args[:icon] if args.key?(:icon)
7060
+ @name = args[:name] if args.key?(:name)
7061
+ @rejection_reason = args[:rejection_reason] if args.key?(:rejection_reason)
7062
+ @state = args[:state] if args.key?(:state)
7063
+ @suggested_prompts = args[:suggested_prompts] if args.key?(:suggested_prompts)
7064
+ @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
7065
+ @user_annotations = args[:user_annotations] if args.key?(:user_annotations)
7066
+ @user_permissions = args[:user_permissions] if args.key?(:user_permissions)
7067
+ end
7068
+ end
7069
+
7070
+ # A suggested prompt for the agent, to be shown on the agent landing page.
7071
+ class GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt
7072
+ include Google::Apis::Core::Hashable
7073
+
7074
+ # Required. The text of the suggested prompt. The language of this is either
7075
+ # Agent.language_code, or ListAvailableAgentViewsRequest.language_code if
7076
+ # translations are enabled.
7077
+ # Corresponds to the JSON property `text`
7078
+ # @return [String]
7079
+ attr_accessor :text
7080
+
7081
+ def initialize(**args)
7082
+ update!(**args)
7083
+ end
7084
+
7085
+ # Update properties of this object
7086
+ def update!(**args)
7087
+ @text = args[:text] if args.key?(:text)
7088
+ end
7089
+ end
7090
+
7091
+ # The permissions of the user on an Agent.
7092
+ class GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions
7093
+ include Google::Apis::Core::Hashable
7094
+
7095
+ # If the user can delete this Agent.
7096
+ # Corresponds to the JSON property `canDelete`
7097
+ # @return [Boolean]
7098
+ attr_accessor :can_delete
7099
+ alias_method :can_delete?, :can_delete
7100
+
7101
+ # If the user can edit this Agent.
7102
+ # Corresponds to the JSON property `canEdit`
7103
+ # @return [Boolean]
7104
+ attr_accessor :can_edit
7105
+ alias_method :can_edit?, :can_edit
7106
+
7107
+ # If the user can propose other users to share the Agent with.
7108
+ # Corresponds to the JSON property `canProposeUsers`
7109
+ # @return [Boolean]
7110
+ attr_accessor :can_propose_users
7111
+ alias_method :can_propose_users?, :can_propose_users
7112
+
7113
+ # If the user can request a review for this Agent.
7114
+ # Corresponds to the JSON property `canRequestReview`
7115
+ # @return [Boolean]
7116
+ attr_accessor :can_request_review
7117
+ alias_method :can_request_review?, :can_request_review
7118
+
7119
+ # If the user can run this Agent.
7120
+ # Corresponds to the JSON property `canRun`
7121
+ # @return [Boolean]
7122
+ attr_accessor :can_run
7123
+ alias_method :can_run?, :can_run
7124
+
7125
+ # If the user can view the source of this Agent.
7126
+ # Corresponds to the JSON property `canView`
7127
+ # @return [Boolean]
7128
+ attr_accessor :can_view
7129
+ alias_method :can_view?, :can_view
7130
+
7131
+ # If the user can withdraw this Agent.
7132
+ # Corresponds to the JSON property `canWithdraw`
7133
+ # @return [Boolean]
7134
+ attr_accessor :can_withdraw
7135
+ alias_method :can_withdraw?, :can_withdraw
7136
+
7137
+ def initialize(**args)
7138
+ update!(**args)
7139
+ end
7140
+
7141
+ # Update properties of this object
7142
+ def update!(**args)
7143
+ @can_delete = args[:can_delete] if args.key?(:can_delete)
7144
+ @can_edit = args[:can_edit] if args.key?(:can_edit)
7145
+ @can_propose_users = args[:can_propose_users] if args.key?(:can_propose_users)
7146
+ @can_request_review = args[:can_request_review] if args.key?(:can_request_review)
7147
+ @can_run = args[:can_run] if args.key?(:can_run)
7148
+ @can_view = args[:can_view] if args.key?(:can_view)
7149
+ @can_withdraw = args[:can_withdraw] if args.key?(:can_withdraw)
7150
+ end
7151
+ end
7152
+
7766
7153
  # The connector level alert config.
7767
7154
  class GoogleCloudDiscoveryengineV1alphaAlertPolicyConfig
7768
7155
  include Google::Apis::Core::Hashable
@@ -9930,6 +9317,18 @@ module Google
9930
9317
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAssistantCustomerPolicy]
9931
9318
  attr_accessor :customer_policy
9932
9319
 
9320
+ # Optional. Description for additional information. Expected to be shown on the
9321
+ # configuration UI, not to the users of the assistant.
9322
+ # Corresponds to the JSON property `description`
9323
+ # @return [String]
9324
+ attr_accessor :description
9325
+
9326
+ # Required. The assistant display name. It must be a UTF-8 encoded string with a
9327
+ # length limit of 128 characters.
9328
+ # Corresponds to the JSON property `displayName`
9329
+ # @return [String]
9330
+ attr_accessor :display_name
9331
+
9933
9332
  # Optional. Note: not implemented yet. Use enabled_actions instead. The enabled
9934
9333
  # tools on this assistant. The keys are connector name, for example "projects/`
9935
9334
  # projectId`/locations/`locationId`/collections/`collectionId`/dataconnector The
@@ -9967,6 +9366,8 @@ module Google
9967
9366
  # Update properties of this object
9968
9367
  def update!(**args)
9969
9368
  @customer_policy = args[:customer_policy] if args.key?(:customer_policy)
9369
+ @description = args[:description] if args.key?(:description)
9370
+ @display_name = args[:display_name] if args.key?(:display_name)
9970
9371
  @enabled_tools = args[:enabled_tools] if args.key?(:enabled_tools)
9971
9372
  @generation_config = args[:generation_config] if args.key?(:generation_config)
9972
9373
  @name = args[:name] if args.key?(:name)
@@ -10229,6 +9630,11 @@ module Google
10229
9630
  class GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfig
10230
9631
  include Google::Apis::Core::Hashable
10231
9632
 
9633
+ # Optional. The list of models that are allowed to be used for assistant.
9634
+ # Corresponds to the JSON property `allowedModelIds`
9635
+ # @return [Array<String>]
9636
+ attr_accessor :allowed_model_ids
9637
+
10232
9638
  # The default language to use for the generation of the assistant response. Use
10233
9639
  # an ISO 639-1 language code such as `en`. If not specified, the language will
10234
9640
  # be automatically detected.
@@ -10236,6 +9642,11 @@ module Google
10236
9642
  # @return [String]
10237
9643
  attr_accessor :default_language
10238
9644
 
9645
+ # Optional. The default model to use for assistant.
9646
+ # Corresponds to the JSON property `defaultModelId`
9647
+ # @return [String]
9648
+ attr_accessor :default_model_id
9649
+
10239
9650
  # System instruction, also known as the prompt preamble for LLM calls.
10240
9651
  # Corresponds to the JSON property `systemInstruction`
10241
9652
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAssistantGenerationConfigSystemInstruction]
@@ -10247,7 +9658,9 @@ module Google
10247
9658
 
10248
9659
  # Update properties of this object
10249
9660
  def update!(**args)
9661
+ @allowed_model_ids = args[:allowed_model_ids] if args.key?(:allowed_model_ids)
10250
9662
  @default_language = args[:default_language] if args.key?(:default_language)
9663
+ @default_model_id = args[:default_model_id] if args.key?(:default_model_id)
10251
9664
  @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
10252
9665
  end
10253
9666
  end
@@ -12569,97 +11982,6 @@ module Google
12569
11982
  end
12570
11983
  end
12571
11984
 
12572
- # Response for [EstimateBillingService.GetConfigurablePricingUsageStats] method.
12573
- class GoogleCloudDiscoveryengineV1alphaConfigurablePricingUsageStats
12574
- include Google::Apis::Core::Hashable
12575
-
12576
- # A list of metric usages, one for each requested resource type that has data in
12577
- # the requested time range.
12578
- # Corresponds to the JSON property `metricUsages`
12579
- # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaConfigurablePricingUsageStatsMetricUsage>]
12580
- attr_accessor :metric_usages
12581
-
12582
- # Identifier. The name of the ConfigurablePricingUsageStats. Format: projects/`
12583
- # project`/locations/`location`/configurablePricingUsageStats
12584
- # Corresponds to the JSON property `name`
12585
- # @return [String]
12586
- attr_accessor :name
12587
-
12588
- def initialize(**args)
12589
- update!(**args)
12590
- end
12591
-
12592
- # Update properties of this object
12593
- def update!(**args)
12594
- @metric_usages = args[:metric_usages] if args.key?(:metric_usages)
12595
- @name = args[:name] if args.key?(:name)
12596
- end
12597
- end
12598
-
12599
- # A list of usages for a specific day.
12600
- class GoogleCloudDiscoveryengineV1alphaConfigurablePricingUsageStatsDatedUsage
12601
- include Google::Apis::Core::Hashable
12602
-
12603
- # Represents a whole or partial calendar date, such as a birthday. The time of
12604
- # day and time zone are either specified elsewhere or are insignificant. The
12605
- # date is relative to the Gregorian Calendar. This can represent one of the
12606
- # following: * A full date, with non-zero year, month, and day values. * A month
12607
- # and day, with a zero year (for example, an anniversary). * A year on its own,
12608
- # with a zero month and a zero day. * A year and month, with a zero day (for
12609
- # example, a credit card expiration date). Related types: * google.type.
12610
- # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
12611
- # Corresponds to the JSON property `date`
12612
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleTypeDate]
12613
- attr_accessor :date
12614
-
12615
- # The usage value on the date.
12616
- # Corresponds to the JSON property `usage`
12617
- # @return [Float]
12618
- attr_accessor :usage
12619
-
12620
- def initialize(**args)
12621
- update!(**args)
12622
- end
12623
-
12624
- # Update properties of this object
12625
- def update!(**args)
12626
- @date = args[:date] if args.key?(:date)
12627
- @usage = args[:usage] if args.key?(:usage)
12628
- end
12629
- end
12630
-
12631
- # The usage of a metric over a list of days.
12632
- class GoogleCloudDiscoveryengineV1alphaConfigurablePricingUsageStatsMetricUsage
12633
- include Google::Apis::Core::Hashable
12634
-
12635
- # The list of usages for this resource type, chronologically sorted by date.
12636
- # This is populated for metrics with daily aggregation like DAILY_MDN_QPM.
12637
- # Corresponds to the JSON property `datedUsages`
12638
- # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaConfigurablePricingUsageStatsDatedUsage>]
12639
- attr_accessor :dated_usages
12640
-
12641
- # The metric type.
12642
- # Corresponds to the JSON property `metricType`
12643
- # @return [String]
12644
- attr_accessor :metric_type
12645
-
12646
- # The list of total usages for this resource type
12647
- # Corresponds to the JSON property `totalUsages`
12648
- # @return [Array<Float>]
12649
- attr_accessor :total_usages
12650
-
12651
- def initialize(**args)
12652
- update!(**args)
12653
- end
12654
-
12655
- # Update properties of this object
12656
- def update!(**args)
12657
- @dated_usages = args[:dated_usages] if args.key?(:dated_usages)
12658
- @metric_type = args[:metric_type] if args.key?(:metric_type)
12659
- @total_usages = args[:total_usages] if args.key?(:total_usages)
12660
- end
12661
- end
12662
-
12663
11985
  # A data sync run of DataConnector. After DataConnector is successfully
12664
11986
  # initialized, data syncs are scheduled at DataConnector.refresh_interval. A
12665
11987
  # ConnectorRun represents a data sync either in the past or onging that the
@@ -15508,6 +14830,12 @@ module Google
15508
14830
  attr_accessor :enable_image_annotation
15509
14831
  alias_method :enable_image_annotation?, :enable_image_annotation
15510
14832
 
14833
+ # Optional. If true, the pdf layout will be refined using an LLM.
14834
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
14835
+ # @return [Boolean]
14836
+ attr_accessor :enable_llm_layout_parsing
14837
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
14838
+
15511
14839
  # Optional. If true, the LLM based annotation is added to the table during
15512
14840
  # parsing.
15513
14841
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -15544,6 +14872,7 @@ module Google
15544
14872
  def update!(**args)
15545
14873
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
15546
14874
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
14875
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
15547
14876
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
15548
14877
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
15549
14878
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -15694,6 +15023,11 @@ module Google
15694
15023
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata]
15695
15024
  attr_accessor :chat_engine_metadata
15696
15025
 
15026
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
15027
+ # Corresponds to the JSON property `cmekConfig`
15028
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaCmekConfig]
15029
+ attr_accessor :cmek_config
15030
+
15697
15031
  # Common configurations for an Engine.
15698
15032
  # Corresponds to the JSON property `commonConfig`
15699
15033
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEngineCommonConfig]
@@ -15755,6 +15089,17 @@ module Google
15755
15089
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig]
15756
15090
  attr_accessor :media_recommendation_engine_config
15757
15091
 
15092
+ # Optional. Maps a model name to its specific configuration for this engine.
15093
+ # This allows admin users to turn on/off individual models. This only stores
15094
+ # models whose states are overridden by the admin. When the state is unspecified,
15095
+ # or model_configs is empty for this model, the system will decide if this
15096
+ # model should be available or not based on the default configuration. For
15097
+ # example, a preview model should be disabled by default if the admin has not
15098
+ # chosen to enable it.
15099
+ # Corresponds to the JSON property `modelConfigs`
15100
+ # @return [Hash<String,String>]
15101
+ attr_accessor :model_configs
15102
+
15758
15103
  # Immutable. Identifier. The fully qualified resource name of the engine. This
15759
15104
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
15760
15105
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -15798,6 +15143,7 @@ module Google
15798
15143
  @app_type = args[:app_type] if args.key?(:app_type)
15799
15144
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
15800
15145
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
15146
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
15801
15147
  @common_config = args[:common_config] if args.key?(:common_config)
15802
15148
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
15803
15149
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -15807,6 +15153,7 @@ module Google
15807
15153
  @features = args[:features] if args.key?(:features)
15808
15154
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
15809
15155
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
15156
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
15810
15157
  @name = args[:name] if args.key?(:name)
15811
15158
  @recommendation_metadata = args[:recommendation_metadata] if args.key?(:recommendation_metadata)
15812
15159
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
@@ -17120,6 +16467,25 @@ module Google
17120
16467
  end
17121
16468
  end
17122
16469
 
16470
+ # Response message for the AgentService.GetAgentView method.
16471
+ class GoogleCloudDiscoveryengineV1alphaGetAgentViewResponse
16472
+ include Google::Apis::Core::Hashable
16473
+
16474
+ # The data for displaying an Agent.
16475
+ # Corresponds to the JSON property `agentView`
16476
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentView]
16477
+ attr_accessor :agent_view
16478
+
16479
+ def initialize(**args)
16480
+ update!(**args)
16481
+ end
16482
+
16483
+ # Update properties of this object
16484
+ def update!(**args)
16485
+ @agent_view = args[:agent_view] if args.key?(:agent_view)
16486
+ end
16487
+ end
16488
+
17123
16489
  # Response message for DataConnectorService.GetConnectorSecret.
17124
16490
  class GoogleCloudDiscoveryengineV1alphaGetConnectorSecretResponse
17125
16491
  include Google::Apis::Core::Hashable
@@ -18560,6 +17926,31 @@ module Google
18560
17926
  end
18561
17927
  end
18562
17928
 
17929
+ # Stats about users' licenses.
17930
+ class GoogleCloudDiscoveryengineV1alphaLicenseConfigUsageStats
17931
+ include Google::Apis::Core::Hashable
17932
+
17933
+ # Required. The LicenseConfig name.
17934
+ # Corresponds to the JSON property `licenseConfig`
17935
+ # @return [String]
17936
+ attr_accessor :license_config
17937
+
17938
+ # Required. The number of licenses used.
17939
+ # Corresponds to the JSON property `usedLicenseCount`
17940
+ # @return [Fixnum]
17941
+ attr_accessor :used_license_count
17942
+
17943
+ def initialize(**args)
17944
+ update!(**args)
17945
+ end
17946
+
17947
+ # Update properties of this object
17948
+ def update!(**args)
17949
+ @license_config = args[:license_config] if args.key?(:license_config)
17950
+ @used_license_count = args[:used_license_count] if args.key?(:used_license_count)
17951
+ end
17952
+ end
17953
+
18563
17954
  # Response message for the AgentService.ListAgents method.
18564
17955
  class GoogleCloudDiscoveryengineV1alphaListAgentsResponse
18565
17956
  include Google::Apis::Core::Hashable
@@ -18586,6 +17977,32 @@ module Google
18586
17977
  end
18587
17978
  end
18588
17979
 
17980
+ # Response message for the AssistantService.ListAssistants method.
17981
+ class GoogleCloudDiscoveryengineV1alphaListAssistantsResponse
17982
+ include Google::Apis::Core::Hashable
17983
+
17984
+ # All the customer's Assistants.
17985
+ # Corresponds to the JSON property `assistants`
17986
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAssistant>]
17987
+ attr_accessor :assistants
17988
+
17989
+ # A token that can be sent as ListAssistantsRequest.page_token to retrieve the
17990
+ # next page. If this field is omitted, there are no subsequent pages.
17991
+ # Corresponds to the JSON property `nextPageToken`
17992
+ # @return [String]
17993
+ attr_accessor :next_page_token
17994
+
17995
+ def initialize(**args)
17996
+ update!(**args)
17997
+ end
17998
+
17999
+ # Update properties of this object
18000
+ def update!(**args)
18001
+ @assistants = args[:assistants] if args.key?(:assistants)
18002
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18003
+ end
18004
+ end
18005
+
18589
18006
  # Response message for the AuthorizationService.ListAuthorizations method.
18590
18007
  class GoogleCloudDiscoveryengineV1alphaListAuthorizationsResponse
18591
18008
  include Google::Apis::Core::Hashable
@@ -18612,6 +18029,33 @@ module Google
18612
18029
  end
18613
18030
  end
18614
18031
 
18032
+ # Response message for the AgentService.ListAvailableAgentViews method.
18033
+ class GoogleCloudDiscoveryengineV1alphaListAvailableAgentViewsResponse
18034
+ include Google::Apis::Core::Hashable
18035
+
18036
+ # The agent sources visible to the caller under the parent Assistant.
18037
+ # Corresponds to the JSON property `agentViews`
18038
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentView>]
18039
+ attr_accessor :agent_views
18040
+
18041
+ # A token that can be sent as ListAvailableAgentViewsRequest.page_token to
18042
+ # retrieve the next page. If this field is omitted, there are no subsequent
18043
+ # pages.
18044
+ # Corresponds to the JSON property `nextPageToken`
18045
+ # @return [String]
18046
+ attr_accessor :next_page_token
18047
+
18048
+ def initialize(**args)
18049
+ update!(**args)
18050
+ end
18051
+
18052
+ # Update properties of this object
18053
+ def update!(**args)
18054
+ @agent_views = args[:agent_views] if args.key?(:agent_views)
18055
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18056
+ end
18057
+ end
18058
+
18615
18059
  # Response message for LicenseConfigService.ListBillingAccountLicenseConfigs
18616
18060
  # method.
18617
18061
  class GoogleCloudDiscoveryengineV1alphaListBillingAccountLicenseConfigsResponse
@@ -19085,6 +18529,25 @@ module Google
19085
18529
  end
19086
18530
  end
19087
18531
 
18532
+ # Response message for UserLicenseService.ListLicenseConfigUsageStats method.
18533
+ class GoogleCloudDiscoveryengineV1alphaListLicenseConfigsUsageStatsResponse
18534
+ include Google::Apis::Core::Hashable
18535
+
18536
+ # All the customer's LicenseConfigUsageStats.
18537
+ # Corresponds to the JSON property `licenseConfigUsageStats`
18538
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaLicenseConfigUsageStats>]
18539
+ attr_accessor :license_config_usage_stats
18540
+
18541
+ def initialize(**args)
18542
+ update!(**args)
18543
+ end
18544
+
18545
+ # Update properties of this object
18546
+ def update!(**args)
18547
+ @license_config_usage_stats = args[:license_config_usage_stats] if args.key?(:license_config_usage_stats)
18548
+ end
18549
+ end
18550
+
19088
18551
  # Response message for SampleQueryService.ListSampleQueries method.
19089
18552
  class GoogleCloudDiscoveryengineV1alphaListSampleQueriesResponse
19090
18553
  include Google::Apis::Core::Hashable
@@ -20540,6 +20003,91 @@ module Google
20540
20003
  end
20541
20004
  end
20542
20005
 
20006
+ # Response for [ProjectService.QueryConfigurablePricingUsageStats] method.
20007
+ class GoogleCloudDiscoveryengineV1alphaQueryConfigurablePricingUsageStatsResponse
20008
+ include Google::Apis::Core::Hashable
20009
+
20010
+ # A list of metric usages, one for each requested resource type that has data in
20011
+ # the requested time range.
20012
+ # Corresponds to the JSON property `metricUsages`
20013
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQueryConfigurablePricingUsageStatsResponseMetricUsage>]
20014
+ attr_accessor :metric_usages
20015
+
20016
+ def initialize(**args)
20017
+ update!(**args)
20018
+ end
20019
+
20020
+ # Update properties of this object
20021
+ def update!(**args)
20022
+ @metric_usages = args[:metric_usages] if args.key?(:metric_usages)
20023
+ end
20024
+ end
20025
+
20026
+ # A list of usages for a specific day.
20027
+ class GoogleCloudDiscoveryengineV1alphaQueryConfigurablePricingUsageStatsResponseDatedUsage
20028
+ include Google::Apis::Core::Hashable
20029
+
20030
+ # Represents a whole or partial calendar date, such as a birthday. The time of
20031
+ # day and time zone are either specified elsewhere or are insignificant. The
20032
+ # date is relative to the Gregorian Calendar. This can represent one of the
20033
+ # following: * A full date, with non-zero year, month, and day values. * A month
20034
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
20035
+ # with a zero month and a zero day. * A year and month, with a zero day (for
20036
+ # example, a credit card expiration date). Related types: * google.type.
20037
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
20038
+ # Corresponds to the JSON property `date`
20039
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleTypeDate]
20040
+ attr_accessor :date
20041
+
20042
+ # The usage value on the date.
20043
+ # Corresponds to the JSON property `usage`
20044
+ # @return [Float]
20045
+ attr_accessor :usage
20046
+
20047
+ def initialize(**args)
20048
+ update!(**args)
20049
+ end
20050
+
20051
+ # Update properties of this object
20052
+ def update!(**args)
20053
+ @date = args[:date] if args.key?(:date)
20054
+ @usage = args[:usage] if args.key?(:usage)
20055
+ end
20056
+ end
20057
+
20058
+ # The usage of a metric over a list of days.
20059
+ class GoogleCloudDiscoveryengineV1alphaQueryConfigurablePricingUsageStatsResponseMetricUsage
20060
+ include Google::Apis::Core::Hashable
20061
+
20062
+ # The list of usages for this resource type, chronologically sorted by date.
20063
+ # This is populated for metrics with daily aggregation like DAILY_MDN_QPM.
20064
+ # Corresponds to the JSON property `datedUsages`
20065
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQueryConfigurablePricingUsageStatsResponseDatedUsage>]
20066
+ attr_accessor :dated_usages
20067
+
20068
+ # The metric type.
20069
+ # Corresponds to the JSON property `metricType`
20070
+ # @return [String]
20071
+ attr_accessor :metric_type
20072
+
20073
+ # The total usage for this resource type. This is populated for metrics like
20074
+ # TOTAL_STORAGE.
20075
+ # Corresponds to the JSON property `totalUsage`
20076
+ # @return [Float]
20077
+ attr_accessor :total_usage
20078
+
20079
+ def initialize(**args)
20080
+ update!(**args)
20081
+ end
20082
+
20083
+ # Update properties of this object
20084
+ def update!(**args)
20085
+ @dated_usages = args[:dated_usages] if args.key?(:dated_usages)
20086
+ @metric_type = args[:metric_type] if args.key?(:metric_type)
20087
+ @total_usage = args[:total_usage] if args.key?(:total_usage)
20088
+ end
20089
+ end
20090
+
20543
20091
  # Request message for RankService.Rank method.
20544
20092
  class GoogleCloudDiscoveryengineV1alphaRankRequest
20545
20093
  include Google::Apis::Core::Hashable
@@ -21951,6 +21499,18 @@ module Google
21951
21499
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec]
21952
21500
  attr_accessor :content_search_spec
21953
21501
 
21502
+ # Optional. Crowding specifications for improving result diversity. If multiple
21503
+ # CrowdingSpecs are specified, crowding will be evaluated on each unique
21504
+ # combination of the `field` values, and max_count will be the maximum value of `
21505
+ # max_count` across all CrowdingSpecs. For example, if the first CrowdingSpec
21506
+ # has `field` = "color" and `max_count` = 3, and the second CrowdingSpec has `
21507
+ # field` = "size" and `max_count` = 2, then after 3 documents that share the
21508
+ # same color AND size have been returned, subsequent ones should be removed or
21509
+ # demoted.
21510
+ # Corresponds to the JSON property `crowdingSpecs`
21511
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestCrowdingSpec>]
21512
+ attr_accessor :crowding_specs
21513
+
21954
21514
  # Defines custom fine tuning spec.
21955
21515
  # Corresponds to the JSON property `customFineTuningSpec`
21956
21516
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec]
@@ -22043,6 +21603,20 @@ module Google
22043
21603
  # @return [String]
22044
21604
  attr_accessor :order_by
22045
21605
 
21606
+ # Optional. The categories associated with a category page. Must be set for
21607
+ # category navigation queries to achieve good search quality. The format should
21608
+ # be the same as UserEvent.PageInfo.page_category. This field is the equivalent
21609
+ # of the query for browse (navigation) queries. It's used by the browse model
21610
+ # when the query is empty. If the field is empty, it will not be used by the
21611
+ # browse model. To represent full path of a category, use '>' character to
21612
+ # separate different hierarchies. If '>' is part of the category name, replace
21613
+ # it with other character(s). For example, `Graphics Cards > RTX>4090 > Founders
21614
+ # Edition` where "RTX > 4090" represents one level, can be rewritten as `
21615
+ # Graphics Cards > RTX_4090 > Founders Edition`
21616
+ # Corresponds to the JSON property `pageCategories`
21617
+ # @return [Array<String>]
21618
+ attr_accessor :page_categories
21619
+
22046
21620
  # Maximum number of Documents to return. The maximum allowed value depends on
22047
21621
  # the data type. Values above the maximum value are coerced to the maximum value.
22048
21622
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -22275,6 +21849,7 @@ module Google
22275
21849
  @branch = args[:branch] if args.key?(:branch)
22276
21850
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
22277
21851
  @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
21852
+ @crowding_specs = args[:crowding_specs] if args.key?(:crowding_specs)
22278
21853
  @custom_fine_tuning_spec = args[:custom_fine_tuning_spec] if args.key?(:custom_fine_tuning_spec)
22279
21854
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
22280
21855
  @display_spec = args[:display_spec] if args.key?(:display_spec)
@@ -22287,6 +21862,7 @@ module Google
22287
21862
  @offset = args[:offset] if args.key?(:offset)
22288
21863
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
22289
21864
  @order_by = args[:order_by] if args.key?(:order_by)
21865
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
22290
21866
  @page_size = args[:page_size] if args.key?(:page_size)
22291
21867
  @page_token = args[:page_token] if args.key?(:page_token)
22292
21868
  @params = args[:params] if args.key?(:params)
@@ -22827,6 +22403,45 @@ module Google
22827
22403
  end
22828
22404
  end
22829
22405
 
22406
+ # Specification for crowding. Crowding improves the diversity of search results
22407
+ # by limiting the number of results that share the same field value. For example,
22408
+ # crowding on the color field with a max_count of 3 and mode
22409
+ # DROP_CROWDED_RESULTS will return at most 3 results with the same color across
22410
+ # all pages.
22411
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestCrowdingSpec
22412
+ include Google::Apis::Core::Hashable
22413
+
22414
+ # The field to use for crowding. Documents can be crowded by a field in the
22415
+ # Document object. Crowding field is case sensitive.
22416
+ # Corresponds to the JSON property `field`
22417
+ # @return [String]
22418
+ attr_accessor :field
22419
+
22420
+ # The maximum number of documents to keep per value of the field. Once there are
22421
+ # at least max_count previous results which contain the same value for the given
22422
+ # field (according to the order specified in `order_by`), later results with the
22423
+ # same value are "crowded away". If not specified, the default value is 1.
22424
+ # Corresponds to the JSON property `maxCount`
22425
+ # @return [Fixnum]
22426
+ attr_accessor :max_count
22427
+
22428
+ # Mode to use for documents that are crowded away.
22429
+ # Corresponds to the JSON property `mode`
22430
+ # @return [String]
22431
+ attr_accessor :mode
22432
+
22433
+ def initialize(**args)
22434
+ update!(**args)
22435
+ end
22436
+
22437
+ # Update properties of this object
22438
+ def update!(**args)
22439
+ @field = args[:field] if args.key?(:field)
22440
+ @max_count = args[:max_count] if args.key?(:max_count)
22441
+ @mode = args[:mode] if args.key?(:mode)
22442
+ end
22443
+ end
22444
+
22830
22445
  # A struct to define data stores to filter on in a search call and
22831
22446
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
22832
22447
  # is returned.
@@ -25447,6 +25062,11 @@ module Google
25447
25062
  # @return [String]
25448
25063
  attr_accessor :assist_token
25449
25064
 
25065
+ # The tool names of the tools that were invoked.
25066
+ # Corresponds to the JSON property `invocationTools`
25067
+ # @return [Array<String>]
25068
+ attr_accessor :invocation_tools
25069
+
25450
25070
  # Information about the session.
25451
25071
  # Corresponds to the JSON property `sessionInfo`
25452
25072
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaStreamAssistResponseSessionInfo]
@@ -25460,6 +25080,7 @@ module Google
25460
25080
  def update!(**args)
25461
25081
  @answer = args[:answer] if args.key?(:answer)
25462
25082
  @assist_token = args[:assist_token] if args.key?(:assist_token)
25083
+ @invocation_tools = args[:invocation_tools] if args.key?(:invocation_tools)
25463
25084
  @session_info = args[:session_info] if args.key?(:session_info)
25464
25085
  end
25465
25086
  end
@@ -26104,108 +25725,22 @@ module Google
26104
25725
  end
26105
25726
  end
26106
25727
 
26107
- # Request message for the AgentService.UploadAgentFile method.
26108
- class GoogleCloudDiscoveryengineV1alphaUploadAgentFileRequest
26109
- include Google::Apis::Core::Hashable
26110
-
26111
- # A reference to data stored on the filesystem, on GFS or in blobstore.
26112
- # Corresponds to the JSON property `blob`
26113
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataMedia]
26114
- attr_accessor :blob
26115
-
26116
- # Extra information added to operations that support Scotty media requests.
26117
- # Corresponds to the JSON property `mediaRequestInfo`
26118
- # @return [Google::Apis::DiscoveryengineV1alpha::ApiservingMediaRequestInfo]
26119
- attr_accessor :media_request_info
26120
-
26121
- def initialize(**args)
26122
- update!(**args)
26123
- end
26124
-
26125
- # Update properties of this object
26126
- def update!(**args)
26127
- @blob = args[:blob] if args.key?(:blob)
26128
- @media_request_info = args[:media_request_info] if args.key?(:media_request_info)
26129
- end
26130
- end
26131
-
26132
- # Response message for the AgentService.UploadAgentFile method.
26133
- class GoogleCloudDiscoveryengineV1alphaUploadAgentFileResponse
26134
- include Google::Apis::Core::Hashable
26135
-
26136
- # Describes a file used internally by an agent as a context on each invocation.
26137
- # Corresponds to the JSON property `agentFile`
26138
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentFile]
26139
- attr_accessor :agent_file
26140
-
26141
- # This message is for backends to pass their scotty media specific fields to ESF.
26142
- # Backend will include this in their response message to ESF. Example:
26143
- # ExportFile is an rpc defined for upload using scotty from ESF. rpc ExportFile(
26144
- # ExportFileRequest) returns (ExportFileResponse) Message ExportFileResponse
26145
- # will include apiserving.MediaResponseInfo to tell ESF about data like
26146
- # dynamic_dropzone it needs to pass to Scotty. message ExportFileResponse `
26147
- # optional gdata.Media blob = 1; optional apiserving.MediaResponseInfo
26148
- # media_response_info = 2 `
26149
- # Corresponds to the JSON property `mediaResponseInfo`
26150
- # @return [Google::Apis::DiscoveryengineV1alpha::ApiservingMediaResponseInfo]
26151
- attr_accessor :media_response_info
26152
-
26153
- def initialize(**args)
26154
- update!(**args)
26155
- end
26156
-
26157
- # Update properties of this object
26158
- def update!(**args)
26159
- @agent_file = args[:agent_file] if args.key?(:agent_file)
26160
- @media_response_info = args[:media_response_info] if args.key?(:media_response_info)
26161
- end
26162
- end
26163
-
26164
- # Request for the AssistantService.UploadSessionFile method.
26165
- class GoogleCloudDiscoveryengineV1alphaUploadSessionFileRequest
26166
- include Google::Apis::Core::Hashable
26167
-
26168
- # A reference to data stored on the filesystem, on GFS or in blobstore.
26169
- # Corresponds to the JSON property `blob`
26170
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataMedia]
26171
- attr_accessor :blob
26172
-
26173
- # Extra information added to operations that support Scotty media requests.
26174
- # Corresponds to the JSON property `mediaRequestInfo`
26175
- # @return [Google::Apis::DiscoveryengineV1alpha::ApiservingMediaRequestInfo]
26176
- attr_accessor :media_request_info
26177
-
26178
- def initialize(**args)
26179
- update!(**args)
26180
- end
26181
-
26182
- # Update properties of this object
26183
- def update!(**args)
26184
- @blob = args[:blob] if args.key?(:blob)
26185
- @media_request_info = args[:media_request_info] if args.key?(:media_request_info)
26186
- end
26187
- end
26188
-
26189
- # Response for the AssistantService.UploadSessionFile method.
26190
- class GoogleCloudDiscoveryengineV1alphaUploadSessionFileResponse
25728
+ # Per-user annotations for an Agent, based on UserAnnotation.
25729
+ class GoogleCloudDiscoveryengineV1alphaUserAnnotations
26191
25730
  include Google::Apis::Core::Hashable
26192
25731
 
26193
- # The ID of the uploaded file.
26194
- # Corresponds to the JSON property `fileId`
26195
- # @return [String]
26196
- attr_accessor :file_id
25732
+ # Optional. Whether the agent is pinned, pinned agent will be displayed on the
25733
+ # top of the agent list.
25734
+ # Corresponds to the JSON property `pinned`
25735
+ # @return [Boolean]
25736
+ attr_accessor :pinned
25737
+ alias_method :pinned?, :pinned
26197
25738
 
26198
- # This message is for backends to pass their scotty media specific fields to ESF.
26199
- # Backend will include this in their response message to ESF. Example:
26200
- # ExportFile is an rpc defined for upload using scotty from ESF. rpc ExportFile(
26201
- # ExportFileRequest) returns (ExportFileResponse) Message ExportFileResponse
26202
- # will include apiserving.MediaResponseInfo to tell ESF about data like
26203
- # dynamic_dropzone it needs to pass to Scotty. message ExportFileResponse `
26204
- # optional gdata.Media blob = 1; optional apiserving.MediaResponseInfo
26205
- # media_response_info = 2 `
26206
- # Corresponds to the JSON property `mediaResponseInfo`
26207
- # @return [Google::Apis::DiscoveryengineV1alpha::ApiservingMediaResponseInfo]
26208
- attr_accessor :media_response_info
25739
+ # Optional. Whether the agent has been viewed by the user.
25740
+ # Corresponds to the JSON property `viewed`
25741
+ # @return [Boolean]
25742
+ attr_accessor :viewed
25743
+ alias_method :viewed?, :viewed
26209
25744
 
26210
25745
  def initialize(**args)
26211
25746
  update!(**args)
@@ -26213,8 +25748,8 @@ module Google
26213
25748
 
26214
25749
  # Update properties of this object
26215
25750
  def update!(**args)
26216
- @file_id = args[:file_id] if args.key?(:file_id)
26217
- @media_response_info = args[:media_response_info] if args.key?(:media_response_info)
25751
+ @pinned = args[:pinned] if args.key?(:pinned)
25752
+ @viewed = args[:viewed] if args.key?(:viewed)
26218
25753
  end
26219
25754
  end
26220
25755
 
@@ -27462,6 +26997,17 @@ module Google
27462
26997
  # @return [String]
27463
26998
  attr_accessor :interaction_type
27464
26999
 
27000
+ # Output only. Maps a model name to its specific configuration for this engine.
27001
+ # This allows admin users to turn on/off individual models. This only stores
27002
+ # models whose states are overridden by the admin. When the state is unspecified,
27003
+ # or model_configs is empty for this model, the system will decide if this
27004
+ # model should be available or not based on the default configuration. For
27005
+ # example, a preview model should be disabled by default if the admin has not
27006
+ # chosen to enable it.
27007
+ # Corresponds to the JSON property `modelConfigs`
27008
+ # @return [Hash<String,String>]
27009
+ attr_accessor :model_configs
27010
+
27465
27011
  # Controls whether result extract is display and how (snippet or extractive
27466
27012
  # answer). Default to no result if unspecified.
27467
27013
  # Corresponds to the JSON property `resultDescriptionType`
@@ -27493,6 +27039,7 @@ module Google
27493
27039
  @features = args[:features] if args.key?(:features)
27494
27040
  @generative_answer_config = args[:generative_answer_config] if args.key?(:generative_answer_config)
27495
27041
  @interaction_type = args[:interaction_type] if args.key?(:interaction_type)
27042
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
27496
27043
  @result_description_type = args[:result_description_type] if args.key?(:result_description_type)
27497
27044
  @search_addon_spec = args[:search_addon_spec] if args.key?(:search_addon_spec)
27498
27045
  end
@@ -29147,6 +28694,12 @@ module Google
29147
28694
  attr_accessor :enable_image_annotation
29148
28695
  alias_method :enable_image_annotation?, :enable_image_annotation
29149
28696
 
28697
+ # Optional. If true, the pdf layout will be refined using an LLM.
28698
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
28699
+ # @return [Boolean]
28700
+ attr_accessor :enable_llm_layout_parsing
28701
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
28702
+
29150
28703
  # Optional. If true, the LLM based annotation is added to the table during
29151
28704
  # parsing.
29152
28705
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -29183,6 +28736,7 @@ module Google
29183
28736
  def update!(**args)
29184
28737
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
29185
28738
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
28739
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
29186
28740
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
29187
28741
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
29188
28742
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -29282,6 +28836,11 @@ module Google
29282
28836
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata]
29283
28837
  attr_accessor :chat_engine_metadata
29284
28838
 
28839
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
28840
+ # Corresponds to the JSON property `cmekConfig`
28841
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaCmekConfig]
28842
+ attr_accessor :cmek_config
28843
+
29285
28844
  # Common configurations for an Engine.
29286
28845
  # Corresponds to the JSON property `commonConfig`
29287
28846
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEngineCommonConfig]
@@ -29343,6 +28902,17 @@ module Google
29343
28902
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfig]
29344
28903
  attr_accessor :media_recommendation_engine_config
29345
28904
 
28905
+ # Optional. Maps a model name to its specific configuration for this engine.
28906
+ # This allows admin users to turn on/off individual models. This only stores
28907
+ # models whose states are overridden by the admin. When the state is unspecified,
28908
+ # or model_configs is empty for this model, the system will decide if this
28909
+ # model should be available or not based on the default configuration. For
28910
+ # example, a preview model should be disabled by default if the admin has not
28911
+ # chosen to enable it.
28912
+ # Corresponds to the JSON property `modelConfigs`
28913
+ # @return [Hash<String,String>]
28914
+ attr_accessor :model_configs
28915
+
29346
28916
  # Immutable. Identifier. The fully qualified resource name of the engine. This
29347
28917
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
29348
28918
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -29376,6 +28946,7 @@ module Google
29376
28946
  @app_type = args[:app_type] if args.key?(:app_type)
29377
28947
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
29378
28948
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
28949
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
29379
28950
  @common_config = args[:common_config] if args.key?(:common_config)
29380
28951
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
29381
28952
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -29385,6 +28956,7 @@ module Google
29385
28956
  @features = args[:features] if args.key?(:features)
29386
28957
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
29387
28958
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
28959
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
29388
28960
  @name = args[:name] if args.key?(:name)
29389
28961
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
29390
28962
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -31209,6 +30781,18 @@ module Google
31209
30781
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec]
31210
30782
  attr_accessor :content_search_spec
31211
30783
 
30784
+ # Optional. Crowding specifications for improving result diversity. If multiple
30785
+ # CrowdingSpecs are specified, crowding will be evaluated on each unique
30786
+ # combination of the `field` values, and max_count will be the maximum value of `
30787
+ # max_count` across all CrowdingSpecs. For example, if the first CrowdingSpec
30788
+ # has `field` = "color" and `max_count` = 3, and the second CrowdingSpec has `
30789
+ # field` = "size" and `max_count` = 2, then after 3 documents that share the
30790
+ # same color AND size have been returned, subsequent ones should be removed or
30791
+ # demoted.
30792
+ # Corresponds to the JSON property `crowdingSpecs`
30793
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestCrowdingSpec>]
30794
+ attr_accessor :crowding_specs
30795
+
31212
30796
  # Specifications that define the specific DataStores to be searched, along with
31213
30797
  # configurations for those data stores. This is only considered for Engines with
31214
30798
  # multiple data stores. For engines with a single data store, the specs directly
@@ -31296,6 +30880,20 @@ module Google
31296
30880
  # @return [String]
31297
30881
  attr_accessor :order_by
31298
30882
 
30883
+ # Optional. The categories associated with a category page. Must be set for
30884
+ # category navigation queries to achieve good search quality. The format should
30885
+ # be the same as UserEvent.PageInfo.page_category. This field is the equivalent
30886
+ # of the query for browse (navigation) queries. It's used by the browse model
30887
+ # when the query is empty. If the field is empty, it will not be used by the
30888
+ # browse model. To represent full path of a category, use '>' character to
30889
+ # separate different hierarchies. If '>' is part of the category name, replace
30890
+ # it with other character(s). For example, `Graphics Cards > RTX>4090 > Founders
30891
+ # Edition` where "RTX > 4090" represents one level, can be rewritten as `
30892
+ # Graphics Cards > RTX_4090 > Founders Edition`
30893
+ # Corresponds to the JSON property `pageCategories`
30894
+ # @return [Array<String>]
30895
+ attr_accessor :page_categories
30896
+
31299
30897
  # Maximum number of Documents to return. The maximum allowed value depends on
31300
30898
  # the data type. Values above the maximum value are coerced to the maximum value.
31301
30899
  # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
@@ -31519,6 +31117,7 @@ module Google
31519
31117
  @branch = args[:branch] if args.key?(:branch)
31520
31118
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
31521
31119
  @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
31120
+ @crowding_specs = args[:crowding_specs] if args.key?(:crowding_specs)
31522
31121
  @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
31523
31122
  @display_spec = args[:display_spec] if args.key?(:display_spec)
31524
31123
  @embedding_spec = args[:embedding_spec] if args.key?(:embedding_spec)
@@ -31530,6 +31129,7 @@ module Google
31530
31129
  @offset = args[:offset] if args.key?(:offset)
31531
31130
  @one_box_page_size = args[:one_box_page_size] if args.key?(:one_box_page_size)
31532
31131
  @order_by = args[:order_by] if args.key?(:order_by)
31132
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
31533
31133
  @page_size = args[:page_size] if args.key?(:page_size)
31534
31134
  @page_token = args[:page_token] if args.key?(:page_token)
31535
31135
  @params = args[:params] if args.key?(:params)
@@ -32069,6 +31669,45 @@ module Google
32069
31669
  end
32070
31670
  end
32071
31671
 
31672
+ # Specification for crowding. Crowding improves the diversity of search results
31673
+ # by limiting the number of results that share the same field value. For example,
31674
+ # crowding on the color field with a max_count of 3 and mode
31675
+ # DROP_CROWDED_RESULTS will return at most 3 results with the same color across
31676
+ # all pages.
31677
+ class GoogleCloudDiscoveryengineV1betaSearchRequestCrowdingSpec
31678
+ include Google::Apis::Core::Hashable
31679
+
31680
+ # The field to use for crowding. Documents can be crowded by a field in the
31681
+ # Document object. Crowding field is case sensitive.
31682
+ # Corresponds to the JSON property `field`
31683
+ # @return [String]
31684
+ attr_accessor :field
31685
+
31686
+ # The maximum number of documents to keep per value of the field. Once there are
31687
+ # at least max_count previous results which contain the same value for the given
31688
+ # field (according to the order specified in `order_by`), later results with the
31689
+ # same value are "crowded away". If not specified, the default value is 1.
31690
+ # Corresponds to the JSON property `maxCount`
31691
+ # @return [Fixnum]
31692
+ attr_accessor :max_count
31693
+
31694
+ # Mode to use for documents that are crowded away.
31695
+ # Corresponds to the JSON property `mode`
31696
+ # @return [String]
31697
+ attr_accessor :mode
31698
+
31699
+ def initialize(**args)
31700
+ update!(**args)
31701
+ end
31702
+
31703
+ # Update properties of this object
31704
+ def update!(**args)
31705
+ @field = args[:field] if args.key?(:field)
31706
+ @max_count = args[:max_count] if args.key?(:max_count)
31707
+ @mode = args[:mode] if args.key?(:mode)
31708
+ end
31709
+ end
31710
+
32072
31711
  # A struct to define data stores to filter on in a search call and
32073
31712
  # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
32074
31713
  # is returned.
@@ -34155,70 +33794,6 @@ module Google
34155
33794
  end
34156
33795
  end
34157
33796
 
34158
- # Request for the SourceService.UploadSourceFile method.
34159
- class GoogleCloudNotebooklmV1alphaUploadSourceFileRequest
34160
- include Google::Apis::Core::Hashable
34161
-
34162
- # A reference to data stored on the filesystem, on GFS or in blobstore.
34163
- # Corresponds to the JSON property `blob`
34164
- # @return [Google::Apis::DiscoveryengineV1alpha::GdataMedia]
34165
- attr_accessor :blob
34166
-
34167
- # Extra information added to operations that support Scotty media requests.
34168
- # Corresponds to the JSON property `mediaRequestInfo`
34169
- # @return [Google::Apis::DiscoveryengineV1alpha::ApiservingMediaRequestInfo]
34170
- attr_accessor :media_request_info
34171
-
34172
- # The source id of the associated file. If not set, a source id will be
34173
- # generated and a new tentative source will be created.
34174
- # Corresponds to the JSON property `sourceId`
34175
- # @return [String]
34176
- attr_accessor :source_id
34177
-
34178
- def initialize(**args)
34179
- update!(**args)
34180
- end
34181
-
34182
- # Update properties of this object
34183
- def update!(**args)
34184
- @blob = args[:blob] if args.key?(:blob)
34185
- @media_request_info = args[:media_request_info] if args.key?(:media_request_info)
34186
- @source_id = args[:source_id] if args.key?(:source_id)
34187
- end
34188
- end
34189
-
34190
- # Response for the SourceService.UploadSourceFile method.
34191
- class GoogleCloudNotebooklmV1alphaUploadSourceFileResponse
34192
- include Google::Apis::Core::Hashable
34193
-
34194
- # This message is for backends to pass their scotty media specific fields to ESF.
34195
- # Backend will include this in their response message to ESF. Example:
34196
- # ExportFile is an rpc defined for upload using scotty from ESF. rpc ExportFile(
34197
- # ExportFileRequest) returns (ExportFileResponse) Message ExportFileResponse
34198
- # will include apiserving.MediaResponseInfo to tell ESF about data like
34199
- # dynamic_dropzone it needs to pass to Scotty. message ExportFileResponse `
34200
- # optional gdata.Media blob = 1; optional apiserving.MediaResponseInfo
34201
- # media_response_info = 2 `
34202
- # Corresponds to the JSON property `mediaResponseInfo`
34203
- # @return [Google::Apis::DiscoveryengineV1alpha::ApiservingMediaResponseInfo]
34204
- attr_accessor :media_response_info
34205
-
34206
- # SourceId is the last segment of the source's resource name.
34207
- # Corresponds to the JSON property `sourceId`
34208
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudNotebooklmV1alphaSourceId]
34209
- attr_accessor :source_id
34210
-
34211
- def initialize(**args)
34212
- update!(**args)
34213
- end
34214
-
34215
- # Update properties of this object
34216
- def update!(**args)
34217
- @media_response_info = args[:media_response_info] if args.key?(:media_response_info)
34218
- @source_id = args[:source_id] if args.key?(:source_id)
34219
- end
34220
- end
34221
-
34222
33797
  # The "Content" messages refer to data the user wants to upload.
34223
33798
  class GoogleCloudNotebooklmV1alphaUserContent
34224
33799
  include Google::Apis::Core::Hashable
@@ -34426,6 +34001,241 @@ module Google
34426
34001
  end
34427
34002
  end
34428
34003
 
34004
+ # Associates `members`, or principals, with a `role`.
34005
+ class GoogleIamV1Binding
34006
+ include Google::Apis::Core::Hashable
34007
+
34008
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
34009
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
34010
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
34011
+ # "Summary size limit" description: "Determines if a summary is less than 100
34012
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
34013
+ # Requestor is owner" description: "Determines if requestor is the document
34014
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
34015
+ # Logic): title: "Public documents" description: "Determine whether the document
34016
+ # should be publicly visible" expression: "document.type != 'private' &&
34017
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
34018
+ # string" description: "Create a notification string with a timestamp."
34019
+ # expression: "'New message received at ' + string(document.create_time)" The
34020
+ # exact variables and functions that may be referenced within an expression are
34021
+ # determined by the service that evaluates it. See the service documentation for
34022
+ # additional information.
34023
+ # Corresponds to the JSON property `condition`
34024
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleTypeExpr]
34025
+ attr_accessor :condition
34026
+
34027
+ # Specifies the principals requesting access for a Google Cloud resource. `
34028
+ # members` can have the following values: * `allUsers`: A special identifier
34029
+ # that represents anyone who is on the internet; with or without a Google
34030
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
34031
+ # anyone who is authenticated with a Google account or a service account. Does
34032
+ # not include identities that come from external identity providers (IdPs)
34033
+ # through identity federation. * `user:`emailid``: An email address that
34034
+ # represents a specific Google account. For example, `alice@example.com` . * `
34035
+ # serviceAccount:`emailid``: An email address that represents a Google service
34036
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`. * `
34037
+ # serviceAccount:`projectid`.svc.id.goog[`namespace`/`kubernetes-sa`]`: An
34038
+ # identifier for a [Kubernetes service account](https://cloud.google.com/
34039
+ # kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-
34040
+ # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
34041
+ # email address that represents a Google group. For example, `admins@example.com`
34042
+ # . * `domain:`domain``: The G Suite domain (primary) that represents all the
34043
+ # users of that domain. For example, `google.com` or `example.com`. * `principal:
34044
+ # //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
34045
+ # subject_attribute_value``: A single identity in a workforce identity pool. * `
34046
+ # principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
34047
+ # group/`group_id``: All workforce identities in a group. * `principalSet://iam.
34048
+ # googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
34049
+ # attribute_name`/`attribute_value``: All workforce identities with a specific
34050
+ # attribute value. * `principalSet://iam.googleapis.com/locations/global/
34051
+ # workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
34052
+ # principal://iam.googleapis.com/projects/`project_number`/locations/global/
34053
+ # workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
34054
+ # identity in a workload identity pool. * `principalSet://iam.googleapis.com/
34055
+ # projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
34056
+ # group/`group_id``: A workload identity pool group. * `principalSet://iam.
34057
+ # googleapis.com/projects/`project_number`/locations/global/
34058
+ # workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
34059
+ # All identities in a workload identity pool with a certain attribute. * `
34060
+ # principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
34061
+ # workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
34062
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
34063
+ # identifier) representing a user that has been recently deleted. For example, `
34064
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
34065
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
34066
+ # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
34067
+ # address (plus unique identifier) representing a service account that has been
34068
+ # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
34069
+ # 123456789012345678901`. If the service account is undeleted, this value
34070
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
34071
+ # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
34072
+ # An email address (plus unique identifier) representing a Google group that has
34073
+ # been recently deleted. For example, `admins@example.com?uid=
34074
+ # 123456789012345678901`. If the group is recovered, this value reverts to `
34075
+ # group:`emailid`` and the recovered group retains the role in the binding. * `
34076
+ # deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
34077
+ # pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
34078
+ # workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
34079
+ # locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
34080
+ # Corresponds to the JSON property `members`
34081
+ # @return [Array<String>]
34082
+ attr_accessor :members
34083
+
34084
+ # Role that is assigned to the list of `members`, or principals. For example, `
34085
+ # roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM
34086
+ # roles and permissions, see the [IAM documentation](https://cloud.google.com/
34087
+ # iam/docs/roles-overview). For a list of the available pre-defined roles, see [
34088
+ # here](https://cloud.google.com/iam/docs/understanding-roles).
34089
+ # Corresponds to the JSON property `role`
34090
+ # @return [String]
34091
+ attr_accessor :role
34092
+
34093
+ def initialize(**args)
34094
+ update!(**args)
34095
+ end
34096
+
34097
+ # Update properties of this object
34098
+ def update!(**args)
34099
+ @condition = args[:condition] if args.key?(:condition)
34100
+ @members = args[:members] if args.key?(:members)
34101
+ @role = args[:role] if args.key?(:role)
34102
+ end
34103
+ end
34104
+
34105
+ # An Identity and Access Management (IAM) policy, which specifies access
34106
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
34107
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
34108
+ # Principals can be user accounts, service accounts, Google groups, and domains (
34109
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
34110
+ # an IAM predefined role or a user-created custom role. For some types of Google
34111
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
34112
+ # logical expression that allows access to a resource only if the expression
34113
+ # evaluates to `true`. A condition can add constraints based on attributes of
34114
+ # the request, the resource, or both. To learn which resources support
34115
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
34116
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
34117
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
34118
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
34119
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
34120
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
34121
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
34122
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
34123
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
34124
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
34125
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
34126
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
34127
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
34128
+ # title: expirable access description: Does not grant access after Sep 2020
34129
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
34130
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
34131
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
34132
+ class GoogleIamV1Policy
34133
+ include Google::Apis::Core::Hashable
34134
+
34135
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
34136
+ # specify a `condition` that determines how and when the `bindings` are applied.
34137
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
34138
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
34139
+ # can be Google groups. Each occurrence of a principal counts towards these
34140
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
34141
+ # example.com`, and not to any other principal, then you can add another 1,450
34142
+ # principals to the `bindings` in the `Policy`.
34143
+ # Corresponds to the JSON property `bindings`
34144
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleIamV1Binding>]
34145
+ attr_accessor :bindings
34146
+
34147
+ # `etag` is used for optimistic concurrency control as a way to help prevent
34148
+ # simultaneous updates of a policy from overwriting each other. It is strongly
34149
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
34150
+ # to perform policy updates in order to avoid race conditions: An `etag` is
34151
+ # returned in the response to `getIamPolicy`, and systems are expected to put
34152
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
34153
+ # applied to the same version of the policy. **Important:** If you use IAM
34154
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
34155
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
34156
+ # with a version `1` policy, and all of the conditions in the version `3` policy
34157
+ # are lost.
34158
+ # Corresponds to the JSON property `etag`
34159
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
34160
+ # @return [String]
34161
+ attr_accessor :etag
34162
+
34163
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
34164
+ # Requests that specify an invalid value are rejected. Any operation that
34165
+ # affects conditional role bindings must specify version `3`. This requirement
34166
+ # applies to the following operations: * Getting a policy that includes a
34167
+ # conditional role binding * Adding a conditional role binding to a policy *
34168
+ # Changing a conditional role binding in a policy * Removing any role binding,
34169
+ # with or without a condition, from a policy that includes conditions **
34170
+ # Important:** If you use IAM Conditions, you must include the `etag` field
34171
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
34172
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
34173
+ # conditions in the version `3` policy are lost. If a policy does not include
34174
+ # any conditions, operations on that policy may specify any valid version or
34175
+ # leave the field unset. To learn which resources support conditions in their
34176
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
34177
+ # conditions/resource-policies).
34178
+ # Corresponds to the JSON property `version`
34179
+ # @return [Fixnum]
34180
+ attr_accessor :version
34181
+
34182
+ def initialize(**args)
34183
+ update!(**args)
34184
+ end
34185
+
34186
+ # Update properties of this object
34187
+ def update!(**args)
34188
+ @bindings = args[:bindings] if args.key?(:bindings)
34189
+ @etag = args[:etag] if args.key?(:etag)
34190
+ @version = args[:version] if args.key?(:version)
34191
+ end
34192
+ end
34193
+
34194
+ # Request message for `SetIamPolicy` method.
34195
+ class GoogleIamV1SetIamPolicyRequest
34196
+ include Google::Apis::Core::Hashable
34197
+
34198
+ # An Identity and Access Management (IAM) policy, which specifies access
34199
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
34200
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
34201
+ # Principals can be user accounts, service accounts, Google groups, and domains (
34202
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
34203
+ # an IAM predefined role or a user-created custom role. For some types of Google
34204
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
34205
+ # logical expression that allows access to a resource only if the expression
34206
+ # evaluates to `true`. A condition can add constraints based on attributes of
34207
+ # the request, the resource, or both. To learn which resources support
34208
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
34209
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
34210
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
34211
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
34212
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
34213
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
34214
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
34215
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
34216
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
34217
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
34218
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
34219
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
34220
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
34221
+ # title: expirable access description: Does not grant access after Sep 2020
34222
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
34223
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
34224
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
34225
+ # Corresponds to the JSON property `policy`
34226
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleIamV1Policy]
34227
+ attr_accessor :policy
34228
+
34229
+ def initialize(**args)
34230
+ update!(**args)
34231
+ end
34232
+
34233
+ # Update properties of this object
34234
+ def update!(**args)
34235
+ @policy = args[:policy] if args.key?(:policy)
34236
+ end
34237
+ end
34238
+
34429
34239
  # The request message for Operations.CancelOperation.
34430
34240
  class GoogleLongrunningCancelOperationRequest
34431
34241
  include Google::Apis::Core::Hashable
@@ -34454,8 +34264,9 @@ module Google
34454
34264
  attr_accessor :operations
34455
34265
 
34456
34266
  # Unordered list. Unreachable resources. Populated when the request sets `
34457
- # ListOperationsRequest.return_partial_success` and reads across collections e.g.
34458
- # when attempting to list all resources across all supported locations.
34267
+ # ListOperationsRequest.return_partial_success` and reads across collections.
34268
+ # For example, when attempting to list all resources across all supported
34269
+ # locations.
34459
34270
  # Corresponds to the JSON property `unreachable`
34460
34271
  # @return [Array<String>]
34461
34272
  attr_accessor :unreachable