google-apis-discoveryengine_v1beta 0.45.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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)