google-apis-discoveryengine_v1alpha 0.46.0 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -323,6 +323,281 @@ module Google
323
323
  end
324
324
  end
325
325
 
326
+ # Defines circumstances to be checked before allowing a behavior
327
+ class GoogleCloudDiscoveryengineV1Condition
328
+ include Google::Apis::Core::Hashable
329
+
330
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
331
+ # ranges.
332
+ # Corresponds to the JSON property `activeTimeRange`
333
+ # @return [Array<Google::Apis::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