google-apis-discoveryengine_v1beta 0.45.0 → 0.47.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -323,6 +323,281 @@ module Google
323
323
  end
324
324
  end
325
325
 
326
+ # Defines circumstances to be checked before allowing a behavior
327
+ class GoogleCloudDiscoveryengineV1Condition
328
+ include Google::Apis::Core::Hashable
329
+
330
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
331
+ # ranges.
332
+ # Corresponds to the JSON property `activeTimeRange`
333
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ConditionTimeRange>]
334
+ attr_accessor :active_time_range
335
+
336
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
337
+ # Corresponds to the JSON property `queryTerms`
338
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ConditionQueryTerm>]
339
+ attr_accessor :query_terms
340
+
341
+ def initialize(**args)
342
+ update!(**args)
343
+ end
344
+
345
+ # Update properties of this object
346
+ def update!(**args)
347
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
348
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
349
+ end
350
+ end
351
+
352
+ # Matcher for search request query
353
+ class GoogleCloudDiscoveryengineV1ConditionQueryTerm
354
+ include Google::Apis::Core::Hashable
355
+
356
+ # Whether the search query needs to exactly match the query term.
357
+ # Corresponds to the JSON property `fullMatch`
358
+ # @return [Boolean]
359
+ attr_accessor :full_match
360
+ alias_method :full_match?, :full_match
361
+
362
+ # The specific query value to match against Must be lowercase, must be UTF-8.
363
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
364
+ # empty string. Maximum length of 5000 characters.
365
+ # Corresponds to the JSON property `value`
366
+ # @return [String]
367
+ attr_accessor :value
368
+
369
+ def initialize(**args)
370
+ update!(**args)
371
+ end
372
+
373
+ # Update properties of this object
374
+ def update!(**args)
375
+ @full_match = args[:full_match] if args.key?(:full_match)
376
+ @value = args[:value] if args.key?(:value)
377
+ end
378
+ end
379
+
380
+ # Used for time-dependent conditions.
381
+ class GoogleCloudDiscoveryengineV1ConditionTimeRange
382
+ include Google::Apis::Core::Hashable
383
+
384
+ # End of time range. Range is inclusive. Must be in the future.
385
+ # Corresponds to the JSON property `endTime`
386
+ # @return [String]
387
+ attr_accessor :end_time
388
+
389
+ # Start of time range. Range is inclusive.
390
+ # Corresponds to the JSON property `startTime`
391
+ # @return [String]
392
+ attr_accessor :start_time
393
+
394
+ def initialize(**args)
395
+ update!(**args)
396
+ end
397
+
398
+ # Update properties of this object
399
+ def update!(**args)
400
+ @end_time = args[:end_time] if args.key?(:end_time)
401
+ @start_time = args[:start_time] if args.key?(:start_time)
402
+ end
403
+ end
404
+
405
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
406
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
407
+ # `SolutionType`.
408
+ class GoogleCloudDiscoveryengineV1Control
409
+ include Google::Apis::Core::Hashable
410
+
411
+ # Output only. List of all ServingConfig ids this control is attached to. May
412
+ # take up to 10 minutes to update after changes.
413
+ # Corresponds to the JSON property `associatedServingConfigIds`
414
+ # @return [Array<String>]
415
+ attr_accessor :associated_serving_config_ids
416
+
417
+ # Adjusts order of products in returned list.
418
+ # Corresponds to the JSON property `boostAction`
419
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ControlBoostAction]
420
+ attr_accessor :boost_action
421
+
422
+ # Determines when the associated action will trigger. Omit to always apply the
423
+ # action. Currently only a single condition may be specified. Otherwise an
424
+ # INVALID ARGUMENT error is thrown.
425
+ # Corresponds to the JSON property `conditions`
426
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1Condition>]
427
+ attr_accessor :conditions
428
+
429
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
430
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
431
+ # error is thrown.
432
+ # Corresponds to the JSON property `displayName`
433
+ # @return [String]
434
+ attr_accessor :display_name
435
+
436
+ # Specified which products may be included in results. Uses same filter as boost.
437
+ # Corresponds to the JSON property `filterAction`
438
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ControlFilterAction]
439
+ attr_accessor :filter_action
440
+
441
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
442
+ # controls/*`
443
+ # Corresponds to the JSON property `name`
444
+ # @return [String]
445
+ attr_accessor :name
446
+
447
+ # Redirects a shopper to the provided URI.
448
+ # Corresponds to the JSON property `redirectAction`
449
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ControlRedirectAction]
450
+ attr_accessor :redirect_action
451
+
452
+ # Required. Immutable. What solution the control belongs to. Must be compatible
453
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
454
+ # Corresponds to the JSON property `solutionType`
455
+ # @return [String]
456
+ attr_accessor :solution_type
457
+
458
+ # Creates a set of terms that will act as synonyms of one another. Example: "
459
+ # happy" will also be considered as "glad", "glad" will also be considered as "
460
+ # happy".
461
+ # Corresponds to the JSON property `synonymsAction`
462
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ControlSynonymsAction]
463
+ attr_accessor :synonyms_action
464
+
465
+ # Specifies the use case for the control. Affects what condition fields can be
466
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
467
+ # per control. Must be set when solution_type is SolutionType.
468
+ # SOLUTION_TYPE_SEARCH.
469
+ # Corresponds to the JSON property `useCases`
470
+ # @return [Array<String>]
471
+ attr_accessor :use_cases
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
480
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
481
+ @conditions = args[:conditions] if args.key?(:conditions)
482
+ @display_name = args[:display_name] if args.key?(:display_name)
483
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
484
+ @name = args[:name] if args.key?(:name)
485
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
486
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
487
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
488
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
489
+ end
490
+ end
491
+
492
+ # Adjusts order of products in returned list.
493
+ class GoogleCloudDiscoveryengineV1ControlBoostAction
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
497
+ # means demotion. Default is 0.0 (No-op).
498
+ # Corresponds to the JSON property `boost`
499
+ # @return [Float]
500
+ attr_accessor :boost
501
+
502
+ # Required. Specifies which data store's documents can be boosted by this
503
+ # control. Full data store name e.g. projects/123/locations/global/collections/
504
+ # default_collection/dataStores/default_data_store
505
+ # Corresponds to the JSON property `dataStore`
506
+ # @return [String]
507
+ attr_accessor :data_store
508
+
509
+ # Required. Specifies which products to apply the boost to. If no filter is
510
+ # provided all products will be boosted (No-op). Syntax documentation: https://
511
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
512
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
513
+ # Corresponds to the JSON property `filter`
514
+ # @return [String]
515
+ attr_accessor :filter
516
+
517
+ def initialize(**args)
518
+ update!(**args)
519
+ end
520
+
521
+ # Update properties of this object
522
+ def update!(**args)
523
+ @boost = args[:boost] if args.key?(:boost)
524
+ @data_store = args[:data_store] if args.key?(:data_store)
525
+ @filter = args[:filter] if args.key?(:filter)
526
+ end
527
+ end
528
+
529
+ # Specified which products may be included in results. Uses same filter as boost.
530
+ class GoogleCloudDiscoveryengineV1ControlFilterAction
531
+ include Google::Apis::Core::Hashable
532
+
533
+ # Required. Specifies which data store's documents can be filtered by this
534
+ # control. Full data store name e.g. projects/123/locations/global/collections/
535
+ # default_collection/dataStores/default_data_store
536
+ # Corresponds to the JSON property `dataStore`
537
+ # @return [String]
538
+ attr_accessor :data_store
539
+
540
+ # Required. A filter to apply on the matching condition results. Required Syntax
541
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
542
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
543
+ # Corresponds to the JSON property `filter`
544
+ # @return [String]
545
+ attr_accessor :filter
546
+
547
+ def initialize(**args)
548
+ update!(**args)
549
+ end
550
+
551
+ # Update properties of this object
552
+ def update!(**args)
553
+ @data_store = args[:data_store] if args.key?(:data_store)
554
+ @filter = args[:filter] if args.key?(:filter)
555
+ end
556
+ end
557
+
558
+ # Redirects a shopper to the provided URI.
559
+ class GoogleCloudDiscoveryengineV1ControlRedirectAction
560
+ include Google::Apis::Core::Hashable
561
+
562
+ # Required. The URI to which the shopper will be redirected. Required. URI must
563
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
564
+ # error is thrown.
565
+ # Corresponds to the JSON property `redirectUri`
566
+ # @return [String]
567
+ attr_accessor :redirect_uri
568
+
569
+ def initialize(**args)
570
+ update!(**args)
571
+ end
572
+
573
+ # Update properties of this object
574
+ def update!(**args)
575
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
576
+ end
577
+ end
578
+
579
+ # Creates a set of terms that will act as synonyms of one another. Example: "
580
+ # happy" will also be considered as "glad", "glad" will also be considered as "
581
+ # happy".
582
+ class GoogleCloudDiscoveryengineV1ControlSynonymsAction
583
+ include Google::Apis::Core::Hashable
584
+
585
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
586
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
587
+ # Corresponds to the JSON property `synonyms`
588
+ # @return [Array<String>]
589
+ attr_accessor :synonyms
590
+
591
+ def initialize(**args)
592
+ update!(**args)
593
+ end
594
+
595
+ # Update properties of this object
596
+ def update!(**args)
597
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
598
+ end
599
+ end
600
+
326
601
  # Metadata related to the progress of the DataStoreService.CreateDataStore
327
602
  # operation. This will be returned by the google.longrunning.Operation.metadata
328
603
  # field.
@@ -666,6 +941,11 @@ module Google
666
941
  class GoogleCloudDiscoveryengineV1DocumentProcessingConfig
667
942
  include Google::Apis::Core::Hashable
668
943
 
944
+ # Configuration for chunking config.
945
+ # Corresponds to the JSON property `chunkingConfig`
946
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig]
947
+ attr_accessor :chunking_config
948
+
669
949
  # Related configurations applied to a specific type of document parser.
670
950
  # Corresponds to the JSON property `defaultParsingConfig`
671
951
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig]
@@ -693,12 +973,60 @@ module Google
693
973
 
694
974
  # Update properties of this object
695
975
  def update!(**args)
976
+ @chunking_config = args[:chunking_config] if args.key?(:chunking_config)
696
977
  @default_parsing_config = args[:default_parsing_config] if args.key?(:default_parsing_config)
697
978
  @name = args[:name] if args.key?(:name)
698
979
  @parsing_config_overrides = args[:parsing_config_overrides] if args.key?(:parsing_config_overrides)
699
980
  end
700
981
  end
701
982
 
983
+ # Configuration for chunking config.
984
+ class GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig
985
+ include Google::Apis::Core::Hashable
986
+
987
+ # Configuration for the layout based chunking.
988
+ # Corresponds to the JSON property `layoutBasedChunkingConfig`
989
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig]
990
+ attr_accessor :layout_based_chunking_config
991
+
992
+ def initialize(**args)
993
+ update!(**args)
994
+ end
995
+
996
+ # Update properties of this object
997
+ def update!(**args)
998
+ @layout_based_chunking_config = args[:layout_based_chunking_config] if args.key?(:layout_based_chunking_config)
999
+ end
1000
+ end
1001
+
1002
+ # Configuration for the layout based chunking.
1003
+ class GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig
1004
+ include Google::Apis::Core::Hashable
1005
+
1006
+ # The token size limit for each chunk. Supported values: 100-500 (inclusive).
1007
+ # Default value: 500.
1008
+ # Corresponds to the JSON property `chunkSize`
1009
+ # @return [Fixnum]
1010
+ attr_accessor :chunk_size
1011
+
1012
+ # Whether to include appending different levels of headings to chunks from the
1013
+ # middle of the document to prevent context loss. Default value: False.
1014
+ # Corresponds to the JSON property `includeAncestorHeadings`
1015
+ # @return [Boolean]
1016
+ attr_accessor :include_ancestor_headings
1017
+ alias_method :include_ancestor_headings?, :include_ancestor_headings
1018
+
1019
+ def initialize(**args)
1020
+ update!(**args)
1021
+ end
1022
+
1023
+ # Update properties of this object
1024
+ def update!(**args)
1025
+ @chunk_size = args[:chunk_size] if args.key?(:chunk_size)
1026
+ @include_ancestor_headings = args[:include_ancestor_headings] if args.key?(:include_ancestor_headings)
1027
+ end
1028
+ end
1029
+
702
1030
  # Related configurations applied to a specific type of document parser.
703
1031
  class GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig
704
1032
  include Google::Apis::Core::Hashable
@@ -708,6 +1036,11 @@ module Google
708
1036
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig]
709
1037
  attr_accessor :digital_parsing_config
710
1038
 
1039
+ # The layout parsing configurations for documents.
1040
+ # Corresponds to the JSON property `layoutParsingConfig`
1041
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig]
1042
+ attr_accessor :layout_parsing_config
1043
+
711
1044
  # The OCR parsing configurations for documents.
712
1045
  # Corresponds to the JSON property `ocrParsingConfig`
713
1046
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig]
@@ -720,6 +1053,7 @@ module Google
720
1053
  # Update properties of this object
721
1054
  def update!(**args)
722
1055
  @digital_parsing_config = args[:digital_parsing_config] if args.key?(:digital_parsing_config)
1056
+ @layout_parsing_config = args[:layout_parsing_config] if args.key?(:layout_parsing_config)
723
1057
  @ocr_parsing_config = args[:ocr_parsing_config] if args.key?(:ocr_parsing_config)
724
1058
  end
725
1059
  end
@@ -737,6 +1071,19 @@ module Google
737
1071
  end
738
1072
  end
739
1073
 
1074
+ # The layout parsing configurations for documents.
1075
+ class GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig
1076
+ include Google::Apis::Core::Hashable
1077
+
1078
+ def initialize(**args)
1079
+ update!(**args)
1080
+ end
1081
+
1082
+ # Update properties of this object
1083
+ def update!(**args)
1084
+ end
1085
+ end
1086
+
740
1087
  # The OCR parsing configurations for documents.
741
1088
  class GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig
742
1089
  include Google::Apis::Core::Hashable
@@ -1004,8 +1351,8 @@ module Google
1004
1351
  class GoogleCloudDiscoveryengineV1EngineCommonConfig
1005
1352
  include Google::Apis::Core::Hashable
1006
1353
 
1007
- # Immutable. The name of the company, business or entity that is associated with
1008
- # the engine. Setting this may help improve LLM related features.
1354
+ # The name of the company, business or entity that is associated with the engine.
1355
+ # Setting this may help improve LLM related features.
1009
1356
  # Corresponds to the JSON property `companyName`
1010
1357
  # @return [String]
1011
1358
  attr_accessor :company_name
@@ -1277,38 +1624,140 @@ module Google
1277
1624
  end
1278
1625
  end
1279
1626
 
1280
- # Metadata related to the progress of the PurgeDocuments operation. This will be
1281
- # returned by the google.longrunning.Operation.metadata field.
1282
- class GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata
1627
+ # Metadata and configurations for a Google Cloud project in the service.
1628
+ class GoogleCloudDiscoveryengineV1Project
1283
1629
  include Google::Apis::Core::Hashable
1284
1630
 
1285
- # Operation create time.
1631
+ # Output only. The timestamp when this project is created.
1286
1632
  # Corresponds to the JSON property `createTime`
1287
1633
  # @return [String]
1288
1634
  attr_accessor :create_time
1289
1635
 
1290
- # Count of entries that encountered errors while processing.
1291
- # Corresponds to the JSON property `failureCount`
1292
- # @return [Fixnum]
1293
- attr_accessor :failure_count
1294
-
1295
- # Count of entries that were ignored as entries were not found.
1296
- # Corresponds to the JSON property `ignoredCount`
1297
- # @return [Fixnum]
1298
- attr_accessor :ignored_count
1299
-
1300
- # Count of entries that were deleted successfully.
1301
- # Corresponds to the JSON property `successCount`
1302
- # @return [Fixnum]
1303
- attr_accessor :success_count
1304
-
1305
- # Operation last update time. If the operation is done, this is also the finish
1306
- # time.
1307
- # Corresponds to the JSON property `updateTime`
1636
+ # Output only. Full resource name of the project, for example `projects/`
1637
+ # project_number``. Note that when making requests, project number and project
1638
+ # id are both acceptable, but the server will always respond in project number.
1639
+ # Corresponds to the JSON property `name`
1308
1640
  # @return [String]
1309
- attr_accessor :update_time
1641
+ attr_accessor :name
1310
1642
 
1311
- def initialize(**args)
1643
+ # Output only. The timestamp when this project is successfully provisioned.
1644
+ # Empty value means this project is still provisioning and is not ready for use.
1645
+ # Corresponds to the JSON property `provisionCompletionTime`
1646
+ # @return [String]
1647
+ attr_accessor :provision_completion_time
1648
+
1649
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
1650
+ # Corresponds to the JSON property `serviceTermsMap`
1651
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
1652
+ attr_accessor :service_terms_map
1653
+
1654
+ def initialize(**args)
1655
+ update!(**args)
1656
+ end
1657
+
1658
+ # Update properties of this object
1659
+ def update!(**args)
1660
+ @create_time = args[:create_time] if args.key?(:create_time)
1661
+ @name = args[:name] if args.key?(:name)
1662
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
1663
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
1664
+ end
1665
+ end
1666
+
1667
+ # Metadata about the terms of service.
1668
+ class GoogleCloudDiscoveryengineV1ProjectServiceTerms
1669
+ include Google::Apis::Core::Hashable
1670
+
1671
+ # The last time when the project agreed to the terms of service.
1672
+ # Corresponds to the JSON property `acceptTime`
1673
+ # @return [String]
1674
+ attr_accessor :accept_time
1675
+
1676
+ # The last time when the project declined or revoked the agreement to terms of
1677
+ # service.
1678
+ # Corresponds to the JSON property `declineTime`
1679
+ # @return [String]
1680
+ attr_accessor :decline_time
1681
+
1682
+ # The unique identifier of this terms of service. Available terms: * `
1683
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
1684
+ # use-terms). When using this as `id`, the acceptable version to provide is `
1685
+ # 2022-11-23`.
1686
+ # Corresponds to the JSON property `id`
1687
+ # @return [String]
1688
+ attr_accessor :id
1689
+
1690
+ # Whether the project has accepted/rejected the service terms or it is still
1691
+ # pending.
1692
+ # Corresponds to the JSON property `state`
1693
+ # @return [String]
1694
+ attr_accessor :state
1695
+
1696
+ # The version string of the terms of service. For acceptable values, see the
1697
+ # comments for id above.
1698
+ # Corresponds to the JSON property `version`
1699
+ # @return [String]
1700
+ attr_accessor :version
1701
+
1702
+ def initialize(**args)
1703
+ update!(**args)
1704
+ end
1705
+
1706
+ # Update properties of this object
1707
+ def update!(**args)
1708
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
1709
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
1710
+ @id = args[:id] if args.key?(:id)
1711
+ @state = args[:state] if args.key?(:state)
1712
+ @version = args[:version] if args.key?(:version)
1713
+ end
1714
+ end
1715
+
1716
+ # Metadata associated with a project provision operation.
1717
+ class GoogleCloudDiscoveryengineV1ProvisionProjectMetadata
1718
+ include Google::Apis::Core::Hashable
1719
+
1720
+ def initialize(**args)
1721
+ update!(**args)
1722
+ end
1723
+
1724
+ # Update properties of this object
1725
+ def update!(**args)
1726
+ end
1727
+ end
1728
+
1729
+ # Metadata related to the progress of the PurgeDocuments operation. This will be
1730
+ # returned by the google.longrunning.Operation.metadata field.
1731
+ class GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata
1732
+ include Google::Apis::Core::Hashable
1733
+
1734
+ # Operation create time.
1735
+ # Corresponds to the JSON property `createTime`
1736
+ # @return [String]
1737
+ attr_accessor :create_time
1738
+
1739
+ # Count of entries that encountered errors while processing.
1740
+ # Corresponds to the JSON property `failureCount`
1741
+ # @return [Fixnum]
1742
+ attr_accessor :failure_count
1743
+
1744
+ # Count of entries that were ignored as entries were not found.
1745
+ # Corresponds to the JSON property `ignoredCount`
1746
+ # @return [Fixnum]
1747
+ attr_accessor :ignored_count
1748
+
1749
+ # Count of entries that were deleted successfully.
1750
+ # Corresponds to the JSON property `successCount`
1751
+ # @return [Fixnum]
1752
+ attr_accessor :success_count
1753
+
1754
+ # Operation last update time. If the operation is done, this is also the finish
1755
+ # time.
1756
+ # Corresponds to the JSON property `updateTime`
1757
+ # @return [String]
1758
+ attr_accessor :update_time
1759
+
1760
+ def initialize(**args)
1312
1761
  update!(**args)
1313
1762
  end
1314
1763
 
@@ -1918,6 +2367,12 @@ module Google
1918
2367
  # @return [String]
1919
2368
  attr_accessor :page_identifier
1920
2369
 
2370
+ # The structured JSON metadata for the document. It is populated from the struct
2371
+ # data from the Chunk in search result.
2372
+ # Corresponds to the JSON property `structData`
2373
+ # @return [Hash<String,Object>]
2374
+ attr_accessor :struct_data
2375
+
1921
2376
  # Title.
1922
2377
  # Corresponds to the JSON property `title`
1923
2378
  # @return [String]
@@ -1936,6 +2391,7 @@ module Google
1936
2391
  def update!(**args)
1937
2392
  @document = args[:document] if args.key?(:document)
1938
2393
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
2394
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1939
2395
  @title = args[:title] if args.key?(:title)
1940
2396
  @uri = args[:uri] if args.key?(:uri)
1941
2397
  end
@@ -1955,6 +2411,12 @@ module Google
1955
2411
  # @return [String]
1956
2412
  attr_accessor :document
1957
2413
 
2414
+ # The structured JSON metadata for the document. It is populated from the struct
2415
+ # data from the Chunk in search result.
2416
+ # Corresponds to the JSON property `structData`
2417
+ # @return [Hash<String,Object>]
2418
+ attr_accessor :struct_data
2419
+
1958
2420
  # Title.
1959
2421
  # Corresponds to the JSON property `title`
1960
2422
  # @return [String]
@@ -1973,6 +2435,7 @@ module Google
1973
2435
  def update!(**args)
1974
2436
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
1975
2437
  @document = args[:document] if args.key?(:document)
2438
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1976
2439
  @title = args[:title] if args.key?(:title)
1977
2440
  @uri = args[:uri] if args.key?(:uri)
1978
2441
  end
@@ -2251,22 +2714,20 @@ module Google
2251
2714
  end
2252
2715
  end
2253
2716
 
2254
- # Metadata related to the progress of the DataStoreService.CreateDataStore
2255
- # operation. This will be returned by the google.longrunning.Operation.metadata
2256
- # field.
2257
- class GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata
2717
+ # Defines circumstances to be checked before allowing a behavior
2718
+ class GoogleCloudDiscoveryengineV1alphaCondition
2258
2719
  include Google::Apis::Core::Hashable
2259
2720
 
2260
- # Operation create time.
2261
- # Corresponds to the JSON property `createTime`
2262
- # @return [String]
2263
- attr_accessor :create_time
2721
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
2722
+ # ranges.
2723
+ # Corresponds to the JSON property `activeTimeRange`
2724
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaConditionTimeRange>]
2725
+ attr_accessor :active_time_range
2264
2726
 
2265
- # Operation last update time. If the operation is done, this is also the finish
2266
- # time.
2267
- # Corresponds to the JSON property `updateTime`
2268
- # @return [String]
2269
- attr_accessor :update_time
2727
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
2728
+ # Corresponds to the JSON property `queryTerms`
2729
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaConditionQueryTerm>]
2730
+ attr_accessor :query_terms
2270
2731
 
2271
2732
  def initialize(**args)
2272
2733
  update!(**args)
@@ -2274,26 +2735,27 @@ module Google
2274
2735
 
2275
2736
  # Update properties of this object
2276
2737
  def update!(**args)
2277
- @create_time = args[:create_time] if args.key?(:create_time)
2278
- @update_time = args[:update_time] if args.key?(:update_time)
2738
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
2739
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
2279
2740
  end
2280
2741
  end
2281
2742
 
2282
- # Metadata related to the progress of the EngineService.CreateEngine operation.
2283
- # This will be returned by the google.longrunning.Operation.metadata field.
2284
- class GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata
2743
+ # Matcher for search request query
2744
+ class GoogleCloudDiscoveryengineV1alphaConditionQueryTerm
2285
2745
  include Google::Apis::Core::Hashable
2286
2746
 
2287
- # Operation create time.
2288
- # Corresponds to the JSON property `createTime`
2289
- # @return [String]
2290
- attr_accessor :create_time
2747
+ # Whether the search query needs to exactly match the query term.
2748
+ # Corresponds to the JSON property `fullMatch`
2749
+ # @return [Boolean]
2750
+ attr_accessor :full_match
2751
+ alias_method :full_match?, :full_match
2291
2752
 
2292
- # Operation last update time. If the operation is done, this is also the finish
2293
- # time.
2294
- # Corresponds to the JSON property `updateTime`
2753
+ # The specific query value to match against Must be lowercase, must be UTF-8.
2754
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
2755
+ # empty string. Maximum length of 5000 characters.
2756
+ # Corresponds to the JSON property `value`
2295
2757
  # @return [String]
2296
- attr_accessor :update_time
2758
+ attr_accessor :value
2297
2759
 
2298
2760
  def initialize(**args)
2299
2761
  update!(**args)
@@ -2301,25 +2763,24 @@ module Google
2301
2763
 
2302
2764
  # Update properties of this object
2303
2765
  def update!(**args)
2304
- @create_time = args[:create_time] if args.key?(:create_time)
2305
- @update_time = args[:update_time] if args.key?(:update_time)
2766
+ @full_match = args[:full_match] if args.key?(:full_match)
2767
+ @value = args[:value] if args.key?(:value)
2306
2768
  end
2307
2769
  end
2308
2770
 
2309
- # Metadata for Create Schema LRO.
2310
- class GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata
2771
+ # Used for time-dependent conditions.
2772
+ class GoogleCloudDiscoveryengineV1alphaConditionTimeRange
2311
2773
  include Google::Apis::Core::Hashable
2312
2774
 
2313
- # Operation create time.
2314
- # Corresponds to the JSON property `createTime`
2775
+ # End of time range. Range is inclusive. Must be in the future.
2776
+ # Corresponds to the JSON property `endTime`
2315
2777
  # @return [String]
2316
- attr_accessor :create_time
2778
+ attr_accessor :end_time
2317
2779
 
2318
- # Operation last update time. If the operation is done, this is also the finish
2319
- # time.
2320
- # Corresponds to the JSON property `updateTime`
2780
+ # Start of time range. Range is inclusive.
2781
+ # Corresponds to the JSON property `startTime`
2321
2782
  # @return [String]
2322
- attr_accessor :update_time
2783
+ attr_accessor :start_time
2323
2784
 
2324
2785
  def initialize(**args)
2325
2786
  update!(**args)
@@ -2327,27 +2788,78 @@ module Google
2327
2788
 
2328
2789
  # Update properties of this object
2329
2790
  def update!(**args)
2330
- @create_time = args[:create_time] if args.key?(:create_time)
2331
- @update_time = args[:update_time] if args.key?(:update_time)
2791
+ @end_time = args[:end_time] if args.key?(:end_time)
2792
+ @start_time = args[:start_time] if args.key?(:start_time)
2332
2793
  end
2333
2794
  end
2334
2795
 
2335
- # Metadata related to the progress of the SiteSearchEngineService.
2336
- # CreateTargetSite operation. This will be returned by the google.longrunning.
2337
- # Operation.metadata field.
2338
- class GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata
2796
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
2797
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
2798
+ # `SolutionType`.
2799
+ class GoogleCloudDiscoveryengineV1alphaControl
2339
2800
  include Google::Apis::Core::Hashable
2340
2801
 
2341
- # Operation create time.
2342
- # Corresponds to the JSON property `createTime`
2802
+ # Output only. List of all ServingConfig ids this control is attached to. May
2803
+ # take up to 10 minutes to update after changes.
2804
+ # Corresponds to the JSON property `associatedServingConfigIds`
2805
+ # @return [Array<String>]
2806
+ attr_accessor :associated_serving_config_ids
2807
+
2808
+ # Adjusts order of products in returned list.
2809
+ # Corresponds to the JSON property `boostAction`
2810
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlBoostAction]
2811
+ attr_accessor :boost_action
2812
+
2813
+ # Determines when the associated action will trigger. Omit to always apply the
2814
+ # action. Currently only a single condition may be specified. Otherwise an
2815
+ # INVALID ARGUMENT error is thrown.
2816
+ # Corresponds to the JSON property `conditions`
2817
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaCondition>]
2818
+ attr_accessor :conditions
2819
+
2820
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
2821
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
2822
+ # error is thrown.
2823
+ # Corresponds to the JSON property `displayName`
2343
2824
  # @return [String]
2344
- attr_accessor :create_time
2825
+ attr_accessor :display_name
2345
2826
 
2346
- # Operation last update time. If the operation is done, this is also the finish
2347
- # time.
2348
- # Corresponds to the JSON property `updateTime`
2827
+ # Specified which products may be included in results. Uses same filter as boost.
2828
+ # Corresponds to the JSON property `filterAction`
2829
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlFilterAction]
2830
+ attr_accessor :filter_action
2831
+
2832
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
2833
+ # controls/*`
2834
+ # Corresponds to the JSON property `name`
2349
2835
  # @return [String]
2350
- attr_accessor :update_time
2836
+ attr_accessor :name
2837
+
2838
+ # Redirects a shopper to the provided URI.
2839
+ # Corresponds to the JSON property `redirectAction`
2840
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlRedirectAction]
2841
+ attr_accessor :redirect_action
2842
+
2843
+ # Required. Immutable. What solution the control belongs to. Must be compatible
2844
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
2845
+ # Corresponds to the JSON property `solutionType`
2846
+ # @return [String]
2847
+ attr_accessor :solution_type
2848
+
2849
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2850
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2851
+ # happy".
2852
+ # Corresponds to the JSON property `synonymsAction`
2853
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlSynonymsAction]
2854
+ attr_accessor :synonyms_action
2855
+
2856
+ # Specifies the use case for the control. Affects what condition fields can be
2857
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
2858
+ # per control. Must be set when solution_type is SolutionType.
2859
+ # SOLUTION_TYPE_SEARCH.
2860
+ # Corresponds to the JSON property `useCases`
2861
+ # @return [Array<String>]
2862
+ attr_accessor :use_cases
2351
2863
 
2352
2864
  def initialize(**args)
2353
2865
  update!(**args)
@@ -2355,47 +2867,43 @@ module Google
2355
2867
 
2356
2868
  # Update properties of this object
2357
2869
  def update!(**args)
2358
- @create_time = args[:create_time] if args.key?(:create_time)
2359
- @update_time = args[:update_time] if args.key?(:update_time)
2870
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
2871
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
2872
+ @conditions = args[:conditions] if args.key?(:conditions)
2873
+ @display_name = args[:display_name] if args.key?(:display_name)
2874
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
2875
+ @name = args[:name] if args.key?(:name)
2876
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
2877
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
2878
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
2879
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
2360
2880
  end
2361
2881
  end
2362
2882
 
2363
- # Metadata that describes a custom tuned model.
2364
- class GoogleCloudDiscoveryengineV1alphaCustomTuningModel
2883
+ # Adjusts order of products in returned list.
2884
+ class GoogleCloudDiscoveryengineV1alphaControlBoostAction
2365
2885
  include Google::Apis::Core::Hashable
2366
2886
 
2367
- # Timestamp the Model was created at.
2368
- # Corresponds to the JSON property `createTime`
2369
- # @return [String]
2370
- attr_accessor :create_time
2371
-
2372
- # The display name of the model.
2373
- # Corresponds to the JSON property `displayName`
2374
- # @return [String]
2375
- attr_accessor :display_name
2376
-
2377
- # The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).
2378
- # Corresponds to the JSON property `modelState`
2379
- # @return [String]
2380
- attr_accessor :model_state
2381
-
2382
- #
2383
- # Corresponds to the JSON property `modelVersion`
2384
- # @return [Fixnum]
2385
- attr_accessor :model_version
2887
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
2888
+ # means demotion. Default is 0.0 (No-op).
2889
+ # Corresponds to the JSON property `boost`
2890
+ # @return [Float]
2891
+ attr_accessor :boost
2386
2892
 
2387
- # Required. The fully qualified resource name of the model. Format: `projects/`
2388
- # project_number`/locations/`location`/collections/`collection`/dataStores/`
2389
- # data_store`/customTuningModels/`custom_tuning_model`` model must be an alpha-
2390
- # numerical string with limit of 40 characters.
2391
- # Corresponds to the JSON property `name`
2893
+ # Required. Specifies which data store's documents can be boosted by this
2894
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2895
+ # default_collection/dataStores/default_data_store
2896
+ # Corresponds to the JSON property `dataStore`
2392
2897
  # @return [String]
2393
- attr_accessor :name
2898
+ attr_accessor :data_store
2394
2899
 
2395
- # Timestamp the model training was initiated.
2396
- # Corresponds to the JSON property `trainingStartTime`
2900
+ # Required. Specifies which products to apply the boost to. If no filter is
2901
+ # provided all products will be boosted (No-op). Syntax documentation: https://
2902
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
2903
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
2904
+ # Corresponds to the JSON property `filter`
2397
2905
  # @return [String]
2398
- attr_accessor :training_start_time
2906
+ attr_accessor :filter
2399
2907
 
2400
2908
  def initialize(**args)
2401
2909
  update!(**args)
@@ -2403,24 +2911,254 @@ module Google
2403
2911
 
2404
2912
  # Update properties of this object
2405
2913
  def update!(**args)
2406
- @create_time = args[:create_time] if args.key?(:create_time)
2407
- @display_name = args[:display_name] if args.key?(:display_name)
2408
- @model_state = args[:model_state] if args.key?(:model_state)
2409
- @model_version = args[:model_version] if args.key?(:model_version)
2410
- @name = args[:name] if args.key?(:name)
2411
- @training_start_time = args[:training_start_time] if args.key?(:training_start_time)
2914
+ @boost = args[:boost] if args.key?(:boost)
2915
+ @data_store = args[:data_store] if args.key?(:data_store)
2916
+ @filter = args[:filter] if args.key?(:filter)
2412
2917
  end
2413
2918
  end
2414
2919
 
2415
- # DataStore captures global settings and configs at the DataStore level.
2416
- class GoogleCloudDiscoveryengineV1alphaDataStore
2920
+ # Specified which products may be included in results. Uses same filter as boost.
2921
+ class GoogleCloudDiscoveryengineV1alphaControlFilterAction
2417
2922
  include Google::Apis::Core::Hashable
2418
2923
 
2419
- # Immutable. Whether data in the DataStore has ACL information. If set to `true`,
2420
- # the source data must have ACL. ACL will be ingested when data is ingested by
2421
- # DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore,
2422
- # Document can't be accessed by calling DocumentService.GetDocument or
2423
- # DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC`
2924
+ # Required. Specifies which data store's documents can be filtered by this
2925
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2926
+ # default_collection/dataStores/default_data_store
2927
+ # Corresponds to the JSON property `dataStore`
2928
+ # @return [String]
2929
+ attr_accessor :data_store
2930
+
2931
+ # Required. A filter to apply on the matching condition results. Required Syntax
2932
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
2933
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
2934
+ # Corresponds to the JSON property `filter`
2935
+ # @return [String]
2936
+ attr_accessor :filter
2937
+
2938
+ def initialize(**args)
2939
+ update!(**args)
2940
+ end
2941
+
2942
+ # Update properties of this object
2943
+ def update!(**args)
2944
+ @data_store = args[:data_store] if args.key?(:data_store)
2945
+ @filter = args[:filter] if args.key?(:filter)
2946
+ end
2947
+ end
2948
+
2949
+ # Redirects a shopper to the provided URI.
2950
+ class GoogleCloudDiscoveryengineV1alphaControlRedirectAction
2951
+ include Google::Apis::Core::Hashable
2952
+
2953
+ # Required. The URI to which the shopper will be redirected. Required. URI must
2954
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
2955
+ # error is thrown.
2956
+ # Corresponds to the JSON property `redirectUri`
2957
+ # @return [String]
2958
+ attr_accessor :redirect_uri
2959
+
2960
+ def initialize(**args)
2961
+ update!(**args)
2962
+ end
2963
+
2964
+ # Update properties of this object
2965
+ def update!(**args)
2966
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
2967
+ end
2968
+ end
2969
+
2970
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2971
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2972
+ # happy".
2973
+ class GoogleCloudDiscoveryengineV1alphaControlSynonymsAction
2974
+ include Google::Apis::Core::Hashable
2975
+
2976
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
2977
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
2978
+ # Corresponds to the JSON property `synonyms`
2979
+ # @return [Array<String>]
2980
+ attr_accessor :synonyms
2981
+
2982
+ def initialize(**args)
2983
+ update!(**args)
2984
+ end
2985
+
2986
+ # Update properties of this object
2987
+ def update!(**args)
2988
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
2989
+ end
2990
+ end
2991
+
2992
+ # Metadata related to the progress of the DataStoreService.CreateDataStore
2993
+ # operation. This will be returned by the google.longrunning.Operation.metadata
2994
+ # field.
2995
+ class GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata
2996
+ include Google::Apis::Core::Hashable
2997
+
2998
+ # Operation create time.
2999
+ # Corresponds to the JSON property `createTime`
3000
+ # @return [String]
3001
+ attr_accessor :create_time
3002
+
3003
+ # Operation last update time. If the operation is done, this is also the finish
3004
+ # time.
3005
+ # Corresponds to the JSON property `updateTime`
3006
+ # @return [String]
3007
+ attr_accessor :update_time
3008
+
3009
+ def initialize(**args)
3010
+ update!(**args)
3011
+ end
3012
+
3013
+ # Update properties of this object
3014
+ def update!(**args)
3015
+ @create_time = args[:create_time] if args.key?(:create_time)
3016
+ @update_time = args[:update_time] if args.key?(:update_time)
3017
+ end
3018
+ end
3019
+
3020
+ # Metadata related to the progress of the EngineService.CreateEngine operation.
3021
+ # This will be returned by the google.longrunning.Operation.metadata field.
3022
+ class GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata
3023
+ include Google::Apis::Core::Hashable
3024
+
3025
+ # Operation create time.
3026
+ # Corresponds to the JSON property `createTime`
3027
+ # @return [String]
3028
+ attr_accessor :create_time
3029
+
3030
+ # Operation last update time. If the operation is done, this is also the finish
3031
+ # time.
3032
+ # Corresponds to the JSON property `updateTime`
3033
+ # @return [String]
3034
+ attr_accessor :update_time
3035
+
3036
+ def initialize(**args)
3037
+ update!(**args)
3038
+ end
3039
+
3040
+ # Update properties of this object
3041
+ def update!(**args)
3042
+ @create_time = args[:create_time] if args.key?(:create_time)
3043
+ @update_time = args[:update_time] if args.key?(:update_time)
3044
+ end
3045
+ end
3046
+
3047
+ # Metadata for Create Schema LRO.
3048
+ class GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata
3049
+ include Google::Apis::Core::Hashable
3050
+
3051
+ # Operation create time.
3052
+ # Corresponds to the JSON property `createTime`
3053
+ # @return [String]
3054
+ attr_accessor :create_time
3055
+
3056
+ # Operation last update time. If the operation is done, this is also the finish
3057
+ # time.
3058
+ # Corresponds to the JSON property `updateTime`
3059
+ # @return [String]
3060
+ attr_accessor :update_time
3061
+
3062
+ def initialize(**args)
3063
+ update!(**args)
3064
+ end
3065
+
3066
+ # Update properties of this object
3067
+ def update!(**args)
3068
+ @create_time = args[:create_time] if args.key?(:create_time)
3069
+ @update_time = args[:update_time] if args.key?(:update_time)
3070
+ end
3071
+ end
3072
+
3073
+ # Metadata related to the progress of the SiteSearchEngineService.
3074
+ # CreateTargetSite operation. This will be returned by the google.longrunning.
3075
+ # Operation.metadata field.
3076
+ class GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata
3077
+ include Google::Apis::Core::Hashable
3078
+
3079
+ # Operation create time.
3080
+ # Corresponds to the JSON property `createTime`
3081
+ # @return [String]
3082
+ attr_accessor :create_time
3083
+
3084
+ # Operation last update time. If the operation is done, this is also the finish
3085
+ # time.
3086
+ # Corresponds to the JSON property `updateTime`
3087
+ # @return [String]
3088
+ attr_accessor :update_time
3089
+
3090
+ def initialize(**args)
3091
+ update!(**args)
3092
+ end
3093
+
3094
+ # Update properties of this object
3095
+ def update!(**args)
3096
+ @create_time = args[:create_time] if args.key?(:create_time)
3097
+ @update_time = args[:update_time] if args.key?(:update_time)
3098
+ end
3099
+ end
3100
+
3101
+ # Metadata that describes a custom tuned model.
3102
+ class GoogleCloudDiscoveryengineV1alphaCustomTuningModel
3103
+ include Google::Apis::Core::Hashable
3104
+
3105
+ # Timestamp the Model was created at.
3106
+ # Corresponds to the JSON property `createTime`
3107
+ # @return [String]
3108
+ attr_accessor :create_time
3109
+
3110
+ # The display name of the model.
3111
+ # Corresponds to the JSON property `displayName`
3112
+ # @return [String]
3113
+ attr_accessor :display_name
3114
+
3115
+ # The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).
3116
+ # Corresponds to the JSON property `modelState`
3117
+ # @return [String]
3118
+ attr_accessor :model_state
3119
+
3120
+ # The version of the model.
3121
+ # Corresponds to the JSON property `modelVersion`
3122
+ # @return [Fixnum]
3123
+ attr_accessor :model_version
3124
+
3125
+ # Required. The fully qualified resource name of the model. Format: `projects/`
3126
+ # project_number`/locations/`location`/collections/`collection`/dataStores/`
3127
+ # data_store`/customTuningModels/`custom_tuning_model`` model must be an alpha-
3128
+ # numerical string with limit of 40 characters.
3129
+ # Corresponds to the JSON property `name`
3130
+ # @return [String]
3131
+ attr_accessor :name
3132
+
3133
+ # Timestamp the model training was initiated.
3134
+ # Corresponds to the JSON property `trainingStartTime`
3135
+ # @return [String]
3136
+ attr_accessor :training_start_time
3137
+
3138
+ def initialize(**args)
3139
+ update!(**args)
3140
+ end
3141
+
3142
+ # Update properties of this object
3143
+ def update!(**args)
3144
+ @create_time = args[:create_time] if args.key?(:create_time)
3145
+ @display_name = args[:display_name] if args.key?(:display_name)
3146
+ @model_state = args[:model_state] if args.key?(:model_state)
3147
+ @model_version = args[:model_version] if args.key?(:model_version)
3148
+ @name = args[:name] if args.key?(:name)
3149
+ @training_start_time = args[:training_start_time] if args.key?(:training_start_time)
3150
+ end
3151
+ end
3152
+
3153
+ # DataStore captures global settings and configs at the DataStore level.
3154
+ class GoogleCloudDiscoveryengineV1alphaDataStore
3155
+ include Google::Apis::Core::Hashable
3156
+
3157
+ # Immutable. Whether data in the DataStore has ACL information. If set to `true`,
3158
+ # the source data must have ACL. ACL will be ingested when data is ingested by
3159
+ # DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore,
3160
+ # Document can't be accessed by calling DocumentService.GetDocument or
3161
+ # DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC`
2424
3162
  # industry vertical with non-`PUBLIC_WEBSITE` content config.
2425
3163
  # Corresponds to the JSON property `aclEnabled`
2426
3164
  # @return [Boolean]
@@ -3092,8 +3830,8 @@ module Google
3092
3830
  class GoogleCloudDiscoveryengineV1alphaEngineCommonConfig
3093
3831
  include Google::Apis::Core::Hashable
3094
3832
 
3095
- # Immutable. The name of the company, business or entity that is associated with
3096
- # the engine. Setting this may help improve LLM related features.
3833
+ # The name of the company, business or entity that is associated with the engine.
3834
+ # Setting this may help improve LLM related features.
3097
3835
  # Corresponds to the JSON property `companyName`
3098
3836
  # @return [String]
3099
3837
  attr_accessor :company_name
@@ -3411,6 +4149,17 @@ module Google
3411
4149
  # @return [String]
3412
4150
  attr_accessor :retrievable_option
3413
4151
 
4152
+ # Field paths for indexing custom attribute from schema.org data. More details
4153
+ # of schema.org and its defined types can be found at [schema.org](https://
4154
+ # schema.org). It is only used on advanced site search schema. Currently only
4155
+ # support full path from root. The full path to a field is constructed by
4156
+ # concatenating field names, starting from `_root`, with a period `.` as the
4157
+ # delimiter. Examples: * Publish date of the root: _root.datePublished * Publish
4158
+ # date of the reviews: _root.review.datePublished
4159
+ # Corresponds to the JSON property `schemaOrgPaths`
4160
+ # @return [Array<String>]
4161
+ attr_accessor :schema_org_paths
4162
+
3414
4163
  # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by
3415
4164
  # text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is
3416
4165
  # numerical, field values will not be searchable by text queries in
@@ -3440,6 +4189,7 @@ module Google
3440
4189
  @key_property_type = args[:key_property_type] if args.key?(:key_property_type)
3441
4190
  @recs_filterable_option = args[:recs_filterable_option] if args.key?(:recs_filterable_option)
3442
4191
  @retrievable_option = args[:retrievable_option] if args.key?(:retrievable_option)
4192
+ @schema_org_paths = args[:schema_org_paths] if args.key?(:schema_org_paths)
3443
4193
  @searchable_option = args[:searchable_option] if args.key?(:searchable_option)
3444
4194
  end
3445
4195
  end
@@ -4615,41 +5365,99 @@ module Google
4615
5365
  end
4616
5366
  end
4617
5367
 
4618
- # Defines an answer.
4619
- class GoogleCloudDiscoveryengineV1betaAnswer
5368
+ # AlloyDB source import data from.
5369
+ class GoogleCloudDiscoveryengineV1betaAlloyDbSource
4620
5370
  include Google::Apis::Core::Hashable
4621
5371
 
4622
- # Additional answer-skipped reasons. This provides the reason for ignored cases.
4623
- # If nothing is skipped, this field is not set.
4624
- # Corresponds to the JSON property `answerSkippedReasons`
4625
- # @return [Array<String>]
4626
- attr_accessor :answer_skipped_reasons
4627
-
4628
- # The textual answer.
4629
- # Corresponds to the JSON property `answerText`
5372
+ # Required. The AlloyDB cluster to copy the data from with a length limit of 256
5373
+ # characters.
5374
+ # Corresponds to the JSON property `clusterId`
4630
5375
  # @return [String]
4631
- attr_accessor :answer_text
5376
+ attr_accessor :cluster_id
4632
5377
 
4633
- # Citations.
4634
- # Corresponds to the JSON property `citations`
4635
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerCitation>]
4636
- attr_accessor :citations
5378
+ # Required. The AlloyDB database to copy the data from with a length limit of
5379
+ # 256 characters.
5380
+ # Corresponds to the JSON property `databaseId`
5381
+ # @return [String]
5382
+ attr_accessor :database_id
4637
5383
 
4638
- # Output only. Answer completed timestamp.
4639
- # Corresponds to the JSON property `completeTime`
5384
+ # Intermediate Cloud Storage directory used for the import with a length limit
5385
+ # of 2,000 characters. Can be specified if one wants to have the AlloyDB export
5386
+ # to a specific Cloud Storage directory. Ensure that the AlloyDB service account
5387
+ # has the necessary Cloud Storage Admin permissions to access the specified
5388
+ # Cloud Storage directory.
5389
+ # Corresponds to the JSON property `gcsStagingDir`
4640
5390
  # @return [String]
4641
- attr_accessor :complete_time
5391
+ attr_accessor :gcs_staging_dir
4642
5392
 
4643
- # Output only. Answer creation timestamp.
4644
- # Corresponds to the JSON property `createTime`
5393
+ # Required. The AlloyDB location to copy the data from with a length limit of
5394
+ # 256 characters.
5395
+ # Corresponds to the JSON property `locationId`
4645
5396
  # @return [String]
4646
- attr_accessor :create_time
5397
+ attr_accessor :location_id
4647
5398
 
4648
- # Immutable. Fully qualified name `projects/`project`/locations/global/
4649
- # collections/`collection`/engines/`engine`/sessions/*/answers/*`
4650
- # Corresponds to the JSON property `name`
5399
+ # The project ID that the AlloyDB source is in with a length limit of 128
5400
+ # characters. If not specified, inherits the project ID from the parent request.
5401
+ # Corresponds to the JSON property `projectId`
4651
5402
  # @return [String]
4652
- attr_accessor :name
5403
+ attr_accessor :project_id
5404
+
5405
+ # Required. The AlloyDB table to copy the data from with a length limit of 256
5406
+ # characters.
5407
+ # Corresponds to the JSON property `tableId`
5408
+ # @return [String]
5409
+ attr_accessor :table_id
5410
+
5411
+ def initialize(**args)
5412
+ update!(**args)
5413
+ end
5414
+
5415
+ # Update properties of this object
5416
+ def update!(**args)
5417
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
5418
+ @database_id = args[:database_id] if args.key?(:database_id)
5419
+ @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
5420
+ @location_id = args[:location_id] if args.key?(:location_id)
5421
+ @project_id = args[:project_id] if args.key?(:project_id)
5422
+ @table_id = args[:table_id] if args.key?(:table_id)
5423
+ end
5424
+ end
5425
+
5426
+ # Defines an answer.
5427
+ class GoogleCloudDiscoveryengineV1betaAnswer
5428
+ include Google::Apis::Core::Hashable
5429
+
5430
+ # Additional answer-skipped reasons. This provides the reason for ignored cases.
5431
+ # If nothing is skipped, this field is not set.
5432
+ # Corresponds to the JSON property `answerSkippedReasons`
5433
+ # @return [Array<String>]
5434
+ attr_accessor :answer_skipped_reasons
5435
+
5436
+ # The textual answer.
5437
+ # Corresponds to the JSON property `answerText`
5438
+ # @return [String]
5439
+ attr_accessor :answer_text
5440
+
5441
+ # Citations.
5442
+ # Corresponds to the JSON property `citations`
5443
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerCitation>]
5444
+ attr_accessor :citations
5445
+
5446
+ # Output only. Answer completed timestamp.
5447
+ # Corresponds to the JSON property `completeTime`
5448
+ # @return [String]
5449
+ attr_accessor :complete_time
5450
+
5451
+ # Output only. Answer creation timestamp.
5452
+ # Corresponds to the JSON property `createTime`
5453
+ # @return [String]
5454
+ attr_accessor :create_time
5455
+
5456
+ # Immutable. Fully qualified name `projects/`project`/locations/global/
5457
+ # collections/`collection`/engines/`engine`/sessions/*/answers/*`
5458
+ # Corresponds to the JSON property `name`
5459
+ # @return [String]
5460
+ attr_accessor :name
4653
5461
 
4654
5462
  # Query understanding information.
4655
5463
  # Corresponds to the JSON property `queryUnderstandingInfo`
@@ -4798,6 +5606,21 @@ module Google
4798
5606
  # @return [String]
4799
5607
  attr_accessor :session
4800
5608
 
5609
+ # The user labels applied to a resource must meet the following requirements: *
5610
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
5611
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
5612
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
5613
+ # have a maximum length of 63 characters. * Keys and values can contain only
5614
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
5615
+ # must use UTF-8 encoding, and international characters are allowed. * The key
5616
+ # portion of a label must be unique. However, you can use the same key with
5617
+ # multiple resources. * Keys must start with a lowercase letter or international
5618
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
5619
+ # manager/docs/creating-managing-labels#requirements) for more details.
5620
+ # Corresponds to the JSON property `userLabels`
5621
+ # @return [Hash<String,String>]
5622
+ attr_accessor :user_labels
5623
+
4801
5624
  # A unique identifier for tracking visitors. For example, this could be
4802
5625
  # implemented with an HTTP cookie, which should be able to uniquely identify a
4803
5626
  # visitor on a single device. This unique identifier should not change if the
@@ -4823,6 +5646,7 @@ module Google
4823
5646
  @safety_spec = args[:safety_spec] if args.key?(:safety_spec)
4824
5647
  @search_spec = args[:search_spec] if args.key?(:search_spec)
4825
5648
  @session = args[:session] if args.key?(:session)
5649
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
4826
5650
  @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
4827
5651
  end
4828
5652
  end
@@ -4849,6 +5673,15 @@ module Google
4849
5673
  attr_accessor :ignore_adversarial_query
4850
5674
  alias_method :ignore_adversarial_query?, :ignore_adversarial_query
4851
5675
 
5676
+ # Specifies whether to filter out queries that have low relevance. If this field
5677
+ # is set to `false`, all search results are used regardless of relevance to
5678
+ # generate answers. If set to `true` or unset, the behavior will be determined
5679
+ # automatically by the service.
5680
+ # Corresponds to the JSON property `ignoreLowRelevantContent`
5681
+ # @return [Boolean]
5682
+ attr_accessor :ignore_low_relevant_content
5683
+ alias_method :ignore_low_relevant_content?, :ignore_low_relevant_content
5684
+
4852
5685
  # Specifies whether to filter out queries that are not answer-seeking. The
4853
5686
  # default value is `false`. Google employs search-query classification to detect
4854
5687
  # answer-seeking queries. No answer is returned if the search query is
@@ -4885,6 +5718,7 @@ module Google
4885
5718
  def update!(**args)
4886
5719
  @answer_language_code = args[:answer_language_code] if args.key?(:answer_language_code)
4887
5720
  @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
5721
+ @ignore_low_relevant_content = args[:ignore_low_relevant_content] if args.key?(:ignore_low_relevant_content)
4888
5722
  @ignore_non_answer_seeking_query = args[:ignore_non_answer_seeking_query] if args.key?(:ignore_non_answer_seeking_query)
4889
5723
  @include_citations = args[:include_citations] if args.key?(:include_citations)
4890
5724
  @model_spec = args[:model_spec] if args.key?(:model_spec)
@@ -5076,6 +5910,14 @@ module Google
5076
5910
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec]
5077
5911
  attr_accessor :boost_spec
5078
5912
 
5913
+ # Specs defining dataStores to filter on in a search call and configurations for
5914
+ # those dataStores. This is only considered for engines with multiple dataStores
5915
+ # use case. For single dataStore within an engine, they should use the specs at
5916
+ # the top level.
5917
+ # Corresponds to the JSON property `dataStoreSpecs`
5918
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec>]
5919
+ attr_accessor :data_store_specs
5920
+
5079
5921
  # The filter syntax consists of an expression language for constructing a
5080
5922
  # predicate from one or more fields of the documents being filtered. Filter
5081
5923
  # expression is case-sensitive. This will be used to filter search results which
@@ -5106,6 +5948,15 @@ module Google
5106
5948
  # @return [String]
5107
5949
  attr_accessor :order_by
5108
5950
 
5951
+ # Specifies the search result mode. If unspecified, the search result mode is
5952
+ # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
5953
+ # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
5954
+ # * Otherwise, it defaults to `DOCUMENTS`. See [parse and chunk documents](
5955
+ # https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)
5956
+ # Corresponds to the JSON property `searchResultMode`
5957
+ # @return [String]
5958
+ attr_accessor :search_result_mode
5959
+
5109
5960
  def initialize(**args)
5110
5961
  update!(**args)
5111
5962
  end
@@ -5113,9 +5964,11 @@ module Google
5113
5964
  # Update properties of this object
5114
5965
  def update!(**args)
5115
5966
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
5967
+ @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
5116
5968
  @filter = args[:filter] if args.key?(:filter)
5117
5969
  @max_return_results = args[:max_return_results] if args.key?(:max_return_results)
5118
5970
  @order_by = args[:order_by] if args.key?(:order_by)
5971
+ @search_result_mode = args[:search_result_mode] if args.key?(:search_result_mode)
5119
5972
  end
5120
5973
  end
5121
5974
 
@@ -5466,6 +6319,12 @@ module Google
5466
6319
  # @return [String]
5467
6320
  attr_accessor :page_identifier
5468
6321
 
6322
+ # The structured JSON metadata for the document. It is populated from the struct
6323
+ # data from the Chunk in search result.
6324
+ # Corresponds to the JSON property `structData`
6325
+ # @return [Hash<String,Object>]
6326
+ attr_accessor :struct_data
6327
+
5469
6328
  # Title.
5470
6329
  # Corresponds to the JSON property `title`
5471
6330
  # @return [String]
@@ -5484,6 +6343,7 @@ module Google
5484
6343
  def update!(**args)
5485
6344
  @document = args[:document] if args.key?(:document)
5486
6345
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
6346
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
5487
6347
  @title = args[:title] if args.key?(:title)
5488
6348
  @uri = args[:uri] if args.key?(:uri)
5489
6349
  end
@@ -5503,6 +6363,12 @@ module Google
5503
6363
  # @return [String]
5504
6364
  attr_accessor :document
5505
6365
 
6366
+ # The structured JSON metadata for the document. It is populated from the struct
6367
+ # data from the Chunk in search result.
6368
+ # Corresponds to the JSON property `structData`
6369
+ # @return [Hash<String,Object>]
6370
+ attr_accessor :struct_data
6371
+
5506
6372
  # Title.
5507
6373
  # Corresponds to the JSON property `title`
5508
6374
  # @return [String]
@@ -5521,6 +6387,7 @@ module Google
5521
6387
  def update!(**args)
5522
6388
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
5523
6389
  @document = args[:document] if args.key?(:document)
6390
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
5524
6391
  @title = args[:title] if args.key?(:title)
5525
6392
  @uri = args[:uri] if args.key?(:uri)
5526
6393
  end
@@ -6217,6 +7084,164 @@ module Google
6217
7084
  end
6218
7085
  end
6219
7086
 
7087
+ # Chunk captures all raw metadata information of items to be recommended or
7088
+ # searched in the chunk mode.
7089
+ class GoogleCloudDiscoveryengineV1betaChunk
7090
+ include Google::Apis::Core::Hashable
7091
+
7092
+ # Metadata of the current chunk. This field is only populated on SearchService.
7093
+ # Search API.
7094
+ # Corresponds to the JSON property `chunkMetadata`
7095
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaChunkChunkMetadata]
7096
+ attr_accessor :chunk_metadata
7097
+
7098
+ # Content is a string from a document (parsed content).
7099
+ # Corresponds to the JSON property `content`
7100
+ # @return [String]
7101
+ attr_accessor :content
7102
+
7103
+ # Output only. This field is OUTPUT_ONLY. It contains derived data that are not
7104
+ # in the original input document.
7105
+ # Corresponds to the JSON property `derivedStructData`
7106
+ # @return [Hash<String,Object>]
7107
+ attr_accessor :derived_struct_data
7108
+
7109
+ # Document metadata contains the information of the document of the current
7110
+ # chunk.
7111
+ # Corresponds to the JSON property `documentMetadata`
7112
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata]
7113
+ attr_accessor :document_metadata
7114
+
7115
+ # Unique chunk ID of the current chunk.
7116
+ # Corresponds to the JSON property `id`
7117
+ # @return [String]
7118
+ attr_accessor :id
7119
+
7120
+ # The full resource name of the chunk. Format: `projects/`project`/locations/`
7121
+ # location`/collections/`collection`/dataStores/`data_store`/branches/`branch`/
7122
+ # documents/`document_id`/chunks/`chunk_id``. This field must be a UTF-8 encoded
7123
+ # string with a length limit of 1024 characters.
7124
+ # Corresponds to the JSON property `name`
7125
+ # @return [String]
7126
+ attr_accessor :name
7127
+
7128
+ # Page span of the chunk.
7129
+ # Corresponds to the JSON property `pageSpan`
7130
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaChunkPageSpan]
7131
+ attr_accessor :page_span
7132
+
7133
+ # Output only. Represents the relevance score based on similarity. Higher score
7134
+ # indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only
7135
+ # populated on SearchService.SearchResponse.
7136
+ # Corresponds to the JSON property `relevanceScore`
7137
+ # @return [Float]
7138
+ attr_accessor :relevance_score
7139
+
7140
+ def initialize(**args)
7141
+ update!(**args)
7142
+ end
7143
+
7144
+ # Update properties of this object
7145
+ def update!(**args)
7146
+ @chunk_metadata = args[:chunk_metadata] if args.key?(:chunk_metadata)
7147
+ @content = args[:content] if args.key?(:content)
7148
+ @derived_struct_data = args[:derived_struct_data] if args.key?(:derived_struct_data)
7149
+ @document_metadata = args[:document_metadata] if args.key?(:document_metadata)
7150
+ @id = args[:id] if args.key?(:id)
7151
+ @name = args[:name] if args.key?(:name)
7152
+ @page_span = args[:page_span] if args.key?(:page_span)
7153
+ @relevance_score = args[:relevance_score] if args.key?(:relevance_score)
7154
+ end
7155
+ end
7156
+
7157
+ # Metadata of the current chunk. This field is only populated on SearchService.
7158
+ # Search API.
7159
+ class GoogleCloudDiscoveryengineV1betaChunkChunkMetadata
7160
+ include Google::Apis::Core::Hashable
7161
+
7162
+ # The next chunks of the current chunk. The number is controlled by
7163
+ # SearchRequest.ContentSearchSpec.ChunkSpec.num_next_chunks. This field is only
7164
+ # populated on SearchService.Search API.
7165
+ # Corresponds to the JSON property `nextChunks`
7166
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaChunk>]
7167
+ attr_accessor :next_chunks
7168
+
7169
+ # The previous chunks of the current chunk. The number is controlled by
7170
+ # SearchRequest.ContentSearchSpec.ChunkSpec.num_previous_chunks. This field is
7171
+ # only populated on SearchService.Search API.
7172
+ # Corresponds to the JSON property `previousChunks`
7173
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaChunk>]
7174
+ attr_accessor :previous_chunks
7175
+
7176
+ def initialize(**args)
7177
+ update!(**args)
7178
+ end
7179
+
7180
+ # Update properties of this object
7181
+ def update!(**args)
7182
+ @next_chunks = args[:next_chunks] if args.key?(:next_chunks)
7183
+ @previous_chunks = args[:previous_chunks] if args.key?(:previous_chunks)
7184
+ end
7185
+ end
7186
+
7187
+ # Document metadata contains the information of the document of the current
7188
+ # chunk.
7189
+ class GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata
7190
+ include Google::Apis::Core::Hashable
7191
+
7192
+ # Data representation. The structured JSON data for the document. It should
7193
+ # conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.
7194
+ # Corresponds to the JSON property `structData`
7195
+ # @return [Hash<String,Object>]
7196
+ attr_accessor :struct_data
7197
+
7198
+ # Title of the document.
7199
+ # Corresponds to the JSON property `title`
7200
+ # @return [String]
7201
+ attr_accessor :title
7202
+
7203
+ # Uri of the document.
7204
+ # Corresponds to the JSON property `uri`
7205
+ # @return [String]
7206
+ attr_accessor :uri
7207
+
7208
+ def initialize(**args)
7209
+ update!(**args)
7210
+ end
7211
+
7212
+ # Update properties of this object
7213
+ def update!(**args)
7214
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
7215
+ @title = args[:title] if args.key?(:title)
7216
+ @uri = args[:uri] if args.key?(:uri)
7217
+ end
7218
+ end
7219
+
7220
+ # Page span of the chunk.
7221
+ class GoogleCloudDiscoveryengineV1betaChunkPageSpan
7222
+ include Google::Apis::Core::Hashable
7223
+
7224
+ # The end page of the chunk.
7225
+ # Corresponds to the JSON property `pageEnd`
7226
+ # @return [Fixnum]
7227
+ attr_accessor :page_end
7228
+
7229
+ # The start page of the chunk.
7230
+ # Corresponds to the JSON property `pageStart`
7231
+ # @return [Fixnum]
7232
+ attr_accessor :page_start
7233
+
7234
+ def initialize(**args)
7235
+ update!(**args)
7236
+ end
7237
+
7238
+ # Update properties of this object
7239
+ def update!(**args)
7240
+ @page_end = args[:page_end] if args.key?(:page_end)
7241
+ @page_start = args[:page_start] if args.key?(:page_start)
7242
+ end
7243
+ end
7244
+
6220
7245
  # Cloud SQL source import data from.
6221
7246
  class GoogleCloudDiscoveryengineV1betaCloudSqlSource
6222
7247
  include Google::Apis::Core::Hashable
@@ -6343,10 +7368,286 @@ module Google
6343
7368
  # @return [Fixnum]
6344
7369
  attr_accessor :selected_position
6345
7370
 
6346
- # End user selected CompleteQueryResponse.QuerySuggestion.suggestion.
6347
- # Corresponds to the JSON property `selectedSuggestion`
6348
- # @return [String]
6349
- attr_accessor :selected_suggestion
7371
+ # End user selected CompleteQueryResponse.QuerySuggestion.suggestion.
7372
+ # Corresponds to the JSON property `selectedSuggestion`
7373
+ # @return [String]
7374
+ attr_accessor :selected_suggestion
7375
+
7376
+ def initialize(**args)
7377
+ update!(**args)
7378
+ end
7379
+
7380
+ # Update properties of this object
7381
+ def update!(**args)
7382
+ @selected_position = args[:selected_position] if args.key?(:selected_position)
7383
+ @selected_suggestion = args[:selected_suggestion] if args.key?(:selected_suggestion)
7384
+ end
7385
+ end
7386
+
7387
+ # Defines circumstances to be checked before allowing a behavior
7388
+ class GoogleCloudDiscoveryengineV1betaCondition
7389
+ include Google::Apis::Core::Hashable
7390
+
7391
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
7392
+ # ranges.
7393
+ # Corresponds to the JSON property `activeTimeRange`
7394
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConditionTimeRange>]
7395
+ attr_accessor :active_time_range
7396
+
7397
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
7398
+ # Corresponds to the JSON property `queryTerms`
7399
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConditionQueryTerm>]
7400
+ attr_accessor :query_terms
7401
+
7402
+ def initialize(**args)
7403
+ update!(**args)
7404
+ end
7405
+
7406
+ # Update properties of this object
7407
+ def update!(**args)
7408
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
7409
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
7410
+ end
7411
+ end
7412
+
7413
+ # Matcher for search request query
7414
+ class GoogleCloudDiscoveryengineV1betaConditionQueryTerm
7415
+ include Google::Apis::Core::Hashable
7416
+
7417
+ # Whether the search query needs to exactly match the query term.
7418
+ # Corresponds to the JSON property `fullMatch`
7419
+ # @return [Boolean]
7420
+ attr_accessor :full_match
7421
+ alias_method :full_match?, :full_match
7422
+
7423
+ # The specific query value to match against Must be lowercase, must be UTF-8.
7424
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
7425
+ # empty string. Maximum length of 5000 characters.
7426
+ # Corresponds to the JSON property `value`
7427
+ # @return [String]
7428
+ attr_accessor :value
7429
+
7430
+ def initialize(**args)
7431
+ update!(**args)
7432
+ end
7433
+
7434
+ # Update properties of this object
7435
+ def update!(**args)
7436
+ @full_match = args[:full_match] if args.key?(:full_match)
7437
+ @value = args[:value] if args.key?(:value)
7438
+ end
7439
+ end
7440
+
7441
+ # Used for time-dependent conditions.
7442
+ class GoogleCloudDiscoveryengineV1betaConditionTimeRange
7443
+ include Google::Apis::Core::Hashable
7444
+
7445
+ # End of time range. Range is inclusive. Must be in the future.
7446
+ # Corresponds to the JSON property `endTime`
7447
+ # @return [String]
7448
+ attr_accessor :end_time
7449
+
7450
+ # Start of time range. Range is inclusive.
7451
+ # Corresponds to the JSON property `startTime`
7452
+ # @return [String]
7453
+ attr_accessor :start_time
7454
+
7455
+ def initialize(**args)
7456
+ update!(**args)
7457
+ end
7458
+
7459
+ # Update properties of this object
7460
+ def update!(**args)
7461
+ @end_time = args[:end_time] if args.key?(:end_time)
7462
+ @start_time = args[:start_time] if args.key?(:start_time)
7463
+ end
7464
+ end
7465
+
7466
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
7467
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
7468
+ # `SolutionType`.
7469
+ class GoogleCloudDiscoveryengineV1betaControl
7470
+ include Google::Apis::Core::Hashable
7471
+
7472
+ # Output only. List of all ServingConfig ids this control is attached to. May
7473
+ # take up to 10 minutes to update after changes.
7474
+ # Corresponds to the JSON property `associatedServingConfigIds`
7475
+ # @return [Array<String>]
7476
+ attr_accessor :associated_serving_config_ids
7477
+
7478
+ # Adjusts order of products in returned list.
7479
+ # Corresponds to the JSON property `boostAction`
7480
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlBoostAction]
7481
+ attr_accessor :boost_action
7482
+
7483
+ # Determines when the associated action will trigger. Omit to always apply the
7484
+ # action. Currently only a single condition may be specified. Otherwise an
7485
+ # INVALID ARGUMENT error is thrown.
7486
+ # Corresponds to the JSON property `conditions`
7487
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaCondition>]
7488
+ attr_accessor :conditions
7489
+
7490
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
7491
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
7492
+ # error is thrown.
7493
+ # Corresponds to the JSON property `displayName`
7494
+ # @return [String]
7495
+ attr_accessor :display_name
7496
+
7497
+ # Specified which products may be included in results. Uses same filter as boost.
7498
+ # Corresponds to the JSON property `filterAction`
7499
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlFilterAction]
7500
+ attr_accessor :filter_action
7501
+
7502
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
7503
+ # controls/*`
7504
+ # Corresponds to the JSON property `name`
7505
+ # @return [String]
7506
+ attr_accessor :name
7507
+
7508
+ # Redirects a shopper to the provided URI.
7509
+ # Corresponds to the JSON property `redirectAction`
7510
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlRedirectAction]
7511
+ attr_accessor :redirect_action
7512
+
7513
+ # Required. Immutable. What solution the control belongs to. Must be compatible
7514
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
7515
+ # Corresponds to the JSON property `solutionType`
7516
+ # @return [String]
7517
+ attr_accessor :solution_type
7518
+
7519
+ # Creates a set of terms that will act as synonyms of one another. Example: "
7520
+ # happy" will also be considered as "glad", "glad" will also be considered as "
7521
+ # happy".
7522
+ # Corresponds to the JSON property `synonymsAction`
7523
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlSynonymsAction]
7524
+ attr_accessor :synonyms_action
7525
+
7526
+ # Specifies the use case for the control. Affects what condition fields can be
7527
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
7528
+ # per control. Must be set when solution_type is SolutionType.
7529
+ # SOLUTION_TYPE_SEARCH.
7530
+ # Corresponds to the JSON property `useCases`
7531
+ # @return [Array<String>]
7532
+ attr_accessor :use_cases
7533
+
7534
+ def initialize(**args)
7535
+ update!(**args)
7536
+ end
7537
+
7538
+ # Update properties of this object
7539
+ def update!(**args)
7540
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
7541
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
7542
+ @conditions = args[:conditions] if args.key?(:conditions)
7543
+ @display_name = args[:display_name] if args.key?(:display_name)
7544
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
7545
+ @name = args[:name] if args.key?(:name)
7546
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
7547
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
7548
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
7549
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
7550
+ end
7551
+ end
7552
+
7553
+ # Adjusts order of products in returned list.
7554
+ class GoogleCloudDiscoveryengineV1betaControlBoostAction
7555
+ include Google::Apis::Core::Hashable
7556
+
7557
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
7558
+ # means demotion. Default is 0.0 (No-op).
7559
+ # Corresponds to the JSON property `boost`
7560
+ # @return [Float]
7561
+ attr_accessor :boost
7562
+
7563
+ # Required. Specifies which data store's documents can be boosted by this
7564
+ # control. Full data store name e.g. projects/123/locations/global/collections/
7565
+ # default_collection/dataStores/default_data_store
7566
+ # Corresponds to the JSON property `dataStore`
7567
+ # @return [String]
7568
+ attr_accessor :data_store
7569
+
7570
+ # Required. Specifies which products to apply the boost to. If no filter is
7571
+ # provided all products will be boosted (No-op). Syntax documentation: https://
7572
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
7573
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
7574
+ # Corresponds to the JSON property `filter`
7575
+ # @return [String]
7576
+ attr_accessor :filter
7577
+
7578
+ def initialize(**args)
7579
+ update!(**args)
7580
+ end
7581
+
7582
+ # Update properties of this object
7583
+ def update!(**args)
7584
+ @boost = args[:boost] if args.key?(:boost)
7585
+ @data_store = args[:data_store] if args.key?(:data_store)
7586
+ @filter = args[:filter] if args.key?(:filter)
7587
+ end
7588
+ end
7589
+
7590
+ # Specified which products may be included in results. Uses same filter as boost.
7591
+ class GoogleCloudDiscoveryengineV1betaControlFilterAction
7592
+ include Google::Apis::Core::Hashable
7593
+
7594
+ # Required. Specifies which data store's documents can be filtered by this
7595
+ # control. Full data store name e.g. projects/123/locations/global/collections/
7596
+ # default_collection/dataStores/default_data_store
7597
+ # Corresponds to the JSON property `dataStore`
7598
+ # @return [String]
7599
+ attr_accessor :data_store
7600
+
7601
+ # Required. A filter to apply on the matching condition results. Required Syntax
7602
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
7603
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
7604
+ # Corresponds to the JSON property `filter`
7605
+ # @return [String]
7606
+ attr_accessor :filter
7607
+
7608
+ def initialize(**args)
7609
+ update!(**args)
7610
+ end
7611
+
7612
+ # Update properties of this object
7613
+ def update!(**args)
7614
+ @data_store = args[:data_store] if args.key?(:data_store)
7615
+ @filter = args[:filter] if args.key?(:filter)
7616
+ end
7617
+ end
7618
+
7619
+ # Redirects a shopper to the provided URI.
7620
+ class GoogleCloudDiscoveryengineV1betaControlRedirectAction
7621
+ include Google::Apis::Core::Hashable
7622
+
7623
+ # Required. The URI to which the shopper will be redirected. Required. URI must
7624
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
7625
+ # error is thrown.
7626
+ # Corresponds to the JSON property `redirectUri`
7627
+ # @return [String]
7628
+ attr_accessor :redirect_uri
7629
+
7630
+ def initialize(**args)
7631
+ update!(**args)
7632
+ end
7633
+
7634
+ # Update properties of this object
7635
+ def update!(**args)
7636
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7637
+ end
7638
+ end
7639
+
7640
+ # Creates a set of terms that will act as synonyms of one another. Example: "
7641
+ # happy" will also be considered as "glad", "glad" will also be considered as "
7642
+ # happy".
7643
+ class GoogleCloudDiscoveryengineV1betaControlSynonymsAction
7644
+ include Google::Apis::Core::Hashable
7645
+
7646
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
7647
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
7648
+ # Corresponds to the JSON property `synonyms`
7649
+ # @return [Array<String>]
7650
+ attr_accessor :synonyms
6350
7651
 
6351
7652
  def initialize(**args)
6352
7653
  update!(**args)
@@ -6354,8 +7655,7 @@ module Google
6354
7655
 
6355
7656
  # Update properties of this object
6356
7657
  def update!(**args)
6357
- @selected_position = args[:selected_position] if args.key?(:selected_position)
6358
- @selected_suggestion = args[:selected_suggestion] if args.key?(:selected_suggestion)
7658
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
6359
7659
  end
6360
7660
  end
6361
7661
 
@@ -6779,7 +8079,7 @@ module Google
6779
8079
  # @return [String]
6780
8080
  attr_accessor :model_state
6781
8081
 
6782
- #
8082
+ # The version of the model.
6783
8083
  # Corresponds to the JSON property `modelVersion`
6784
8084
  # @return [Fixnum]
6785
8085
  attr_accessor :model_version
@@ -7232,6 +8532,11 @@ module Google
7232
8532
  class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig
7233
8533
  include Google::Apis::Core::Hashable
7234
8534
 
8535
+ # Configuration for chunking config.
8536
+ # Corresponds to the JSON property `chunkingConfig`
8537
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig]
8538
+ attr_accessor :chunking_config
8539
+
7235
8540
  # Related configurations applied to a specific type of document parser.
7236
8541
  # Corresponds to the JSON property `defaultParsingConfig`
7237
8542
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig]
@@ -7259,12 +8564,60 @@ module Google
7259
8564
 
7260
8565
  # Update properties of this object
7261
8566
  def update!(**args)
8567
+ @chunking_config = args[:chunking_config] if args.key?(:chunking_config)
7262
8568
  @default_parsing_config = args[:default_parsing_config] if args.key?(:default_parsing_config)
7263
8569
  @name = args[:name] if args.key?(:name)
7264
8570
  @parsing_config_overrides = args[:parsing_config_overrides] if args.key?(:parsing_config_overrides)
7265
8571
  end
7266
8572
  end
7267
8573
 
8574
+ # Configuration for chunking config.
8575
+ class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig
8576
+ include Google::Apis::Core::Hashable
8577
+
8578
+ # Configuration for the layout based chunking.
8579
+ # Corresponds to the JSON property `layoutBasedChunkingConfig`
8580
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig]
8581
+ attr_accessor :layout_based_chunking_config
8582
+
8583
+ def initialize(**args)
8584
+ update!(**args)
8585
+ end
8586
+
8587
+ # Update properties of this object
8588
+ def update!(**args)
8589
+ @layout_based_chunking_config = args[:layout_based_chunking_config] if args.key?(:layout_based_chunking_config)
8590
+ end
8591
+ end
8592
+
8593
+ # Configuration for the layout based chunking.
8594
+ class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig
8595
+ include Google::Apis::Core::Hashable
8596
+
8597
+ # The token size limit for each chunk. Supported values: 100-500 (inclusive).
8598
+ # Default value: 500.
8599
+ # Corresponds to the JSON property `chunkSize`
8600
+ # @return [Fixnum]
8601
+ attr_accessor :chunk_size
8602
+
8603
+ # Whether to include appending different levels of headings to chunks from the
8604
+ # middle of the document to prevent context loss. Default value: False.
8605
+ # Corresponds to the JSON property `includeAncestorHeadings`
8606
+ # @return [Boolean]
8607
+ attr_accessor :include_ancestor_headings
8608
+ alias_method :include_ancestor_headings?, :include_ancestor_headings
8609
+
8610
+ def initialize(**args)
8611
+ update!(**args)
8612
+ end
8613
+
8614
+ # Update properties of this object
8615
+ def update!(**args)
8616
+ @chunk_size = args[:chunk_size] if args.key?(:chunk_size)
8617
+ @include_ancestor_headings = args[:include_ancestor_headings] if args.key?(:include_ancestor_headings)
8618
+ end
8619
+ end
8620
+
7268
8621
  # Related configurations applied to a specific type of document parser.
7269
8622
  class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig
7270
8623
  include Google::Apis::Core::Hashable
@@ -7274,6 +8627,11 @@ module Google
7274
8627
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig]
7275
8628
  attr_accessor :digital_parsing_config
7276
8629
 
8630
+ # The layout parsing configurations for documents.
8631
+ # Corresponds to the JSON property `layoutParsingConfig`
8632
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig]
8633
+ attr_accessor :layout_parsing_config
8634
+
7277
8635
  # The OCR parsing configurations for documents.
7278
8636
  # Corresponds to the JSON property `ocrParsingConfig`
7279
8637
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig]
@@ -7286,6 +8644,7 @@ module Google
7286
8644
  # Update properties of this object
7287
8645
  def update!(**args)
7288
8646
  @digital_parsing_config = args[:digital_parsing_config] if args.key?(:digital_parsing_config)
8647
+ @layout_parsing_config = args[:layout_parsing_config] if args.key?(:layout_parsing_config)
7289
8648
  @ocr_parsing_config = args[:ocr_parsing_config] if args.key?(:ocr_parsing_config)
7290
8649
  end
7291
8650
  end
@@ -7303,6 +8662,19 @@ module Google
7303
8662
  end
7304
8663
  end
7305
8664
 
8665
+ # The layout parsing configurations for documents.
8666
+ class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig
8667
+ include Google::Apis::Core::Hashable
8668
+
8669
+ def initialize(**args)
8670
+ update!(**args)
8671
+ end
8672
+
8673
+ # Update properties of this object
8674
+ def update!(**args)
8675
+ end
8676
+ end
8677
+
7306
8678
  # The OCR parsing configurations for documents.
7307
8679
  class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig
7308
8680
  include Google::Apis::Core::Hashable
@@ -7621,8 +8993,8 @@ module Google
7621
8993
  class GoogleCloudDiscoveryengineV1betaEngineCommonConfig
7622
8994
  include Google::Apis::Core::Hashable
7623
8995
 
7624
- # Immutable. The name of the company, business or entity that is associated with
7625
- # the engine. Setting this may help improve LLM related features.
8996
+ # The name of the company, business or entity that is associated with the engine.
8997
+ # Setting this may help improve LLM related features.
7626
8998
  # Corresponds to the JSON property `companyName`
7627
8999
  # @return [String]
7628
9000
  attr_accessor :company_name
@@ -7926,6 +9298,11 @@ module Google
7926
9298
  class GoogleCloudDiscoveryengineV1betaImportDocumentsRequest
7927
9299
  include Google::Apis::Core::Hashable
7928
9300
 
9301
+ # AlloyDB source import data from.
9302
+ # Corresponds to the JSON property `alloyDbSource`
9303
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAlloyDbSource]
9304
+ attr_accessor :alloy_db_source
9305
+
7929
9306
  # Whether to automatically generate IDs for the documents if absent. If set to `
7930
9307
  # true`, Document.ids are automatically generated based on the hash of the
7931
9308
  # payload, where IDs may not be consistent during multiple imports. In which
@@ -8023,6 +9400,7 @@ module Google
8023
9400
 
8024
9401
  # Update properties of this object
8025
9402
  def update!(**args)
9403
+ @alloy_db_source = args[:alloy_db_source] if args.key?(:alloy_db_source)
8026
9404
  @auto_generate_ids = args[:auto_generate_ids] if args.key?(:auto_generate_ids)
8027
9405
  @bigquery_source = args[:bigquery_source] if args.key?(:bigquery_source)
8028
9406
  @bigtable_source = args[:bigtable_source] if args.key?(:bigtable_source)
@@ -8381,6 +9759,31 @@ module Google
8381
9759
  end
8382
9760
  end
8383
9761
 
9762
+ # Response for ListControls method.
9763
+ class GoogleCloudDiscoveryengineV1betaListControlsResponse
9764
+ include Google::Apis::Core::Hashable
9765
+
9766
+ # All the Controls for a given data store.
9767
+ # Corresponds to the JSON property `controls`
9768
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControl>]
9769
+ attr_accessor :controls
9770
+
9771
+ # Pagination token, if not returned indicates the last page.
9772
+ # Corresponds to the JSON property `nextPageToken`
9773
+ # @return [String]
9774
+ attr_accessor :next_page_token
9775
+
9776
+ def initialize(**args)
9777
+ update!(**args)
9778
+ end
9779
+
9780
+ # Update properties of this object
9781
+ def update!(**args)
9782
+ @controls = args[:controls] if args.key?(:controls)
9783
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9784
+ end
9785
+ end
9786
+
8384
9787
  # Response for ListConversations method.
8385
9788
  class GoogleCloudDiscoveryengineV1betaListConversationsResponse
8386
9789
  include Google::Apis::Core::Hashable
@@ -8748,6 +10151,138 @@ module Google
8748
10151
  end
8749
10152
  end
8750
10153
 
10154
+ # Metadata and configurations for a Google Cloud project in the service.
10155
+ class GoogleCloudDiscoveryengineV1betaProject
10156
+ include Google::Apis::Core::Hashable
10157
+
10158
+ # Output only. The timestamp when this project is created.
10159
+ # Corresponds to the JSON property `createTime`
10160
+ # @return [String]
10161
+ attr_accessor :create_time
10162
+
10163
+ # Output only. Full resource name of the project, for example `projects/`
10164
+ # project_number``. Note that when making requests, project number and project
10165
+ # id are both acceptable, but the server will always respond in project number.
10166
+ # Corresponds to the JSON property `name`
10167
+ # @return [String]
10168
+ attr_accessor :name
10169
+
10170
+ # Output only. The timestamp when this project is successfully provisioned.
10171
+ # Empty value means this project is still provisioning and is not ready for use.
10172
+ # Corresponds to the JSON property `provisionCompletionTime`
10173
+ # @return [String]
10174
+ attr_accessor :provision_completion_time
10175
+
10176
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
10177
+ # Corresponds to the JSON property `serviceTermsMap`
10178
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaProjectServiceTerms>]
10179
+ attr_accessor :service_terms_map
10180
+
10181
+ def initialize(**args)
10182
+ update!(**args)
10183
+ end
10184
+
10185
+ # Update properties of this object
10186
+ def update!(**args)
10187
+ @create_time = args[:create_time] if args.key?(:create_time)
10188
+ @name = args[:name] if args.key?(:name)
10189
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
10190
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
10191
+ end
10192
+ end
10193
+
10194
+ # Metadata about the terms of service.
10195
+ class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
10196
+ include Google::Apis::Core::Hashable
10197
+
10198
+ # The last time when the project agreed to the terms of service.
10199
+ # Corresponds to the JSON property `acceptTime`
10200
+ # @return [String]
10201
+ attr_accessor :accept_time
10202
+
10203
+ # The last time when the project declined or revoked the agreement to terms of
10204
+ # service.
10205
+ # Corresponds to the JSON property `declineTime`
10206
+ # @return [String]
10207
+ attr_accessor :decline_time
10208
+
10209
+ # The unique identifier of this terms of service. Available terms: * `
10210
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
10211
+ # use-terms). When using this as `id`, the acceptable version to provide is `
10212
+ # 2022-11-23`.
10213
+ # Corresponds to the JSON property `id`
10214
+ # @return [String]
10215
+ attr_accessor :id
10216
+
10217
+ # Whether the project has accepted/rejected the service terms or it is still
10218
+ # pending.
10219
+ # Corresponds to the JSON property `state`
10220
+ # @return [String]
10221
+ attr_accessor :state
10222
+
10223
+ # The version string of the terms of service. For acceptable values, see the
10224
+ # comments for id above.
10225
+ # Corresponds to the JSON property `version`
10226
+ # @return [String]
10227
+ attr_accessor :version
10228
+
10229
+ def initialize(**args)
10230
+ update!(**args)
10231
+ end
10232
+
10233
+ # Update properties of this object
10234
+ def update!(**args)
10235
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
10236
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
10237
+ @id = args[:id] if args.key?(:id)
10238
+ @state = args[:state] if args.key?(:state)
10239
+ @version = args[:version] if args.key?(:version)
10240
+ end
10241
+ end
10242
+
10243
+ # Metadata associated with a project provision operation.
10244
+ class GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata
10245
+ include Google::Apis::Core::Hashable
10246
+
10247
+ def initialize(**args)
10248
+ update!(**args)
10249
+ end
10250
+
10251
+ # Update properties of this object
10252
+ def update!(**args)
10253
+ end
10254
+ end
10255
+
10256
+ # Request for ProjectService.ProvisionProject method.
10257
+ class GoogleCloudDiscoveryengineV1betaProvisionProjectRequest
10258
+ include Google::Apis::Core::Hashable
10259
+
10260
+ # Required. Set to `true` to specify that caller has read and would like to give
10261
+ # consent to the [Terms for data use](https://cloud.google.com/retail/data-use-
10262
+ # terms).
10263
+ # Corresponds to the JSON property `acceptDataUseTerms`
10264
+ # @return [Boolean]
10265
+ attr_accessor :accept_data_use_terms
10266
+ alias_method :accept_data_use_terms?, :accept_data_use_terms
10267
+
10268
+ # Required. The version of the [Terms for data use](https://cloud.google.com/
10269
+ # retail/data-use-terms) that caller has read and would like to give consent to.
10270
+ # Acceptable version is `2022-11-23`, and this may change over time.
10271
+ # Corresponds to the JSON property `dataUseTermsVersion`
10272
+ # @return [String]
10273
+ attr_accessor :data_use_terms_version
10274
+
10275
+ def initialize(**args)
10276
+ update!(**args)
10277
+ end
10278
+
10279
+ # Update properties of this object
10280
+ def update!(**args)
10281
+ @accept_data_use_terms = args[:accept_data_use_terms] if args.key?(:accept_data_use_terms)
10282
+ @data_use_terms_version = args[:data_use_terms_version] if args.key?(:data_use_terms_version)
10283
+ end
10284
+ end
10285
+
8751
10286
  # Metadata related to the progress of the PurgeDocuments operation. This will be
8752
10287
  # returned by the google.longrunning.Operation.metadata field.
8753
10288
  class GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata
@@ -8974,6 +10509,21 @@ module Google
8974
10509
  # @return [Fixnum]
8975
10510
  attr_accessor :top_n
8976
10511
 
10512
+ # The user labels applied to a resource must meet the following requirements: *
10513
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
10514
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
10515
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
10516
+ # have a maximum length of 63 characters. * Keys and values can contain only
10517
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
10518
+ # must use UTF-8 encoding, and international characters are allowed. * The key
10519
+ # portion of a label must be unique. However, you can use the same key with
10520
+ # multiple resources. * Keys must start with a lowercase letter or international
10521
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
10522
+ # manager/docs/creating-managing-labels#requirements) for more details.
10523
+ # Corresponds to the JSON property `userLabels`
10524
+ # @return [Hash<String,String>]
10525
+ attr_accessor :user_labels
10526
+
8977
10527
  def initialize(**args)
8978
10528
  update!(**args)
8979
10529
  end
@@ -8985,6 +10535,7 @@ module Google
8985
10535
  @query = args[:query] if args.key?(:query)
8986
10536
  @records = args[:records] if args.key?(:records)
8987
10537
  @top_n = args[:top_n] if args.key?(:top_n)
10538
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
8988
10539
  end
8989
10540
  end
8990
10541
 
@@ -9768,11 +11319,26 @@ module Google
9768
11319
  class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec
9769
11320
  include Google::Apis::Core::Hashable
9770
11321
 
11322
+ # Specifies the chunk spec to be returned from the search response. Only
11323
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
11324
+ # CHUNKS
11325
+ # Corresponds to the JSON property `chunkSpec`
11326
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec]
11327
+ attr_accessor :chunk_spec
11328
+
9771
11329
  # A specification for configuring the extractive content in a search response.
9772
11330
  # Corresponds to the JSON property `extractiveContentSpec`
9773
11331
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec]
9774
11332
  attr_accessor :extractive_content_spec
9775
11333
 
11334
+ # Specifies the search result mode. If unspecified, the search result mode is
11335
+ # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
11336
+ # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
11337
+ # * Otherwise, it defaults to `DOCUMENTS`.
11338
+ # Corresponds to the JSON property `searchResultMode`
11339
+ # @return [String]
11340
+ attr_accessor :search_result_mode
11341
+
9776
11342
  # A specification for configuring snippets in a search response.
9777
11343
  # Corresponds to the JSON property `snippetSpec`
9778
11344
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec]
@@ -9789,12 +11355,43 @@ module Google
9789
11355
 
9790
11356
  # Update properties of this object
9791
11357
  def update!(**args)
11358
+ @chunk_spec = args[:chunk_spec] if args.key?(:chunk_spec)
9792
11359
  @extractive_content_spec = args[:extractive_content_spec] if args.key?(:extractive_content_spec)
11360
+ @search_result_mode = args[:search_result_mode] if args.key?(:search_result_mode)
9793
11361
  @snippet_spec = args[:snippet_spec] if args.key?(:snippet_spec)
9794
11362
  @summary_spec = args[:summary_spec] if args.key?(:summary_spec)
9795
11363
  end
9796
11364
  end
9797
11365
 
11366
+ # Specifies the chunk spec to be returned from the search response. Only
11367
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
11368
+ # CHUNKS
11369
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec
11370
+ include Google::Apis::Core::Hashable
11371
+
11372
+ # The number of next chunks to be returned of the current chunk. The maximum
11373
+ # allowed value is 3. If not specified, no next chunks will be returned.
11374
+ # Corresponds to the JSON property `numNextChunks`
11375
+ # @return [Fixnum]
11376
+ attr_accessor :num_next_chunks
11377
+
11378
+ # The number of previous chunks to be returned of the current chunk. The maximum
11379
+ # allowed value is 3. If not specified, no previous chunks will be returned.
11380
+ # Corresponds to the JSON property `numPreviousChunks`
11381
+ # @return [Fixnum]
11382
+ attr_accessor :num_previous_chunks
11383
+
11384
+ def initialize(**args)
11385
+ update!(**args)
11386
+ end
11387
+
11388
+ # Update properties of this object
11389
+ def update!(**args)
11390
+ @num_next_chunks = args[:num_next_chunks] if args.key?(:num_next_chunks)
11391
+ @num_previous_chunks = args[:num_previous_chunks] if args.key?(:num_previous_chunks)
11392
+ end
11393
+ end
11394
+
9798
11395
  # A specification for configuring the extractive content in a search response.
9799
11396
  class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec
9800
11397
  include Google::Apis::Core::Hashable
@@ -10587,6 +12184,12 @@ module Google
10587
12184
  class GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult
10588
12185
  include Google::Apis::Core::Hashable
10589
12186
 
12187
+ # Chunk captures all raw metadata information of items to be recommended or
12188
+ # searched in the chunk mode.
12189
+ # Corresponds to the JSON property `chunk`
12190
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaChunk]
12191
+ attr_accessor :chunk
12192
+
10590
12193
  # Document captures all raw metadata information of items to be recommended or
10591
12194
  # searched.
10592
12195
  # Corresponds to the JSON property `document`
@@ -10609,6 +12212,7 @@ module Google
10609
12212
 
10610
12213
  # Update properties of this object
10611
12214
  def update!(**args)
12215
+ @chunk = args[:chunk] if args.key?(:chunk)
10612
12216
  @document = args[:document] if args.key?(:document)
10613
12217
  @id = args[:id] if args.key?(:id)
10614
12218
  @model_scores = args[:model_scores] if args.key?(:model_scores)
@@ -11819,6 +13423,15 @@ module Google
11819
13423
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaCompletionInfo]
11820
13424
  attr_accessor :completion_info
11821
13425
 
13426
+ # The DataStore resource full name, of the form `projects/`project`/locations/`
13427
+ # location`/collections/`collection_id`/dataStores/`data_store_id``. Optional.
13428
+ # Only required for user events whose data store can't by determined by
13429
+ # UserEvent.engine or UserEvent.documents. If data store is set in the parent of
13430
+ # write/import/collect user event requests, this field can be omitted.
13431
+ # Corresponds to the JSON property `dataStore`
13432
+ # @return [String]
13433
+ attr_accessor :data_store
13434
+
11822
13435
  # Should set to true if the request is made directly from the end user, in which
11823
13436
  # case the UserEvent.user_info.user_agent can be populated from the HTTP request.
11824
13437
  # This flag should be set only if the API request is made directly from the end
@@ -11841,6 +13454,14 @@ module Google
11841
13454
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentInfo>]
11842
13455
  attr_accessor :documents
11843
13456
 
13457
+ # The Engine resource name, in the form of `projects/`project`/locations/`
13458
+ # location`/collections/`collection_id`/engines/`engine_id``. Optional. Only
13459
+ # required for Engine produced user events. For example, user events from
13460
+ # blended search.
13461
+ # Corresponds to the JSON property `engine`
13462
+ # @return [String]
13463
+ attr_accessor :engine
13464
+
11844
13465
  # Only required for UserEventService.ImportUserEvents method. Timestamp of when
11845
13466
  # the user event happened.
11846
13467
  # Corresponds to the JSON property `eventTime`
@@ -11948,8 +13569,10 @@ module Google
11948
13569
  @attributes = args[:attributes] if args.key?(:attributes)
11949
13570
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
11950
13571
  @completion_info = args[:completion_info] if args.key?(:completion_info)
13572
+ @data_store = args[:data_store] if args.key?(:data_store)
11951
13573
  @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
11952
13574
  @documents = args[:documents] if args.key?(:documents)
13575
+ @engine = args[:engine] if args.key?(:engine)
11953
13576
  @event_time = args[:event_time] if args.key?(:event_time)
11954
13577
  @event_type = args[:event_type] if args.key?(:event_type)
11955
13578
  @filter = args[:filter] if args.key?(:filter)