google-apis-discoveryengine_v1alpha 0.46.0 → 0.48.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::DiscoveryengineV1alpha::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::DiscoveryengineV1alpha::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::DiscoveryengineV1alpha::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::DiscoveryengineV1alpha::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::DiscoveryengineV1alpha::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::DiscoveryengineV1alpha::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::DiscoveryengineV1alpha::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.
@@ -849,8 +1124,7 @@ module Google
849
1124
 
850
1125
  # The industry vertical that the engine registers. The restriction of the Engine
851
1126
  # industry vertical is based on DataStore: If unspecified, default to `GENERIC`.
852
- # Vertical on Engine has to match vertical of the DataStore liniked to the
853
- # engine.
1127
+ # Vertical on Engine has to match vertical of the DataStore linked to the engine.
854
1128
  # Corresponds to the JSON property `industryVertical`
855
1129
  # @return [String]
856
1130
  attr_accessor :industry_vertical
@@ -1005,8 +1279,8 @@ module Google
1005
1279
  class GoogleCloudDiscoveryengineV1EngineCommonConfig
1006
1280
  include Google::Apis::Core::Hashable
1007
1281
 
1008
- # Immutable. The name of the company, business or entity that is associated with
1009
- # 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.
1010
1284
  # Corresponds to the JSON property `companyName`
1011
1285
  # @return [String]
1012
1286
  attr_accessor :company_name
@@ -1278,6 +1552,108 @@ module Google
1278
1552
  end
1279
1553
  end
1280
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::DiscoveryengineV1alpha::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
+
1281
1657
  # Metadata related to the progress of the PurgeDocuments operation. This will be
1282
1658
  # returned by the google.longrunning.Operation.metadata field.
1283
1659
  class GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata
@@ -1844,7 +2220,7 @@ module Google
1844
2220
 
1845
2221
  # The session resource name. Not required. When session field is not set, the
1846
2222
  # API is in sessionless mode. We support auto session mode: users can use the
1847
- # wildcard symbol “-” as session id. A new id will be automatically generated
2223
+ # wildcard symbol `-` as session ID. A new ID will be automatically generated
1848
2224
  # and assigned.
1849
2225
  # Corresponds to the JSON property `session`
1850
2226
  # @return [String]
@@ -1901,6 +2277,15 @@ module Google
1901
2277
  attr_accessor :ignore_adversarial_query
1902
2278
  alias_method :ignore_adversarial_query?, :ignore_adversarial_query
1903
2279
 
2280
+ # Specifies whether to filter out queries that have low relevance. If this field
2281
+ # is set to `false`, all search results are used regardless of relevance to
2282
+ # generate answers. If set to `true` or unset, the behavior will be determined
2283
+ # automatically by the service.
2284
+ # Corresponds to the JSON property `ignoreLowRelevantContent`
2285
+ # @return [Boolean]
2286
+ attr_accessor :ignore_low_relevant_content
2287
+ alias_method :ignore_low_relevant_content?, :ignore_low_relevant_content
2288
+
1904
2289
  # Specifies whether to filter out queries that are not answer-seeking. The
1905
2290
  # default value is `false`. Google employs search-query classification to detect
1906
2291
  # answer-seeking queries. No answer is returned if the search query is
@@ -1937,6 +2322,7 @@ module Google
1937
2322
  def update!(**args)
1938
2323
  @answer_language_code = args[:answer_language_code] if args.key?(:answer_language_code)
1939
2324
  @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
2325
+ @ignore_low_relevant_content = args[:ignore_low_relevant_content] if args.key?(:ignore_low_relevant_content)
1940
2326
  @ignore_non_answer_seeking_query = args[:ignore_non_answer_seeking_query] if args.key?(:ignore_non_answer_seeking_query)
1941
2327
  @include_citations = args[:include_citations] if args.key?(:include_citations)
1942
2328
  @model_spec = args[:model_spec] if args.key?(:model_spec)
@@ -2133,6 +2519,14 @@ module Google
2133
2519
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec]
2134
2520
  attr_accessor :custom_fine_tuning_spec
2135
2521
 
2522
+ # Specs defining dataStores to filter on in a search call and configurations for
2523
+ # those dataStores. This is only considered for engines with multiple dataStores
2524
+ # use case. For single dataStore within an engine, they should use the specs at
2525
+ # the top level.
2526
+ # Corresponds to the JSON property `dataStoreSpecs`
2527
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec>]
2528
+ attr_accessor :data_store_specs
2529
+
2136
2530
  # The filter syntax consists of an expression language for constructing a
2137
2531
  # predicate from one or more fields of the documents being filtered. Filter
2138
2532
  # expression is case-sensitive. This will be used to filter search results which
@@ -2180,6 +2574,7 @@ module Google
2180
2574
  def update!(**args)
2181
2575
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
2182
2576
  @custom_fine_tuning_spec = args[:custom_fine_tuning_spec] if args.key?(:custom_fine_tuning_spec)
2577
+ @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
2183
2578
  @filter = args[:filter] if args.key?(:filter)
2184
2579
  @max_return_results = args[:max_return_results] if args.key?(:max_return_results)
2185
2580
  @order_by = args[:order_by] if args.key?(:order_by)
@@ -2534,6 +2929,12 @@ module Google
2534
2929
  # @return [String]
2535
2930
  attr_accessor :page_identifier
2536
2931
 
2932
+ # The structured JSON metadata for the document. It is populated from the struct
2933
+ # data from the Chunk in search result.
2934
+ # Corresponds to the JSON property `structData`
2935
+ # @return [Hash<String,Object>]
2936
+ attr_accessor :struct_data
2937
+
2537
2938
  # Title.
2538
2939
  # Corresponds to the JSON property `title`
2539
2940
  # @return [String]
@@ -2552,6 +2953,7 @@ module Google
2552
2953
  def update!(**args)
2553
2954
  @document = args[:document] if args.key?(:document)
2554
2955
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
2956
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
2555
2957
  @title = args[:title] if args.key?(:title)
2556
2958
  @uri = args[:uri] if args.key?(:uri)
2557
2959
  end
@@ -2571,6 +2973,12 @@ module Google
2571
2973
  # @return [String]
2572
2974
  attr_accessor :document
2573
2975
 
2976
+ # The structured JSON metadata for the document. It is populated from the struct
2977
+ # data from the Chunk in search result.
2978
+ # Corresponds to the JSON property `structData`
2979
+ # @return [Hash<String,Object>]
2980
+ attr_accessor :struct_data
2981
+
2574
2982
  # Title.
2575
2983
  # Corresponds to the JSON property `title`
2576
2984
  # @return [String]
@@ -2589,6 +2997,7 @@ module Google
2589
2997
  def update!(**args)
2590
2998
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
2591
2999
  @document = args[:document] if args.key?(:document)
3000
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
2592
3001
  @title = args[:title] if args.key?(:title)
2593
3002
  @uri = args[:uri] if args.key?(:uri)
2594
3003
  end
@@ -3331,9 +3740,9 @@ module Google
3331
3740
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaChunkPageSpan]
3332
3741
  attr_accessor :page_span
3333
3742
 
3334
- # Represents the relevance score based on similarity. Higher score represents
3335
- # the chunk relevance. The score is in range [0.0, 1.0]. Only populated on
3336
- # SearchService.SearchResponse
3743
+ # Output only. Represents the relevance score based on similarity. Higher score
3744
+ # indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only
3745
+ # populated on SearchService.SearchResponse.
3337
3746
  # Corresponds to the JSON property `relevanceScore`
3338
3747
  # @return [Float]
3339
3748
  attr_accessor :relevance_score
@@ -3585,6 +3994,281 @@ module Google
3585
3994
  end
3586
3995
  end
3587
3996
 
3997
+ # Defines circumstances to be checked before allowing a behavior
3998
+ class GoogleCloudDiscoveryengineV1alphaCondition
3999
+ include Google::Apis::Core::Hashable
4000
+
4001
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
4002
+ # ranges.
4003
+ # Corresponds to the JSON property `activeTimeRange`
4004
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaConditionTimeRange>]
4005
+ attr_accessor :active_time_range
4006
+
4007
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
4008
+ # Corresponds to the JSON property `queryTerms`
4009
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaConditionQueryTerm>]
4010
+ attr_accessor :query_terms
4011
+
4012
+ def initialize(**args)
4013
+ update!(**args)
4014
+ end
4015
+
4016
+ # Update properties of this object
4017
+ def update!(**args)
4018
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
4019
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
4020
+ end
4021
+ end
4022
+
4023
+ # Matcher for search request query
4024
+ class GoogleCloudDiscoveryengineV1alphaConditionQueryTerm
4025
+ include Google::Apis::Core::Hashable
4026
+
4027
+ # Whether the search query needs to exactly match the query term.
4028
+ # Corresponds to the JSON property `fullMatch`
4029
+ # @return [Boolean]
4030
+ attr_accessor :full_match
4031
+ alias_method :full_match?, :full_match
4032
+
4033
+ # The specific query value to match against Must be lowercase, must be UTF-8.
4034
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
4035
+ # empty string. Maximum length of 5000 characters.
4036
+ # Corresponds to the JSON property `value`
4037
+ # @return [String]
4038
+ attr_accessor :value
4039
+
4040
+ def initialize(**args)
4041
+ update!(**args)
4042
+ end
4043
+
4044
+ # Update properties of this object
4045
+ def update!(**args)
4046
+ @full_match = args[:full_match] if args.key?(:full_match)
4047
+ @value = args[:value] if args.key?(:value)
4048
+ end
4049
+ end
4050
+
4051
+ # Used for time-dependent conditions.
4052
+ class GoogleCloudDiscoveryengineV1alphaConditionTimeRange
4053
+ include Google::Apis::Core::Hashable
4054
+
4055
+ # End of time range. Range is inclusive. Must be in the future.
4056
+ # Corresponds to the JSON property `endTime`
4057
+ # @return [String]
4058
+ attr_accessor :end_time
4059
+
4060
+ # Start of time range. Range is inclusive.
4061
+ # Corresponds to the JSON property `startTime`
4062
+ # @return [String]
4063
+ attr_accessor :start_time
4064
+
4065
+ def initialize(**args)
4066
+ update!(**args)
4067
+ end
4068
+
4069
+ # Update properties of this object
4070
+ def update!(**args)
4071
+ @end_time = args[:end_time] if args.key?(:end_time)
4072
+ @start_time = args[:start_time] if args.key?(:start_time)
4073
+ end
4074
+ end
4075
+
4076
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
4077
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
4078
+ # `SolutionType`.
4079
+ class GoogleCloudDiscoveryengineV1alphaControl
4080
+ include Google::Apis::Core::Hashable
4081
+
4082
+ # Output only. List of all ServingConfig ids this control is attached to. May
4083
+ # take up to 10 minutes to update after changes.
4084
+ # Corresponds to the JSON property `associatedServingConfigIds`
4085
+ # @return [Array<String>]
4086
+ attr_accessor :associated_serving_config_ids
4087
+
4088
+ # Adjusts order of products in returned list.
4089
+ # Corresponds to the JSON property `boostAction`
4090
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaControlBoostAction]
4091
+ attr_accessor :boost_action
4092
+
4093
+ # Determines when the associated action will trigger. Omit to always apply the
4094
+ # action. Currently only a single condition may be specified. Otherwise an
4095
+ # INVALID ARGUMENT error is thrown.
4096
+ # Corresponds to the JSON property `conditions`
4097
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaCondition>]
4098
+ attr_accessor :conditions
4099
+
4100
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
4101
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
4102
+ # error is thrown.
4103
+ # Corresponds to the JSON property `displayName`
4104
+ # @return [String]
4105
+ attr_accessor :display_name
4106
+
4107
+ # Specified which products may be included in results. Uses same filter as boost.
4108
+ # Corresponds to the JSON property `filterAction`
4109
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaControlFilterAction]
4110
+ attr_accessor :filter_action
4111
+
4112
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
4113
+ # controls/*`
4114
+ # Corresponds to the JSON property `name`
4115
+ # @return [String]
4116
+ attr_accessor :name
4117
+
4118
+ # Redirects a shopper to the provided URI.
4119
+ # Corresponds to the JSON property `redirectAction`
4120
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaControlRedirectAction]
4121
+ attr_accessor :redirect_action
4122
+
4123
+ # Required. Immutable. What solution the control belongs to. Must be compatible
4124
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
4125
+ # Corresponds to the JSON property `solutionType`
4126
+ # @return [String]
4127
+ attr_accessor :solution_type
4128
+
4129
+ # Creates a set of terms that will act as synonyms of one another. Example: "
4130
+ # happy" will also be considered as "glad", "glad" will also be considered as "
4131
+ # happy".
4132
+ # Corresponds to the JSON property `synonymsAction`
4133
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaControlSynonymsAction]
4134
+ attr_accessor :synonyms_action
4135
+
4136
+ # Specifies the use case for the control. Affects what condition fields can be
4137
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
4138
+ # per control. Must be set when solution_type is SolutionType.
4139
+ # SOLUTION_TYPE_SEARCH.
4140
+ # Corresponds to the JSON property `useCases`
4141
+ # @return [Array<String>]
4142
+ attr_accessor :use_cases
4143
+
4144
+ def initialize(**args)
4145
+ update!(**args)
4146
+ end
4147
+
4148
+ # Update properties of this object
4149
+ def update!(**args)
4150
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
4151
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
4152
+ @conditions = args[:conditions] if args.key?(:conditions)
4153
+ @display_name = args[:display_name] if args.key?(:display_name)
4154
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
4155
+ @name = args[:name] if args.key?(:name)
4156
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
4157
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
4158
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
4159
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
4160
+ end
4161
+ end
4162
+
4163
+ # Adjusts order of products in returned list.
4164
+ class GoogleCloudDiscoveryengineV1alphaControlBoostAction
4165
+ include Google::Apis::Core::Hashable
4166
+
4167
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
4168
+ # means demotion. Default is 0.0 (No-op).
4169
+ # Corresponds to the JSON property `boost`
4170
+ # @return [Float]
4171
+ attr_accessor :boost
4172
+
4173
+ # Required. Specifies which data store's documents can be boosted by this
4174
+ # control. Full data store name e.g. projects/123/locations/global/collections/
4175
+ # default_collection/dataStores/default_data_store
4176
+ # Corresponds to the JSON property `dataStore`
4177
+ # @return [String]
4178
+ attr_accessor :data_store
4179
+
4180
+ # Required. Specifies which products to apply the boost to. If no filter is
4181
+ # provided all products will be boosted (No-op). Syntax documentation: https://
4182
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
4183
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
4184
+ # Corresponds to the JSON property `filter`
4185
+ # @return [String]
4186
+ attr_accessor :filter
4187
+
4188
+ def initialize(**args)
4189
+ update!(**args)
4190
+ end
4191
+
4192
+ # Update properties of this object
4193
+ def update!(**args)
4194
+ @boost = args[:boost] if args.key?(:boost)
4195
+ @data_store = args[:data_store] if args.key?(:data_store)
4196
+ @filter = args[:filter] if args.key?(:filter)
4197
+ end
4198
+ end
4199
+
4200
+ # Specified which products may be included in results. Uses same filter as boost.
4201
+ class GoogleCloudDiscoveryengineV1alphaControlFilterAction
4202
+ include Google::Apis::Core::Hashable
4203
+
4204
+ # Required. Specifies which data store's documents can be filtered by this
4205
+ # control. Full data store name e.g. projects/123/locations/global/collections/
4206
+ # default_collection/dataStores/default_data_store
4207
+ # Corresponds to the JSON property `dataStore`
4208
+ # @return [String]
4209
+ attr_accessor :data_store
4210
+
4211
+ # Required. A filter to apply on the matching condition results. Required Syntax
4212
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
4213
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
4214
+ # Corresponds to the JSON property `filter`
4215
+ # @return [String]
4216
+ attr_accessor :filter
4217
+
4218
+ def initialize(**args)
4219
+ update!(**args)
4220
+ end
4221
+
4222
+ # Update properties of this object
4223
+ def update!(**args)
4224
+ @data_store = args[:data_store] if args.key?(:data_store)
4225
+ @filter = args[:filter] if args.key?(:filter)
4226
+ end
4227
+ end
4228
+
4229
+ # Redirects a shopper to the provided URI.
4230
+ class GoogleCloudDiscoveryengineV1alphaControlRedirectAction
4231
+ include Google::Apis::Core::Hashable
4232
+
4233
+ # Required. The URI to which the shopper will be redirected. Required. URI must
4234
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
4235
+ # error is thrown.
4236
+ # Corresponds to the JSON property `redirectUri`
4237
+ # @return [String]
4238
+ attr_accessor :redirect_uri
4239
+
4240
+ def initialize(**args)
4241
+ update!(**args)
4242
+ end
4243
+
4244
+ # Update properties of this object
4245
+ def update!(**args)
4246
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
4247
+ end
4248
+ end
4249
+
4250
+ # Creates a set of terms that will act as synonyms of one another. Example: "
4251
+ # happy" will also be considered as "glad", "glad" will also be considered as "
4252
+ # happy".
4253
+ class GoogleCloudDiscoveryengineV1alphaControlSynonymsAction
4254
+ include Google::Apis::Core::Hashable
4255
+
4256
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
4257
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
4258
+ # Corresponds to the JSON property `synonyms`
4259
+ # @return [Array<String>]
4260
+ attr_accessor :synonyms
4261
+
4262
+ def initialize(**args)
4263
+ update!(**args)
4264
+ end
4265
+
4266
+ # Update properties of this object
4267
+ def update!(**args)
4268
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
4269
+ end
4270
+ end
4271
+
3588
4272
  # External conversation proto definition.
3589
4273
  class GoogleCloudDiscoveryengineV1alphaConversation
3590
4274
  include Google::Apis::Core::Hashable
@@ -4025,7 +4709,7 @@ module Google
4025
4709
  # @return [String]
4026
4710
  attr_accessor :model_state
4027
4711
 
4028
- #
4712
+ # The version of the model.
4029
4713
  # Corresponds to the JSON property `modelVersion`
4030
4714
  # @return [Fixnum]
4031
4715
  attr_accessor :model_version
@@ -4516,9 +5200,9 @@ module Google
4516
5200
  attr_accessor :promotion_ids
4517
5201
 
4518
5202
  # Quantity of the Document associated with the user event. Defaults to 1. For
4519
- # example, this field will be 2 if two quantities of the same Document are
4520
- # involved in a `add-to-cart` event. Required for events of the following event
4521
- # types: * `add-to-cart` * `purchase`
5203
+ # example, this field is 2 if two quantities of the same Document are involved
5204
+ # in a `add-to-cart` event. Required for events of the following event types: * `
5205
+ # add-to-cart` * `purchase`
4522
5206
  # Corresponds to the JSON property `quantity`
4523
5207
  # @return [Fixnum]
4524
5208
  attr_accessor :quantity
@@ -4854,8 +5538,7 @@ module Google
4854
5538
 
4855
5539
  # The industry vertical that the engine registers. The restriction of the Engine
4856
5540
  # industry vertical is based on DataStore: If unspecified, default to `GENERIC`.
4857
- # Vertical on Engine has to match vertical of the DataStore liniked to the
4858
- # engine.
5541
+ # Vertical on Engine has to match vertical of the DataStore linked to the engine.
4859
5542
  # Corresponds to the JSON property `industryVertical`
4860
5543
  # @return [String]
4861
5544
  attr_accessor :industry_vertical
@@ -5028,8 +5711,8 @@ module Google
5028
5711
  class GoogleCloudDiscoveryengineV1alphaEngineCommonConfig
5029
5712
  include Google::Apis::Core::Hashable
5030
5713
 
5031
- # Immutable. The name of the company, business or entity that is associated with
5032
- # the engine. Setting this may help improve LLM related features.
5714
+ # The name of the company, business or entity that is associated with the engine.
5715
+ # Setting this may help improve LLM related features.
5033
5716
  # Corresponds to the JSON property `companyName`
5034
5717
  # @return [String]
5035
5718
  attr_accessor :company_name
@@ -5556,6 +6239,17 @@ module Google
5556
6239
  # @return [String]
5557
6240
  attr_accessor :retrievable_option
5558
6241
 
6242
+ # Field paths for indexing custom attribute from schema.org data. More details
6243
+ # of schema.org and its defined types can be found at [schema.org](https://
6244
+ # schema.org). It is only used on advanced site search schema. Currently only
6245
+ # support full path from root. The full path to a field is constructed by
6246
+ # concatenating field names, starting from `_root`, with a period `.` as the
6247
+ # delimiter. Examples: * Publish date of the root: _root.datePublished * Publish
6248
+ # date of the reviews: _root.review.datePublished
6249
+ # Corresponds to the JSON property `schemaOrgPaths`
6250
+ # @return [Array<String>]
6251
+ attr_accessor :schema_org_paths
6252
+
5559
6253
  # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by
5560
6254
  # text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is
5561
6255
  # numerical, field values will not be searchable by text queries in
@@ -5585,6 +6279,7 @@ module Google
5585
6279
  @key_property_type = args[:key_property_type] if args.key?(:key_property_type)
5586
6280
  @recs_filterable_option = args[:recs_filterable_option] if args.key?(:recs_filterable_option)
5587
6281
  @retrievable_option = args[:retrievable_option] if args.key?(:retrievable_option)
6282
+ @schema_org_paths = args[:schema_org_paths] if args.key?(:schema_org_paths)
5588
6283
  @searchable_option = args[:searchable_option] if args.key?(:searchable_option)
5589
6284
  end
5590
6285
  end
@@ -5593,8 +6288,8 @@ module Google
5593
6288
  class GoogleCloudDiscoveryengineV1alphaFirestoreSource
5594
6289
  include Google::Apis::Core::Hashable
5595
6290
 
5596
- # Required. The Firestore collection to copy the data from with a length limit
5597
- # of 1,500 characters.
6291
+ # Required. The Firestore collection (or entity) to copy the data from with a
6292
+ # length limit of 1,500 characters.
5598
6293
  # Corresponds to the JSON property `collectionId`
5599
6294
  # @return [String]
5600
6295
  attr_accessor :collection_id
@@ -5647,17 +6342,17 @@ module Google
5647
6342
  # vertical. * `csv`: A CSV file with header conforming to the defined Schema of
5648
6343
  # the data store. Each entry after the header is imported as a Document. This
5649
6344
  # can only be used by the GENERIC Data Store vertical. Supported values for user
5650
- # even imports: * `user_event` (default): One JSON UserEvent per line.
6345
+ # event imports: * `user_event` (default): One JSON UserEvent per line.
5651
6346
  # Corresponds to the JSON property `dataSchema`
5652
6347
  # @return [String]
5653
6348
  attr_accessor :data_schema
5654
6349
 
5655
- # Required. Cloud Storage URIs to input files. URI can be up to 2000 characters
5656
- # long. URIs can match the full object path (for example, `gs://bucket/directory/
5657
- # object.json`) or a pattern matching one or more files, such as `gs://bucket/
5658
- # directory/*.json`. A request can contain at most 100 files (or 100,000 files
5659
- # if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `
5660
- # data_schema` is `content`).
6350
+ # Required. Cloud Storage URIs to input files. Each URI can be up to 2000
6351
+ # characters long. URIs can match the full object path (for example, `gs://
6352
+ # bucket/directory/object.json`) or a pattern matching one or more files, such
6353
+ # as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or
6354
+ # 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or
6355
+ # 100 MB if `data_schema` is `content`).
5661
6356
  # Corresponds to the JSON property `inputUris`
5662
6357
  # @return [Array<String>]
5663
6358
  attr_accessor :input_uris
@@ -6283,17 +6978,42 @@ module Google
6283
6978
  end
6284
6979
  end
6285
6980
 
6286
- # Response message for ChunkService.ListChunks method.
6287
- class GoogleCloudDiscoveryengineV1alphaListChunksResponse
6981
+ # Response message for ChunkService.ListChunks method.
6982
+ class GoogleCloudDiscoveryengineV1alphaListChunksResponse
6983
+ include Google::Apis::Core::Hashable
6984
+
6985
+ # The Chunks.
6986
+ # Corresponds to the JSON property `chunks`
6987
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaChunk>]
6988
+ attr_accessor :chunks
6989
+
6990
+ # A token that can be sent as ListChunksRequest.page_token to retrieve the next
6991
+ # page. If this field is omitted, there are no subsequent pages.
6992
+ # Corresponds to the JSON property `nextPageToken`
6993
+ # @return [String]
6994
+ attr_accessor :next_page_token
6995
+
6996
+ def initialize(**args)
6997
+ update!(**args)
6998
+ end
6999
+
7000
+ # Update properties of this object
7001
+ def update!(**args)
7002
+ @chunks = args[:chunks] if args.key?(:chunks)
7003
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7004
+ end
7005
+ end
7006
+
7007
+ # Response for ListControls method.
7008
+ class GoogleCloudDiscoveryengineV1alphaListControlsResponse
6288
7009
  include Google::Apis::Core::Hashable
6289
7010
 
6290
- # The Chunks.
6291
- # Corresponds to the JSON property `chunks`
6292
- # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaChunk>]
6293
- attr_accessor :chunks
7011
+ # All the Controls for a given data store.
7012
+ # Corresponds to the JSON property `controls`
7013
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaControl>]
7014
+ attr_accessor :controls
6294
7015
 
6295
- # A token that can be sent as ListChunksRequest.page_token to retrieve the next
6296
- # page. If this field is omitted, there are no subsequent pages.
7016
+ # Pagination token, if not returned indicates the last page.
6297
7017
  # Corresponds to the JSON property `nextPageToken`
6298
7018
  # @return [String]
6299
7019
  attr_accessor :next_page_token
@@ -6304,7 +7024,7 @@ module Google
6304
7024
 
6305
7025
  # Update properties of this object
6306
7026
  def update!(**args)
6307
- @chunks = args[:chunks] if args.key?(:chunks)
7027
+ @controls = args[:controls] if args.key?(:controls)
6308
7028
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
6309
7029
  end
6310
7030
  end
@@ -7225,6 +7945,21 @@ module Google
7225
7945
  # @return [Fixnum]
7226
7946
  attr_accessor :top_n
7227
7947
 
7948
+ # The user labels applied to a resource must meet the following requirements: *
7949
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
7950
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
7951
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
7952
+ # have a maximum length of 63 characters. * Keys and values can contain only
7953
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
7954
+ # must use UTF-8 encoding, and international characters are allowed. * The key
7955
+ # portion of a label must be unique. However, you can use the same key with
7956
+ # multiple resources. * Keys must start with a lowercase letter or international
7957
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
7958
+ # manager/docs/creating-managing-labels#requirements) for more details.
7959
+ # Corresponds to the JSON property `userLabels`
7960
+ # @return [Hash<String,String>]
7961
+ attr_accessor :user_labels
7962
+
7228
7963
  def initialize(**args)
7229
7964
  update!(**args)
7230
7965
  end
@@ -7236,6 +7971,7 @@ module Google
7236
7971
  @query = args[:query] if args.key?(:query)
7237
7972
  @records = args[:records] if args.key?(:records)
7238
7973
  @top_n = args[:top_n] if args.key?(:top_n)
7974
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
7239
7975
  end
7240
7976
  end
7241
7977
 
@@ -7309,45 +8045,44 @@ module Google
7309
8045
  # field, then attribute-based expressions are expected instead of the above
7310
8046
  # described tag-based syntax. Examples: * (launguage: ANY("en", "es")) AND NOT (
7311
8047
  # categories: ANY("Movie")) * (available: true) AND (launguage: ANY("en", "es"))
7312
- # OR (categories: ANY("Movie")) If your filter blocks all results, the API will
7313
- # return generic (unfiltered) popular Documents. If you only want results
7314
- # strictly matching the filters, set `strictFiltering` to True in
8048
+ # OR (categories: ANY("Movie")) If your filter blocks all results, the API
8049
+ # returns generic (unfiltered) popular Documents. If you only want results
8050
+ # strictly matching the filters, set `strictFiltering` to `true` in
7315
8051
  # RecommendRequest.params to receive empty results instead. Note that the API
7316
- # will never return Documents with `storageStatus` of `EXPIRED` or `DELETED`
8052
+ # never returns Documents with `storageStatus` as `EXPIRED` or `DELETED`
7317
8053
  # regardless of filter choices.
7318
8054
  # Corresponds to the JSON property `filter`
7319
8055
  # @return [String]
7320
8056
  attr_accessor :filter
7321
8057
 
7322
8058
  # Maximum number of results to return. Set this property to the number of
7323
- # recommendation results needed. If zero, the service will choose a reasonable
7324
- # default. The maximum allowed value is 100. Values above 100 will be coerced to
7325
- # 100.
8059
+ # recommendation results needed. If zero, the service chooses a reasonable
8060
+ # default. The maximum allowed value is 100. Values above 100 are set to 100.
7326
8061
  # Corresponds to the JSON property `pageSize`
7327
8062
  # @return [Fixnum]
7328
8063
  attr_accessor :page_size
7329
8064
 
7330
8065
  # Additional domain specific parameters for the recommendations. Allowed values:
7331
- # * `returnDocument`: Boolean. If set to true, the associated Document object
7332
- # will be returned in RecommendResponse.RecommendationResult.document. * `
7333
- # returnScore`: Boolean. If set to true, the recommendation 'score'
7334
- # corresponding to each returned Document will be set in RecommendResponse.
7335
- # RecommendationResult.metadata. The given 'score' indicates the probability of
7336
- # a Document conversion given the user's context and history. * `strictFiltering`
7337
- # : Boolean. True by default. If set to false, the service will return generic (
7338
- # unfiltered) popular Documents instead of empty if your filter blocks all
7339
- # recommendation results. * `diversityLevel`: String. Default empty. If set to
7340
- # be non-empty, then it needs to be one of: * `no-diversity` * `low-diversity` *
7341
- # `medium-diversity` * `high-diversity` * `auto-diversity` This gives request-
7342
- # level control and adjusts recommendation results based on Document category. *
7343
- # `attributeFilteringSyntax`: Boolean. False by default. If set to true, the `
7344
- # filter` field is interpreted according to the new, attribute-based syntax.
8066
+ # * `returnDocument`: Boolean. If set to `true`, the associated Document object
8067
+ # is returned in RecommendResponse.RecommendationResult.document. * `returnScore`
8068
+ # : Boolean. If set to true, the recommendation score corresponding to each
8069
+ # returned Document is set in RecommendResponse.RecommendationResult.metadata.
8070
+ # The given score indicates the probability of a Document conversion given the
8071
+ # user's context and history. * `strictFiltering`: Boolean. True by default. If
8072
+ # set to `false`, the service returns generic (unfiltered) popular Documents
8073
+ # instead of empty if your filter blocks all recommendation results. * `
8074
+ # diversityLevel`: String. Default empty. If set to be non-empty, then it needs
8075
+ # to be one of: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-
8076
+ # diversity` * `auto-diversity` This gives request-level control and adjusts
8077
+ # recommendation results based on Document category. * `attributeFilteringSyntax`
8078
+ # : Boolean. False by default. If set to true, the `filter` field is interpreted
8079
+ # according to the new, attribute-based syntax.
7345
8080
  # Corresponds to the JSON property `params`
7346
8081
  # @return [Hash<String,Object>]
7347
8082
  attr_accessor :params
7348
8083
 
7349
8084
  # UserEvent captures all metadata information Discovery Engine API needs to know
7350
- # about how end users interact with customers' website.
8085
+ # about how end users interact with your website.
7351
8086
  # Corresponds to the JSON property `userEvent`
7352
8087
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaUserEvent]
7353
8088
  attr_accessor :user_event
@@ -7367,10 +8102,9 @@ module Google
7367
8102
  # @return [Hash<String,String>]
7368
8103
  attr_accessor :user_labels
7369
8104
 
7370
- # Use validate only mode for this recommendation query. If set to true, a fake
7371
- # model will be used that returns arbitrary Document IDs. Note that the validate
7372
- # only mode should only be used for testing the API, or if the model is not
7373
- # ready.
8105
+ # Use validate only mode for this recommendation query. If set to `true`, a fake
8106
+ # model is used that returns arbitrary Document IDs. Note that the validate only
8107
+ # mode should only be used for testing the API, or if the model is not ready.
7374
8108
  # Corresponds to the JSON property `validateOnly`
7375
8109
  # @return [Boolean]
7376
8110
  attr_accessor :validate_only
@@ -7449,7 +8183,7 @@ module Google
7449
8183
  # @return [String]
7450
8184
  attr_accessor :id
7451
8185
 
7452
- # Additional Document metadata / annotations. Possible values: * `score`:
8186
+ # Additional Document metadata or annotations. Possible values: * `score`:
7453
8187
  # Recommendation score in double value. Is set if `returnScore` is set to true
7454
8188
  # in RecommendRequest.params.
7455
8189
  # Corresponds to the JSON property `metadata`
@@ -7640,7 +8374,7 @@ module Google
7640
8374
  # @return [String]
7641
8375
  attr_accessor :reply
7642
8376
 
7643
- # Summary of the top N search result specified by the summary spec.
8377
+ # Summary of the top N search results specified by the summary spec.
7644
8378
  # Corresponds to the JSON property `summary`
7645
8379
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSummary]
7646
8380
  attr_accessor :summary
@@ -7866,7 +8600,10 @@ module Google
7866
8600
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec]
7867
8601
  attr_accessor :custom_fine_tuning_spec
7868
8602
 
7869
- # A list of data store specs to apply on a search call.
8603
+ # Specs defining dataStores to filter on in a search call and configurations for
8604
+ # those dataStores. This is only considered for engines with multiple dataStores
8605
+ # use case. For single dataStore within an engine, they should use the specs at
8606
+ # the top level.
7870
8607
  # Corresponds to the JSON property `dataStoreSpecs`
7871
8608
  # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec>]
7872
8609
  attr_accessor :data_store_specs
@@ -7940,12 +8677,12 @@ module Google
7940
8677
 
7941
8678
  # Additional search parameters. For public website search only, supported values
7942
8679
  # are: * `user_country_code`: string. Default empty. If set to non-empty,
7943
- # results are restricted or boosted based on the location provided. Example:
7944
- # user_country_code: "au" For available codes see [Country Codes](https://
8680
+ # results are restricted or boosted based on the location provided. For example,
8681
+ # `user_country_code: "au"` For available codes see [Country Codes](https://
7945
8682
  # developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `
7946
8683
  # search_type`: double. Default empty. Enables non-webpage searching depending
7947
8684
  # on the value. The only valid non-default value is 1, which enables image
7948
- # searching. Example: search_type: 1
8685
+ # searching. For example, `search_type: 1`
7949
8686
  # Corresponds to the JSON property `params`
7950
8687
  # @return [Hash<String,Object>]
7951
8688
  attr_accessor :params
@@ -8214,10 +8951,8 @@ module Google
8214
8951
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec]
8215
8952
  attr_accessor :extractive_content_spec
8216
8953
 
8217
- # Specifies the search result mode. If unspecified, the search result mode is
8218
- # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
8219
- # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
8220
- # * Otherwise, it defaults to `DOCUMENTS`.
8954
+ # Specifies the search result mode. If unspecified, the search result mode
8955
+ # defaults to `DOCUMENTS`.
8221
8956
  # Corresponds to the JSON property `searchResultMode`
8222
8957
  # @return [String]
8223
8958
  attr_accessor :search_result_mode
@@ -8516,7 +9251,9 @@ module Google
8516
9251
  end
8517
9252
  end
8518
9253
 
8519
- # A struct to define data stores to filter on in a search call.
9254
+ # A struct to define data stores to filter on in a search call and
9255
+ # configurations for those data stores. A maximum of 1 DataStoreSpec per
9256
+ # data_store is allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.
8520
9257
  class GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec
8521
9258
  include Google::Apis::Core::Hashable
8522
9259
 
@@ -8632,9 +9369,9 @@ module Google
8632
9369
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey]
8633
9370
  attr_accessor :facet_key
8634
9371
 
8635
- # Maximum of facet values that should be returned for this facet. If unspecified,
8636
- # defaults to 20. The maximum allowed value is 300. Values above 300 are
8637
- # coerced to 300. If this field is negative, an `INVALID_ARGUMENT` is returned.
9372
+ # Maximum facet values that are returned for this facet. If unspecified,
9373
+ # defaults to 20. The maximum allowed value is 300. Values above 300 are coerced
9374
+ # to 300. If this field is negative, an `INVALID_ARGUMENT` is returned.
8638
9375
  # Corresponds to the JSON property `limit`
8639
9376
  # @return [Fixnum]
8640
9377
  attr_accessor :limit
@@ -8663,7 +9400,7 @@ module Google
8663
9400
  attr_accessor :case_insensitive
8664
9401
  alias_method :case_insensitive?, :case_insensitive
8665
9402
 
8666
- # Only get facet values that contains the given strings. For example, suppose "
9403
+ # Only get facet values that contain the given strings. For example, suppose "
8667
9404
  # category" has three values "Action > 2022", "Action > 2021" and "Sci-Fi > 2022"
8668
9405
  # . If set "contains" to "2022", the "category" facet only contains "Action >
8669
9406
  # 2022" and "Sci-Fi > 2022". Only supported on textual fields. Maximum is 10.
@@ -8780,8 +9517,8 @@ module Google
8780
9517
  class GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec
8781
9518
  include Google::Apis::Core::Hashable
8782
9519
 
8783
- # The mode under which spell correction should take effect to replace the
8784
- # original search query. Default to Mode.AUTO.
9520
+ # The mode under which spell correction replaces the original search query.
9521
+ # Defaults to Mode.AUTO.
8785
9522
  # Corresponds to the JSON property `mode`
8786
9523
  # @return [String]
8787
9524
  attr_accessor :mode
@@ -8859,7 +9596,7 @@ module Google
8859
9596
  # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult>]
8860
9597
  attr_accessor :results
8861
9598
 
8862
- # Summary of the top N search result specified by the summary spec.
9599
+ # Summary of the top N search results specified by the summary spec.
8863
9600
  # Corresponds to the JSON property `summary`
8864
9601
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSummary]
8865
9602
  attr_accessor :summary
@@ -8902,8 +9639,8 @@ module Google
8902
9639
  attr_accessor :dynamic_facet
8903
9640
  alias_method :dynamic_facet?, :dynamic_facet
8904
9641
 
8905
- # The key for this facet. E.g., "colors" or "price". It matches SearchRequest.
8906
- # FacetSpec.FacetKey.key.
9642
+ # The key for this facet. For example, `"colors"` or `"price"`. It matches
9643
+ # SearchRequest.FacetSpec.FacetKey.key.
8907
9644
  # Corresponds to the JSON property `key`
8908
9645
  # @return [String]
8909
9646
  attr_accessor :key
@@ -9012,12 +9749,12 @@ module Google
9012
9749
  class GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResultRefinementAttribute
9013
9750
  include Google::Apis::Core::Hashable
9014
9751
 
9015
- # Attribute key used to refine the results e.g. 'movie_type'.
9752
+ # Attribute key used to refine the results. For example, `"movie_type"`.
9016
9753
  # Corresponds to the JSON property `attributeKey`
9017
9754
  # @return [String]
9018
9755
  attr_accessor :attribute_key
9019
9756
 
9020
- # Attribute value used to refine the results e.g. 'drama'.
9757
+ # Attribute value used to refine the results. For example, `"drama"`.
9021
9758
  # Corresponds to the JSON property `attributeValue`
9022
9759
  # @return [String]
9023
9760
  attr_accessor :attribute_value
@@ -9100,7 +9837,7 @@ module Google
9100
9837
  end
9101
9838
  end
9102
9839
 
9103
- # Summary of the top N search result specified by the summary spec.
9840
+ # Summary of the top N search results specified by the summary spec.
9104
9841
  class GoogleCloudDiscoveryengineV1alphaSearchResponseSummary
9105
9842
  include Google::Apis::Core::Hashable
9106
9843
 
@@ -9652,7 +10389,8 @@ module Google
9652
10389
  class GoogleCloudDiscoveryengineV1alphaSessionTurn
9653
10390
  include Google::Apis::Core::Hashable
9654
10391
 
9655
- # The resource name of the answer to the user query.
10392
+ # The resource name of the answer to the user query. Only set if the answer
10393
+ # generation (/answer API call) happened in this turn.
9656
10394
  # Corresponds to the JSON property `answer`
9657
10395
  # @return [String]
9658
10396
  attr_accessor :answer
@@ -10267,7 +11005,7 @@ module Google
10267
11005
  end
10268
11006
 
10269
11007
  # UserEvent captures all metadata information Discovery Engine API needs to know
10270
- # about how end users interact with customers' website.
11008
+ # about how end users interact with your website.
10271
11009
  class GoogleCloudDiscoveryengineV1alphaUserEvent
10272
11010
  include Google::Apis::Core::Hashable
10273
11011
 
@@ -10315,6 +11053,15 @@ module Google
10315
11053
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaCompletionInfo]
10316
11054
  attr_accessor :completion_info
10317
11055
 
11056
+ # The DataStore resource full name, of the form `projects/`project`/locations/`
11057
+ # location`/collections/`collection_id`/dataStores/`data_store_id``. Optional.
11058
+ # Only required for user events whose data store can't by determined by
11059
+ # UserEvent.engine or UserEvent.documents. If data store is set in the parent of
11060
+ # write/import/collect user event requests, this field can be omitted.
11061
+ # Corresponds to the JSON property `dataStore`
11062
+ # @return [String]
11063
+ attr_accessor :data_store
11064
+
10318
11065
  # Should set to true if the request is made directly from the end user, in which
10319
11066
  # case the UserEvent.user_info.user_agent can be populated from the HTTP request.
10320
11067
  # This flag should be set only if the API request is made directly from the end
@@ -10337,6 +11084,14 @@ module Google
10337
11084
  # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaDocumentInfo>]
10338
11085
  attr_accessor :documents
10339
11086
 
11087
+ # The Engine resource name, in the form of `projects/`project`/locations/`
11088
+ # location`/collections/`collection_id`/engines/`engine_id``. Optional. Only
11089
+ # required for Engine produced user events. For example, user events from
11090
+ # blended search.
11091
+ # Corresponds to the JSON property `engine`
11092
+ # @return [String]
11093
+ attr_accessor :engine
11094
+
10340
11095
  # Only required for UserEventService.ImportUserEvents method. Timestamp of when
10341
11096
  # the user event happened.
10342
11097
  # Corresponds to the JSON property `eventTime`
@@ -10373,67 +11128,368 @@ module Google
10373
11128
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaMediaInfo]
10374
11129
  attr_accessor :media_info
10375
11130
 
10376
- # Detailed page information.
10377
- # Corresponds to the JSON property `pageInfo`
10378
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaPageInfo]
10379
- attr_accessor :page_info
11131
+ # Detailed page information.
11132
+ # Corresponds to the JSON property `pageInfo`
11133
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaPageInfo]
11134
+ attr_accessor :page_info
11135
+
11136
+ # Detailed panel information associated with a user event.
11137
+ # Corresponds to the JSON property `panel`
11138
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaPanelInfo]
11139
+ attr_accessor :panel
11140
+
11141
+ # The promotion IDs if this is an event associated with promotions. Currently,
11142
+ # this field is restricted to at most one ID.
11143
+ # Corresponds to the JSON property `promotionIds`
11144
+ # @return [Array<String>]
11145
+ attr_accessor :promotion_ids
11146
+
11147
+ # Detailed search information.
11148
+ # Corresponds to the JSON property `searchInfo`
11149
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchInfo]
11150
+ attr_accessor :search_info
11151
+
11152
+ # A unique identifier for tracking a visitor session with a length limit of 128
11153
+ # bytes. A session is an aggregation of an end user behavior in a time span. A
11154
+ # general guideline to populate the session_id: 1. If user has no activity for
11155
+ # 30 min, a new session_id should be assigned. 2. The session_id should be
11156
+ # unique across users, suggest use uuid or add UserEvent.user_pseudo_id as
11157
+ # prefix.
11158
+ # Corresponds to the JSON property `sessionId`
11159
+ # @return [String]
11160
+ attr_accessor :session_id
11161
+
11162
+ # A list of identifiers for the independent experiment groups this user event
11163
+ # belongs to. This is used to distinguish between user events associated with
11164
+ # different experiment setups.
11165
+ # Corresponds to the JSON property `tagIds`
11166
+ # @return [Array<String>]
11167
+ attr_accessor :tag_ids
11168
+
11169
+ # A transaction represents the entire purchase transaction.
11170
+ # Corresponds to the JSON property `transactionInfo`
11171
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaTransactionInfo]
11172
+ attr_accessor :transaction_info
11173
+
11174
+ # Information of an end user.
11175
+ # Corresponds to the JSON property `userInfo`
11176
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaUserInfo]
11177
+ attr_accessor :user_info
11178
+
11179
+ # Required. A unique identifier for tracking visitors. For example, this could
11180
+ # be implemented with an HTTP cookie, which should be able to uniquely identify
11181
+ # a visitor on a single device. This unique identifier should not change if the
11182
+ # visitor log in/out of the website. Do not set the field to the same fixed ID
11183
+ # for different users. This mixes the event history of those users together,
11184
+ # which results in degraded model quality. The field must be a UTF-8 encoded
11185
+ # string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT`
11186
+ # error is returned. The field should not contain PII or user-data. We recommend
11187
+ # to use Google Analytics [Client ID](https://developers.google.com/analytics/
11188
+ # devguides/collection/analyticsjs/field-reference#clientId) for this field.
11189
+ # Corresponds to the JSON property `userPseudoId`
11190
+ # @return [String]
11191
+ attr_accessor :user_pseudo_id
11192
+
11193
+ def initialize(**args)
11194
+ update!(**args)
11195
+ end
11196
+
11197
+ # Update properties of this object
11198
+ def update!(**args)
11199
+ @attributes = args[:attributes] if args.key?(:attributes)
11200
+ @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
11201
+ @completion_info = args[:completion_info] if args.key?(:completion_info)
11202
+ @data_store = args[:data_store] if args.key?(:data_store)
11203
+ @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
11204
+ @documents = args[:documents] if args.key?(:documents)
11205
+ @engine = args[:engine] if args.key?(:engine)
11206
+ @event_time = args[:event_time] if args.key?(:event_time)
11207
+ @event_type = args[:event_type] if args.key?(:event_type)
11208
+ @filter = args[:filter] if args.key?(:filter)
11209
+ @media_info = args[:media_info] if args.key?(:media_info)
11210
+ @page_info = args[:page_info] if args.key?(:page_info)
11211
+ @panel = args[:panel] if args.key?(:panel)
11212
+ @promotion_ids = args[:promotion_ids] if args.key?(:promotion_ids)
11213
+ @search_info = args[:search_info] if args.key?(:search_info)
11214
+ @session_id = args[:session_id] if args.key?(:session_id)
11215
+ @tag_ids = args[:tag_ids] if args.key?(:tag_ids)
11216
+ @transaction_info = args[:transaction_info] if args.key?(:transaction_info)
11217
+ @user_info = args[:user_info] if args.key?(:user_info)
11218
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
11219
+ end
11220
+ end
11221
+
11222
+ # Information of an end user.
11223
+ class GoogleCloudDiscoveryengineV1alphaUserInfo
11224
+ include Google::Apis::Core::Hashable
11225
+
11226
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
11227
+ # string with a length limit of 1,000 characters. Otherwise, an `
11228
+ # INVALID_ARGUMENT` error is returned. This should not be set when using the
11229
+ # client side event reporting with GTM or JavaScript tag in UserEventService.
11230
+ # CollectUserEvent or if UserEvent.direct_user_request is set.
11231
+ # Corresponds to the JSON property `userAgent`
11232
+ # @return [String]
11233
+ attr_accessor :user_agent
11234
+
11235
+ # Highly recommended for logged-in users. Unique identifier for logged-in user,
11236
+ # such as a user name. Don't set for anonymous users. Always use a hashed value
11237
+ # for this ID. Don't set the field to the same fixed ID for different users.
11238
+ # This mixes the event history of those users together, which results in
11239
+ # degraded model quality. The field must be a UTF-8 encoded string with a length
11240
+ # limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
11241
+ # Corresponds to the JSON property `userId`
11242
+ # @return [String]
11243
+ attr_accessor :user_id
11244
+
11245
+ def initialize(**args)
11246
+ update!(**args)
11247
+ end
11248
+
11249
+ # Update properties of this object
11250
+ def update!(**args)
11251
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
11252
+ @user_id = args[:user_id] if args.key?(:user_id)
11253
+ end
11254
+ end
11255
+
11256
+ # Metadata related to the progress of the SiteSearchEngineService.
11257
+ # BatchCreateTargetSites operation. This will be returned by the google.
11258
+ # longrunning.Operation.metadata field.
11259
+ class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata
11260
+ include Google::Apis::Core::Hashable
11261
+
11262
+ # Operation create time.
11263
+ # Corresponds to the JSON property `createTime`
11264
+ # @return [String]
11265
+ attr_accessor :create_time
11266
+
11267
+ # Operation last update time. If the operation is done, this is also the finish
11268
+ # time.
11269
+ # Corresponds to the JSON property `updateTime`
11270
+ # @return [String]
11271
+ attr_accessor :update_time
11272
+
11273
+ def initialize(**args)
11274
+ update!(**args)
11275
+ end
11276
+
11277
+ # Update properties of this object
11278
+ def update!(**args)
11279
+ @create_time = args[:create_time] if args.key?(:create_time)
11280
+ @update_time = args[:update_time] if args.key?(:update_time)
11281
+ end
11282
+ end
11283
+
11284
+ # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
11285
+ class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse
11286
+ include Google::Apis::Core::Hashable
11287
+
11288
+ # TargetSites created.
11289
+ # Corresponds to the JSON property `targetSites`
11290
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaTargetSite>]
11291
+ attr_accessor :target_sites
11292
+
11293
+ def initialize(**args)
11294
+ update!(**args)
11295
+ end
11296
+
11297
+ # Update properties of this object
11298
+ def update!(**args)
11299
+ @target_sites = args[:target_sites] if args.key?(:target_sites)
11300
+ end
11301
+ end
11302
+
11303
+ # Defines circumstances to be checked before allowing a behavior
11304
+ class GoogleCloudDiscoveryengineV1betaCondition
11305
+ include Google::Apis::Core::Hashable
11306
+
11307
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
11308
+ # ranges.
11309
+ # Corresponds to the JSON property `activeTimeRange`
11310
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaConditionTimeRange>]
11311
+ attr_accessor :active_time_range
11312
+
11313
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
11314
+ # Corresponds to the JSON property `queryTerms`
11315
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaConditionQueryTerm>]
11316
+ attr_accessor :query_terms
11317
+
11318
+ def initialize(**args)
11319
+ update!(**args)
11320
+ end
11321
+
11322
+ # Update properties of this object
11323
+ def update!(**args)
11324
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
11325
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
11326
+ end
11327
+ end
11328
+
11329
+ # Matcher for search request query
11330
+ class GoogleCloudDiscoveryengineV1betaConditionQueryTerm
11331
+ include Google::Apis::Core::Hashable
11332
+
11333
+ # Whether the search query needs to exactly match the query term.
11334
+ # Corresponds to the JSON property `fullMatch`
11335
+ # @return [Boolean]
11336
+ attr_accessor :full_match
11337
+ alias_method :full_match?, :full_match
11338
+
11339
+ # The specific query value to match against Must be lowercase, must be UTF-8.
11340
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
11341
+ # empty string. Maximum length of 5000 characters.
11342
+ # Corresponds to the JSON property `value`
11343
+ # @return [String]
11344
+ attr_accessor :value
11345
+
11346
+ def initialize(**args)
11347
+ update!(**args)
11348
+ end
11349
+
11350
+ # Update properties of this object
11351
+ def update!(**args)
11352
+ @full_match = args[:full_match] if args.key?(:full_match)
11353
+ @value = args[:value] if args.key?(:value)
11354
+ end
11355
+ end
11356
+
11357
+ # Used for time-dependent conditions.
11358
+ class GoogleCloudDiscoveryengineV1betaConditionTimeRange
11359
+ include Google::Apis::Core::Hashable
11360
+
11361
+ # End of time range. Range is inclusive. Must be in the future.
11362
+ # Corresponds to the JSON property `endTime`
11363
+ # @return [String]
11364
+ attr_accessor :end_time
11365
+
11366
+ # Start of time range. Range is inclusive.
11367
+ # Corresponds to the JSON property `startTime`
11368
+ # @return [String]
11369
+ attr_accessor :start_time
11370
+
11371
+ def initialize(**args)
11372
+ update!(**args)
11373
+ end
11374
+
11375
+ # Update properties of this object
11376
+ def update!(**args)
11377
+ @end_time = args[:end_time] if args.key?(:end_time)
11378
+ @start_time = args[:start_time] if args.key?(:start_time)
11379
+ end
11380
+ end
10380
11381
 
10381
- # Detailed panel information associated with a user event.
10382
- # Corresponds to the JSON property `panel`
10383
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaPanelInfo]
10384
- attr_accessor :panel
11382
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
11383
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
11384
+ # `SolutionType`.
11385
+ class GoogleCloudDiscoveryengineV1betaControl
11386
+ include Google::Apis::Core::Hashable
10385
11387
 
10386
- # The promotion IDs if this is an event associated with promotions. Currently,
10387
- # this field is restricted to at most one ID.
10388
- # Corresponds to the JSON property `promotionIds`
11388
+ # Output only. List of all ServingConfig ids this control is attached to. May
11389
+ # take up to 10 minutes to update after changes.
11390
+ # Corresponds to the JSON property `associatedServingConfigIds`
10389
11391
  # @return [Array<String>]
10390
- attr_accessor :promotion_ids
11392
+ attr_accessor :associated_serving_config_ids
11393
+
11394
+ # Adjusts order of products in returned list.
11395
+ # Corresponds to the JSON property `boostAction`
11396
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaControlBoostAction]
11397
+ attr_accessor :boost_action
11398
+
11399
+ # Determines when the associated action will trigger. Omit to always apply the
11400
+ # action. Currently only a single condition may be specified. Otherwise an
11401
+ # INVALID ARGUMENT error is thrown.
11402
+ # Corresponds to the JSON property `conditions`
11403
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaCondition>]
11404
+ attr_accessor :conditions
11405
+
11406
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
11407
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
11408
+ # error is thrown.
11409
+ # Corresponds to the JSON property `displayName`
11410
+ # @return [String]
11411
+ attr_accessor :display_name
10391
11412
 
10392
- # Detailed search information.
10393
- # Corresponds to the JSON property `searchInfo`
10394
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchInfo]
10395
- attr_accessor :search_info
11413
+ # Specified which products may be included in results. Uses same filter as boost.
11414
+ # Corresponds to the JSON property `filterAction`
11415
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaControlFilterAction]
11416
+ attr_accessor :filter_action
10396
11417
 
10397
- # A unique identifier for tracking a visitor session with a length limit of 128
10398
- # bytes. A session is an aggregation of an end user behavior in a time span. A
10399
- # general guideline to populate the session_id: 1. If user has no activity for
10400
- # 30 min, a new session_id should be assigned. 2. The session_id should be
10401
- # unique across users, suggest use uuid or add UserEvent.user_pseudo_id as
10402
- # prefix.
10403
- # Corresponds to the JSON property `sessionId`
11418
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
11419
+ # controls/*`
11420
+ # Corresponds to the JSON property `name`
10404
11421
  # @return [String]
10405
- attr_accessor :session_id
11422
+ attr_accessor :name
10406
11423
 
10407
- # A list of identifiers for the independent experiment groups this user event
10408
- # belongs to. This is used to distinguish between user events associated with
10409
- # different experiment setups on the customer end.
10410
- # Corresponds to the JSON property `tagIds`
11424
+ # Redirects a shopper to the provided URI.
11425
+ # Corresponds to the JSON property `redirectAction`
11426
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaControlRedirectAction]
11427
+ attr_accessor :redirect_action
11428
+
11429
+ # Required. Immutable. What solution the control belongs to. Must be compatible
11430
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
11431
+ # Corresponds to the JSON property `solutionType`
11432
+ # @return [String]
11433
+ attr_accessor :solution_type
11434
+
11435
+ # Creates a set of terms that will act as synonyms of one another. Example: "
11436
+ # happy" will also be considered as "glad", "glad" will also be considered as "
11437
+ # happy".
11438
+ # Corresponds to the JSON property `synonymsAction`
11439
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaControlSynonymsAction]
11440
+ attr_accessor :synonyms_action
11441
+
11442
+ # Specifies the use case for the control. Affects what condition fields can be
11443
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
11444
+ # per control. Must be set when solution_type is SolutionType.
11445
+ # SOLUTION_TYPE_SEARCH.
11446
+ # Corresponds to the JSON property `useCases`
10411
11447
  # @return [Array<String>]
10412
- attr_accessor :tag_ids
11448
+ attr_accessor :use_cases
10413
11449
 
10414
- # A transaction represents the entire purchase transaction.
10415
- # Corresponds to the JSON property `transactionInfo`
10416
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaTransactionInfo]
10417
- attr_accessor :transaction_info
11450
+ def initialize(**args)
11451
+ update!(**args)
11452
+ end
10418
11453
 
10419
- # Information of an end user.
10420
- # Corresponds to the JSON property `userInfo`
10421
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaUserInfo]
10422
- attr_accessor :user_info
11454
+ # Update properties of this object
11455
+ def update!(**args)
11456
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
11457
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
11458
+ @conditions = args[:conditions] if args.key?(:conditions)
11459
+ @display_name = args[:display_name] if args.key?(:display_name)
11460
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
11461
+ @name = args[:name] if args.key?(:name)
11462
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
11463
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
11464
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
11465
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
11466
+ end
11467
+ end
10423
11468
 
10424
- # Required. A unique identifier for tracking visitors. For example, this could
10425
- # be implemented with an HTTP cookie, which should be able to uniquely identify
10426
- # a visitor on a single device. This unique identifier should not change if the
10427
- # visitor log in/out of the website. Do not set the field to the same fixed ID
10428
- # for different users. This mixes the event history of those users together,
10429
- # which results in degraded model quality. The field must be a UTF-8 encoded
10430
- # string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT`
10431
- # error is returned. The field should not contain PII or user-data. We recommend
10432
- # to use Google Analytics [Client ID](https://developers.google.com/analytics/
10433
- # devguides/collection/analyticsjs/field-reference#clientId) for this field.
10434
- # Corresponds to the JSON property `userPseudoId`
11469
+ # Adjusts order of products in returned list.
11470
+ class GoogleCloudDiscoveryengineV1betaControlBoostAction
11471
+ include Google::Apis::Core::Hashable
11472
+
11473
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
11474
+ # means demotion. Default is 0.0 (No-op).
11475
+ # Corresponds to the JSON property `boost`
11476
+ # @return [Float]
11477
+ attr_accessor :boost
11478
+
11479
+ # Required. Specifies which data store's documents can be boosted by this
11480
+ # control. Full data store name e.g. projects/123/locations/global/collections/
11481
+ # default_collection/dataStores/default_data_store
11482
+ # Corresponds to the JSON property `dataStore`
10435
11483
  # @return [String]
10436
- attr_accessor :user_pseudo_id
11484
+ attr_accessor :data_store
11485
+
11486
+ # Required. Specifies which products to apply the boost to. If no filter is
11487
+ # provided all products will be boosted (No-op). Syntax documentation: https://
11488
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
11489
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
11490
+ # Corresponds to the JSON property `filter`
11491
+ # @return [String]
11492
+ attr_accessor :filter
10437
11493
 
10438
11494
  def initialize(**args)
10439
11495
  update!(**args)
@@ -10441,49 +11497,29 @@ module Google
10441
11497
 
10442
11498
  # Update properties of this object
10443
11499
  def update!(**args)
10444
- @attributes = args[:attributes] if args.key?(:attributes)
10445
- @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
10446
- @completion_info = args[:completion_info] if args.key?(:completion_info)
10447
- @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
10448
- @documents = args[:documents] if args.key?(:documents)
10449
- @event_time = args[:event_time] if args.key?(:event_time)
10450
- @event_type = args[:event_type] if args.key?(:event_type)
11500
+ @boost = args[:boost] if args.key?(:boost)
11501
+ @data_store = args[:data_store] if args.key?(:data_store)
10451
11502
  @filter = args[:filter] if args.key?(:filter)
10452
- @media_info = args[:media_info] if args.key?(:media_info)
10453
- @page_info = args[:page_info] if args.key?(:page_info)
10454
- @panel = args[:panel] if args.key?(:panel)
10455
- @promotion_ids = args[:promotion_ids] if args.key?(:promotion_ids)
10456
- @search_info = args[:search_info] if args.key?(:search_info)
10457
- @session_id = args[:session_id] if args.key?(:session_id)
10458
- @tag_ids = args[:tag_ids] if args.key?(:tag_ids)
10459
- @transaction_info = args[:transaction_info] if args.key?(:transaction_info)
10460
- @user_info = args[:user_info] if args.key?(:user_info)
10461
- @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
10462
11503
  end
10463
11504
  end
10464
11505
 
10465
- # Information of an end user.
10466
- class GoogleCloudDiscoveryengineV1alphaUserInfo
11506
+ # Specified which products may be included in results. Uses same filter as boost.
11507
+ class GoogleCloudDiscoveryengineV1betaControlFilterAction
10467
11508
  include Google::Apis::Core::Hashable
10468
11509
 
10469
- # User agent as included in the HTTP header. The field must be a UTF-8 encoded
10470
- # string with a length limit of 1,000 characters. Otherwise, an `
10471
- # INVALID_ARGUMENT` error is returned. This should not be set when using the
10472
- # client side event reporting with GTM or JavaScript tag in UserEventService.
10473
- # CollectUserEvent or if UserEvent.direct_user_request is set.
10474
- # Corresponds to the JSON property `userAgent`
11510
+ # Required. Specifies which data store's documents can be filtered by this
11511
+ # control. Full data store name e.g. projects/123/locations/global/collections/
11512
+ # default_collection/dataStores/default_data_store
11513
+ # Corresponds to the JSON property `dataStore`
10475
11514
  # @return [String]
10476
- attr_accessor :user_agent
11515
+ attr_accessor :data_store
10477
11516
 
10478
- # Highly recommended for logged-in users. Unique identifier for logged-in user,
10479
- # such as a user name. Don't set for anonymous users. Always use a hashed value
10480
- # for this ID. Don't set the field to the same fixed ID for different users.
10481
- # This mixes the event history of those users together, which results in
10482
- # degraded model quality. The field must be a UTF-8 encoded string with a length
10483
- # limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
10484
- # Corresponds to the JSON property `userId`
11517
+ # Required. A filter to apply on the matching condition results. Required Syntax
11518
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
11519
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
11520
+ # Corresponds to the JSON property `filter`
10485
11521
  # @return [String]
10486
- attr_accessor :user_id
11522
+ attr_accessor :filter
10487
11523
 
10488
11524
  def initialize(**args)
10489
11525
  update!(**args)
@@ -10491,27 +11527,21 @@ module Google
10491
11527
 
10492
11528
  # Update properties of this object
10493
11529
  def update!(**args)
10494
- @user_agent = args[:user_agent] if args.key?(:user_agent)
10495
- @user_id = args[:user_id] if args.key?(:user_id)
11530
+ @data_store = args[:data_store] if args.key?(:data_store)
11531
+ @filter = args[:filter] if args.key?(:filter)
10496
11532
  end
10497
11533
  end
10498
11534
 
10499
- # Metadata related to the progress of the SiteSearchEngineService.
10500
- # BatchCreateTargetSites operation. This will be returned by the google.
10501
- # longrunning.Operation.metadata field.
10502
- class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata
11535
+ # Redirects a shopper to the provided URI.
11536
+ class GoogleCloudDiscoveryengineV1betaControlRedirectAction
10503
11537
  include Google::Apis::Core::Hashable
10504
11538
 
10505
- # Operation create time.
10506
- # Corresponds to the JSON property `createTime`
10507
- # @return [String]
10508
- attr_accessor :create_time
10509
-
10510
- # Operation last update time. If the operation is done, this is also the finish
10511
- # time.
10512
- # Corresponds to the JSON property `updateTime`
11539
+ # Required. The URI to which the shopper will be redirected. Required. URI must
11540
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
11541
+ # error is thrown.
11542
+ # Corresponds to the JSON property `redirectUri`
10513
11543
  # @return [String]
10514
- attr_accessor :update_time
11544
+ attr_accessor :redirect_uri
10515
11545
 
10516
11546
  def initialize(**args)
10517
11547
  update!(**args)
@@ -10519,19 +11549,21 @@ module Google
10519
11549
 
10520
11550
  # Update properties of this object
10521
11551
  def update!(**args)
10522
- @create_time = args[:create_time] if args.key?(:create_time)
10523
- @update_time = args[:update_time] if args.key?(:update_time)
11552
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
10524
11553
  end
10525
11554
  end
10526
11555
 
10527
- # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
10528
- class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse
11556
+ # Creates a set of terms that will act as synonyms of one another. Example: "
11557
+ # happy" will also be considered as "glad", "glad" will also be considered as "
11558
+ # happy".
11559
+ class GoogleCloudDiscoveryengineV1betaControlSynonymsAction
10529
11560
  include Google::Apis::Core::Hashable
10530
11561
 
10531
- # TargetSites created.
10532
- # Corresponds to the JSON property `targetSites`
10533
- # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaTargetSite>]
10534
- attr_accessor :target_sites
11562
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
11563
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
11564
+ # Corresponds to the JSON property `synonyms`
11565
+ # @return [Array<String>]
11566
+ attr_accessor :synonyms
10535
11567
 
10536
11568
  def initialize(**args)
10537
11569
  update!(**args)
@@ -10539,7 +11571,7 @@ module Google
10539
11571
 
10540
11572
  # Update properties of this object
10541
11573
  def update!(**args)
10542
- @target_sites = args[:target_sites] if args.key?(:target_sites)
11574
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
10543
11575
  end
10544
11576
  end
10545
11577
 
@@ -10671,7 +11703,7 @@ module Google
10671
11703
  # @return [String]
10672
11704
  attr_accessor :model_state
10673
11705
 
10674
- #
11706
+ # The version of the model.
10675
11707
  # Corresponds to the JSON property `modelVersion`
10676
11708
  # @return [Fixnum]
10677
11709
  attr_accessor :model_version
@@ -11121,8 +12153,7 @@ module Google
11121
12153
 
11122
12154
  # The industry vertical that the engine registers. The restriction of the Engine
11123
12155
  # industry vertical is based on DataStore: If unspecified, default to `GENERIC`.
11124
- # Vertical on Engine has to match vertical of the DataStore liniked to the
11125
- # engine.
12156
+ # Vertical on Engine has to match vertical of the DataStore linked to the engine.
11126
12157
  # Corresponds to the JSON property `industryVertical`
11127
12158
  # @return [String]
11128
12159
  attr_accessor :industry_vertical
@@ -11277,8 +12308,8 @@ module Google
11277
12308
  class GoogleCloudDiscoveryengineV1betaEngineCommonConfig
11278
12309
  include Google::Apis::Core::Hashable
11279
12310
 
11280
- # Immutable. The name of the company, business or entity that is associated with
11281
- # the engine. Setting this may help improve LLM related features.
12311
+ # The name of the company, business or entity that is associated with the engine.
12312
+ # Setting this may help improve LLM related features.
11282
12313
  # Corresponds to the JSON property `companyName`
11283
12314
  # @return [String]
11284
12315
  attr_accessor :company_name
@@ -11569,6 +12600,108 @@ module Google
11569
12600
  end
11570
12601
  end
11571
12602
 
12603
+ # Metadata and configurations for a Google Cloud project in the service.
12604
+ class GoogleCloudDiscoveryengineV1betaProject
12605
+ include Google::Apis::Core::Hashable
12606
+
12607
+ # Output only. The timestamp when this project is created.
12608
+ # Corresponds to the JSON property `createTime`
12609
+ # @return [String]
12610
+ attr_accessor :create_time
12611
+
12612
+ # Output only. Full resource name of the project, for example `projects/`
12613
+ # project_number``. Note that when making requests, project number and project
12614
+ # id are both acceptable, but the server will always respond in project number.
12615
+ # Corresponds to the JSON property `name`
12616
+ # @return [String]
12617
+ attr_accessor :name
12618
+
12619
+ # Output only. The timestamp when this project is successfully provisioned.
12620
+ # Empty value means this project is still provisioning and is not ready for use.
12621
+ # Corresponds to the JSON property `provisionCompletionTime`
12622
+ # @return [String]
12623
+ attr_accessor :provision_completion_time
12624
+
12625
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
12626
+ # Corresponds to the JSON property `serviceTermsMap`
12627
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaProjectServiceTerms>]
12628
+ attr_accessor :service_terms_map
12629
+
12630
+ def initialize(**args)
12631
+ update!(**args)
12632
+ end
12633
+
12634
+ # Update properties of this object
12635
+ def update!(**args)
12636
+ @create_time = args[:create_time] if args.key?(:create_time)
12637
+ @name = args[:name] if args.key?(:name)
12638
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
12639
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
12640
+ end
12641
+ end
12642
+
12643
+ # Metadata about the terms of service.
12644
+ class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
12645
+ include Google::Apis::Core::Hashable
12646
+
12647
+ # The last time when the project agreed to the terms of service.
12648
+ # Corresponds to the JSON property `acceptTime`
12649
+ # @return [String]
12650
+ attr_accessor :accept_time
12651
+
12652
+ # The last time when the project declined or revoked the agreement to terms of
12653
+ # service.
12654
+ # Corresponds to the JSON property `declineTime`
12655
+ # @return [String]
12656
+ attr_accessor :decline_time
12657
+
12658
+ # The unique identifier of this terms of service. Available terms: * `
12659
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
12660
+ # use-terms). When using this as `id`, the acceptable version to provide is `
12661
+ # 2022-11-23`.
12662
+ # Corresponds to the JSON property `id`
12663
+ # @return [String]
12664
+ attr_accessor :id
12665
+
12666
+ # Whether the project has accepted/rejected the service terms or it is still
12667
+ # pending.
12668
+ # Corresponds to the JSON property `state`
12669
+ # @return [String]
12670
+ attr_accessor :state
12671
+
12672
+ # The version string of the terms of service. For acceptable values, see the
12673
+ # comments for id above.
12674
+ # Corresponds to the JSON property `version`
12675
+ # @return [String]
12676
+ attr_accessor :version
12677
+
12678
+ def initialize(**args)
12679
+ update!(**args)
12680
+ end
12681
+
12682
+ # Update properties of this object
12683
+ def update!(**args)
12684
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
12685
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
12686
+ @id = args[:id] if args.key?(:id)
12687
+ @state = args[:state] if args.key?(:state)
12688
+ @version = args[:version] if args.key?(:version)
12689
+ end
12690
+ end
12691
+
12692
+ # Metadata associated with a project provision operation.
12693
+ class GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata
12694
+ include Google::Apis::Core::Hashable
12695
+
12696
+ def initialize(**args)
12697
+ update!(**args)
12698
+ end
12699
+
12700
+ # Update properties of this object
12701
+ def update!(**args)
12702
+ end
12703
+ end
12704
+
11572
12705
  # Metadata related to the progress of the PurgeDocuments operation. This will be
11573
12706
  # returned by the google.longrunning.Operation.metadata field.
11574
12707
  class GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata