google-apis-discoveryengine_v1beta 0.45.0 → 0.46.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.
@@ -1004,8 +1279,8 @@ module Google
1004
1279
  class GoogleCloudDiscoveryengineV1EngineCommonConfig
1005
1280
  include Google::Apis::Core::Hashable
1006
1281
 
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.
1282
+ # The name of the company, business or entity that is associated with the engine.
1283
+ # Setting this may help improve LLM related features.
1009
1284
  # Corresponds to the JSON property `companyName`
1010
1285
  # @return [String]
1011
1286
  attr_accessor :company_name
@@ -1277,6 +1552,108 @@ module Google
1277
1552
  end
1278
1553
  end
1279
1554
 
1555
+ # Metadata and configurations for a Google Cloud project in the service.
1556
+ class GoogleCloudDiscoveryengineV1Project
1557
+ include Google::Apis::Core::Hashable
1558
+
1559
+ # Output only. The timestamp when this project is created.
1560
+ # Corresponds to the JSON property `createTime`
1561
+ # @return [String]
1562
+ attr_accessor :create_time
1563
+
1564
+ # Output only. Full resource name of the project, for example `projects/`
1565
+ # project_number``. Note that when making requests, project number and project
1566
+ # id are both acceptable, but the server will always respond in project number.
1567
+ # Corresponds to the JSON property `name`
1568
+ # @return [String]
1569
+ attr_accessor :name
1570
+
1571
+ # Output only. The timestamp when this project is successfully provisioned.
1572
+ # Empty value means this project is still provisioning and is not ready for use.
1573
+ # Corresponds to the JSON property `provisionCompletionTime`
1574
+ # @return [String]
1575
+ attr_accessor :provision_completion_time
1576
+
1577
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
1578
+ # Corresponds to the JSON property `serviceTermsMap`
1579
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
1580
+ attr_accessor :service_terms_map
1581
+
1582
+ def initialize(**args)
1583
+ update!(**args)
1584
+ end
1585
+
1586
+ # Update properties of this object
1587
+ def update!(**args)
1588
+ @create_time = args[:create_time] if args.key?(:create_time)
1589
+ @name = args[:name] if args.key?(:name)
1590
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
1591
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
1592
+ end
1593
+ end
1594
+
1595
+ # Metadata about the terms of service.
1596
+ class GoogleCloudDiscoveryengineV1ProjectServiceTerms
1597
+ include Google::Apis::Core::Hashable
1598
+
1599
+ # The last time when the project agreed to the terms of service.
1600
+ # Corresponds to the JSON property `acceptTime`
1601
+ # @return [String]
1602
+ attr_accessor :accept_time
1603
+
1604
+ # The last time when the project declined or revoked the agreement to terms of
1605
+ # service.
1606
+ # Corresponds to the JSON property `declineTime`
1607
+ # @return [String]
1608
+ attr_accessor :decline_time
1609
+
1610
+ # The unique identifier of this terms of service. Available terms: * `
1611
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
1612
+ # use-terms). When using this as `id`, the acceptable version to provide is `
1613
+ # 2022-11-23`.
1614
+ # Corresponds to the JSON property `id`
1615
+ # @return [String]
1616
+ attr_accessor :id
1617
+
1618
+ # Whether the project has accepted/rejected the service terms or it is still
1619
+ # pending.
1620
+ # Corresponds to the JSON property `state`
1621
+ # @return [String]
1622
+ attr_accessor :state
1623
+
1624
+ # The version string of the terms of service. For acceptable values, see the
1625
+ # comments for id above.
1626
+ # Corresponds to the JSON property `version`
1627
+ # @return [String]
1628
+ attr_accessor :version
1629
+
1630
+ def initialize(**args)
1631
+ update!(**args)
1632
+ end
1633
+
1634
+ # Update properties of this object
1635
+ def update!(**args)
1636
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
1637
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
1638
+ @id = args[:id] if args.key?(:id)
1639
+ @state = args[:state] if args.key?(:state)
1640
+ @version = args[:version] if args.key?(:version)
1641
+ end
1642
+ end
1643
+
1644
+ # Metadata associated with a project provision operation.
1645
+ class GoogleCloudDiscoveryengineV1ProvisionProjectMetadata
1646
+ include Google::Apis::Core::Hashable
1647
+
1648
+ def initialize(**args)
1649
+ update!(**args)
1650
+ end
1651
+
1652
+ # Update properties of this object
1653
+ def update!(**args)
1654
+ end
1655
+ end
1656
+
1280
1657
  # Metadata related to the progress of the PurgeDocuments operation. This will be
1281
1658
  # returned by the google.longrunning.Operation.metadata field.
1282
1659
  class GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata
@@ -1918,6 +2295,12 @@ module Google
1918
2295
  # @return [String]
1919
2296
  attr_accessor :page_identifier
1920
2297
 
2298
+ # The structured JSON metadata for the document. It is populated from the struct
2299
+ # data from the Chunk in search result.
2300
+ # Corresponds to the JSON property `structData`
2301
+ # @return [Hash<String,Object>]
2302
+ attr_accessor :struct_data
2303
+
1921
2304
  # Title.
1922
2305
  # Corresponds to the JSON property `title`
1923
2306
  # @return [String]
@@ -1936,6 +2319,7 @@ module Google
1936
2319
  def update!(**args)
1937
2320
  @document = args[:document] if args.key?(:document)
1938
2321
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
2322
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1939
2323
  @title = args[:title] if args.key?(:title)
1940
2324
  @uri = args[:uri] if args.key?(:uri)
1941
2325
  end
@@ -1955,6 +2339,12 @@ module Google
1955
2339
  # @return [String]
1956
2340
  attr_accessor :document
1957
2341
 
2342
+ # The structured JSON metadata for the document. It is populated from the struct
2343
+ # data from the Chunk in search result.
2344
+ # Corresponds to the JSON property `structData`
2345
+ # @return [Hash<String,Object>]
2346
+ attr_accessor :struct_data
2347
+
1958
2348
  # Title.
1959
2349
  # Corresponds to the JSON property `title`
1960
2350
  # @return [String]
@@ -1973,6 +2363,7 @@ module Google
1973
2363
  def update!(**args)
1974
2364
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
1975
2365
  @document = args[:document] if args.key?(:document)
2366
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1976
2367
  @title = args[:title] if args.key?(:title)
1977
2368
  @uri = args[:uri] if args.key?(:uri)
1978
2369
  end
@@ -2192,7 +2583,285 @@ module Google
2192
2583
  # The query to search.
2193
2584
  # Corresponds to the JSON property `query`
2194
2585
  # @return [String]
2195
- attr_accessor :query
2586
+ attr_accessor :query
2587
+
2588
+ def initialize(**args)
2589
+ update!(**args)
2590
+ end
2591
+
2592
+ # Update properties of this object
2593
+ def update!(**args)
2594
+ @query = args[:query] if args.key?(:query)
2595
+ end
2596
+ end
2597
+
2598
+ # Metadata related to the progress of the SiteSearchEngineService.
2599
+ # BatchCreateTargetSites operation. This will be returned by the google.
2600
+ # longrunning.Operation.metadata field.
2601
+ class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata
2602
+ include Google::Apis::Core::Hashable
2603
+
2604
+ # Operation create time.
2605
+ # Corresponds to the JSON property `createTime`
2606
+ # @return [String]
2607
+ attr_accessor :create_time
2608
+
2609
+ # Operation last update time. If the operation is done, this is also the finish
2610
+ # time.
2611
+ # Corresponds to the JSON property `updateTime`
2612
+ # @return [String]
2613
+ attr_accessor :update_time
2614
+
2615
+ def initialize(**args)
2616
+ update!(**args)
2617
+ end
2618
+
2619
+ # Update properties of this object
2620
+ def update!(**args)
2621
+ @create_time = args[:create_time] if args.key?(:create_time)
2622
+ @update_time = args[:update_time] if args.key?(:update_time)
2623
+ end
2624
+ end
2625
+
2626
+ # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
2627
+ class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse
2628
+ include Google::Apis::Core::Hashable
2629
+
2630
+ # TargetSites created.
2631
+ # Corresponds to the JSON property `targetSites`
2632
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaTargetSite>]
2633
+ attr_accessor :target_sites
2634
+
2635
+ def initialize(**args)
2636
+ update!(**args)
2637
+ end
2638
+
2639
+ # Update properties of this object
2640
+ def update!(**args)
2641
+ @target_sites = args[:target_sites] if args.key?(:target_sites)
2642
+ end
2643
+ end
2644
+
2645
+ # Defines circumstances to be checked before allowing a behavior
2646
+ class GoogleCloudDiscoveryengineV1alphaCondition
2647
+ include Google::Apis::Core::Hashable
2648
+
2649
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
2650
+ # ranges.
2651
+ # Corresponds to the JSON property `activeTimeRange`
2652
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaConditionTimeRange>]
2653
+ attr_accessor :active_time_range
2654
+
2655
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
2656
+ # Corresponds to the JSON property `queryTerms`
2657
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaConditionQueryTerm>]
2658
+ attr_accessor :query_terms
2659
+
2660
+ def initialize(**args)
2661
+ update!(**args)
2662
+ end
2663
+
2664
+ # Update properties of this object
2665
+ def update!(**args)
2666
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
2667
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
2668
+ end
2669
+ end
2670
+
2671
+ # Matcher for search request query
2672
+ class GoogleCloudDiscoveryengineV1alphaConditionQueryTerm
2673
+ include Google::Apis::Core::Hashable
2674
+
2675
+ # Whether the search query needs to exactly match the query term.
2676
+ # Corresponds to the JSON property `fullMatch`
2677
+ # @return [Boolean]
2678
+ attr_accessor :full_match
2679
+ alias_method :full_match?, :full_match
2680
+
2681
+ # The specific query value to match against Must be lowercase, must be UTF-8.
2682
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
2683
+ # empty string. Maximum length of 5000 characters.
2684
+ # Corresponds to the JSON property `value`
2685
+ # @return [String]
2686
+ attr_accessor :value
2687
+
2688
+ def initialize(**args)
2689
+ update!(**args)
2690
+ end
2691
+
2692
+ # Update properties of this object
2693
+ def update!(**args)
2694
+ @full_match = args[:full_match] if args.key?(:full_match)
2695
+ @value = args[:value] if args.key?(:value)
2696
+ end
2697
+ end
2698
+
2699
+ # Used for time-dependent conditions.
2700
+ class GoogleCloudDiscoveryengineV1alphaConditionTimeRange
2701
+ include Google::Apis::Core::Hashable
2702
+
2703
+ # End of time range. Range is inclusive. Must be in the future.
2704
+ # Corresponds to the JSON property `endTime`
2705
+ # @return [String]
2706
+ attr_accessor :end_time
2707
+
2708
+ # Start of time range. Range is inclusive.
2709
+ # Corresponds to the JSON property `startTime`
2710
+ # @return [String]
2711
+ attr_accessor :start_time
2712
+
2713
+ def initialize(**args)
2714
+ update!(**args)
2715
+ end
2716
+
2717
+ # Update properties of this object
2718
+ def update!(**args)
2719
+ @end_time = args[:end_time] if args.key?(:end_time)
2720
+ @start_time = args[:start_time] if args.key?(:start_time)
2721
+ end
2722
+ end
2723
+
2724
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
2725
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
2726
+ # `SolutionType`.
2727
+ class GoogleCloudDiscoveryengineV1alphaControl
2728
+ include Google::Apis::Core::Hashable
2729
+
2730
+ # Output only. List of all ServingConfig ids this control is attached to. May
2731
+ # take up to 10 minutes to update after changes.
2732
+ # Corresponds to the JSON property `associatedServingConfigIds`
2733
+ # @return [Array<String>]
2734
+ attr_accessor :associated_serving_config_ids
2735
+
2736
+ # Adjusts order of products in returned list.
2737
+ # Corresponds to the JSON property `boostAction`
2738
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlBoostAction]
2739
+ attr_accessor :boost_action
2740
+
2741
+ # Determines when the associated action will trigger. Omit to always apply the
2742
+ # action. Currently only a single condition may be specified. Otherwise an
2743
+ # INVALID ARGUMENT error is thrown.
2744
+ # Corresponds to the JSON property `conditions`
2745
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaCondition>]
2746
+ attr_accessor :conditions
2747
+
2748
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
2749
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
2750
+ # error is thrown.
2751
+ # Corresponds to the JSON property `displayName`
2752
+ # @return [String]
2753
+ attr_accessor :display_name
2754
+
2755
+ # Specified which products may be included in results. Uses same filter as boost.
2756
+ # Corresponds to the JSON property `filterAction`
2757
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlFilterAction]
2758
+ attr_accessor :filter_action
2759
+
2760
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
2761
+ # controls/*`
2762
+ # Corresponds to the JSON property `name`
2763
+ # @return [String]
2764
+ attr_accessor :name
2765
+
2766
+ # Redirects a shopper to the provided URI.
2767
+ # Corresponds to the JSON property `redirectAction`
2768
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlRedirectAction]
2769
+ attr_accessor :redirect_action
2770
+
2771
+ # Required. Immutable. What solution the control belongs to. Must be compatible
2772
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
2773
+ # Corresponds to the JSON property `solutionType`
2774
+ # @return [String]
2775
+ attr_accessor :solution_type
2776
+
2777
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2778
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2779
+ # happy".
2780
+ # Corresponds to the JSON property `synonymsAction`
2781
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaControlSynonymsAction]
2782
+ attr_accessor :synonyms_action
2783
+
2784
+ # Specifies the use case for the control. Affects what condition fields can be
2785
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
2786
+ # per control. Must be set when solution_type is SolutionType.
2787
+ # SOLUTION_TYPE_SEARCH.
2788
+ # Corresponds to the JSON property `useCases`
2789
+ # @return [Array<String>]
2790
+ attr_accessor :use_cases
2791
+
2792
+ def initialize(**args)
2793
+ update!(**args)
2794
+ end
2795
+
2796
+ # Update properties of this object
2797
+ def update!(**args)
2798
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
2799
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
2800
+ @conditions = args[:conditions] if args.key?(:conditions)
2801
+ @display_name = args[:display_name] if args.key?(:display_name)
2802
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
2803
+ @name = args[:name] if args.key?(:name)
2804
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
2805
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
2806
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
2807
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
2808
+ end
2809
+ end
2810
+
2811
+ # Adjusts order of products in returned list.
2812
+ class GoogleCloudDiscoveryengineV1alphaControlBoostAction
2813
+ include Google::Apis::Core::Hashable
2814
+
2815
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
2816
+ # means demotion. Default is 0.0 (No-op).
2817
+ # Corresponds to the JSON property `boost`
2818
+ # @return [Float]
2819
+ attr_accessor :boost
2820
+
2821
+ # Required. Specifies which data store's documents can be boosted by this
2822
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2823
+ # default_collection/dataStores/default_data_store
2824
+ # Corresponds to the JSON property `dataStore`
2825
+ # @return [String]
2826
+ attr_accessor :data_store
2827
+
2828
+ # Required. Specifies which products to apply the boost to. If no filter is
2829
+ # provided all products will be boosted (No-op). Syntax documentation: https://
2830
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
2831
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
2832
+ # Corresponds to the JSON property `filter`
2833
+ # @return [String]
2834
+ attr_accessor :filter
2835
+
2836
+ def initialize(**args)
2837
+ update!(**args)
2838
+ end
2839
+
2840
+ # Update properties of this object
2841
+ def update!(**args)
2842
+ @boost = args[:boost] if args.key?(:boost)
2843
+ @data_store = args[:data_store] if args.key?(:data_store)
2844
+ @filter = args[:filter] if args.key?(:filter)
2845
+ end
2846
+ end
2847
+
2848
+ # Specified which products may be included in results. Uses same filter as boost.
2849
+ class GoogleCloudDiscoveryengineV1alphaControlFilterAction
2850
+ include Google::Apis::Core::Hashable
2851
+
2852
+ # Required. Specifies which data store's documents can be filtered by this
2853
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2854
+ # default_collection/dataStores/default_data_store
2855
+ # Corresponds to the JSON property `dataStore`
2856
+ # @return [String]
2857
+ attr_accessor :data_store
2858
+
2859
+ # Required. A filter to apply on the matching condition results. Required Syntax
2860
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
2861
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
2862
+ # Corresponds to the JSON property `filter`
2863
+ # @return [String]
2864
+ attr_accessor :filter
2196
2865
 
2197
2866
  def initialize(**args)
2198
2867
  update!(**args)
@@ -2200,26 +2869,21 @@ module Google
2200
2869
 
2201
2870
  # Update properties of this object
2202
2871
  def update!(**args)
2203
- @query = args[:query] if args.key?(:query)
2872
+ @data_store = args[:data_store] if args.key?(:data_store)
2873
+ @filter = args[:filter] if args.key?(:filter)
2204
2874
  end
2205
2875
  end
2206
2876
 
2207
- # Metadata related to the progress of the SiteSearchEngineService.
2208
- # BatchCreateTargetSites operation. This will be returned by the google.
2209
- # longrunning.Operation.metadata field.
2210
- class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata
2877
+ # Redirects a shopper to the provided URI.
2878
+ class GoogleCloudDiscoveryengineV1alphaControlRedirectAction
2211
2879
  include Google::Apis::Core::Hashable
2212
2880
 
2213
- # Operation create time.
2214
- # Corresponds to the JSON property `createTime`
2215
- # @return [String]
2216
- attr_accessor :create_time
2217
-
2218
- # Operation last update time. If the operation is done, this is also the finish
2219
- # time.
2220
- # Corresponds to the JSON property `updateTime`
2881
+ # Required. The URI to which the shopper will be redirected. Required. URI must
2882
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
2883
+ # error is thrown.
2884
+ # Corresponds to the JSON property `redirectUri`
2221
2885
  # @return [String]
2222
- attr_accessor :update_time
2886
+ attr_accessor :redirect_uri
2223
2887
 
2224
2888
  def initialize(**args)
2225
2889
  update!(**args)
@@ -2227,19 +2891,21 @@ module Google
2227
2891
 
2228
2892
  # Update properties of this object
2229
2893
  def update!(**args)
2230
- @create_time = args[:create_time] if args.key?(:create_time)
2231
- @update_time = args[:update_time] if args.key?(:update_time)
2894
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
2232
2895
  end
2233
2896
  end
2234
2897
 
2235
- # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
2236
- class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse
2898
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2899
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2900
+ # happy".
2901
+ class GoogleCloudDiscoveryengineV1alphaControlSynonymsAction
2237
2902
  include Google::Apis::Core::Hashable
2238
2903
 
2239
- # TargetSites created.
2240
- # Corresponds to the JSON property `targetSites`
2241
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaTargetSite>]
2242
- attr_accessor :target_sites
2904
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
2905
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
2906
+ # Corresponds to the JSON property `synonyms`
2907
+ # @return [Array<String>]
2908
+ attr_accessor :synonyms
2243
2909
 
2244
2910
  def initialize(**args)
2245
2911
  update!(**args)
@@ -2247,7 +2913,7 @@ module Google
2247
2913
 
2248
2914
  # Update properties of this object
2249
2915
  def update!(**args)
2250
- @target_sites = args[:target_sites] if args.key?(:target_sites)
2916
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
2251
2917
  end
2252
2918
  end
2253
2919
 
@@ -2379,7 +3045,7 @@ module Google
2379
3045
  # @return [String]
2380
3046
  attr_accessor :model_state
2381
3047
 
2382
- #
3048
+ # The version of the model.
2383
3049
  # Corresponds to the JSON property `modelVersion`
2384
3050
  # @return [Fixnum]
2385
3051
  attr_accessor :model_version
@@ -3092,8 +3758,8 @@ module Google
3092
3758
  class GoogleCloudDiscoveryengineV1alphaEngineCommonConfig
3093
3759
  include Google::Apis::Core::Hashable
3094
3760
 
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.
3761
+ # The name of the company, business or entity that is associated with the engine.
3762
+ # Setting this may help improve LLM related features.
3097
3763
  # Corresponds to the JSON property `companyName`
3098
3764
  # @return [String]
3099
3765
  attr_accessor :company_name
@@ -3411,6 +4077,17 @@ module Google
3411
4077
  # @return [String]
3412
4078
  attr_accessor :retrievable_option
3413
4079
 
4080
+ # Field paths for indexing custom attribute from schema.org data. More details
4081
+ # of schema.org and its defined types can be found at [schema.org](https://
4082
+ # schema.org). It is only used on advanced site search schema. Currently only
4083
+ # support full path from root. The full path to a field is constructed by
4084
+ # concatenating field names, starting from `_root`, with a period `.` as the
4085
+ # delimiter. Examples: * Publish date of the root: _root.datePublished * Publish
4086
+ # date of the reviews: _root.review.datePublished
4087
+ # Corresponds to the JSON property `schemaOrgPaths`
4088
+ # @return [Array<String>]
4089
+ attr_accessor :schema_org_paths
4090
+
3414
4091
  # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by
3415
4092
  # text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is
3416
4093
  # numerical, field values will not be searchable by text queries in
@@ -3440,6 +4117,7 @@ module Google
3440
4117
  @key_property_type = args[:key_property_type] if args.key?(:key_property_type)
3441
4118
  @recs_filterable_option = args[:recs_filterable_option] if args.key?(:recs_filterable_option)
3442
4119
  @retrievable_option = args[:retrievable_option] if args.key?(:retrievable_option)
4120
+ @schema_org_paths = args[:schema_org_paths] if args.key?(:schema_org_paths)
3443
4121
  @searchable_option = args[:searchable_option] if args.key?(:searchable_option)
3444
4122
  end
3445
4123
  end
@@ -4849,6 +5527,15 @@ module Google
4849
5527
  attr_accessor :ignore_adversarial_query
4850
5528
  alias_method :ignore_adversarial_query?, :ignore_adversarial_query
4851
5529
 
5530
+ # Specifies whether to filter out queries that have low relevance. If this field
5531
+ # is set to `false`, all search results are used regardless of relevance to
5532
+ # generate answers. If set to `true` or unset, the behavior will be determined
5533
+ # automatically by the service.
5534
+ # Corresponds to the JSON property `ignoreLowRelevantContent`
5535
+ # @return [Boolean]
5536
+ attr_accessor :ignore_low_relevant_content
5537
+ alias_method :ignore_low_relevant_content?, :ignore_low_relevant_content
5538
+
4852
5539
  # Specifies whether to filter out queries that are not answer-seeking. The
4853
5540
  # default value is `false`. Google employs search-query classification to detect
4854
5541
  # answer-seeking queries. No answer is returned if the search query is
@@ -4885,6 +5572,7 @@ module Google
4885
5572
  def update!(**args)
4886
5573
  @answer_language_code = args[:answer_language_code] if args.key?(:answer_language_code)
4887
5574
  @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
5575
+ @ignore_low_relevant_content = args[:ignore_low_relevant_content] if args.key?(:ignore_low_relevant_content)
4888
5576
  @ignore_non_answer_seeking_query = args[:ignore_non_answer_seeking_query] if args.key?(:ignore_non_answer_seeking_query)
4889
5577
  @include_citations = args[:include_citations] if args.key?(:include_citations)
4890
5578
  @model_spec = args[:model_spec] if args.key?(:model_spec)
@@ -5076,6 +5764,14 @@ module Google
5076
5764
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec]
5077
5765
  attr_accessor :boost_spec
5078
5766
 
5767
+ # Specs defining dataStores to filter on in a search call and configurations for
5768
+ # those dataStores. This is only considered for engines with multiple dataStores
5769
+ # use case. For single dataStore within an engine, they should use the specs at
5770
+ # the top level.
5771
+ # Corresponds to the JSON property `dataStoreSpecs`
5772
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec>]
5773
+ attr_accessor :data_store_specs
5774
+
5079
5775
  # The filter syntax consists of an expression language for constructing a
5080
5776
  # predicate from one or more fields of the documents being filtered. Filter
5081
5777
  # expression is case-sensitive. This will be used to filter search results which
@@ -5113,6 +5809,7 @@ module Google
5113
5809
  # Update properties of this object
5114
5810
  def update!(**args)
5115
5811
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
5812
+ @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
5116
5813
  @filter = args[:filter] if args.key?(:filter)
5117
5814
  @max_return_results = args[:max_return_results] if args.key?(:max_return_results)
5118
5815
  @order_by = args[:order_by] if args.key?(:order_by)
@@ -5466,6 +6163,12 @@ module Google
5466
6163
  # @return [String]
5467
6164
  attr_accessor :page_identifier
5468
6165
 
6166
+ # The structured JSON metadata for the document. It is populated from the struct
6167
+ # data from the Chunk in search result.
6168
+ # Corresponds to the JSON property `structData`
6169
+ # @return [Hash<String,Object>]
6170
+ attr_accessor :struct_data
6171
+
5469
6172
  # Title.
5470
6173
  # Corresponds to the JSON property `title`
5471
6174
  # @return [String]
@@ -5484,6 +6187,7 @@ module Google
5484
6187
  def update!(**args)
5485
6188
  @document = args[:document] if args.key?(:document)
5486
6189
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
6190
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
5487
6191
  @title = args[:title] if args.key?(:title)
5488
6192
  @uri = args[:uri] if args.key?(:uri)
5489
6193
  end
@@ -5503,6 +6207,12 @@ module Google
5503
6207
  # @return [String]
5504
6208
  attr_accessor :document
5505
6209
 
6210
+ # The structured JSON metadata for the document. It is populated from the struct
6211
+ # data from the Chunk in search result.
6212
+ # Corresponds to the JSON property `structData`
6213
+ # @return [Hash<String,Object>]
6214
+ attr_accessor :struct_data
6215
+
5506
6216
  # Title.
5507
6217
  # Corresponds to the JSON property `title`
5508
6218
  # @return [String]
@@ -5521,6 +6231,7 @@ module Google
5521
6231
  def update!(**args)
5522
6232
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
5523
6233
  @document = args[:document] if args.key?(:document)
6234
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
5524
6235
  @title = args[:title] if args.key?(:title)
5525
6236
  @uri = args[:uri] if args.key?(:uri)
5526
6237
  end
@@ -6236,30 +6947,319 @@ module Google
6236
6947
  # @return [String]
6237
6948
  attr_accessor :gcs_staging_dir
6238
6949
 
6239
- # Required. The Cloud SQL instance to copy the data from with a length limit of
6240
- # 256 characters.
6241
- # Corresponds to the JSON property `instanceId`
6242
- # @return [String]
6243
- attr_accessor :instance_id
6950
+ # Required. The Cloud SQL instance to copy the data from with a length limit of
6951
+ # 256 characters.
6952
+ # Corresponds to the JSON property `instanceId`
6953
+ # @return [String]
6954
+ attr_accessor :instance_id
6955
+
6956
+ # Option for serverless export. Enabling this option will incur additional cost.
6957
+ # More info can be found [here](https://cloud.google.com/sql/pricing#serverless).
6958
+ # Corresponds to the JSON property `offload`
6959
+ # @return [Boolean]
6960
+ attr_accessor :offload
6961
+ alias_method :offload?, :offload
6962
+
6963
+ # The project ID that the Cloud SQL source is in with a length limit of 128
6964
+ # characters. If not specified, inherits the project ID from the parent request.
6965
+ # Corresponds to the JSON property `projectId`
6966
+ # @return [String]
6967
+ attr_accessor :project_id
6968
+
6969
+ # Required. The Cloud SQL table to copy the data from with a length limit of 256
6970
+ # characters.
6971
+ # Corresponds to the JSON property `tableId`
6972
+ # @return [String]
6973
+ attr_accessor :table_id
6974
+
6975
+ def initialize(**args)
6976
+ update!(**args)
6977
+ end
6978
+
6979
+ # Update properties of this object
6980
+ def update!(**args)
6981
+ @database_id = args[:database_id] if args.key?(:database_id)
6982
+ @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
6983
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
6984
+ @offload = args[:offload] if args.key?(:offload)
6985
+ @project_id = args[:project_id] if args.key?(:project_id)
6986
+ @table_id = args[:table_id] if args.key?(:table_id)
6987
+ end
6988
+ end
6989
+
6990
+ # Response message for CompletionService.CompleteQuery method.
6991
+ class GoogleCloudDiscoveryengineV1betaCompleteQueryResponse
6992
+ include Google::Apis::Core::Hashable
6993
+
6994
+ # Results of the matched query suggestions. The result list is ordered and the
6995
+ # first result is a top suggestion.
6996
+ # Corresponds to the JSON property `querySuggestions`
6997
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion>]
6998
+ attr_accessor :query_suggestions
6999
+
7000
+ # True if the returned suggestions are all tail suggestions. For tail matching
7001
+ # to be triggered, include_tail_suggestions in the request must be true and
7002
+ # there must be no suggestions that match the full query.
7003
+ # Corresponds to the JSON property `tailMatchTriggered`
7004
+ # @return [Boolean]
7005
+ attr_accessor :tail_match_triggered
7006
+ alias_method :tail_match_triggered?, :tail_match_triggered
7007
+
7008
+ def initialize(**args)
7009
+ update!(**args)
7010
+ end
7011
+
7012
+ # Update properties of this object
7013
+ def update!(**args)
7014
+ @query_suggestions = args[:query_suggestions] if args.key?(:query_suggestions)
7015
+ @tail_match_triggered = args[:tail_match_triggered] if args.key?(:tail_match_triggered)
7016
+ end
7017
+ end
7018
+
7019
+ # Suggestions as search queries.
7020
+ class GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion
7021
+ include Google::Apis::Core::Hashable
7022
+
7023
+ # The unique document field paths that serve as the source of this suggestion if
7024
+ # it was generated from completable fields. This field is only populated for the
7025
+ # document-completable model.
7026
+ # Corresponds to the JSON property `completableFieldPaths`
7027
+ # @return [Array<String>]
7028
+ attr_accessor :completable_field_paths
7029
+
7030
+ # The suggestion for the query.
7031
+ # Corresponds to the JSON property `suggestion`
7032
+ # @return [String]
7033
+ attr_accessor :suggestion
7034
+
7035
+ def initialize(**args)
7036
+ update!(**args)
7037
+ end
7038
+
7039
+ # Update properties of this object
7040
+ def update!(**args)
7041
+ @completable_field_paths = args[:completable_field_paths] if args.key?(:completable_field_paths)
7042
+ @suggestion = args[:suggestion] if args.key?(:suggestion)
7043
+ end
7044
+ end
7045
+
7046
+ # Detailed completion information including completion attribution token and
7047
+ # clicked completion info.
7048
+ class GoogleCloudDiscoveryengineV1betaCompletionInfo
7049
+ include Google::Apis::Core::Hashable
7050
+
7051
+ # End user selected CompleteQueryResponse.QuerySuggestion.suggestion position,
7052
+ # starting from 0.
7053
+ # Corresponds to the JSON property `selectedPosition`
7054
+ # @return [Fixnum]
7055
+ attr_accessor :selected_position
7056
+
7057
+ # End user selected CompleteQueryResponse.QuerySuggestion.suggestion.
7058
+ # Corresponds to the JSON property `selectedSuggestion`
7059
+ # @return [String]
7060
+ attr_accessor :selected_suggestion
7061
+
7062
+ def initialize(**args)
7063
+ update!(**args)
7064
+ end
7065
+
7066
+ # Update properties of this object
7067
+ def update!(**args)
7068
+ @selected_position = args[:selected_position] if args.key?(:selected_position)
7069
+ @selected_suggestion = args[:selected_suggestion] if args.key?(:selected_suggestion)
7070
+ end
7071
+ end
7072
+
7073
+ # Defines circumstances to be checked before allowing a behavior
7074
+ class GoogleCloudDiscoveryengineV1betaCondition
7075
+ include Google::Apis::Core::Hashable
7076
+
7077
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
7078
+ # ranges.
7079
+ # Corresponds to the JSON property `activeTimeRange`
7080
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConditionTimeRange>]
7081
+ attr_accessor :active_time_range
7082
+
7083
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
7084
+ # Corresponds to the JSON property `queryTerms`
7085
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConditionQueryTerm>]
7086
+ attr_accessor :query_terms
7087
+
7088
+ def initialize(**args)
7089
+ update!(**args)
7090
+ end
7091
+
7092
+ # Update properties of this object
7093
+ def update!(**args)
7094
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
7095
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
7096
+ end
7097
+ end
7098
+
7099
+ # Matcher for search request query
7100
+ class GoogleCloudDiscoveryengineV1betaConditionQueryTerm
7101
+ include Google::Apis::Core::Hashable
7102
+
7103
+ # Whether the search query needs to exactly match the query term.
7104
+ # Corresponds to the JSON property `fullMatch`
7105
+ # @return [Boolean]
7106
+ attr_accessor :full_match
7107
+ alias_method :full_match?, :full_match
7108
+
7109
+ # The specific query value to match against Must be lowercase, must be UTF-8.
7110
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
7111
+ # empty string. Maximum length of 5000 characters.
7112
+ # Corresponds to the JSON property `value`
7113
+ # @return [String]
7114
+ attr_accessor :value
7115
+
7116
+ def initialize(**args)
7117
+ update!(**args)
7118
+ end
7119
+
7120
+ # Update properties of this object
7121
+ def update!(**args)
7122
+ @full_match = args[:full_match] if args.key?(:full_match)
7123
+ @value = args[:value] if args.key?(:value)
7124
+ end
7125
+ end
7126
+
7127
+ # Used for time-dependent conditions.
7128
+ class GoogleCloudDiscoveryengineV1betaConditionTimeRange
7129
+ include Google::Apis::Core::Hashable
7130
+
7131
+ # End of time range. Range is inclusive. Must be in the future.
7132
+ # Corresponds to the JSON property `endTime`
7133
+ # @return [String]
7134
+ attr_accessor :end_time
7135
+
7136
+ # Start of time range. Range is inclusive.
7137
+ # Corresponds to the JSON property `startTime`
7138
+ # @return [String]
7139
+ attr_accessor :start_time
7140
+
7141
+ def initialize(**args)
7142
+ update!(**args)
7143
+ end
7144
+
7145
+ # Update properties of this object
7146
+ def update!(**args)
7147
+ @end_time = args[:end_time] if args.key?(:end_time)
7148
+ @start_time = args[:start_time] if args.key?(:start_time)
7149
+ end
7150
+ end
7151
+
7152
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
7153
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
7154
+ # `SolutionType`.
7155
+ class GoogleCloudDiscoveryengineV1betaControl
7156
+ include Google::Apis::Core::Hashable
7157
+
7158
+ # Output only. List of all ServingConfig ids this control is attached to. May
7159
+ # take up to 10 minutes to update after changes.
7160
+ # Corresponds to the JSON property `associatedServingConfigIds`
7161
+ # @return [Array<String>]
7162
+ attr_accessor :associated_serving_config_ids
7163
+
7164
+ # Adjusts order of products in returned list.
7165
+ # Corresponds to the JSON property `boostAction`
7166
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlBoostAction]
7167
+ attr_accessor :boost_action
7168
+
7169
+ # Determines when the associated action will trigger. Omit to always apply the
7170
+ # action. Currently only a single condition may be specified. Otherwise an
7171
+ # INVALID ARGUMENT error is thrown.
7172
+ # Corresponds to the JSON property `conditions`
7173
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaCondition>]
7174
+ attr_accessor :conditions
7175
+
7176
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
7177
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
7178
+ # error is thrown.
7179
+ # Corresponds to the JSON property `displayName`
7180
+ # @return [String]
7181
+ attr_accessor :display_name
7182
+
7183
+ # Specified which products may be included in results. Uses same filter as boost.
7184
+ # Corresponds to the JSON property `filterAction`
7185
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlFilterAction]
7186
+ attr_accessor :filter_action
7187
+
7188
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
7189
+ # controls/*`
7190
+ # Corresponds to the JSON property `name`
7191
+ # @return [String]
7192
+ attr_accessor :name
7193
+
7194
+ # Redirects a shopper to the provided URI.
7195
+ # Corresponds to the JSON property `redirectAction`
7196
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlRedirectAction]
7197
+ attr_accessor :redirect_action
7198
+
7199
+ # Required. Immutable. What solution the control belongs to. Must be compatible
7200
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
7201
+ # Corresponds to the JSON property `solutionType`
7202
+ # @return [String]
7203
+ attr_accessor :solution_type
7204
+
7205
+ # Creates a set of terms that will act as synonyms of one another. Example: "
7206
+ # happy" will also be considered as "glad", "glad" will also be considered as "
7207
+ # happy".
7208
+ # Corresponds to the JSON property `synonymsAction`
7209
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControlSynonymsAction]
7210
+ attr_accessor :synonyms_action
7211
+
7212
+ # Specifies the use case for the control. Affects what condition fields can be
7213
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
7214
+ # per control. Must be set when solution_type is SolutionType.
7215
+ # SOLUTION_TYPE_SEARCH.
7216
+ # Corresponds to the JSON property `useCases`
7217
+ # @return [Array<String>]
7218
+ attr_accessor :use_cases
7219
+
7220
+ def initialize(**args)
7221
+ update!(**args)
7222
+ end
7223
+
7224
+ # Update properties of this object
7225
+ def update!(**args)
7226
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
7227
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
7228
+ @conditions = args[:conditions] if args.key?(:conditions)
7229
+ @display_name = args[:display_name] if args.key?(:display_name)
7230
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
7231
+ @name = args[:name] if args.key?(:name)
7232
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
7233
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
7234
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
7235
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
7236
+ end
7237
+ end
7238
+
7239
+ # Adjusts order of products in returned list.
7240
+ class GoogleCloudDiscoveryengineV1betaControlBoostAction
7241
+ include Google::Apis::Core::Hashable
6244
7242
 
6245
- # Option for serverless export. Enabling this option will incur additional cost.
6246
- # More info can be found [here](https://cloud.google.com/sql/pricing#serverless).
6247
- # Corresponds to the JSON property `offload`
6248
- # @return [Boolean]
6249
- attr_accessor :offload
6250
- alias_method :offload?, :offload
7243
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
7244
+ # means demotion. Default is 0.0 (No-op).
7245
+ # Corresponds to the JSON property `boost`
7246
+ # @return [Float]
7247
+ attr_accessor :boost
6251
7248
 
6252
- # The project ID that the Cloud SQL source is in with a length limit of 128
6253
- # characters. If not specified, inherits the project ID from the parent request.
6254
- # Corresponds to the JSON property `projectId`
7249
+ # Required. Specifies which data store's documents can be boosted by this
7250
+ # control. Full data store name e.g. projects/123/locations/global/collections/
7251
+ # default_collection/dataStores/default_data_store
7252
+ # Corresponds to the JSON property `dataStore`
6255
7253
  # @return [String]
6256
- attr_accessor :project_id
7254
+ attr_accessor :data_store
6257
7255
 
6258
- # Required. The Cloud SQL table to copy the data from with a length limit of 256
6259
- # characters.
6260
- # Corresponds to the JSON property `tableId`
7256
+ # Required. Specifies which products to apply the boost to. If no filter is
7257
+ # provided all products will be boosted (No-op). Syntax documentation: https://
7258
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
7259
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
7260
+ # Corresponds to the JSON property `filter`
6261
7261
  # @return [String]
6262
- attr_accessor :table_id
7262
+ attr_accessor :filter
6263
7263
 
6264
7264
  def initialize(**args)
6265
7265
  update!(**args)
@@ -6267,32 +7267,29 @@ module Google
6267
7267
 
6268
7268
  # Update properties of this object
6269
7269
  def update!(**args)
6270
- @database_id = args[:database_id] if args.key?(:database_id)
6271
- @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
6272
- @instance_id = args[:instance_id] if args.key?(:instance_id)
6273
- @offload = args[:offload] if args.key?(:offload)
6274
- @project_id = args[:project_id] if args.key?(:project_id)
6275
- @table_id = args[:table_id] if args.key?(:table_id)
7270
+ @boost = args[:boost] if args.key?(:boost)
7271
+ @data_store = args[:data_store] if args.key?(:data_store)
7272
+ @filter = args[:filter] if args.key?(:filter)
6276
7273
  end
6277
7274
  end
6278
7275
 
6279
- # Response message for CompletionService.CompleteQuery method.
6280
- class GoogleCloudDiscoveryengineV1betaCompleteQueryResponse
7276
+ # Specified which products may be included in results. Uses same filter as boost.
7277
+ class GoogleCloudDiscoveryengineV1betaControlFilterAction
6281
7278
  include Google::Apis::Core::Hashable
6282
7279
 
6283
- # Results of the matched query suggestions. The result list is ordered and the
6284
- # first result is a top suggestion.
6285
- # Corresponds to the JSON property `querySuggestions`
6286
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion>]
6287
- attr_accessor :query_suggestions
7280
+ # Required. Specifies which data store's documents can be filtered by this
7281
+ # control. Full data store name e.g. projects/123/locations/global/collections/
7282
+ # default_collection/dataStores/default_data_store
7283
+ # Corresponds to the JSON property `dataStore`
7284
+ # @return [String]
7285
+ attr_accessor :data_store
6288
7286
 
6289
- # True if the returned suggestions are all tail suggestions. For tail matching
6290
- # to be triggered, include_tail_suggestions in the request must be true and
6291
- # there must be no suggestions that match the full query.
6292
- # Corresponds to the JSON property `tailMatchTriggered`
6293
- # @return [Boolean]
6294
- attr_accessor :tail_match_triggered
6295
- alias_method :tail_match_triggered?, :tail_match_triggered
7287
+ # Required. A filter to apply on the matching condition results. Required Syntax
7288
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
7289
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
7290
+ # Corresponds to the JSON property `filter`
7291
+ # @return [String]
7292
+ attr_accessor :filter
6296
7293
 
6297
7294
  def initialize(**args)
6298
7295
  update!(**args)
@@ -6300,26 +7297,21 @@ module Google
6300
7297
 
6301
7298
  # Update properties of this object
6302
7299
  def update!(**args)
6303
- @query_suggestions = args[:query_suggestions] if args.key?(:query_suggestions)
6304
- @tail_match_triggered = args[:tail_match_triggered] if args.key?(:tail_match_triggered)
7300
+ @data_store = args[:data_store] if args.key?(:data_store)
7301
+ @filter = args[:filter] if args.key?(:filter)
6305
7302
  end
6306
7303
  end
6307
7304
 
6308
- # Suggestions as search queries.
6309
- class GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion
7305
+ # Redirects a shopper to the provided URI.
7306
+ class GoogleCloudDiscoveryengineV1betaControlRedirectAction
6310
7307
  include Google::Apis::Core::Hashable
6311
7308
 
6312
- # The unique document field paths that serve as the source of this suggestion if
6313
- # it was generated from completable fields. This field is only populated for the
6314
- # document-completable model.
6315
- # Corresponds to the JSON property `completableFieldPaths`
6316
- # @return [Array<String>]
6317
- attr_accessor :completable_field_paths
6318
-
6319
- # The suggestion for the query.
6320
- # Corresponds to the JSON property `suggestion`
7309
+ # Required. The URI to which the shopper will be redirected. Required. URI must
7310
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
7311
+ # error is thrown.
7312
+ # Corresponds to the JSON property `redirectUri`
6321
7313
  # @return [String]
6322
- attr_accessor :suggestion
7314
+ attr_accessor :redirect_uri
6323
7315
 
6324
7316
  def initialize(**args)
6325
7317
  update!(**args)
@@ -6327,26 +7319,21 @@ module Google
6327
7319
 
6328
7320
  # Update properties of this object
6329
7321
  def update!(**args)
6330
- @completable_field_paths = args[:completable_field_paths] if args.key?(:completable_field_paths)
6331
- @suggestion = args[:suggestion] if args.key?(:suggestion)
7322
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
6332
7323
  end
6333
7324
  end
6334
7325
 
6335
- # Detailed completion information including completion attribution token and
6336
- # clicked completion info.
6337
- class GoogleCloudDiscoveryengineV1betaCompletionInfo
7326
+ # Creates a set of terms that will act as synonyms of one another. Example: "
7327
+ # happy" will also be considered as "glad", "glad" will also be considered as "
7328
+ # happy".
7329
+ class GoogleCloudDiscoveryengineV1betaControlSynonymsAction
6338
7330
  include Google::Apis::Core::Hashable
6339
7331
 
6340
- # End user selected CompleteQueryResponse.QuerySuggestion.suggestion position,
6341
- # starting from 0.
6342
- # Corresponds to the JSON property `selectedPosition`
6343
- # @return [Fixnum]
6344
- attr_accessor :selected_position
6345
-
6346
- # End user selected CompleteQueryResponse.QuerySuggestion.suggestion.
6347
- # Corresponds to the JSON property `selectedSuggestion`
6348
- # @return [String]
6349
- attr_accessor :selected_suggestion
7332
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
7333
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
7334
+ # Corresponds to the JSON property `synonyms`
7335
+ # @return [Array<String>]
7336
+ attr_accessor :synonyms
6350
7337
 
6351
7338
  def initialize(**args)
6352
7339
  update!(**args)
@@ -6354,8 +7341,7 @@ module Google
6354
7341
 
6355
7342
  # Update properties of this object
6356
7343
  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)
7344
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
6359
7345
  end
6360
7346
  end
6361
7347
 
@@ -6779,7 +7765,7 @@ module Google
6779
7765
  # @return [String]
6780
7766
  attr_accessor :model_state
6781
7767
 
6782
- #
7768
+ # The version of the model.
6783
7769
  # Corresponds to the JSON property `modelVersion`
6784
7770
  # @return [Fixnum]
6785
7771
  attr_accessor :model_version
@@ -7621,8 +8607,8 @@ module Google
7621
8607
  class GoogleCloudDiscoveryengineV1betaEngineCommonConfig
7622
8608
  include Google::Apis::Core::Hashable
7623
8609
 
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.
8610
+ # The name of the company, business or entity that is associated with the engine.
8611
+ # Setting this may help improve LLM related features.
7626
8612
  # Corresponds to the JSON property `companyName`
7627
8613
  # @return [String]
7628
8614
  attr_accessor :company_name
@@ -8381,6 +9367,31 @@ module Google
8381
9367
  end
8382
9368
  end
8383
9369
 
9370
+ # Response for ListControls method.
9371
+ class GoogleCloudDiscoveryengineV1betaListControlsResponse
9372
+ include Google::Apis::Core::Hashable
9373
+
9374
+ # All the Controls for a given data store.
9375
+ # Corresponds to the JSON property `controls`
9376
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaControl>]
9377
+ attr_accessor :controls
9378
+
9379
+ # Pagination token, if not returned indicates the last page.
9380
+ # Corresponds to the JSON property `nextPageToken`
9381
+ # @return [String]
9382
+ attr_accessor :next_page_token
9383
+
9384
+ def initialize(**args)
9385
+ update!(**args)
9386
+ end
9387
+
9388
+ # Update properties of this object
9389
+ def update!(**args)
9390
+ @controls = args[:controls] if args.key?(:controls)
9391
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9392
+ end
9393
+ end
9394
+
8384
9395
  # Response for ListConversations method.
8385
9396
  class GoogleCloudDiscoveryengineV1betaListConversationsResponse
8386
9397
  include Google::Apis::Core::Hashable
@@ -8748,6 +9759,138 @@ module Google
8748
9759
  end
8749
9760
  end
8750
9761
 
9762
+ # Metadata and configurations for a Google Cloud project in the service.
9763
+ class GoogleCloudDiscoveryengineV1betaProject
9764
+ include Google::Apis::Core::Hashable
9765
+
9766
+ # Output only. The timestamp when this project is created.
9767
+ # Corresponds to the JSON property `createTime`
9768
+ # @return [String]
9769
+ attr_accessor :create_time
9770
+
9771
+ # Output only. Full resource name of the project, for example `projects/`
9772
+ # project_number``. Note that when making requests, project number and project
9773
+ # id are both acceptable, but the server will always respond in project number.
9774
+ # Corresponds to the JSON property `name`
9775
+ # @return [String]
9776
+ attr_accessor :name
9777
+
9778
+ # Output only. The timestamp when this project is successfully provisioned.
9779
+ # Empty value means this project is still provisioning and is not ready for use.
9780
+ # Corresponds to the JSON property `provisionCompletionTime`
9781
+ # @return [String]
9782
+ attr_accessor :provision_completion_time
9783
+
9784
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
9785
+ # Corresponds to the JSON property `serviceTermsMap`
9786
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaProjectServiceTerms>]
9787
+ attr_accessor :service_terms_map
9788
+
9789
+ def initialize(**args)
9790
+ update!(**args)
9791
+ end
9792
+
9793
+ # Update properties of this object
9794
+ def update!(**args)
9795
+ @create_time = args[:create_time] if args.key?(:create_time)
9796
+ @name = args[:name] if args.key?(:name)
9797
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
9798
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
9799
+ end
9800
+ end
9801
+
9802
+ # Metadata about the terms of service.
9803
+ class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
9804
+ include Google::Apis::Core::Hashable
9805
+
9806
+ # The last time when the project agreed to the terms of service.
9807
+ # Corresponds to the JSON property `acceptTime`
9808
+ # @return [String]
9809
+ attr_accessor :accept_time
9810
+
9811
+ # The last time when the project declined or revoked the agreement to terms of
9812
+ # service.
9813
+ # Corresponds to the JSON property `declineTime`
9814
+ # @return [String]
9815
+ attr_accessor :decline_time
9816
+
9817
+ # The unique identifier of this terms of service. Available terms: * `
9818
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
9819
+ # use-terms). When using this as `id`, the acceptable version to provide is `
9820
+ # 2022-11-23`.
9821
+ # Corresponds to the JSON property `id`
9822
+ # @return [String]
9823
+ attr_accessor :id
9824
+
9825
+ # Whether the project has accepted/rejected the service terms or it is still
9826
+ # pending.
9827
+ # Corresponds to the JSON property `state`
9828
+ # @return [String]
9829
+ attr_accessor :state
9830
+
9831
+ # The version string of the terms of service. For acceptable values, see the
9832
+ # comments for id above.
9833
+ # Corresponds to the JSON property `version`
9834
+ # @return [String]
9835
+ attr_accessor :version
9836
+
9837
+ def initialize(**args)
9838
+ update!(**args)
9839
+ end
9840
+
9841
+ # Update properties of this object
9842
+ def update!(**args)
9843
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
9844
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
9845
+ @id = args[:id] if args.key?(:id)
9846
+ @state = args[:state] if args.key?(:state)
9847
+ @version = args[:version] if args.key?(:version)
9848
+ end
9849
+ end
9850
+
9851
+ # Metadata associated with a project provision operation.
9852
+ class GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata
9853
+ include Google::Apis::Core::Hashable
9854
+
9855
+ def initialize(**args)
9856
+ update!(**args)
9857
+ end
9858
+
9859
+ # Update properties of this object
9860
+ def update!(**args)
9861
+ end
9862
+ end
9863
+
9864
+ # Request for ProjectService.ProvisionProject method.
9865
+ class GoogleCloudDiscoveryengineV1betaProvisionProjectRequest
9866
+ include Google::Apis::Core::Hashable
9867
+
9868
+ # Required. Set to `true` to specify that caller has read and would like to give
9869
+ # consent to the [Terms for data use](https://cloud.google.com/retail/data-use-
9870
+ # terms).
9871
+ # Corresponds to the JSON property `acceptDataUseTerms`
9872
+ # @return [Boolean]
9873
+ attr_accessor :accept_data_use_terms
9874
+ alias_method :accept_data_use_terms?, :accept_data_use_terms
9875
+
9876
+ # Required. The version of the [Terms for data use](https://cloud.google.com/
9877
+ # retail/data-use-terms) that caller has read and would like to give consent to.
9878
+ # Acceptable version is `2022-11-23`, and this may change over time.
9879
+ # Corresponds to the JSON property `dataUseTermsVersion`
9880
+ # @return [String]
9881
+ attr_accessor :data_use_terms_version
9882
+
9883
+ def initialize(**args)
9884
+ update!(**args)
9885
+ end
9886
+
9887
+ # Update properties of this object
9888
+ def update!(**args)
9889
+ @accept_data_use_terms = args[:accept_data_use_terms] if args.key?(:accept_data_use_terms)
9890
+ @data_use_terms_version = args[:data_use_terms_version] if args.key?(:data_use_terms_version)
9891
+ end
9892
+ end
9893
+
8751
9894
  # Metadata related to the progress of the PurgeDocuments operation. This will be
8752
9895
  # returned by the google.longrunning.Operation.metadata field.
8753
9896
  class GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata
@@ -8974,6 +10117,21 @@ module Google
8974
10117
  # @return [Fixnum]
8975
10118
  attr_accessor :top_n
8976
10119
 
10120
+ # The user labels applied to a resource must meet the following requirements: *
10121
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
10122
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
10123
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
10124
+ # have a maximum length of 63 characters. * Keys and values can contain only
10125
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
10126
+ # must use UTF-8 encoding, and international characters are allowed. * The key
10127
+ # portion of a label must be unique. However, you can use the same key with
10128
+ # multiple resources. * Keys must start with a lowercase letter or international
10129
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
10130
+ # manager/docs/creating-managing-labels#requirements) for more details.
10131
+ # Corresponds to the JSON property `userLabels`
10132
+ # @return [Hash<String,String>]
10133
+ attr_accessor :user_labels
10134
+
8977
10135
  def initialize(**args)
8978
10136
  update!(**args)
8979
10137
  end
@@ -8985,6 +10143,7 @@ module Google
8985
10143
  @query = args[:query] if args.key?(:query)
8986
10144
  @records = args[:records] if args.key?(:records)
8987
10145
  @top_n = args[:top_n] if args.key?(:top_n)
10146
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
8988
10147
  end
8989
10148
  end
8990
10149
 
@@ -11819,6 +12978,15 @@ module Google
11819
12978
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaCompletionInfo]
11820
12979
  attr_accessor :completion_info
11821
12980
 
12981
+ # The DataStore resource full name, of the form `projects/`project`/locations/`
12982
+ # location`/collections/`collection_id`/dataStores/`data_store_id``. Optional.
12983
+ # Only required for user events whose data store can't by determined by
12984
+ # UserEvent.engine or UserEvent.documents. If data store is set in the parent of
12985
+ # write/import/collect user event requests, this field can be omitted.
12986
+ # Corresponds to the JSON property `dataStore`
12987
+ # @return [String]
12988
+ attr_accessor :data_store
12989
+
11822
12990
  # Should set to true if the request is made directly from the end user, in which
11823
12991
  # case the UserEvent.user_info.user_agent can be populated from the HTTP request.
11824
12992
  # This flag should be set only if the API request is made directly from the end
@@ -11841,6 +13009,14 @@ module Google
11841
13009
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentInfo>]
11842
13010
  attr_accessor :documents
11843
13011
 
13012
+ # The Engine resource name, in the form of `projects/`project`/locations/`
13013
+ # location`/collections/`collection_id`/engines/`engine_id``. Optional. Only
13014
+ # required for Engine produced user events. For example, user events from
13015
+ # blended search.
13016
+ # Corresponds to the JSON property `engine`
13017
+ # @return [String]
13018
+ attr_accessor :engine
13019
+
11844
13020
  # Only required for UserEventService.ImportUserEvents method. Timestamp of when
11845
13021
  # the user event happened.
11846
13022
  # Corresponds to the JSON property `eventTime`
@@ -11948,8 +13124,10 @@ module Google
11948
13124
  @attributes = args[:attributes] if args.key?(:attributes)
11949
13125
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
11950
13126
  @completion_info = args[:completion_info] if args.key?(:completion_info)
13127
+ @data_store = args[:data_store] if args.key?(:data_store)
11951
13128
  @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
11952
13129
  @documents = args[:documents] if args.key?(:documents)
13130
+ @engine = args[:engine] if args.key?(:engine)
11953
13131
  @event_time = args[:event_time] if args.key?(:event_time)
11954
13132
  @event_type = args[:event_type] if args.key?(:event_type)
11955
13133
  @filter = args[:filter] if args.key?(:filter)