google-apis-discoveryengine_v1 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -276,6 +276,1169 @@ module Google
276
276
  end
277
277
  end
278
278
 
279
+ # Defines an answer.
280
+ class GoogleCloudDiscoveryengineV1Answer
281
+ include Google::Apis::Core::Hashable
282
+
283
+ # Additional answer-skipped reasons. This provides the reason for ignored cases.
284
+ # If nothing is skipped, this field is not set.
285
+ # Corresponds to the JSON property `answerSkippedReasons`
286
+ # @return [Array<String>]
287
+ attr_accessor :answer_skipped_reasons
288
+
289
+ # The textual answer.
290
+ # Corresponds to the JSON property `answerText`
291
+ # @return [String]
292
+ attr_accessor :answer_text
293
+
294
+ # Citations.
295
+ # Corresponds to the JSON property `citations`
296
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerCitation>]
297
+ attr_accessor :citations
298
+
299
+ # Output only. Answer completed timestamp.
300
+ # Corresponds to the JSON property `completeTime`
301
+ # @return [String]
302
+ attr_accessor :complete_time
303
+
304
+ # Output only. Answer creation timestamp.
305
+ # Corresponds to the JSON property `createTime`
306
+ # @return [String]
307
+ attr_accessor :create_time
308
+
309
+ # Immutable. Fully qualified name `projects/`project`/locations/global/
310
+ # collections/`collection`/engines/`engine`/sessions/*/answers/*`
311
+ # Corresponds to the JSON property `name`
312
+ # @return [String]
313
+ attr_accessor :name
314
+
315
+ # Query understanding information.
316
+ # Corresponds to the JSON property `queryUnderstandingInfo`
317
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfo]
318
+ attr_accessor :query_understanding_info
319
+
320
+ # References.
321
+ # Corresponds to the JSON property `references`
322
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerReference>]
323
+ attr_accessor :references
324
+
325
+ # Suggested related questions.
326
+ # Corresponds to the JSON property `relatedQuestions`
327
+ # @return [Array<String>]
328
+ attr_accessor :related_questions
329
+
330
+ # The state of the answer generation.
331
+ # Corresponds to the JSON property `state`
332
+ # @return [String]
333
+ attr_accessor :state
334
+
335
+ # Answer generation steps.
336
+ # Corresponds to the JSON property `steps`
337
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerStep>]
338
+ attr_accessor :steps
339
+
340
+ def initialize(**args)
341
+ update!(**args)
342
+ end
343
+
344
+ # Update properties of this object
345
+ def update!(**args)
346
+ @answer_skipped_reasons = args[:answer_skipped_reasons] if args.key?(:answer_skipped_reasons)
347
+ @answer_text = args[:answer_text] if args.key?(:answer_text)
348
+ @citations = args[:citations] if args.key?(:citations)
349
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
350
+ @create_time = args[:create_time] if args.key?(:create_time)
351
+ @name = args[:name] if args.key?(:name)
352
+ @query_understanding_info = args[:query_understanding_info] if args.key?(:query_understanding_info)
353
+ @references = args[:references] if args.key?(:references)
354
+ @related_questions = args[:related_questions] if args.key?(:related_questions)
355
+ @state = args[:state] if args.key?(:state)
356
+ @steps = args[:steps] if args.key?(:steps)
357
+ end
358
+ end
359
+
360
+ # Citation info for a segment.
361
+ class GoogleCloudDiscoveryengineV1AnswerCitation
362
+ include Google::Apis::Core::Hashable
363
+
364
+ # End of the attributed segment, exclusive.
365
+ # Corresponds to the JSON property `endIndex`
366
+ # @return [Fixnum]
367
+ attr_accessor :end_index
368
+
369
+ # Citation sources for the attributed segment.
370
+ # Corresponds to the JSON property `sources`
371
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerCitationSource>]
372
+ attr_accessor :sources
373
+
374
+ # Index indicates the start of the segment, measured in bytes (UTF-8 unicode).
375
+ # Corresponds to the JSON property `startIndex`
376
+ # @return [Fixnum]
377
+ attr_accessor :start_index
378
+
379
+ def initialize(**args)
380
+ update!(**args)
381
+ end
382
+
383
+ # Update properties of this object
384
+ def update!(**args)
385
+ @end_index = args[:end_index] if args.key?(:end_index)
386
+ @sources = args[:sources] if args.key?(:sources)
387
+ @start_index = args[:start_index] if args.key?(:start_index)
388
+ end
389
+ end
390
+
391
+ # Citation source.
392
+ class GoogleCloudDiscoveryengineV1AnswerCitationSource
393
+ include Google::Apis::Core::Hashable
394
+
395
+ # ID of the citation source.
396
+ # Corresponds to the JSON property `referenceId`
397
+ # @return [String]
398
+ attr_accessor :reference_id
399
+
400
+ def initialize(**args)
401
+ update!(**args)
402
+ end
403
+
404
+ # Update properties of this object
405
+ def update!(**args)
406
+ @reference_id = args[:reference_id] if args.key?(:reference_id)
407
+ end
408
+ end
409
+
410
+ # Request message for ConversationalSearchService.AnswerQuery method.
411
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequest
412
+ include Google::Apis::Core::Hashable
413
+
414
+ # Answer generation specification.
415
+ # Corresponds to the JSON property `answerGenerationSpec`
416
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec]
417
+ attr_accessor :answer_generation_spec
418
+
419
+ # Asynchronous mode control. If enabled, the response will be returned with
420
+ # answer/session resource name without final answer. The API users need to do
421
+ # the polling to get the latest status of answer/session by calling
422
+ # ConversationalSearchService.GetAnswer or ConversationalSearchService.
423
+ # GetSession method.
424
+ # Corresponds to the JSON property `asynchronousMode`
425
+ # @return [Boolean]
426
+ attr_accessor :asynchronous_mode
427
+ alias_method :asynchronous_mode?, :asynchronous_mode
428
+
429
+ # Defines a user inputed query.
430
+ # Corresponds to the JSON property `query`
431
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Query]
432
+ attr_accessor :query
433
+
434
+ # Query understanding specification.
435
+ # Corresponds to the JSON property `queryUnderstandingSpec`
436
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpec]
437
+ attr_accessor :query_understanding_spec
438
+
439
+ # Related questions specification.
440
+ # Corresponds to the JSON property `relatedQuestionsSpec`
441
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestRelatedQuestionsSpec]
442
+ attr_accessor :related_questions_spec
443
+
444
+ # Safety specification.
445
+ # Corresponds to the JSON property `safetySpec`
446
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec]
447
+ attr_accessor :safety_spec
448
+
449
+ # Search specification.
450
+ # Corresponds to the JSON property `searchSpec`
451
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpec]
452
+ attr_accessor :search_spec
453
+
454
+ # The session resource name. Not required. When session field is not set, the
455
+ # API is in sessionless mode. We support auto session mode: users can use the
456
+ # wildcard symbol `-` as session ID. A new ID will be automatically generated
457
+ # and assigned.
458
+ # Corresponds to the JSON property `session`
459
+ # @return [String]
460
+ attr_accessor :session
461
+
462
+ # A unique identifier for tracking visitors. For example, this could be
463
+ # implemented with an HTTP cookie, which should be able to uniquely identify a
464
+ # visitor on a single device. This unique identifier should not change if the
465
+ # visitor logs in or out of the website. This field should NOT have a fixed
466
+ # value such as `unknown_visitor`. The field must be a UTF-8 encoded string with
467
+ # a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is
468
+ # returned.
469
+ # Corresponds to the JSON property `userPseudoId`
470
+ # @return [String]
471
+ attr_accessor :user_pseudo_id
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @answer_generation_spec = args[:answer_generation_spec] if args.key?(:answer_generation_spec)
480
+ @asynchronous_mode = args[:asynchronous_mode] if args.key?(:asynchronous_mode)
481
+ @query = args[:query] if args.key?(:query)
482
+ @query_understanding_spec = args[:query_understanding_spec] if args.key?(:query_understanding_spec)
483
+ @related_questions_spec = args[:related_questions_spec] if args.key?(:related_questions_spec)
484
+ @safety_spec = args[:safety_spec] if args.key?(:safety_spec)
485
+ @search_spec = args[:search_spec] if args.key?(:search_spec)
486
+ @session = args[:session] if args.key?(:session)
487
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
488
+ end
489
+ end
490
+
491
+ # Answer generation specification.
492
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec
493
+ include Google::Apis::Core::Hashable
494
+
495
+ # Language code for Answer. Use language tags defined by [BCP47](https://www.rfc-
496
+ # editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
497
+ # Corresponds to the JSON property `answerLanguageCode`
498
+ # @return [String]
499
+ attr_accessor :answer_language_code
500
+
501
+ # Specifies whether to filter out adversarial queries. The default value is `
502
+ # false`. Google employs search-query classification to detect adversarial
503
+ # queries. No answer is returned if the search query is classified as an
504
+ # adversarial query. For example, a user might ask a question regarding negative
505
+ # comments about the company or submit a query designed to generate unsafe,
506
+ # policy-violating output. If this field is set to `true`, we skip generating
507
+ # answers for adversarial queries and return fallback messages instead.
508
+ # Corresponds to the JSON property `ignoreAdversarialQuery`
509
+ # @return [Boolean]
510
+ attr_accessor :ignore_adversarial_query
511
+ alias_method :ignore_adversarial_query?, :ignore_adversarial_query
512
+
513
+ # Specifies whether to filter out queries that have low relevance. If this field
514
+ # is set to `false`, all search results are used regardless of relevance to
515
+ # generate answers. If set to `true` or unset, the behavior will be determined
516
+ # automatically by the service.
517
+ # Corresponds to the JSON property `ignoreLowRelevantContent`
518
+ # @return [Boolean]
519
+ attr_accessor :ignore_low_relevant_content
520
+ alias_method :ignore_low_relevant_content?, :ignore_low_relevant_content
521
+
522
+ # Specifies whether to filter out queries that are not answer-seeking. The
523
+ # default value is `false`. Google employs search-query classification to detect
524
+ # answer-seeking queries. No answer is returned if the search query is
525
+ # classified as a non-answer seeking query. If this field is set to `true`, we
526
+ # skip generating answers for non-answer seeking queries and return fallback
527
+ # messages instead.
528
+ # Corresponds to the JSON property `ignoreNonAnswerSeekingQuery`
529
+ # @return [Boolean]
530
+ attr_accessor :ignore_non_answer_seeking_query
531
+ alias_method :ignore_non_answer_seeking_query?, :ignore_non_answer_seeking_query
532
+
533
+ # Specifies whether to include citation metadata in the answer. The default
534
+ # value is `false`.
535
+ # Corresponds to the JSON property `includeCitations`
536
+ # @return [Boolean]
537
+ attr_accessor :include_citations
538
+ alias_method :include_citations?, :include_citations
539
+
540
+ # Answer Generation Model specification.
541
+ # Corresponds to the JSON property `modelSpec`
542
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecModelSpec]
543
+ attr_accessor :model_spec
544
+
545
+ # Answer generation prompt specification.
546
+ # Corresponds to the JSON property `promptSpec`
547
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecPromptSpec]
548
+ attr_accessor :prompt_spec
549
+
550
+ def initialize(**args)
551
+ update!(**args)
552
+ end
553
+
554
+ # Update properties of this object
555
+ def update!(**args)
556
+ @answer_language_code = args[:answer_language_code] if args.key?(:answer_language_code)
557
+ @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
558
+ @ignore_low_relevant_content = args[:ignore_low_relevant_content] if args.key?(:ignore_low_relevant_content)
559
+ @ignore_non_answer_seeking_query = args[:ignore_non_answer_seeking_query] if args.key?(:ignore_non_answer_seeking_query)
560
+ @include_citations = args[:include_citations] if args.key?(:include_citations)
561
+ @model_spec = args[:model_spec] if args.key?(:model_spec)
562
+ @prompt_spec = args[:prompt_spec] if args.key?(:prompt_spec)
563
+ end
564
+ end
565
+
566
+ # Answer Generation Model specification.
567
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecModelSpec
568
+ include Google::Apis::Core::Hashable
569
+
570
+ # Model version. If not set, it will use the default stable model. Allowed
571
+ # values are: stable, preview.
572
+ # Corresponds to the JSON property `modelVersion`
573
+ # @return [String]
574
+ attr_accessor :model_version
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @model_version = args[:model_version] if args.key?(:model_version)
583
+ end
584
+ end
585
+
586
+ # Answer generation prompt specification.
587
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpecPromptSpec
588
+ include Google::Apis::Core::Hashable
589
+
590
+ # Customized preamble.
591
+ # Corresponds to the JSON property `preamble`
592
+ # @return [String]
593
+ attr_accessor :preamble
594
+
595
+ def initialize(**args)
596
+ update!(**args)
597
+ end
598
+
599
+ # Update properties of this object
600
+ def update!(**args)
601
+ @preamble = args[:preamble] if args.key?(:preamble)
602
+ end
603
+ end
604
+
605
+ # Query understanding specification.
606
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpec
607
+ include Google::Apis::Core::Hashable
608
+
609
+ # Query classification specification.
610
+ # Corresponds to the JSON property `queryClassificationSpec`
611
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec]
612
+ attr_accessor :query_classification_spec
613
+
614
+ # Query rephraser specification.
615
+ # Corresponds to the JSON property `queryRephraserSpec`
616
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec]
617
+ attr_accessor :query_rephraser_spec
618
+
619
+ def initialize(**args)
620
+ update!(**args)
621
+ end
622
+
623
+ # Update properties of this object
624
+ def update!(**args)
625
+ @query_classification_spec = args[:query_classification_spec] if args.key?(:query_classification_spec)
626
+ @query_rephraser_spec = args[:query_rephraser_spec] if args.key?(:query_rephraser_spec)
627
+ end
628
+ end
629
+
630
+ # Query classification specification.
631
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec
632
+ include Google::Apis::Core::Hashable
633
+
634
+ # Enabled query classification types.
635
+ # Corresponds to the JSON property `types`
636
+ # @return [Array<String>]
637
+ attr_accessor :types
638
+
639
+ def initialize(**args)
640
+ update!(**args)
641
+ end
642
+
643
+ # Update properties of this object
644
+ def update!(**args)
645
+ @types = args[:types] if args.key?(:types)
646
+ end
647
+ end
648
+
649
+ # Query rephraser specification.
650
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec
651
+ include Google::Apis::Core::Hashable
652
+
653
+ # Disable query rephraser.
654
+ # Corresponds to the JSON property `disable`
655
+ # @return [Boolean]
656
+ attr_accessor :disable
657
+ alias_method :disable?, :disable
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @disable = args[:disable] if args.key?(:disable)
666
+ end
667
+ end
668
+
669
+ # Related questions specification.
670
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestRelatedQuestionsSpec
671
+ include Google::Apis::Core::Hashable
672
+
673
+ # Enable related questions feature if true.
674
+ # Corresponds to the JSON property `enable`
675
+ # @return [Boolean]
676
+ attr_accessor :enable
677
+ alias_method :enable?, :enable
678
+
679
+ def initialize(**args)
680
+ update!(**args)
681
+ end
682
+
683
+ # Update properties of this object
684
+ def update!(**args)
685
+ @enable = args[:enable] if args.key?(:enable)
686
+ end
687
+ end
688
+
689
+ # Safety specification.
690
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec
691
+ include Google::Apis::Core::Hashable
692
+
693
+ # Enable the safety filtering on the answer response. It is false by default.
694
+ # Corresponds to the JSON property `enable`
695
+ # @return [Boolean]
696
+ attr_accessor :enable
697
+ alias_method :enable?, :enable
698
+
699
+ def initialize(**args)
700
+ update!(**args)
701
+ end
702
+
703
+ # Update properties of this object
704
+ def update!(**args)
705
+ @enable = args[:enable] if args.key?(:enable)
706
+ end
707
+ end
708
+
709
+ # Search specification.
710
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpec
711
+ include Google::Apis::Core::Hashable
712
+
713
+ # Search parameters.
714
+ # Corresponds to the JSON property `searchParams`
715
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchParams]
716
+ attr_accessor :search_params
717
+
718
+ # Search result list.
719
+ # Corresponds to the JSON property `searchResultList`
720
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultList]
721
+ attr_accessor :search_result_list
722
+
723
+ def initialize(**args)
724
+ update!(**args)
725
+ end
726
+
727
+ # Update properties of this object
728
+ def update!(**args)
729
+ @search_params = args[:search_params] if args.key?(:search_params)
730
+ @search_result_list = args[:search_result_list] if args.key?(:search_result_list)
731
+ end
732
+ end
733
+
734
+ # Search parameters.
735
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchParams
736
+ include Google::Apis::Core::Hashable
737
+
738
+ # Boost specification to boost certain documents.
739
+ # Corresponds to the JSON property `boostSpec`
740
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestBoostSpec]
741
+ attr_accessor :boost_spec
742
+
743
+ # Specs defining dataStores to filter on in a search call and configurations for
744
+ # those dataStores. This is only considered for engines with multiple dataStores
745
+ # use case. For single dataStore within an engine, they should use the specs at
746
+ # the top level.
747
+ # Corresponds to the JSON property `dataStoreSpecs`
748
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec>]
749
+ attr_accessor :data_store_specs
750
+
751
+ # The filter syntax consists of an expression language for constructing a
752
+ # predicate from one or more fields of the documents being filtered. Filter
753
+ # expression is case-sensitive. This will be used to filter search results which
754
+ # may affect the Answer response. If this field is unrecognizable, an `
755
+ # INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by
756
+ # mapping the LHS filter key to a key property defined in the Vertex AI Search
757
+ # backend -- this mapping is defined by the customer in their schema. For
758
+ # example a media customers might have a field 'name' in their schema. In this
759
+ # case the filter would look like this: filter --> name:'ANY("king kong")' For
760
+ # more information about filtering including syntax and filter operators, see [
761
+ # Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-
762
+ # metadata)
763
+ # Corresponds to the JSON property `filter`
764
+ # @return [String]
765
+ attr_accessor :filter
766
+
767
+ # Number of search results to return. The default value is 10.
768
+ # Corresponds to the JSON property `maxReturnResults`
769
+ # @return [Fixnum]
770
+ attr_accessor :max_return_results
771
+
772
+ # The order in which documents are returned. Documents can be ordered by a field
773
+ # in an Document object. Leave it unset if ordered by relevance. `order_by`
774
+ # expression is case-sensitive. For more information on ordering, see [Ordering](
775
+ # https://cloud.google.com/retail/docs/filter-and-order#order) If this field is
776
+ # unrecognizable, an `INVALID_ARGUMENT` is returned.
777
+ # Corresponds to the JSON property `orderBy`
778
+ # @return [String]
779
+ attr_accessor :order_by
780
+
781
+ def initialize(**args)
782
+ update!(**args)
783
+ end
784
+
785
+ # Update properties of this object
786
+ def update!(**args)
787
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
788
+ @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
789
+ @filter = args[:filter] if args.key?(:filter)
790
+ @max_return_results = args[:max_return_results] if args.key?(:max_return_results)
791
+ @order_by = args[:order_by] if args.key?(:order_by)
792
+ end
793
+ end
794
+
795
+ # Search result list.
796
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultList
797
+ include Google::Apis::Core::Hashable
798
+
799
+ # Search results.
800
+ # Corresponds to the JSON property `searchResults`
801
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResult>]
802
+ attr_accessor :search_results
803
+
804
+ def initialize(**args)
805
+ update!(**args)
806
+ end
807
+
808
+ # Update properties of this object
809
+ def update!(**args)
810
+ @search_results = args[:search_results] if args.key?(:search_results)
811
+ end
812
+ end
813
+
814
+ # Search result.
815
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResult
816
+ include Google::Apis::Core::Hashable
817
+
818
+ # Chunk information.
819
+ # Corresponds to the JSON property `chunkInfo`
820
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo]
821
+ attr_accessor :chunk_info
822
+
823
+ # Unstructured document information.
824
+ # Corresponds to the JSON property `unstructuredDocumentInfo`
825
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo]
826
+ attr_accessor :unstructured_document_info
827
+
828
+ def initialize(**args)
829
+ update!(**args)
830
+ end
831
+
832
+ # Update properties of this object
833
+ def update!(**args)
834
+ @chunk_info = args[:chunk_info] if args.key?(:chunk_info)
835
+ @unstructured_document_info = args[:unstructured_document_info] if args.key?(:unstructured_document_info)
836
+ end
837
+ end
838
+
839
+ # Chunk information.
840
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo
841
+ include Google::Apis::Core::Hashable
842
+
843
+ # Chunk resource name.
844
+ # Corresponds to the JSON property `chunk`
845
+ # @return [String]
846
+ attr_accessor :chunk
847
+
848
+ # Chunk textual content.
849
+ # Corresponds to the JSON property `content`
850
+ # @return [String]
851
+ attr_accessor :content
852
+
853
+ def initialize(**args)
854
+ update!(**args)
855
+ end
856
+
857
+ # Update properties of this object
858
+ def update!(**args)
859
+ @chunk = args[:chunk] if args.key?(:chunk)
860
+ @content = args[:content] if args.key?(:content)
861
+ end
862
+ end
863
+
864
+ # Unstructured document information.
865
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo
866
+ include Google::Apis::Core::Hashable
867
+
868
+ # Document resource name.
869
+ # Corresponds to the JSON property `document`
870
+ # @return [String]
871
+ attr_accessor :document
872
+
873
+ # List of document contexts.
874
+ # Corresponds to the JSON property `documentContexts`
875
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext>]
876
+ attr_accessor :document_contexts
877
+
878
+ # List of extractive answers.
879
+ # Corresponds to the JSON property `extractiveAnswers`
880
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer>]
881
+ attr_accessor :extractive_answers
882
+
883
+ # List of extractive segments.
884
+ # Corresponds to the JSON property `extractiveSegments`
885
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment>]
886
+ attr_accessor :extractive_segments
887
+
888
+ # Title.
889
+ # Corresponds to the JSON property `title`
890
+ # @return [String]
891
+ attr_accessor :title
892
+
893
+ # URI for the document.
894
+ # Corresponds to the JSON property `uri`
895
+ # @return [String]
896
+ attr_accessor :uri
897
+
898
+ def initialize(**args)
899
+ update!(**args)
900
+ end
901
+
902
+ # Update properties of this object
903
+ def update!(**args)
904
+ @document = args[:document] if args.key?(:document)
905
+ @document_contexts = args[:document_contexts] if args.key?(:document_contexts)
906
+ @extractive_answers = args[:extractive_answers] if args.key?(:extractive_answers)
907
+ @extractive_segments = args[:extractive_segments] if args.key?(:extractive_segments)
908
+ @title = args[:title] if args.key?(:title)
909
+ @uri = args[:uri] if args.key?(:uri)
910
+ end
911
+ end
912
+
913
+ # Document context.
914
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext
915
+ include Google::Apis::Core::Hashable
916
+
917
+ # Document content.
918
+ # Corresponds to the JSON property `content`
919
+ # @return [String]
920
+ attr_accessor :content
921
+
922
+ # Page identifier.
923
+ # Corresponds to the JSON property `pageIdentifier`
924
+ # @return [String]
925
+ attr_accessor :page_identifier
926
+
927
+ def initialize(**args)
928
+ update!(**args)
929
+ end
930
+
931
+ # Update properties of this object
932
+ def update!(**args)
933
+ @content = args[:content] if args.key?(:content)
934
+ @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
935
+ end
936
+ end
937
+
938
+ # Extractive answer. [Guide](https://cloud.google.com/generative-ai-app-builder/
939
+ # docs/snippets#get-answers)
940
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer
941
+ include Google::Apis::Core::Hashable
942
+
943
+ # Extractive answer content.
944
+ # Corresponds to the JSON property `content`
945
+ # @return [String]
946
+ attr_accessor :content
947
+
948
+ # Page identifier.
949
+ # Corresponds to the JSON property `pageIdentifier`
950
+ # @return [String]
951
+ attr_accessor :page_identifier
952
+
953
+ def initialize(**args)
954
+ update!(**args)
955
+ end
956
+
957
+ # Update properties of this object
958
+ def update!(**args)
959
+ @content = args[:content] if args.key?(:content)
960
+ @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
961
+ end
962
+ end
963
+
964
+ # Extractive segment. [Guide](https://cloud.google.com/generative-ai-app-builder/
965
+ # docs/snippets#extractive-segments)
966
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment
967
+ include Google::Apis::Core::Hashable
968
+
969
+ # Extractive segment content.
970
+ # Corresponds to the JSON property `content`
971
+ # @return [String]
972
+ attr_accessor :content
973
+
974
+ # Page identifier.
975
+ # Corresponds to the JSON property `pageIdentifier`
976
+ # @return [String]
977
+ attr_accessor :page_identifier
978
+
979
+ def initialize(**args)
980
+ update!(**args)
981
+ end
982
+
983
+ # Update properties of this object
984
+ def update!(**args)
985
+ @content = args[:content] if args.key?(:content)
986
+ @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
987
+ end
988
+ end
989
+
990
+ # Response message for ConversationalSearchService.AnswerQuery method.
991
+ class GoogleCloudDiscoveryengineV1AnswerQueryResponse
992
+ include Google::Apis::Core::Hashable
993
+
994
+ # Defines an answer.
995
+ # Corresponds to the JSON property `answer`
996
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Answer]
997
+ attr_accessor :answer
998
+
999
+ # A global unique ID used for logging.
1000
+ # Corresponds to the JSON property `answerQueryToken`
1001
+ # @return [String]
1002
+ attr_accessor :answer_query_token
1003
+
1004
+ # External session proto definition.
1005
+ # Corresponds to the JSON property `session`
1006
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Session]
1007
+ attr_accessor :session
1008
+
1009
+ def initialize(**args)
1010
+ update!(**args)
1011
+ end
1012
+
1013
+ # Update properties of this object
1014
+ def update!(**args)
1015
+ @answer = args[:answer] if args.key?(:answer)
1016
+ @answer_query_token = args[:answer_query_token] if args.key?(:answer_query_token)
1017
+ @session = args[:session] if args.key?(:session)
1018
+ end
1019
+ end
1020
+
1021
+ # Query understanding information.
1022
+ class GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfo
1023
+ include Google::Apis::Core::Hashable
1024
+
1025
+ # Query classification information.
1026
+ # Corresponds to the JSON property `queryClassificationInfo`
1027
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfoQueryClassificationInfo>]
1028
+ attr_accessor :query_classification_info
1029
+
1030
+ def initialize(**args)
1031
+ update!(**args)
1032
+ end
1033
+
1034
+ # Update properties of this object
1035
+ def update!(**args)
1036
+ @query_classification_info = args[:query_classification_info] if args.key?(:query_classification_info)
1037
+ end
1038
+ end
1039
+
1040
+ # Query classification information.
1041
+ class GoogleCloudDiscoveryengineV1AnswerQueryUnderstandingInfoQueryClassificationInfo
1042
+ include Google::Apis::Core::Hashable
1043
+
1044
+ # Classification output.
1045
+ # Corresponds to the JSON property `positive`
1046
+ # @return [Boolean]
1047
+ attr_accessor :positive
1048
+ alias_method :positive?, :positive
1049
+
1050
+ # Query classification type.
1051
+ # Corresponds to the JSON property `type`
1052
+ # @return [String]
1053
+ attr_accessor :type
1054
+
1055
+ def initialize(**args)
1056
+ update!(**args)
1057
+ end
1058
+
1059
+ # Update properties of this object
1060
+ def update!(**args)
1061
+ @positive = args[:positive] if args.key?(:positive)
1062
+ @type = args[:type] if args.key?(:type)
1063
+ end
1064
+ end
1065
+
1066
+ # Reference.
1067
+ class GoogleCloudDiscoveryengineV1AnswerReference
1068
+ include Google::Apis::Core::Hashable
1069
+
1070
+ # Chunk information.
1071
+ # Corresponds to the JSON property `chunkInfo`
1072
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfo]
1073
+ attr_accessor :chunk_info
1074
+
1075
+ # Unstructured document information.
1076
+ # Corresponds to the JSON property `unstructuredDocumentInfo`
1077
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfo]
1078
+ attr_accessor :unstructured_document_info
1079
+
1080
+ def initialize(**args)
1081
+ update!(**args)
1082
+ end
1083
+
1084
+ # Update properties of this object
1085
+ def update!(**args)
1086
+ @chunk_info = args[:chunk_info] if args.key?(:chunk_info)
1087
+ @unstructured_document_info = args[:unstructured_document_info] if args.key?(:unstructured_document_info)
1088
+ end
1089
+ end
1090
+
1091
+ # Chunk information.
1092
+ class GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfo
1093
+ include Google::Apis::Core::Hashable
1094
+
1095
+ # Chunk resource name.
1096
+ # Corresponds to the JSON property `chunk`
1097
+ # @return [String]
1098
+ attr_accessor :chunk
1099
+
1100
+ # Chunk textual content.
1101
+ # Corresponds to the JSON property `content`
1102
+ # @return [String]
1103
+ attr_accessor :content
1104
+
1105
+ # Document metadata.
1106
+ # Corresponds to the JSON property `documentMetadata`
1107
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfoDocumentMetadata]
1108
+ attr_accessor :document_metadata
1109
+
1110
+ # Relevance score.
1111
+ # Corresponds to the JSON property `relevanceScore`
1112
+ # @return [Float]
1113
+ attr_accessor :relevance_score
1114
+
1115
+ def initialize(**args)
1116
+ update!(**args)
1117
+ end
1118
+
1119
+ # Update properties of this object
1120
+ def update!(**args)
1121
+ @chunk = args[:chunk] if args.key?(:chunk)
1122
+ @content = args[:content] if args.key?(:content)
1123
+ @document_metadata = args[:document_metadata] if args.key?(:document_metadata)
1124
+ @relevance_score = args[:relevance_score] if args.key?(:relevance_score)
1125
+ end
1126
+ end
1127
+
1128
+ # Document metadata.
1129
+ class GoogleCloudDiscoveryengineV1AnswerReferenceChunkInfoDocumentMetadata
1130
+ include Google::Apis::Core::Hashable
1131
+
1132
+ # Document resource name.
1133
+ # Corresponds to the JSON property `document`
1134
+ # @return [String]
1135
+ attr_accessor :document
1136
+
1137
+ # Page identifier.
1138
+ # Corresponds to the JSON property `pageIdentifier`
1139
+ # @return [String]
1140
+ attr_accessor :page_identifier
1141
+
1142
+ # The structured JSON metadata for the document. It is populated from the struct
1143
+ # data from the Chunk in search result.
1144
+ # Corresponds to the JSON property `structData`
1145
+ # @return [Hash<String,Object>]
1146
+ attr_accessor :struct_data
1147
+
1148
+ # Title.
1149
+ # Corresponds to the JSON property `title`
1150
+ # @return [String]
1151
+ attr_accessor :title
1152
+
1153
+ # URI for the document.
1154
+ # Corresponds to the JSON property `uri`
1155
+ # @return [String]
1156
+ attr_accessor :uri
1157
+
1158
+ def initialize(**args)
1159
+ update!(**args)
1160
+ end
1161
+
1162
+ # Update properties of this object
1163
+ def update!(**args)
1164
+ @document = args[:document] if args.key?(:document)
1165
+ @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
1166
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1167
+ @title = args[:title] if args.key?(:title)
1168
+ @uri = args[:uri] if args.key?(:uri)
1169
+ end
1170
+ end
1171
+
1172
+ # Unstructured document information.
1173
+ class GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfo
1174
+ include Google::Apis::Core::Hashable
1175
+
1176
+ # List of cited chunk contents derived from document content.
1177
+ # Corresponds to the JSON property `chunkContents`
1178
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfoChunkContent>]
1179
+ attr_accessor :chunk_contents
1180
+
1181
+ # Document resource name.
1182
+ # Corresponds to the JSON property `document`
1183
+ # @return [String]
1184
+ attr_accessor :document
1185
+
1186
+ # The structured JSON metadata for the document. It is populated from the struct
1187
+ # data from the Chunk in search result.
1188
+ # Corresponds to the JSON property `structData`
1189
+ # @return [Hash<String,Object>]
1190
+ attr_accessor :struct_data
1191
+
1192
+ # Title.
1193
+ # Corresponds to the JSON property `title`
1194
+ # @return [String]
1195
+ attr_accessor :title
1196
+
1197
+ # URI for the document.
1198
+ # Corresponds to the JSON property `uri`
1199
+ # @return [String]
1200
+ attr_accessor :uri
1201
+
1202
+ def initialize(**args)
1203
+ update!(**args)
1204
+ end
1205
+
1206
+ # Update properties of this object
1207
+ def update!(**args)
1208
+ @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
1209
+ @document = args[:document] if args.key?(:document)
1210
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1211
+ @title = args[:title] if args.key?(:title)
1212
+ @uri = args[:uri] if args.key?(:uri)
1213
+ end
1214
+ end
1215
+
1216
+ # Chunk content.
1217
+ class GoogleCloudDiscoveryengineV1AnswerReferenceUnstructuredDocumentInfoChunkContent
1218
+ include Google::Apis::Core::Hashable
1219
+
1220
+ # Chunk textual content.
1221
+ # Corresponds to the JSON property `content`
1222
+ # @return [String]
1223
+ attr_accessor :content
1224
+
1225
+ # Page identifier.
1226
+ # Corresponds to the JSON property `pageIdentifier`
1227
+ # @return [String]
1228
+ attr_accessor :page_identifier
1229
+
1230
+ def initialize(**args)
1231
+ update!(**args)
1232
+ end
1233
+
1234
+ # Update properties of this object
1235
+ def update!(**args)
1236
+ @content = args[:content] if args.key?(:content)
1237
+ @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
1238
+ end
1239
+ end
1240
+
1241
+ # Step information.
1242
+ class GoogleCloudDiscoveryengineV1AnswerStep
1243
+ include Google::Apis::Core::Hashable
1244
+
1245
+ # Actions.
1246
+ # Corresponds to the JSON property `actions`
1247
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerStepAction>]
1248
+ attr_accessor :actions
1249
+
1250
+ # The description of the step.
1251
+ # Corresponds to the JSON property `description`
1252
+ # @return [String]
1253
+ attr_accessor :description
1254
+
1255
+ # The state of the step.
1256
+ # Corresponds to the JSON property `state`
1257
+ # @return [String]
1258
+ attr_accessor :state
1259
+
1260
+ # The thought of the step.
1261
+ # Corresponds to the JSON property `thought`
1262
+ # @return [String]
1263
+ attr_accessor :thought
1264
+
1265
+ def initialize(**args)
1266
+ update!(**args)
1267
+ end
1268
+
1269
+ # Update properties of this object
1270
+ def update!(**args)
1271
+ @actions = args[:actions] if args.key?(:actions)
1272
+ @description = args[:description] if args.key?(:description)
1273
+ @state = args[:state] if args.key?(:state)
1274
+ @thought = args[:thought] if args.key?(:thought)
1275
+ end
1276
+ end
1277
+
1278
+ # Action.
1279
+ class GoogleCloudDiscoveryengineV1AnswerStepAction
1280
+ include Google::Apis::Core::Hashable
1281
+
1282
+ # Observation.
1283
+ # Corresponds to the JSON property `observation`
1284
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerStepActionObservation]
1285
+ attr_accessor :observation
1286
+
1287
+ # Search action.
1288
+ # Corresponds to the JSON property `searchAction`
1289
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerStepActionSearchAction]
1290
+ attr_accessor :search_action
1291
+
1292
+ def initialize(**args)
1293
+ update!(**args)
1294
+ end
1295
+
1296
+ # Update properties of this object
1297
+ def update!(**args)
1298
+ @observation = args[:observation] if args.key?(:observation)
1299
+ @search_action = args[:search_action] if args.key?(:search_action)
1300
+ end
1301
+ end
1302
+
1303
+ # Observation.
1304
+ class GoogleCloudDiscoveryengineV1AnswerStepActionObservation
1305
+ include Google::Apis::Core::Hashable
1306
+
1307
+ # Search results observed by the search action, it can be snippets info or chunk
1308
+ # info, depending on the citation type set by the user.
1309
+ # Corresponds to the JSON property `searchResults`
1310
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResult>]
1311
+ attr_accessor :search_results
1312
+
1313
+ def initialize(**args)
1314
+ update!(**args)
1315
+ end
1316
+
1317
+ # Update properties of this object
1318
+ def update!(**args)
1319
+ @search_results = args[:search_results] if args.key?(:search_results)
1320
+ end
1321
+ end
1322
+
1323
+ #
1324
+ class GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResult
1325
+ include Google::Apis::Core::Hashable
1326
+
1327
+ # If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk
1328
+ # info.
1329
+ # Corresponds to the JSON property `chunkInfo`
1330
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultChunkInfo>]
1331
+ attr_accessor :chunk_info
1332
+
1333
+ # Document resource name.
1334
+ # Corresponds to the JSON property `document`
1335
+ # @return [String]
1336
+ attr_accessor :document
1337
+
1338
+ # If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.
1339
+ # Corresponds to the JSON property `snippetInfo`
1340
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultSnippetInfo>]
1341
+ attr_accessor :snippet_info
1342
+
1343
+ # Title.
1344
+ # Corresponds to the JSON property `title`
1345
+ # @return [String]
1346
+ attr_accessor :title
1347
+
1348
+ # URI for the document.
1349
+ # Corresponds to the JSON property `uri`
1350
+ # @return [String]
1351
+ attr_accessor :uri
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @chunk_info = args[:chunk_info] if args.key?(:chunk_info)
1360
+ @document = args[:document] if args.key?(:document)
1361
+ @snippet_info = args[:snippet_info] if args.key?(:snippet_info)
1362
+ @title = args[:title] if args.key?(:title)
1363
+ @uri = args[:uri] if args.key?(:uri)
1364
+ end
1365
+ end
1366
+
1367
+ # Chunk information.
1368
+ class GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultChunkInfo
1369
+ include Google::Apis::Core::Hashable
1370
+
1371
+ # Chunk resource name.
1372
+ # Corresponds to the JSON property `chunk`
1373
+ # @return [String]
1374
+ attr_accessor :chunk
1375
+
1376
+ # Chunk textual content.
1377
+ # Corresponds to the JSON property `content`
1378
+ # @return [String]
1379
+ attr_accessor :content
1380
+
1381
+ # Relevance score.
1382
+ # Corresponds to the JSON property `relevanceScore`
1383
+ # @return [Float]
1384
+ attr_accessor :relevance_score
1385
+
1386
+ def initialize(**args)
1387
+ update!(**args)
1388
+ end
1389
+
1390
+ # Update properties of this object
1391
+ def update!(**args)
1392
+ @chunk = args[:chunk] if args.key?(:chunk)
1393
+ @content = args[:content] if args.key?(:content)
1394
+ @relevance_score = args[:relevance_score] if args.key?(:relevance_score)
1395
+ end
1396
+ end
1397
+
1398
+ # Snippet information.
1399
+ class GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultSnippetInfo
1400
+ include Google::Apis::Core::Hashable
1401
+
1402
+ # Snippet content.
1403
+ # Corresponds to the JSON property `snippet`
1404
+ # @return [String]
1405
+ attr_accessor :snippet
1406
+
1407
+ # Status of the snippet defined by the search team.
1408
+ # Corresponds to the JSON property `snippetStatus`
1409
+ # @return [String]
1410
+ attr_accessor :snippet_status
1411
+
1412
+ def initialize(**args)
1413
+ update!(**args)
1414
+ end
1415
+
1416
+ # Update properties of this object
1417
+ def update!(**args)
1418
+ @snippet = args[:snippet] if args.key?(:snippet)
1419
+ @snippet_status = args[:snippet_status] if args.key?(:snippet_status)
1420
+ end
1421
+ end
1422
+
1423
+ # Search action.
1424
+ class GoogleCloudDiscoveryengineV1AnswerStepActionSearchAction
1425
+ include Google::Apis::Core::Hashable
1426
+
1427
+ # The query to search.
1428
+ # Corresponds to the JSON property `query`
1429
+ # @return [String]
1430
+ attr_accessor :query
1431
+
1432
+ def initialize(**args)
1433
+ update!(**args)
1434
+ end
1435
+
1436
+ # Update properties of this object
1437
+ def update!(**args)
1438
+ @query = args[:query] if args.key?(:query)
1439
+ end
1440
+ end
1441
+
279
1442
  # Metadata related to the progress of the SiteSearchEngineService.
280
1443
  # BatchCreateTargetSites operation. This will be returned by the google.
281
1444
  # longrunning.Operation.metadata field.
@@ -773,17 +1936,262 @@ module Google
773
1936
  attr_accessor :offload
774
1937
  alias_method :offload?, :offload
775
1938
 
776
- # The project ID that the Cloud SQL source is in with a length limit of 128
777
- # characters. If not specified, inherits the project ID from the parent request.
778
- # Corresponds to the JSON property `projectId`
1939
+ # The project ID that the Cloud SQL source is in with a length limit of 128
1940
+ # characters. If not specified, inherits the project ID from the parent request.
1941
+ # Corresponds to the JSON property `projectId`
1942
+ # @return [String]
1943
+ attr_accessor :project_id
1944
+
1945
+ # Required. The Cloud SQL table to copy the data from with a length limit of 256
1946
+ # characters.
1947
+ # Corresponds to the JSON property `tableId`
1948
+ # @return [String]
1949
+ attr_accessor :table_id
1950
+
1951
+ def initialize(**args)
1952
+ update!(**args)
1953
+ end
1954
+
1955
+ # Update properties of this object
1956
+ def update!(**args)
1957
+ @database_id = args[:database_id] if args.key?(:database_id)
1958
+ @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
1959
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
1960
+ @offload = args[:offload] if args.key?(:offload)
1961
+ @project_id = args[:project_id] if args.key?(:project_id)
1962
+ @table_id = args[:table_id] if args.key?(:table_id)
1963
+ end
1964
+ end
1965
+
1966
+ # Response message for CompletionService.CompleteQuery method.
1967
+ class GoogleCloudDiscoveryengineV1CompleteQueryResponse
1968
+ include Google::Apis::Core::Hashable
1969
+
1970
+ # Results of the matched query suggestions. The result list is ordered and the
1971
+ # first result is a top suggestion.
1972
+ # Corresponds to the JSON property `querySuggestions`
1973
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CompleteQueryResponseQuerySuggestion>]
1974
+ attr_accessor :query_suggestions
1975
+
1976
+ # True if the returned suggestions are all tail suggestions. For tail matching
1977
+ # to be triggered, include_tail_suggestions in the request must be true and
1978
+ # there must be no suggestions that match the full query.
1979
+ # Corresponds to the JSON property `tailMatchTriggered`
1980
+ # @return [Boolean]
1981
+ attr_accessor :tail_match_triggered
1982
+ alias_method :tail_match_triggered?, :tail_match_triggered
1983
+
1984
+ def initialize(**args)
1985
+ update!(**args)
1986
+ end
1987
+
1988
+ # Update properties of this object
1989
+ def update!(**args)
1990
+ @query_suggestions = args[:query_suggestions] if args.key?(:query_suggestions)
1991
+ @tail_match_triggered = args[:tail_match_triggered] if args.key?(:tail_match_triggered)
1992
+ end
1993
+ end
1994
+
1995
+ # Suggestions as search queries.
1996
+ class GoogleCloudDiscoveryengineV1CompleteQueryResponseQuerySuggestion
1997
+ include Google::Apis::Core::Hashable
1998
+
1999
+ # The unique document field paths that serve as the source of this suggestion if
2000
+ # it was generated from completable fields. This field is only populated for the
2001
+ # document-completable model.
2002
+ # Corresponds to the JSON property `completableFieldPaths`
2003
+ # @return [Array<String>]
2004
+ attr_accessor :completable_field_paths
2005
+
2006
+ # The suggestion for the query.
2007
+ # Corresponds to the JSON property `suggestion`
2008
+ # @return [String]
2009
+ attr_accessor :suggestion
2010
+
2011
+ def initialize(**args)
2012
+ update!(**args)
2013
+ end
2014
+
2015
+ # Update properties of this object
2016
+ def update!(**args)
2017
+ @completable_field_paths = args[:completable_field_paths] if args.key?(:completable_field_paths)
2018
+ @suggestion = args[:suggestion] if args.key?(:suggestion)
2019
+ end
2020
+ end
2021
+
2022
+ # Detailed completion information including completion attribution token and
2023
+ # clicked completion info.
2024
+ class GoogleCloudDiscoveryengineV1CompletionInfo
2025
+ include Google::Apis::Core::Hashable
2026
+
2027
+ # End user selected CompleteQueryResponse.QuerySuggestion.suggestion position,
2028
+ # starting from 0.
2029
+ # Corresponds to the JSON property `selectedPosition`
2030
+ # @return [Fixnum]
2031
+ attr_accessor :selected_position
2032
+
2033
+ # End user selected CompleteQueryResponse.QuerySuggestion.suggestion.
2034
+ # Corresponds to the JSON property `selectedSuggestion`
2035
+ # @return [String]
2036
+ attr_accessor :selected_suggestion
2037
+
2038
+ def initialize(**args)
2039
+ update!(**args)
2040
+ end
2041
+
2042
+ # Update properties of this object
2043
+ def update!(**args)
2044
+ @selected_position = args[:selected_position] if args.key?(:selected_position)
2045
+ @selected_suggestion = args[:selected_suggestion] if args.key?(:selected_suggestion)
2046
+ end
2047
+ end
2048
+
2049
+ # Defines circumstances to be checked before allowing a behavior
2050
+ class GoogleCloudDiscoveryengineV1Condition
2051
+ include Google::Apis::Core::Hashable
2052
+
2053
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
2054
+ # ranges.
2055
+ # Corresponds to the JSON property `activeTimeRange`
2056
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ConditionTimeRange>]
2057
+ attr_accessor :active_time_range
2058
+
2059
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
2060
+ # Corresponds to the JSON property `queryTerms`
2061
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ConditionQueryTerm>]
2062
+ attr_accessor :query_terms
2063
+
2064
+ def initialize(**args)
2065
+ update!(**args)
2066
+ end
2067
+
2068
+ # Update properties of this object
2069
+ def update!(**args)
2070
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
2071
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
2072
+ end
2073
+ end
2074
+
2075
+ # Matcher for search request query
2076
+ class GoogleCloudDiscoveryengineV1ConditionQueryTerm
2077
+ include Google::Apis::Core::Hashable
2078
+
2079
+ # Whether the search query needs to exactly match the query term.
2080
+ # Corresponds to the JSON property `fullMatch`
2081
+ # @return [Boolean]
2082
+ attr_accessor :full_match
2083
+ alias_method :full_match?, :full_match
2084
+
2085
+ # The specific query value to match against Must be lowercase, must be UTF-8.
2086
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
2087
+ # empty string. Maximum length of 5000 characters.
2088
+ # Corresponds to the JSON property `value`
2089
+ # @return [String]
2090
+ attr_accessor :value
2091
+
2092
+ def initialize(**args)
2093
+ update!(**args)
2094
+ end
2095
+
2096
+ # Update properties of this object
2097
+ def update!(**args)
2098
+ @full_match = args[:full_match] if args.key?(:full_match)
2099
+ @value = args[:value] if args.key?(:value)
2100
+ end
2101
+ end
2102
+
2103
+ # Used for time-dependent conditions.
2104
+ class GoogleCloudDiscoveryengineV1ConditionTimeRange
2105
+ include Google::Apis::Core::Hashable
2106
+
2107
+ # End of time range. Range is inclusive. Must be in the future.
2108
+ # Corresponds to the JSON property `endTime`
2109
+ # @return [String]
2110
+ attr_accessor :end_time
2111
+
2112
+ # Start of time range. Range is inclusive.
2113
+ # Corresponds to the JSON property `startTime`
2114
+ # @return [String]
2115
+ attr_accessor :start_time
2116
+
2117
+ def initialize(**args)
2118
+ update!(**args)
2119
+ end
2120
+
2121
+ # Update properties of this object
2122
+ def update!(**args)
2123
+ @end_time = args[:end_time] if args.key?(:end_time)
2124
+ @start_time = args[:start_time] if args.key?(:start_time)
2125
+ end
2126
+ end
2127
+
2128
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
2129
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
2130
+ # `SolutionType`.
2131
+ class GoogleCloudDiscoveryengineV1Control
2132
+ include Google::Apis::Core::Hashable
2133
+
2134
+ # Output only. List of all ServingConfig ids this control is attached to. May
2135
+ # take up to 10 minutes to update after changes.
2136
+ # Corresponds to the JSON property `associatedServingConfigIds`
2137
+ # @return [Array<String>]
2138
+ attr_accessor :associated_serving_config_ids
2139
+
2140
+ # Adjusts order of products in returned list.
2141
+ # Corresponds to the JSON property `boostAction`
2142
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlBoostAction]
2143
+ attr_accessor :boost_action
2144
+
2145
+ # Determines when the associated action will trigger. Omit to always apply the
2146
+ # action. Currently only a single condition may be specified. Otherwise an
2147
+ # INVALID ARGUMENT error is thrown.
2148
+ # Corresponds to the JSON property `conditions`
2149
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Condition>]
2150
+ attr_accessor :conditions
2151
+
2152
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
2153
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
2154
+ # error is thrown.
2155
+ # Corresponds to the JSON property `displayName`
2156
+ # @return [String]
2157
+ attr_accessor :display_name
2158
+
2159
+ # Specified which products may be included in results. Uses same filter as boost.
2160
+ # Corresponds to the JSON property `filterAction`
2161
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlFilterAction]
2162
+ attr_accessor :filter_action
2163
+
2164
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
2165
+ # controls/*`
2166
+ # Corresponds to the JSON property `name`
779
2167
  # @return [String]
780
- attr_accessor :project_id
2168
+ attr_accessor :name
781
2169
 
782
- # Required. The Cloud SQL table to copy the data from with a length limit of 256
783
- # characters.
784
- # Corresponds to the JSON property `tableId`
2170
+ # Redirects a shopper to the provided URI.
2171
+ # Corresponds to the JSON property `redirectAction`
2172
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlRedirectAction]
2173
+ attr_accessor :redirect_action
2174
+
2175
+ # Required. Immutable. What solution the control belongs to. Must be compatible
2176
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
2177
+ # Corresponds to the JSON property `solutionType`
785
2178
  # @return [String]
786
- attr_accessor :table_id
2179
+ attr_accessor :solution_type
2180
+
2181
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2182
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2183
+ # happy".
2184
+ # Corresponds to the JSON property `synonymsAction`
2185
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlSynonymsAction]
2186
+ attr_accessor :synonyms_action
2187
+
2188
+ # Specifies the use case for the control. Affects what condition fields can be
2189
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
2190
+ # per control. Must be set when solution_type is SolutionType.
2191
+ # SOLUTION_TYPE_SEARCH.
2192
+ # Corresponds to the JSON property `useCases`
2193
+ # @return [Array<String>]
2194
+ attr_accessor :use_cases
787
2195
 
788
2196
  def initialize(**args)
789
2197
  update!(**args)
@@ -791,32 +2199,43 @@ module Google
791
2199
 
792
2200
  # Update properties of this object
793
2201
  def update!(**args)
794
- @database_id = args[:database_id] if args.key?(:database_id)
795
- @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
796
- @instance_id = args[:instance_id] if args.key?(:instance_id)
797
- @offload = args[:offload] if args.key?(:offload)
798
- @project_id = args[:project_id] if args.key?(:project_id)
799
- @table_id = args[:table_id] if args.key?(:table_id)
2202
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
2203
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
2204
+ @conditions = args[:conditions] if args.key?(:conditions)
2205
+ @display_name = args[:display_name] if args.key?(:display_name)
2206
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
2207
+ @name = args[:name] if args.key?(:name)
2208
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
2209
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
2210
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
2211
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
800
2212
  end
801
2213
  end
802
2214
 
803
- # Response message for CompletionService.CompleteQuery method.
804
- class GoogleCloudDiscoveryengineV1CompleteQueryResponse
2215
+ # Adjusts order of products in returned list.
2216
+ class GoogleCloudDiscoveryengineV1ControlBoostAction
805
2217
  include Google::Apis::Core::Hashable
806
2218
 
807
- # Results of the matched query suggestions. The result list is ordered and the
808
- # first result is a top suggestion.
809
- # Corresponds to the JSON property `querySuggestions`
810
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CompleteQueryResponseQuerySuggestion>]
811
- attr_accessor :query_suggestions
2219
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
2220
+ # means demotion. Default is 0.0 (No-op).
2221
+ # Corresponds to the JSON property `boost`
2222
+ # @return [Float]
2223
+ attr_accessor :boost
812
2224
 
813
- # True if the returned suggestions are all tail suggestions. For tail matching
814
- # to be triggered, include_tail_suggestions in the request must be true and
815
- # there must be no suggestions that match the full query.
816
- # Corresponds to the JSON property `tailMatchTriggered`
817
- # @return [Boolean]
818
- attr_accessor :tail_match_triggered
819
- alias_method :tail_match_triggered?, :tail_match_triggered
2225
+ # Required. Specifies which data store's documents can be boosted by this
2226
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2227
+ # default_collection/dataStores/default_data_store
2228
+ # Corresponds to the JSON property `dataStore`
2229
+ # @return [String]
2230
+ attr_accessor :data_store
2231
+
2232
+ # Required. Specifies which products to apply the boost to. If no filter is
2233
+ # provided all products will be boosted (No-op). Syntax documentation: https://
2234
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
2235
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
2236
+ # Corresponds to the JSON property `filter`
2237
+ # @return [String]
2238
+ attr_accessor :filter
820
2239
 
821
2240
  def initialize(**args)
822
2241
  update!(**args)
@@ -824,26 +2243,29 @@ module Google
824
2243
 
825
2244
  # Update properties of this object
826
2245
  def update!(**args)
827
- @query_suggestions = args[:query_suggestions] if args.key?(:query_suggestions)
828
- @tail_match_triggered = args[:tail_match_triggered] if args.key?(:tail_match_triggered)
2246
+ @boost = args[:boost] if args.key?(:boost)
2247
+ @data_store = args[:data_store] if args.key?(:data_store)
2248
+ @filter = args[:filter] if args.key?(:filter)
829
2249
  end
830
2250
  end
831
2251
 
832
- # Suggestions as search queries.
833
- class GoogleCloudDiscoveryengineV1CompleteQueryResponseQuerySuggestion
2252
+ # Specified which products may be included in results. Uses same filter as boost.
2253
+ class GoogleCloudDiscoveryengineV1ControlFilterAction
834
2254
  include Google::Apis::Core::Hashable
835
2255
 
836
- # The unique document field paths that serve as the source of this suggestion if
837
- # it was generated from completable fields. This field is only populated for the
838
- # document-completable model.
839
- # Corresponds to the JSON property `completableFieldPaths`
840
- # @return [Array<String>]
841
- attr_accessor :completable_field_paths
2256
+ # Required. Specifies which data store's documents can be filtered by this
2257
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2258
+ # default_collection/dataStores/default_data_store
2259
+ # Corresponds to the JSON property `dataStore`
2260
+ # @return [String]
2261
+ attr_accessor :data_store
842
2262
 
843
- # The suggestion for the query.
844
- # Corresponds to the JSON property `suggestion`
2263
+ # Required. A filter to apply on the matching condition results. Required Syntax
2264
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
2265
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
2266
+ # Corresponds to the JSON property `filter`
845
2267
  # @return [String]
846
- attr_accessor :suggestion
2268
+ attr_accessor :filter
847
2269
 
848
2270
  def initialize(**args)
849
2271
  update!(**args)
@@ -851,26 +2273,21 @@ module Google
851
2273
 
852
2274
  # Update properties of this object
853
2275
  def update!(**args)
854
- @completable_field_paths = args[:completable_field_paths] if args.key?(:completable_field_paths)
855
- @suggestion = args[:suggestion] if args.key?(:suggestion)
2276
+ @data_store = args[:data_store] if args.key?(:data_store)
2277
+ @filter = args[:filter] if args.key?(:filter)
856
2278
  end
857
2279
  end
858
2280
 
859
- # Detailed completion information including completion attribution token and
860
- # clicked completion info.
861
- class GoogleCloudDiscoveryengineV1CompletionInfo
2281
+ # Redirects a shopper to the provided URI.
2282
+ class GoogleCloudDiscoveryengineV1ControlRedirectAction
862
2283
  include Google::Apis::Core::Hashable
863
2284
 
864
- # End user selected CompleteQueryResponse.QuerySuggestion.suggestion position,
865
- # starting from 0.
866
- # Corresponds to the JSON property `selectedPosition`
867
- # @return [Fixnum]
868
- attr_accessor :selected_position
869
-
870
- # End user selected CompleteQueryResponse.QuerySuggestion.suggestion.
871
- # Corresponds to the JSON property `selectedSuggestion`
2285
+ # Required. The URI to which the shopper will be redirected. Required. URI must
2286
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
2287
+ # error is thrown.
2288
+ # Corresponds to the JSON property `redirectUri`
872
2289
  # @return [String]
873
- attr_accessor :selected_suggestion
2290
+ attr_accessor :redirect_uri
874
2291
 
875
2292
  def initialize(**args)
876
2293
  update!(**args)
@@ -878,8 +2295,29 @@ module Google
878
2295
 
879
2296
  # Update properties of this object
880
2297
  def update!(**args)
881
- @selected_position = args[:selected_position] if args.key?(:selected_position)
882
- @selected_suggestion = args[:selected_suggestion] if args.key?(:selected_suggestion)
2298
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
2299
+ end
2300
+ end
2301
+
2302
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2303
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2304
+ # happy".
2305
+ class GoogleCloudDiscoveryengineV1ControlSynonymsAction
2306
+ include Google::Apis::Core::Hashable
2307
+
2308
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
2309
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
2310
+ # Corresponds to the JSON property `synonyms`
2311
+ # @return [Array<String>]
2312
+ attr_accessor :synonyms
2313
+
2314
+ def initialize(**args)
2315
+ update!(**args)
2316
+ end
2317
+
2318
+ # Update properties of this object
2319
+ def update!(**args)
2320
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
883
2321
  end
884
2322
  end
885
2323
 
@@ -1666,9 +3104,9 @@ module Google
1666
3104
  attr_accessor :promotion_ids
1667
3105
 
1668
3106
  # Quantity of the Document associated with the user event. Defaults to 1. For
1669
- # example, this field will be 2 if two quantities of the same Document are
1670
- # involved in a `add-to-cart` event. Required for events of the following event
1671
- # types: * `add-to-cart` * `purchase`
3107
+ # example, this field is 2 if two quantities of the same Document are involved
3108
+ # in a `add-to-cart` event. Required for events of the following event types: * `
3109
+ # add-to-cart` * `purchase`
1672
3110
  # Corresponds to the JSON property `quantity`
1673
3111
  # @return [Fixnum]
1674
3112
  attr_accessor :quantity
@@ -1894,8 +3332,7 @@ module Google
1894
3332
 
1895
3333
  # The industry vertical that the engine registers. The restriction of the Engine
1896
3334
  # industry vertical is based on DataStore: If unspecified, default to `GENERIC`.
1897
- # Vertical on Engine has to match vertical of the DataStore liniked to the
1898
- # engine.
3335
+ # Vertical on Engine has to match vertical of the DataStore linked to the engine.
1899
3336
  # Corresponds to the JSON property `industryVertical`
1900
3337
  # @return [String]
1901
3338
  attr_accessor :industry_vertical
@@ -2050,8 +3487,8 @@ module Google
2050
3487
  class GoogleCloudDiscoveryengineV1EngineCommonConfig
2051
3488
  include Google::Apis::Core::Hashable
2052
3489
 
2053
- # Immutable. The name of the company, business or entity that is associated with
2054
- # the engine. Setting this may help improve LLM related features.
3490
+ # The name of the company, business or entity that is associated with the engine.
3491
+ # Setting this may help improve LLM related features.
2055
3492
  # Corresponds to the JSON property `companyName`
2056
3493
  # @return [String]
2057
3494
  attr_accessor :company_name
@@ -2199,8 +3636,8 @@ module Google
2199
3636
  class GoogleCloudDiscoveryengineV1FirestoreSource
2200
3637
  include Google::Apis::Core::Hashable
2201
3638
 
2202
- # Required. The Firestore collection to copy the data from with a length limit
2203
- # of 1,500 characters.
3639
+ # Required. The Firestore collection (or entity) to copy the data from with a
3640
+ # length limit of 1,500 characters.
2204
3641
  # Corresponds to the JSON property `collectionId`
2205
3642
  # @return [String]
2206
3643
  attr_accessor :collection_id
@@ -2253,17 +3690,17 @@ module Google
2253
3690
  # vertical. * `csv`: A CSV file with header conforming to the defined Schema of
2254
3691
  # the data store. Each entry after the header is imported as a Document. This
2255
3692
  # can only be used by the GENERIC Data Store vertical. Supported values for user
2256
- # even imports: * `user_event` (default): One JSON UserEvent per line.
3693
+ # event imports: * `user_event` (default): One JSON UserEvent per line.
2257
3694
  # Corresponds to the JSON property `dataSchema`
2258
3695
  # @return [String]
2259
3696
  attr_accessor :data_schema
2260
3697
 
2261
- # Required. Cloud Storage URIs to input files. URI can be up to 2000 characters
2262
- # long. URIs can match the full object path (for example, `gs://bucket/directory/
2263
- # object.json`) or a pattern matching one or more files, such as `gs://bucket/
2264
- # directory/*.json`. A request can contain at most 100 files (or 100,000 files
2265
- # if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `
2266
- # data_schema` is `content`).
3698
+ # Required. Cloud Storage URIs to input files. Each URI can be up to 2000
3699
+ # characters long. URIs can match the full object path (for example, `gs://
3700
+ # bucket/directory/object.json`) or a pattern matching one or more files, such
3701
+ # as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or
3702
+ # 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or
3703
+ # 100 MB if `data_schema` is `content`).
2267
3704
  # Corresponds to the JSON property `inputUris`
2268
3705
  # @return [Array<String>]
2269
3706
  attr_accessor :input_uris
@@ -2810,6 +4247,31 @@ module Google
2810
4247
  end
2811
4248
  end
2812
4249
 
4250
+ # Response for ListControls method.
4251
+ class GoogleCloudDiscoveryengineV1ListControlsResponse
4252
+ include Google::Apis::Core::Hashable
4253
+
4254
+ # All the Controls for a given data store.
4255
+ # Corresponds to the JSON property `controls`
4256
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Control>]
4257
+ attr_accessor :controls
4258
+
4259
+ # Pagination token, if not returned indicates the last page.
4260
+ # Corresponds to the JSON property `nextPageToken`
4261
+ # @return [String]
4262
+ attr_accessor :next_page_token
4263
+
4264
+ def initialize(**args)
4265
+ update!(**args)
4266
+ end
4267
+
4268
+ # Update properties of this object
4269
+ def update!(**args)
4270
+ @controls = args[:controls] if args.key?(:controls)
4271
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
4272
+ end
4273
+ end
4274
+
2813
4275
  # Response for ListConversations method.
2814
4276
  class GoogleCloudDiscoveryengineV1ListConversationsResponse
2815
4277
  include Google::Apis::Core::Hashable
@@ -2938,6 +4400,31 @@ module Google
2938
4400
  end
2939
4401
  end
2940
4402
 
4403
+ # Response for ListSessions method.
4404
+ class GoogleCloudDiscoveryengineV1ListSessionsResponse
4405
+ include Google::Apis::Core::Hashable
4406
+
4407
+ # Pagination token, if not returned indicates the last page.
4408
+ # Corresponds to the JSON property `nextPageToken`
4409
+ # @return [String]
4410
+ attr_accessor :next_page_token
4411
+
4412
+ # All the Sessions for a given data store.
4413
+ # Corresponds to the JSON property `sessions`
4414
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Session>]
4415
+ attr_accessor :sessions
4416
+
4417
+ def initialize(**args)
4418
+ update!(**args)
4419
+ end
4420
+
4421
+ # Update properties of this object
4422
+ def update!(**args)
4423
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
4424
+ @sessions = args[:sessions] if args.key?(:sessions)
4425
+ end
4426
+ end
4427
+
2941
4428
  # Response message for SiteSearchEngineService.ListTargetSites method.
2942
4429
  class GoogleCloudDiscoveryengineV1ListTargetSitesResponse
2943
4430
  include Google::Apis::Core::Hashable
@@ -3026,22 +4513,149 @@ module Google
3026
4513
  # in automatically.
3027
4514
  # Corresponds to the JSON property `pageviewId`
3028
4515
  # @return [String]
3029
- attr_accessor :pageview_id
4516
+ attr_accessor :pageview_id
4517
+
4518
+ # The referrer URL of the current page. When using the client side event
4519
+ # reporting with JavaScript pixel and Google Tag Manager, this value is filled
4520
+ # in automatically. However, some browser privacy restrictions may cause this
4521
+ # field to be empty.
4522
+ # Corresponds to the JSON property `referrerUri`
4523
+ # @return [String]
4524
+ attr_accessor :referrer_uri
4525
+
4526
+ # Complete URL (window.location.href) of the user's current page. When using the
4527
+ # client side event reporting with JavaScript pixel and Google Tag Manager, this
4528
+ # value is filled in automatically. Maximum length 5,000 characters.
4529
+ # Corresponds to the JSON property `uri`
4530
+ # @return [String]
4531
+ attr_accessor :uri
4532
+
4533
+ def initialize(**args)
4534
+ update!(**args)
4535
+ end
4536
+
4537
+ # Update properties of this object
4538
+ def update!(**args)
4539
+ @page_category = args[:page_category] if args.key?(:page_category)
4540
+ @pageview_id = args[:pageview_id] if args.key?(:pageview_id)
4541
+ @referrer_uri = args[:referrer_uri] if args.key?(:referrer_uri)
4542
+ @uri = args[:uri] if args.key?(:uri)
4543
+ end
4544
+ end
4545
+
4546
+ # Detailed panel information associated with a user event.
4547
+ class GoogleCloudDiscoveryengineV1PanelInfo
4548
+ include Google::Apis::Core::Hashable
4549
+
4550
+ # The display name of the panel.
4551
+ # Corresponds to the JSON property `displayName`
4552
+ # @return [String]
4553
+ attr_accessor :display_name
4554
+
4555
+ # Required. The panel ID.
4556
+ # Corresponds to the JSON property `panelId`
4557
+ # @return [String]
4558
+ attr_accessor :panel_id
4559
+
4560
+ # The ordered position of the panel, if shown to the user with other panels. If
4561
+ # set, then total_panels must also be set.
4562
+ # Corresponds to the JSON property `panelPosition`
4563
+ # @return [Fixnum]
4564
+ attr_accessor :panel_position
4565
+
4566
+ # The total number of panels, including this one, shown to the user. Must be set
4567
+ # if panel_position is set.
4568
+ # Corresponds to the JSON property `totalPanels`
4569
+ # @return [Fixnum]
4570
+ attr_accessor :total_panels
4571
+
4572
+ def initialize(**args)
4573
+ update!(**args)
4574
+ end
4575
+
4576
+ # Update properties of this object
4577
+ def update!(**args)
4578
+ @display_name = args[:display_name] if args.key?(:display_name)
4579
+ @panel_id = args[:panel_id] if args.key?(:panel_id)
4580
+ @panel_position = args[:panel_position] if args.key?(:panel_position)
4581
+ @total_panels = args[:total_panels] if args.key?(:total_panels)
4582
+ end
4583
+ end
4584
+
4585
+ # Metadata and configurations for a Google Cloud project in the service.
4586
+ class GoogleCloudDiscoveryengineV1Project
4587
+ include Google::Apis::Core::Hashable
4588
+
4589
+ # Output only. The timestamp when this project is created.
4590
+ # Corresponds to the JSON property `createTime`
4591
+ # @return [String]
4592
+ attr_accessor :create_time
4593
+
4594
+ # Output only. Full resource name of the project, for example `projects/`
4595
+ # project_number``. Note that when making requests, project number and project
4596
+ # id are both acceptable, but the server will always respond in project number.
4597
+ # Corresponds to the JSON property `name`
4598
+ # @return [String]
4599
+ attr_accessor :name
4600
+
4601
+ # Output only. The timestamp when this project is successfully provisioned.
4602
+ # Empty value means this project is still provisioning and is not ready for use.
4603
+ # Corresponds to the JSON property `provisionCompletionTime`
4604
+ # @return [String]
4605
+ attr_accessor :provision_completion_time
4606
+
4607
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
4608
+ # Corresponds to the JSON property `serviceTermsMap`
4609
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
4610
+ attr_accessor :service_terms_map
4611
+
4612
+ def initialize(**args)
4613
+ update!(**args)
4614
+ end
4615
+
4616
+ # Update properties of this object
4617
+ def update!(**args)
4618
+ @create_time = args[:create_time] if args.key?(:create_time)
4619
+ @name = args[:name] if args.key?(:name)
4620
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
4621
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
4622
+ end
4623
+ end
4624
+
4625
+ # Metadata about the terms of service.
4626
+ class GoogleCloudDiscoveryengineV1ProjectServiceTerms
4627
+ include Google::Apis::Core::Hashable
4628
+
4629
+ # The last time when the project agreed to the terms of service.
4630
+ # Corresponds to the JSON property `acceptTime`
4631
+ # @return [String]
4632
+ attr_accessor :accept_time
4633
+
4634
+ # The last time when the project declined or revoked the agreement to terms of
4635
+ # service.
4636
+ # Corresponds to the JSON property `declineTime`
4637
+ # @return [String]
4638
+ attr_accessor :decline_time
3030
4639
 
3031
- # The referrer URL of the current page. When using the client side event
3032
- # reporting with JavaScript pixel and Google Tag Manager, this value is filled
3033
- # in automatically. However, some browser privacy restrictions may cause this
3034
- # field to be empty.
3035
- # Corresponds to the JSON property `referrerUri`
4640
+ # The unique identifier of this terms of service. Available terms: * `
4641
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
4642
+ # use-terms). When using this as `id`, the acceptable version to provide is `
4643
+ # 2022-11-23`.
4644
+ # Corresponds to the JSON property `id`
3036
4645
  # @return [String]
3037
- attr_accessor :referrer_uri
4646
+ attr_accessor :id
3038
4647
 
3039
- # Complete URL (window.location.href) of the user's current page. When using the
3040
- # client side event reporting with JavaScript pixel and Google Tag Manager, this
3041
- # value is filled in automatically. Maximum length 5,000 characters.
3042
- # Corresponds to the JSON property `uri`
4648
+ # Whether the project has accepted/rejected the service terms or it is still
4649
+ # pending.
4650
+ # Corresponds to the JSON property `state`
3043
4651
  # @return [String]
3044
- attr_accessor :uri
4652
+ attr_accessor :state
4653
+
4654
+ # The version string of the terms of service. For acceptable values, see the
4655
+ # comments for id above.
4656
+ # Corresponds to the JSON property `version`
4657
+ # @return [String]
4658
+ attr_accessor :version
3045
4659
 
3046
4660
  def initialize(**args)
3047
4661
  update!(**args)
@@ -3049,38 +4663,45 @@ module Google
3049
4663
 
3050
4664
  # Update properties of this object
3051
4665
  def update!(**args)
3052
- @page_category = args[:page_category] if args.key?(:page_category)
3053
- @pageview_id = args[:pageview_id] if args.key?(:pageview_id)
3054
- @referrer_uri = args[:referrer_uri] if args.key?(:referrer_uri)
3055
- @uri = args[:uri] if args.key?(:uri)
4666
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
4667
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
4668
+ @id = args[:id] if args.key?(:id)
4669
+ @state = args[:state] if args.key?(:state)
4670
+ @version = args[:version] if args.key?(:version)
3056
4671
  end
3057
4672
  end
3058
4673
 
3059
- # Detailed panel information associated with a user event.
3060
- class GoogleCloudDiscoveryengineV1PanelInfo
4674
+ # Metadata associated with a project provision operation.
4675
+ class GoogleCloudDiscoveryengineV1ProvisionProjectMetadata
3061
4676
  include Google::Apis::Core::Hashable
3062
4677
 
3063
- # The display name of the panel.
3064
- # Corresponds to the JSON property `displayName`
3065
- # @return [String]
3066
- attr_accessor :display_name
4678
+ def initialize(**args)
4679
+ update!(**args)
4680
+ end
3067
4681
 
3068
- # Required. The panel ID.
3069
- # Corresponds to the JSON property `panelId`
3070
- # @return [String]
3071
- attr_accessor :panel_id
4682
+ # Update properties of this object
4683
+ def update!(**args)
4684
+ end
4685
+ end
3072
4686
 
3073
- # The ordered position of the panel, if shown to the user with other panels. If
3074
- # set, then total_panels must also be set.
3075
- # Corresponds to the JSON property `panelPosition`
3076
- # @return [Fixnum]
3077
- attr_accessor :panel_position
4687
+ # Request for ProjectService.ProvisionProject method.
4688
+ class GoogleCloudDiscoveryengineV1ProvisionProjectRequest
4689
+ include Google::Apis::Core::Hashable
3078
4690
 
3079
- # The total number of panels, including this one, shown to the user. Must be set
3080
- # if panel_position is set.
3081
- # Corresponds to the JSON property `totalPanels`
3082
- # @return [Fixnum]
3083
- attr_accessor :total_panels
4691
+ # Required. Set to `true` to specify that caller has read and would like to give
4692
+ # consent to the [Terms for data use](https://cloud.google.com/retail/data-use-
4693
+ # terms).
4694
+ # Corresponds to the JSON property `acceptDataUseTerms`
4695
+ # @return [Boolean]
4696
+ attr_accessor :accept_data_use_terms
4697
+ alias_method :accept_data_use_terms?, :accept_data_use_terms
4698
+
4699
+ # Required. The version of the [Terms for data use](https://cloud.google.com/
4700
+ # retail/data-use-terms) that caller has read and would like to give consent to.
4701
+ # Acceptable version is `2022-11-23`, and this may change over time.
4702
+ # Corresponds to the JSON property `dataUseTermsVersion`
4703
+ # @return [String]
4704
+ attr_accessor :data_use_terms_version
3084
4705
 
3085
4706
  def initialize(**args)
3086
4707
  update!(**args)
@@ -3088,10 +4709,8 @@ module Google
3088
4709
 
3089
4710
  # Update properties of this object
3090
4711
  def update!(**args)
3091
- @display_name = args[:display_name] if args.key?(:display_name)
3092
- @panel_id = args[:panel_id] if args.key?(:panel_id)
3093
- @panel_position = args[:panel_position] if args.key?(:panel_position)
3094
- @total_panels = args[:total_panels] if args.key?(:total_panels)
4712
+ @accept_data_use_terms = args[:accept_data_use_terms] if args.key?(:accept_data_use_terms)
4713
+ @data_use_terms_version = args[:data_use_terms_version] if args.key?(:data_use_terms_version)
3095
4714
  end
3096
4715
  end
3097
4716
 
@@ -3262,6 +4881,153 @@ module Google
3262
4881
  end
3263
4882
  end
3264
4883
 
4884
+ # Defines a user inputed query.
4885
+ class GoogleCloudDiscoveryengineV1Query
4886
+ include Google::Apis::Core::Hashable
4887
+
4888
+ # Unique Id for the query.
4889
+ # Corresponds to the JSON property `queryId`
4890
+ # @return [String]
4891
+ attr_accessor :query_id
4892
+
4893
+ # Plain text.
4894
+ # Corresponds to the JSON property `text`
4895
+ # @return [String]
4896
+ attr_accessor :text
4897
+
4898
+ def initialize(**args)
4899
+ update!(**args)
4900
+ end
4901
+
4902
+ # Update properties of this object
4903
+ def update!(**args)
4904
+ @query_id = args[:query_id] if args.key?(:query_id)
4905
+ @text = args[:text] if args.key?(:text)
4906
+ end
4907
+ end
4908
+
4909
+ # Request message for RankService.Rank method.
4910
+ class GoogleCloudDiscoveryengineV1RankRequest
4911
+ include Google::Apis::Core::Hashable
4912
+
4913
+ # If true, the response will contain only record ID and score. By default, it is
4914
+ # false, the response will contain record details.
4915
+ # Corresponds to the JSON property `ignoreRecordDetailsInResponse`
4916
+ # @return [Boolean]
4917
+ attr_accessor :ignore_record_details_in_response
4918
+ alias_method :ignore_record_details_in_response?, :ignore_record_details_in_response
4919
+
4920
+ # The identifier of the model to use. It is one of: * `semantic-ranker-512@
4921
+ # latest`: Semantic ranking model with maxiumn input token size 512. It is set
4922
+ # to `semantic-ranker-512@latest` by default if unspecified.
4923
+ # Corresponds to the JSON property `model`
4924
+ # @return [String]
4925
+ attr_accessor :model
4926
+
4927
+ # The query to use.
4928
+ # Corresponds to the JSON property `query`
4929
+ # @return [String]
4930
+ attr_accessor :query
4931
+
4932
+ # Required. A list of records to rank. At most 200 records to rank.
4933
+ # Corresponds to the JSON property `records`
4934
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1RankingRecord>]
4935
+ attr_accessor :records
4936
+
4937
+ # The number of results to return. If this is unset or no bigger than zero,
4938
+ # returns all results.
4939
+ # Corresponds to the JSON property `topN`
4940
+ # @return [Fixnum]
4941
+ attr_accessor :top_n
4942
+
4943
+ # The user labels applied to a resource must meet the following requirements: *
4944
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
4945
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
4946
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
4947
+ # have a maximum length of 63 characters. * Keys and values can contain only
4948
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
4949
+ # must use UTF-8 encoding, and international characters are allowed. * The key
4950
+ # portion of a label must be unique. However, you can use the same key with
4951
+ # multiple resources. * Keys must start with a lowercase letter or international
4952
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
4953
+ # manager/docs/creating-managing-labels#requirements) for more details.
4954
+ # Corresponds to the JSON property `userLabels`
4955
+ # @return [Hash<String,String>]
4956
+ attr_accessor :user_labels
4957
+
4958
+ def initialize(**args)
4959
+ update!(**args)
4960
+ end
4961
+
4962
+ # Update properties of this object
4963
+ def update!(**args)
4964
+ @ignore_record_details_in_response = args[:ignore_record_details_in_response] if args.key?(:ignore_record_details_in_response)
4965
+ @model = args[:model] if args.key?(:model)
4966
+ @query = args[:query] if args.key?(:query)
4967
+ @records = args[:records] if args.key?(:records)
4968
+ @top_n = args[:top_n] if args.key?(:top_n)
4969
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
4970
+ end
4971
+ end
4972
+
4973
+ # Response message for RankService.Rank method.
4974
+ class GoogleCloudDiscoveryengineV1RankResponse
4975
+ include Google::Apis::Core::Hashable
4976
+
4977
+ # A list of records sorted by descending score.
4978
+ # Corresponds to the JSON property `records`
4979
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1RankingRecord>]
4980
+ attr_accessor :records
4981
+
4982
+ def initialize(**args)
4983
+ update!(**args)
4984
+ end
4985
+
4986
+ # Update properties of this object
4987
+ def update!(**args)
4988
+ @records = args[:records] if args.key?(:records)
4989
+ end
4990
+ end
4991
+
4992
+ # Record message for RankService.Rank method.
4993
+ class GoogleCloudDiscoveryengineV1RankingRecord
4994
+ include Google::Apis::Core::Hashable
4995
+
4996
+ # The content of the record. Empty by default. At least one of title or content
4997
+ # should be set otherwise an INVALID_ARGUMENT error is thrown.
4998
+ # Corresponds to the JSON property `content`
4999
+ # @return [String]
5000
+ attr_accessor :content
5001
+
5002
+ # The unique ID to represent the record.
5003
+ # Corresponds to the JSON property `id`
5004
+ # @return [String]
5005
+ attr_accessor :id
5006
+
5007
+ # The score of this record based on the given query and selected model.
5008
+ # Corresponds to the JSON property `score`
5009
+ # @return [Float]
5010
+ attr_accessor :score
5011
+
5012
+ # The title of the record. Empty by default. At least one of title or content
5013
+ # should be set otherwise an INVALID_ARGUMENT error is thrown.
5014
+ # Corresponds to the JSON property `title`
5015
+ # @return [String]
5016
+ attr_accessor :title
5017
+
5018
+ def initialize(**args)
5019
+ update!(**args)
5020
+ end
5021
+
5022
+ # Update properties of this object
5023
+ def update!(**args)
5024
+ @content = args[:content] if args.key?(:content)
5025
+ @id = args[:id] if args.key?(:id)
5026
+ @score = args[:score] if args.key?(:score)
5027
+ @title = args[:title] if args.key?(:title)
5028
+ end
5029
+ end
5030
+
3265
5031
  # Request message for Recommend method.
3266
5032
  class GoogleCloudDiscoveryengineV1RecommendRequest
3267
5033
  include Google::Apis::Core::Hashable
@@ -3274,45 +5040,44 @@ module Google
3274
5040
  # field, then attribute-based expressions are expected instead of the above
3275
5041
  # described tag-based syntax. Examples: * (launguage: ANY("en", "es")) AND NOT (
3276
5042
  # categories: ANY("Movie")) * (available: true) AND (launguage: ANY("en", "es"))
3277
- # OR (categories: ANY("Movie")) If your filter blocks all results, the API will
3278
- # return generic (unfiltered) popular Documents. If you only want results
3279
- # strictly matching the filters, set `strictFiltering` to True in
5043
+ # OR (categories: ANY("Movie")) If your filter blocks all results, the API
5044
+ # returns generic (unfiltered) popular Documents. If you only want results
5045
+ # strictly matching the filters, set `strictFiltering` to `true` in
3280
5046
  # RecommendRequest.params to receive empty results instead. Note that the API
3281
- # will never return Documents with `storageStatus` of `EXPIRED` or `DELETED`
5047
+ # never returns Documents with `storageStatus` as `EXPIRED` or `DELETED`
3282
5048
  # regardless of filter choices.
3283
5049
  # Corresponds to the JSON property `filter`
3284
5050
  # @return [String]
3285
5051
  attr_accessor :filter
3286
5052
 
3287
5053
  # Maximum number of results to return. Set this property to the number of
3288
- # recommendation results needed. If zero, the service will choose a reasonable
3289
- # default. The maximum allowed value is 100. Values above 100 will be coerced to
3290
- # 100.
5054
+ # recommendation results needed. If zero, the service chooses a reasonable
5055
+ # default. The maximum allowed value is 100. Values above 100 are set to 100.
3291
5056
  # Corresponds to the JSON property `pageSize`
3292
5057
  # @return [Fixnum]
3293
5058
  attr_accessor :page_size
3294
5059
 
3295
5060
  # Additional domain specific parameters for the recommendations. Allowed values:
3296
- # * `returnDocument`: Boolean. If set to true, the associated Document object
3297
- # will be returned in RecommendResponse.RecommendationResult.document. * `
3298
- # returnScore`: Boolean. If set to true, the recommendation 'score'
3299
- # corresponding to each returned Document will be set in RecommendResponse.
3300
- # RecommendationResult.metadata. The given 'score' indicates the probability of
3301
- # a Document conversion given the user's context and history. * `strictFiltering`
3302
- # : Boolean. True by default. If set to false, the service will return generic (
3303
- # unfiltered) popular Documents instead of empty if your filter blocks all
3304
- # recommendation results. * `diversityLevel`: String. Default empty. If set to
3305
- # be non-empty, then it needs to be one of: * `no-diversity` * `low-diversity` *
3306
- # `medium-diversity` * `high-diversity` * `auto-diversity` This gives request-
3307
- # level control and adjusts recommendation results based on Document category. *
3308
- # `attributeFilteringSyntax`: Boolean. False by default. If set to true, the `
3309
- # filter` field is interpreted according to the new, attribute-based syntax.
5061
+ # * `returnDocument`: Boolean. If set to `true`, the associated Document object
5062
+ # is returned in RecommendResponse.RecommendationResult.document. * `returnScore`
5063
+ # : Boolean. If set to true, the recommendation score corresponding to each
5064
+ # returned Document is set in RecommendResponse.RecommendationResult.metadata.
5065
+ # The given score indicates the probability of a Document conversion given the
5066
+ # user's context and history. * `strictFiltering`: Boolean. True by default. If
5067
+ # set to `false`, the service returns generic (unfiltered) popular Documents
5068
+ # instead of empty if your filter blocks all recommendation results. * `
5069
+ # diversityLevel`: String. Default empty. If set to be non-empty, then it needs
5070
+ # to be one of: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-
5071
+ # diversity` * `auto-diversity` This gives request-level control and adjusts
5072
+ # recommendation results based on Document category. * `attributeFilteringSyntax`
5073
+ # : Boolean. False by default. If set to true, the `filter` field is interpreted
5074
+ # according to the new, attribute-based syntax.
3310
5075
  # Corresponds to the JSON property `params`
3311
5076
  # @return [Hash<String,Object>]
3312
5077
  attr_accessor :params
3313
5078
 
3314
5079
  # UserEvent captures all metadata information Discovery Engine API needs to know
3315
- # about how end users interact with customers' website.
5080
+ # about how end users interact with your website.
3316
5081
  # Corresponds to the JSON property `userEvent`
3317
5082
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1UserEvent]
3318
5083
  attr_accessor :user_event
@@ -3332,10 +5097,9 @@ module Google
3332
5097
  # @return [Hash<String,String>]
3333
5098
  attr_accessor :user_labels
3334
5099
 
3335
- # Use validate only mode for this recommendation query. If set to true, a fake
3336
- # model will be used that returns arbitrary Document IDs. Note that the validate
3337
- # only mode should only be used for testing the API, or if the model is not
3338
- # ready.
5100
+ # Use validate only mode for this recommendation query. If set to `true`, a fake
5101
+ # model is used that returns arbitrary Document IDs. Note that the validate only
5102
+ # mode should only be used for testing the API, or if the model is not ready.
3339
5103
  # Corresponds to the JSON property `validateOnly`
3340
5104
  # @return [Boolean]
3341
5105
  attr_accessor :validate_only
@@ -3414,7 +5178,7 @@ module Google
3414
5178
  # @return [String]
3415
5179
  attr_accessor :id
3416
5180
 
3417
- # Additional Document metadata / annotations. Possible values: * `score`:
5181
+ # Additional Document metadata or annotations. Possible values: * `score`:
3418
5182
  # Recommendation score in double value. Is set if `returnScore` is set to true
3419
5183
  # in RecommendRequest.params.
3420
5184
  # Corresponds to the JSON property `metadata`
@@ -3458,7 +5222,7 @@ module Google
3458
5222
  class GoogleCloudDiscoveryengineV1Reply
3459
5223
  include Google::Apis::Core::Hashable
3460
5224
 
3461
- # Summary of the top N search result specified by the summary spec.
5225
+ # Summary of the top N search results specified by the summary spec.
3462
5226
  # Corresponds to the JSON property `summary`
3463
5227
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSummary]
3464
5228
  attr_accessor :summary
@@ -3586,7 +5350,10 @@ module Google
3586
5350
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec]
3587
5351
  attr_accessor :content_search_spec
3588
5352
 
3589
- # A list of data store specs to apply on a search call.
5353
+ # Specs defining dataStores to filter on in a search call and configurations for
5354
+ # those dataStores. This is only considered for engines with multiple dataStores
5355
+ # use case. For single dataStore within an engine, they should use the specs at
5356
+ # the top level.
3590
5357
  # Corresponds to the JSON property `dataStoreSpecs`
3591
5358
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec>]
3592
5359
  attr_accessor :data_store_specs
@@ -3654,12 +5421,12 @@ module Google
3654
5421
 
3655
5422
  # Additional search parameters. For public website search only, supported values
3656
5423
  # are: * `user_country_code`: string. Default empty. If set to non-empty,
3657
- # results are restricted or boosted based on the location provided. Example:
3658
- # user_country_code: "au" For available codes see [Country Codes](https://
5424
+ # results are restricted or boosted based on the location provided. For example,
5425
+ # `user_country_code: "au"` For available codes see [Country Codes](https://
3659
5426
  # developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `
3660
5427
  # search_type`: double. Default empty. Enables non-webpage searching depending
3661
5428
  # on the value. The only valid non-default value is 1, which enables image
3662
- # searching. Example: search_type: 1
5429
+ # searching. For example, `search_type: 1`
3663
5430
  # Corresponds to the JSON property `params`
3664
5431
  # @return [Hash<String,Object>]
3665
5432
  attr_accessor :params
@@ -4081,7 +5848,9 @@ module Google
4081
5848
  end
4082
5849
  end
4083
5850
 
4084
- # A struct to define data stores to filter on in a search call.
5851
+ # A struct to define data stores to filter on in a search call and
5852
+ # configurations for those data stores. A maximum of 1 DataStoreSpec per
5853
+ # data_store is allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.
4085
5854
  class GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec
4086
5855
  include Google::Apis::Core::Hashable
4087
5856
 
@@ -4152,9 +5921,9 @@ module Google
4152
5921
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestFacetSpecFacetKey]
4153
5922
  attr_accessor :facet_key
4154
5923
 
4155
- # Maximum of facet values that should be returned for this facet. If unspecified,
4156
- # defaults to 20. The maximum allowed value is 300. Values above 300 are
4157
- # coerced to 300. If this field is negative, an `INVALID_ARGUMENT` is returned.
5924
+ # Maximum facet values that are returned for this facet. If unspecified,
5925
+ # defaults to 20. The maximum allowed value is 300. Values above 300 are coerced
5926
+ # to 300. If this field is negative, an `INVALID_ARGUMENT` is returned.
4158
5927
  # Corresponds to the JSON property `limit`
4159
5928
  # @return [Fixnum]
4160
5929
  attr_accessor :limit
@@ -4183,7 +5952,7 @@ module Google
4183
5952
  attr_accessor :case_insensitive
4184
5953
  alias_method :case_insensitive?, :case_insensitive
4185
5954
 
4186
- # Only get facet values that contains the given strings. For example, suppose "
5955
+ # Only get facet values that contain the given strings. For example, suppose "
4187
5956
  # category" has three values "Action > 2022", "Action > 2021" and "Sci-Fi > 2022"
4188
5957
  # . If set "contains" to "2022", the "category" facet only contains "Action >
4189
5958
  # 2022" and "Sci-Fi > 2022". Only supported on textual fields. Maximum is 10.
@@ -4300,8 +6069,8 @@ module Google
4300
6069
  class GoogleCloudDiscoveryengineV1SearchRequestSpellCorrectionSpec
4301
6070
  include Google::Apis::Core::Hashable
4302
6071
 
4303
- # The mode under which spell correction should take effect to replace the
4304
- # original search query. Default to Mode.AUTO.
6072
+ # The mode under which spell correction replaces the original search query.
6073
+ # Defaults to Mode.AUTO.
4305
6074
  # Corresponds to the JSON property `mode`
4306
6075
  # @return [String]
4307
6076
  attr_accessor :mode
@@ -4363,7 +6132,7 @@ module Google
4363
6132
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSearchResult>]
4364
6133
  attr_accessor :results
4365
6134
 
4366
- # Summary of the top N search result specified by the summary spec.
6135
+ # Summary of the top N search results specified by the summary spec.
4367
6136
  # Corresponds to the JSON property `summary`
4368
6137
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSummary]
4369
6138
  attr_accessor :summary
@@ -4403,8 +6172,8 @@ module Google
4403
6172
  attr_accessor :dynamic_facet
4404
6173
  alias_method :dynamic_facet?, :dynamic_facet
4405
6174
 
4406
- # The key for this facet. E.g., "colors" or "price". It matches SearchRequest.
4407
- # FacetSpec.FacetKey.key.
6175
+ # The key for this facet. For example, `"colors"` or `"price"`. It matches
6176
+ # SearchRequest.FacetSpec.FacetKey.key.
4408
6177
  # Corresponds to the JSON property `key`
4409
6178
  # @return [String]
4410
6179
  attr_accessor :key
@@ -4511,7 +6280,7 @@ module Google
4511
6280
  end
4512
6281
  end
4513
6282
 
4514
- # Summary of the top N search result specified by the summary spec.
6283
+ # Summary of the top N search results specified by the summary spec.
4515
6284
  class GoogleCloudDiscoveryengineV1SearchResponseSummary
4516
6285
  include Google::Apis::Core::Hashable
4517
6286
 
@@ -4683,21 +6452,98 @@ module Google
4683
6452
  end
4684
6453
  end
4685
6454
 
4686
- # Safety Attribute categories and their associated confidence scores.
4687
- class GoogleCloudDiscoveryengineV1SearchResponseSummarySafetyAttributes
4688
- include Google::Apis::Core::Hashable
6455
+ # Safety Attribute categories and their associated confidence scores.
6456
+ class GoogleCloudDiscoveryengineV1SearchResponseSummarySafetyAttributes
6457
+ include Google::Apis::Core::Hashable
6458
+
6459
+ # The display names of Safety Attribute categories associated with the generated
6460
+ # content. Order matches the Scores.
6461
+ # Corresponds to the JSON property `categories`
6462
+ # @return [Array<String>]
6463
+ attr_accessor :categories
6464
+
6465
+ # The confidence scores of the each category, higher value means higher
6466
+ # confidence. Order matches the Categories.
6467
+ # Corresponds to the JSON property `scores`
6468
+ # @return [Array<Float>]
6469
+ attr_accessor :scores
6470
+
6471
+ def initialize(**args)
6472
+ update!(**args)
6473
+ end
6474
+
6475
+ # Update properties of this object
6476
+ def update!(**args)
6477
+ @categories = args[:categories] if args.key?(:categories)
6478
+ @scores = args[:scores] if args.key?(:scores)
6479
+ end
6480
+ end
6481
+
6482
+ # Summary with metadata information.
6483
+ class GoogleCloudDiscoveryengineV1SearchResponseSummarySummaryWithMetadata
6484
+ include Google::Apis::Core::Hashable
6485
+
6486
+ # Citation metadata.
6487
+ # Corresponds to the JSON property `citationMetadata`
6488
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationMetadata]
6489
+ attr_accessor :citation_metadata
6490
+
6491
+ # Document References.
6492
+ # Corresponds to the JSON property `references`
6493
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSummaryReference>]
6494
+ attr_accessor :references
6495
+
6496
+ # Summary text with no citation information.
6497
+ # Corresponds to the JSON property `summary`
6498
+ # @return [String]
6499
+ attr_accessor :summary
6500
+
6501
+ def initialize(**args)
6502
+ update!(**args)
6503
+ end
6504
+
6505
+ # Update properties of this object
6506
+ def update!(**args)
6507
+ @citation_metadata = args[:citation_metadata] if args.key?(:citation_metadata)
6508
+ @references = args[:references] if args.key?(:references)
6509
+ @summary = args[:summary] if args.key?(:summary)
6510
+ end
6511
+ end
6512
+
6513
+ # External session proto definition.
6514
+ class GoogleCloudDiscoveryengineV1Session
6515
+ include Google::Apis::Core::Hashable
6516
+
6517
+ # Output only. The time the session finished.
6518
+ # Corresponds to the JSON property `endTime`
6519
+ # @return [String]
6520
+ attr_accessor :end_time
6521
+
6522
+ # Immutable. Fully qualified name `projects/`project`/locations/global/
6523
+ # collections/`collection`/engines/`engine`/sessions/*`
6524
+ # Corresponds to the JSON property `name`
6525
+ # @return [String]
6526
+ attr_accessor :name
6527
+
6528
+ # Output only. The time the session started.
6529
+ # Corresponds to the JSON property `startTime`
6530
+ # @return [String]
6531
+ attr_accessor :start_time
6532
+
6533
+ # The state of the session.
6534
+ # Corresponds to the JSON property `state`
6535
+ # @return [String]
6536
+ attr_accessor :state
4689
6537
 
4690
- # The display names of Safety Attribute categories associated with the generated
4691
- # content. Order matches the Scores.
4692
- # Corresponds to the JSON property `categories`
4693
- # @return [Array<String>]
4694
- attr_accessor :categories
6538
+ # Turns.
6539
+ # Corresponds to the JSON property `turns`
6540
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SessionTurn>]
6541
+ attr_accessor :turns
4695
6542
 
4696
- # The confidence scores of the each category, higher value means higher
4697
- # confidence. Order matches the Categories.
4698
- # Corresponds to the JSON property `scores`
4699
- # @return [Array<Float>]
4700
- attr_accessor :scores
6543
+ # A unique identifier for tracking users.
6544
+ # Corresponds to the JSON property `userPseudoId`
6545
+ # @return [String]
6546
+ attr_accessor :user_pseudo_id
4701
6547
 
4702
6548
  def initialize(**args)
4703
6549
  update!(**args)
@@ -4705,29 +6551,29 @@ module Google
4705
6551
 
4706
6552
  # Update properties of this object
4707
6553
  def update!(**args)
4708
- @categories = args[:categories] if args.key?(:categories)
4709
- @scores = args[:scores] if args.key?(:scores)
6554
+ @end_time = args[:end_time] if args.key?(:end_time)
6555
+ @name = args[:name] if args.key?(:name)
6556
+ @start_time = args[:start_time] if args.key?(:start_time)
6557
+ @state = args[:state] if args.key?(:state)
6558
+ @turns = args[:turns] if args.key?(:turns)
6559
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
4710
6560
  end
4711
6561
  end
4712
6562
 
4713
- # Summary with metadata information.
4714
- class GoogleCloudDiscoveryengineV1SearchResponseSummarySummaryWithMetadata
6563
+ # Represents a turn, including a query from the user and a answer from service.
6564
+ class GoogleCloudDiscoveryengineV1SessionTurn
4715
6565
  include Google::Apis::Core::Hashable
4716
6566
 
4717
- # Citation metadata.
4718
- # Corresponds to the JSON property `citationMetadata`
4719
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSummaryCitationMetadata]
4720
- attr_accessor :citation_metadata
4721
-
4722
- # Document References.
4723
- # Corresponds to the JSON property `references`
4724
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSummaryReference>]
4725
- attr_accessor :references
4726
-
4727
- # Summary text with no citation information.
4728
- # Corresponds to the JSON property `summary`
6567
+ # The resource name of the answer to the user query. Only set if the answer
6568
+ # generation (/answer API call) happened in this turn.
6569
+ # Corresponds to the JSON property `answer`
4729
6570
  # @return [String]
4730
- attr_accessor :summary
6571
+ attr_accessor :answer
6572
+
6573
+ # Defines a user inputed query.
6574
+ # Corresponds to the JSON property `query`
6575
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Query]
6576
+ attr_accessor :query
4731
6577
 
4732
6578
  def initialize(**args)
4733
6579
  update!(**args)
@@ -4735,9 +6581,8 @@ module Google
4735
6581
 
4736
6582
  # Update properties of this object
4737
6583
  def update!(**args)
4738
- @citation_metadata = args[:citation_metadata] if args.key?(:citation_metadata)
4739
- @references = args[:references] if args.key?(:references)
4740
- @summary = args[:summary] if args.key?(:summary)
6584
+ @answer = args[:answer] if args.key?(:answer)
6585
+ @query = args[:query] if args.key?(:query)
4741
6586
  end
4742
6587
  end
4743
6588
 
@@ -5124,7 +6969,7 @@ module Google
5124
6969
  end
5125
6970
 
5126
6971
  # UserEvent captures all metadata information Discovery Engine API needs to know
5127
- # about how end users interact with customers' website.
6972
+ # about how end users interact with your website.
5128
6973
  class GoogleCloudDiscoveryengineV1UserEvent
5129
6974
  include Google::Apis::Core::Hashable
5130
6975
 
@@ -5172,6 +7017,15 @@ module Google
5172
7017
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CompletionInfo]
5173
7018
  attr_accessor :completion_info
5174
7019
 
7020
+ # The DataStore resource full name, of the form `projects/`project`/locations/`
7021
+ # location`/collections/`collection_id`/dataStores/`data_store_id``. Optional.
7022
+ # Only required for user events whose data store can't by determined by
7023
+ # UserEvent.engine or UserEvent.documents. If data store is set in the parent of
7024
+ # write/import/collect user event requests, this field can be omitted.
7025
+ # Corresponds to the JSON property `dataStore`
7026
+ # @return [String]
7027
+ attr_accessor :data_store
7028
+
5175
7029
  # Should set to true if the request is made directly from the end user, in which
5176
7030
  # case the UserEvent.user_info.user_agent can be populated from the HTTP request.
5177
7031
  # This flag should be set only if the API request is made directly from the end
@@ -5194,6 +7048,14 @@ module Google
5194
7048
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentInfo>]
5195
7049
  attr_accessor :documents
5196
7050
 
7051
+ # The Engine resource name, in the form of `projects/`project`/locations/`
7052
+ # location`/collections/`collection_id`/engines/`engine_id``. Optional. Only
7053
+ # required for Engine produced user events. For example, user events from
7054
+ # blended search.
7055
+ # Corresponds to the JSON property `engine`
7056
+ # @return [String]
7057
+ attr_accessor :engine
7058
+
5197
7059
  # Only required for UserEventService.ImportUserEvents method. Timestamp of when
5198
7060
  # the user event happened.
5199
7061
  # Corresponds to the JSON property `eventTime`
@@ -5263,7 +7125,7 @@ module Google
5263
7125
 
5264
7126
  # A list of identifiers for the independent experiment groups this user event
5265
7127
  # belongs to. This is used to distinguish between user events associated with
5266
- # different experiment setups on the customer end.
7128
+ # different experiment setups.
5267
7129
  # Corresponds to the JSON property `tagIds`
5268
7130
  # @return [Array<String>]
5269
7131
  attr_accessor :tag_ids
@@ -5301,8 +7163,10 @@ module Google
5301
7163
  @attributes = args[:attributes] if args.key?(:attributes)
5302
7164
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
5303
7165
  @completion_info = args[:completion_info] if args.key?(:completion_info)
7166
+ @data_store = args[:data_store] if args.key?(:data_store)
5304
7167
  @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
5305
7168
  @documents = args[:documents] if args.key?(:documents)
7169
+ @engine = args[:engine] if args.key?(:engine)
5306
7170
  @event_time = args[:event_time] if args.key?(:event_time)
5307
7171
  @event_type = args[:event_type] if args.key?(:event_type)
5308
7172
  @filter = args[:filter] if args.key?(:filter)
@@ -5632,6 +7496,12 @@ module Google
5632
7496
  # @return [String]
5633
7497
  attr_accessor :page_identifier
5634
7498
 
7499
+ # The structured JSON metadata for the document. It is populated from the struct
7500
+ # data from the Chunk in search result.
7501
+ # Corresponds to the JSON property `structData`
7502
+ # @return [Hash<String,Object>]
7503
+ attr_accessor :struct_data
7504
+
5635
7505
  # Title.
5636
7506
  # Corresponds to the JSON property `title`
5637
7507
  # @return [String]
@@ -5650,6 +7520,7 @@ module Google
5650
7520
  def update!(**args)
5651
7521
  @document = args[:document] if args.key?(:document)
5652
7522
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
7523
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
5653
7524
  @title = args[:title] if args.key?(:title)
5654
7525
  @uri = args[:uri] if args.key?(:uri)
5655
7526
  end
@@ -5669,6 +7540,12 @@ module Google
5669
7540
  # @return [String]
5670
7541
  attr_accessor :document
5671
7542
 
7543
+ # The structured JSON metadata for the document. It is populated from the struct
7544
+ # data from the Chunk in search result.
7545
+ # Corresponds to the JSON property `structData`
7546
+ # @return [Hash<String,Object>]
7547
+ attr_accessor :struct_data
7548
+
5672
7549
  # Title.
5673
7550
  # Corresponds to the JSON property `title`
5674
7551
  # @return [String]
@@ -5687,6 +7564,7 @@ module Google
5687
7564
  def update!(**args)
5688
7565
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
5689
7566
  @document = args[:document] if args.key?(:document)
7567
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
5690
7568
  @title = args[:title] if args.key?(:title)
5691
7569
  @uri = args[:uri] if args.key?(:uri)
5692
7570
  end
@@ -5914,26 +7792,299 @@ module Google
5914
7792
 
5915
7793
  # Update properties of this object
5916
7794
  def update!(**args)
5917
- @query = args[:query] if args.key?(:query)
7795
+ @query = args[:query] if args.key?(:query)
7796
+ end
7797
+ end
7798
+
7799
+ # Metadata related to the progress of the SiteSearchEngineService.
7800
+ # BatchCreateTargetSites operation. This will be returned by the google.
7801
+ # longrunning.Operation.metadata field.
7802
+ class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata
7803
+ include Google::Apis::Core::Hashable
7804
+
7805
+ # Operation create time.
7806
+ # Corresponds to the JSON property `createTime`
7807
+ # @return [String]
7808
+ attr_accessor :create_time
7809
+
7810
+ # Operation last update time. If the operation is done, this is also the finish
7811
+ # time.
7812
+ # Corresponds to the JSON property `updateTime`
7813
+ # @return [String]
7814
+ attr_accessor :update_time
7815
+
7816
+ def initialize(**args)
7817
+ update!(**args)
7818
+ end
7819
+
7820
+ # Update properties of this object
7821
+ def update!(**args)
7822
+ @create_time = args[:create_time] if args.key?(:create_time)
7823
+ @update_time = args[:update_time] if args.key?(:update_time)
7824
+ end
7825
+ end
7826
+
7827
+ # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
7828
+ class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse
7829
+ include Google::Apis::Core::Hashable
7830
+
7831
+ # TargetSites created.
7832
+ # Corresponds to the JSON property `targetSites`
7833
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaTargetSite>]
7834
+ attr_accessor :target_sites
7835
+
7836
+ def initialize(**args)
7837
+ update!(**args)
7838
+ end
7839
+
7840
+ # Update properties of this object
7841
+ def update!(**args)
7842
+ @target_sites = args[:target_sites] if args.key?(:target_sites)
7843
+ end
7844
+ end
7845
+
7846
+ # Defines circumstances to be checked before allowing a behavior
7847
+ class GoogleCloudDiscoveryengineV1alphaCondition
7848
+ include Google::Apis::Core::Hashable
7849
+
7850
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
7851
+ # ranges.
7852
+ # Corresponds to the JSON property `activeTimeRange`
7853
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaConditionTimeRange>]
7854
+ attr_accessor :active_time_range
7855
+
7856
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
7857
+ # Corresponds to the JSON property `queryTerms`
7858
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaConditionQueryTerm>]
7859
+ attr_accessor :query_terms
7860
+
7861
+ def initialize(**args)
7862
+ update!(**args)
7863
+ end
7864
+
7865
+ # Update properties of this object
7866
+ def update!(**args)
7867
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
7868
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
7869
+ end
7870
+ end
7871
+
7872
+ # Matcher for search request query
7873
+ class GoogleCloudDiscoveryengineV1alphaConditionQueryTerm
7874
+ include Google::Apis::Core::Hashable
7875
+
7876
+ # Whether the search query needs to exactly match the query term.
7877
+ # Corresponds to the JSON property `fullMatch`
7878
+ # @return [Boolean]
7879
+ attr_accessor :full_match
7880
+ alias_method :full_match?, :full_match
7881
+
7882
+ # The specific query value to match against Must be lowercase, must be UTF-8.
7883
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
7884
+ # empty string. Maximum length of 5000 characters.
7885
+ # Corresponds to the JSON property `value`
7886
+ # @return [String]
7887
+ attr_accessor :value
7888
+
7889
+ def initialize(**args)
7890
+ update!(**args)
7891
+ end
7892
+
7893
+ # Update properties of this object
7894
+ def update!(**args)
7895
+ @full_match = args[:full_match] if args.key?(:full_match)
7896
+ @value = args[:value] if args.key?(:value)
7897
+ end
7898
+ end
7899
+
7900
+ # Used for time-dependent conditions.
7901
+ class GoogleCloudDiscoveryengineV1alphaConditionTimeRange
7902
+ include Google::Apis::Core::Hashable
7903
+
7904
+ # End of time range. Range is inclusive. Must be in the future.
7905
+ # Corresponds to the JSON property `endTime`
7906
+ # @return [String]
7907
+ attr_accessor :end_time
7908
+
7909
+ # Start of time range. Range is inclusive.
7910
+ # Corresponds to the JSON property `startTime`
7911
+ # @return [String]
7912
+ attr_accessor :start_time
7913
+
7914
+ def initialize(**args)
7915
+ update!(**args)
7916
+ end
7917
+
7918
+ # Update properties of this object
7919
+ def update!(**args)
7920
+ @end_time = args[:end_time] if args.key?(:end_time)
7921
+ @start_time = args[:start_time] if args.key?(:start_time)
7922
+ end
7923
+ end
7924
+
7925
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
7926
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
7927
+ # `SolutionType`.
7928
+ class GoogleCloudDiscoveryengineV1alphaControl
7929
+ include Google::Apis::Core::Hashable
7930
+
7931
+ # Output only. List of all ServingConfig ids this control is attached to. May
7932
+ # take up to 10 minutes to update after changes.
7933
+ # Corresponds to the JSON property `associatedServingConfigIds`
7934
+ # @return [Array<String>]
7935
+ attr_accessor :associated_serving_config_ids
7936
+
7937
+ # Adjusts order of products in returned list.
7938
+ # Corresponds to the JSON property `boostAction`
7939
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlBoostAction]
7940
+ attr_accessor :boost_action
7941
+
7942
+ # Determines when the associated action will trigger. Omit to always apply the
7943
+ # action. Currently only a single condition may be specified. Otherwise an
7944
+ # INVALID ARGUMENT error is thrown.
7945
+ # Corresponds to the JSON property `conditions`
7946
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaCondition>]
7947
+ attr_accessor :conditions
7948
+
7949
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
7950
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
7951
+ # error is thrown.
7952
+ # Corresponds to the JSON property `displayName`
7953
+ # @return [String]
7954
+ attr_accessor :display_name
7955
+
7956
+ # Specified which products may be included in results. Uses same filter as boost.
7957
+ # Corresponds to the JSON property `filterAction`
7958
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlFilterAction]
7959
+ attr_accessor :filter_action
7960
+
7961
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
7962
+ # controls/*`
7963
+ # Corresponds to the JSON property `name`
7964
+ # @return [String]
7965
+ attr_accessor :name
7966
+
7967
+ # Redirects a shopper to the provided URI.
7968
+ # Corresponds to the JSON property `redirectAction`
7969
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlRedirectAction]
7970
+ attr_accessor :redirect_action
7971
+
7972
+ # Required. Immutable. What solution the control belongs to. Must be compatible
7973
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
7974
+ # Corresponds to the JSON property `solutionType`
7975
+ # @return [String]
7976
+ attr_accessor :solution_type
7977
+
7978
+ # Creates a set of terms that will act as synonyms of one another. Example: "
7979
+ # happy" will also be considered as "glad", "glad" will also be considered as "
7980
+ # happy".
7981
+ # Corresponds to the JSON property `synonymsAction`
7982
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlSynonymsAction]
7983
+ attr_accessor :synonyms_action
7984
+
7985
+ # Specifies the use case for the control. Affects what condition fields can be
7986
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
7987
+ # per control. Must be set when solution_type is SolutionType.
7988
+ # SOLUTION_TYPE_SEARCH.
7989
+ # Corresponds to the JSON property `useCases`
7990
+ # @return [Array<String>]
7991
+ attr_accessor :use_cases
7992
+
7993
+ def initialize(**args)
7994
+ update!(**args)
7995
+ end
7996
+
7997
+ # Update properties of this object
7998
+ def update!(**args)
7999
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
8000
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
8001
+ @conditions = args[:conditions] if args.key?(:conditions)
8002
+ @display_name = args[:display_name] if args.key?(:display_name)
8003
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
8004
+ @name = args[:name] if args.key?(:name)
8005
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
8006
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
8007
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
8008
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
8009
+ end
8010
+ end
8011
+
8012
+ # Adjusts order of products in returned list.
8013
+ class GoogleCloudDiscoveryengineV1alphaControlBoostAction
8014
+ include Google::Apis::Core::Hashable
8015
+
8016
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
8017
+ # means demotion. Default is 0.0 (No-op).
8018
+ # Corresponds to the JSON property `boost`
8019
+ # @return [Float]
8020
+ attr_accessor :boost
8021
+
8022
+ # Required. Specifies which data store's documents can be boosted by this
8023
+ # control. Full data store name e.g. projects/123/locations/global/collections/
8024
+ # default_collection/dataStores/default_data_store
8025
+ # Corresponds to the JSON property `dataStore`
8026
+ # @return [String]
8027
+ attr_accessor :data_store
8028
+
8029
+ # Required. Specifies which products to apply the boost to. If no filter is
8030
+ # provided all products will be boosted (No-op). Syntax documentation: https://
8031
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
8032
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
8033
+ # Corresponds to the JSON property `filter`
8034
+ # @return [String]
8035
+ attr_accessor :filter
8036
+
8037
+ def initialize(**args)
8038
+ update!(**args)
8039
+ end
8040
+
8041
+ # Update properties of this object
8042
+ def update!(**args)
8043
+ @boost = args[:boost] if args.key?(:boost)
8044
+ @data_store = args[:data_store] if args.key?(:data_store)
8045
+ @filter = args[:filter] if args.key?(:filter)
8046
+ end
8047
+ end
8048
+
8049
+ # Specified which products may be included in results. Uses same filter as boost.
8050
+ class GoogleCloudDiscoveryengineV1alphaControlFilterAction
8051
+ include Google::Apis::Core::Hashable
8052
+
8053
+ # Required. Specifies which data store's documents can be filtered by this
8054
+ # control. Full data store name e.g. projects/123/locations/global/collections/
8055
+ # default_collection/dataStores/default_data_store
8056
+ # Corresponds to the JSON property `dataStore`
8057
+ # @return [String]
8058
+ attr_accessor :data_store
8059
+
8060
+ # Required. A filter to apply on the matching condition results. Required Syntax
8061
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
8062
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
8063
+ # Corresponds to the JSON property `filter`
8064
+ # @return [String]
8065
+ attr_accessor :filter
8066
+
8067
+ def initialize(**args)
8068
+ update!(**args)
8069
+ end
8070
+
8071
+ # Update properties of this object
8072
+ def update!(**args)
8073
+ @data_store = args[:data_store] if args.key?(:data_store)
8074
+ @filter = args[:filter] if args.key?(:filter)
5918
8075
  end
5919
8076
  end
5920
8077
 
5921
- # Metadata related to the progress of the SiteSearchEngineService.
5922
- # BatchCreateTargetSites operation. This will be returned by the google.
5923
- # longrunning.Operation.metadata field.
5924
- class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata
8078
+ # Redirects a shopper to the provided URI.
8079
+ class GoogleCloudDiscoveryengineV1alphaControlRedirectAction
5925
8080
  include Google::Apis::Core::Hashable
5926
8081
 
5927
- # Operation create time.
5928
- # Corresponds to the JSON property `createTime`
5929
- # @return [String]
5930
- attr_accessor :create_time
5931
-
5932
- # Operation last update time. If the operation is done, this is also the finish
5933
- # time.
5934
- # Corresponds to the JSON property `updateTime`
8082
+ # Required. The URI to which the shopper will be redirected. Required. URI must
8083
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
8084
+ # error is thrown.
8085
+ # Corresponds to the JSON property `redirectUri`
5935
8086
  # @return [String]
5936
- attr_accessor :update_time
8087
+ attr_accessor :redirect_uri
5937
8088
 
5938
8089
  def initialize(**args)
5939
8090
  update!(**args)
@@ -5941,19 +8092,21 @@ module Google
5941
8092
 
5942
8093
  # Update properties of this object
5943
8094
  def update!(**args)
5944
- @create_time = args[:create_time] if args.key?(:create_time)
5945
- @update_time = args[:update_time] if args.key?(:update_time)
8095
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
5946
8096
  end
5947
8097
  end
5948
8098
 
5949
- # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
5950
- class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse
8099
+ # Creates a set of terms that will act as synonyms of one another. Example: "
8100
+ # happy" will also be considered as "glad", "glad" will also be considered as "
8101
+ # happy".
8102
+ class GoogleCloudDiscoveryengineV1alphaControlSynonymsAction
5951
8103
  include Google::Apis::Core::Hashable
5952
8104
 
5953
- # TargetSites created.
5954
- # Corresponds to the JSON property `targetSites`
5955
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaTargetSite>]
5956
- attr_accessor :target_sites
8105
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
8106
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
8107
+ # Corresponds to the JSON property `synonyms`
8108
+ # @return [Array<String>]
8109
+ attr_accessor :synonyms
5957
8110
 
5958
8111
  def initialize(**args)
5959
8112
  update!(**args)
@@ -5961,7 +8114,7 @@ module Google
5961
8114
 
5962
8115
  # Update properties of this object
5963
8116
  def update!(**args)
5964
- @target_sites = args[:target_sites] if args.key?(:target_sites)
8117
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
5965
8118
  end
5966
8119
  end
5967
8120
 
@@ -6093,7 +8246,7 @@ module Google
6093
8246
  # @return [String]
6094
8247
  attr_accessor :model_state
6095
8248
 
6096
- #
8249
+ # The version of the model.
6097
8250
  # Corresponds to the JSON property `modelVersion`
6098
8251
  # @return [Fixnum]
6099
8252
  attr_accessor :model_version
@@ -6633,8 +8786,7 @@ module Google
6633
8786
 
6634
8787
  # The industry vertical that the engine registers. The restriction of the Engine
6635
8788
  # industry vertical is based on DataStore: If unspecified, default to `GENERIC`.
6636
- # Vertical on Engine has to match vertical of the DataStore liniked to the
6637
- # engine.
8789
+ # Vertical on Engine has to match vertical of the DataStore linked to the engine.
6638
8790
  # Corresponds to the JSON property `industryVertical`
6639
8791
  # @return [String]
6640
8792
  attr_accessor :industry_vertical
@@ -6807,8 +8959,8 @@ module Google
6807
8959
  class GoogleCloudDiscoveryengineV1alphaEngineCommonConfig
6808
8960
  include Google::Apis::Core::Hashable
6809
8961
 
6810
- # Immutable. The name of the company, business or entity that is associated with
6811
- # the engine. Setting this may help improve LLM related features.
8962
+ # The name of the company, business or entity that is associated with the engine.
8963
+ # Setting this may help improve LLM related features.
6812
8964
  # Corresponds to the JSON property `companyName`
6813
8965
  # @return [String]
6814
8966
  attr_accessor :company_name
@@ -7126,6 +9278,17 @@ module Google
7126
9278
  # @return [String]
7127
9279
  attr_accessor :retrievable_option
7128
9280
 
9281
+ # Field paths for indexing custom attribute from schema.org data. More details
9282
+ # of schema.org and its defined types can be found at [schema.org](https://
9283
+ # schema.org). It is only used on advanced site search schema. Currently only
9284
+ # support full path from root. The full path to a field is constructed by
9285
+ # concatenating field names, starting from `_root`, with a period `.` as the
9286
+ # delimiter. Examples: * Publish date of the root: _root.datePublished * Publish
9287
+ # date of the reviews: _root.review.datePublished
9288
+ # Corresponds to the JSON property `schemaOrgPaths`
9289
+ # @return [Array<String>]
9290
+ attr_accessor :schema_org_paths
9291
+
7129
9292
  # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by
7130
9293
  # text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is
7131
9294
  # numerical, field values will not be searchable by text queries in
@@ -7155,6 +9318,7 @@ module Google
7155
9318
  @key_property_type = args[:key_property_type] if args.key?(:key_property_type)
7156
9319
  @recs_filterable_option = args[:recs_filterable_option] if args.key?(:recs_filterable_option)
7157
9320
  @retrievable_option = args[:retrievable_option] if args.key?(:retrievable_option)
9321
+ @schema_org_paths = args[:schema_org_paths] if args.key?(:schema_org_paths)
7158
9322
  @searchable_option = args[:searchable_option] if args.key?(:searchable_option)
7159
9323
  end
7160
9324
  end
@@ -7996,7 +10160,8 @@ module Google
7996
10160
  class GoogleCloudDiscoveryengineV1alphaSessionTurn
7997
10161
  include Google::Apis::Core::Hashable
7998
10162
 
7999
- # The resource name of the answer to the user query.
10163
+ # The resource name of the answer to the user query. Only set if the answer
10164
+ # generation (/answer API call) happened in this turn.
8000
10165
  # Corresponds to the JSON property `answer`
8001
10166
  # @return [String]
8002
10167
  attr_accessor :answer
@@ -8161,25 +10326,263 @@ module Google
8161
10326
 
8162
10327
  # Update properties of this object
8163
10328
  def update!(**args)
8164
- @total_required_quota = args[:total_required_quota] if args.key?(:total_required_quota)
10329
+ @total_required_quota = args[:total_required_quota] if args.key?(:total_required_quota)
10330
+ end
10331
+ end
10332
+
10333
+ # Metadata related to the progress of the TrainCustomModel operation. This is
10334
+ # returned by the google.longrunning.Operation.metadata field.
10335
+ class GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata
10336
+ include Google::Apis::Core::Hashable
10337
+
10338
+ # Operation create time.
10339
+ # Corresponds to the JSON property `createTime`
10340
+ # @return [String]
10341
+ attr_accessor :create_time
10342
+
10343
+ # Operation last update time. If the operation is done, this is also the finish
10344
+ # time.
10345
+ # Corresponds to the JSON property `updateTime`
10346
+ # @return [String]
10347
+ attr_accessor :update_time
10348
+
10349
+ def initialize(**args)
10350
+ update!(**args)
10351
+ end
10352
+
10353
+ # Update properties of this object
10354
+ def update!(**args)
10355
+ @create_time = args[:create_time] if args.key?(:create_time)
10356
+ @update_time = args[:update_time] if args.key?(:update_time)
10357
+ end
10358
+ end
10359
+
10360
+ # Response of the TrainCustomModelRequest. This message is returned by the
10361
+ # google.longrunning.Operations.response field.
10362
+ class GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse
10363
+ include Google::Apis::Core::Hashable
10364
+
10365
+ # Configuration of destination for Import related errors.
10366
+ # Corresponds to the JSON property `errorConfig`
10367
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaImportErrorConfig]
10368
+ attr_accessor :error_config
10369
+
10370
+ # A sample of errors encountered while processing the data.
10371
+ # Corresponds to the JSON property `errorSamples`
10372
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleRpcStatus>]
10373
+ attr_accessor :error_samples
10374
+
10375
+ # The metrics of the trained model.
10376
+ # Corresponds to the JSON property `metrics`
10377
+ # @return [Hash<String,Float>]
10378
+ attr_accessor :metrics
10379
+
10380
+ # Fully qualified name of the CustomTuningModel.
10381
+ # Corresponds to the JSON property `modelName`
10382
+ # @return [String]
10383
+ attr_accessor :model_name
10384
+
10385
+ # The trained model status. Possible values are: * **bad-data**: The training
10386
+ # data quality is bad. * **no-improvement**: Tuning didn't improve performance.
10387
+ # Won't deploy. * **in-progress**: Model training job creation is in progress. *
10388
+ # **training**: Model is actively training. * **evaluating**: The model is
10389
+ # evaluating trained metrics. * **indexing**: The model trained metrics are
10390
+ # indexing. * **ready**: The model is ready for serving.
10391
+ # Corresponds to the JSON property `modelStatus`
10392
+ # @return [String]
10393
+ attr_accessor :model_status
10394
+
10395
+ def initialize(**args)
10396
+ update!(**args)
10397
+ end
10398
+
10399
+ # Update properties of this object
10400
+ def update!(**args)
10401
+ @error_config = args[:error_config] if args.key?(:error_config)
10402
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
10403
+ @metrics = args[:metrics] if args.key?(:metrics)
10404
+ @model_name = args[:model_name] if args.key?(:model_name)
10405
+ @model_status = args[:model_status] if args.key?(:model_status)
10406
+ end
10407
+ end
10408
+
10409
+ # Metadata associated with a tune operation.
10410
+ class GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata
10411
+ include Google::Apis::Core::Hashable
10412
+
10413
+ # Required. The resource name of the engine that this tune applies to. Format: `
10414
+ # projects/`project_number`/locations/`location_id`/collections/`collection_id`/
10415
+ # engines/`engine_id``
10416
+ # Corresponds to the JSON property `engine`
10417
+ # @return [String]
10418
+ attr_accessor :engine
10419
+
10420
+ def initialize(**args)
10421
+ update!(**args)
10422
+ end
10423
+
10424
+ # Update properties of this object
10425
+ def update!(**args)
10426
+ @engine = args[:engine] if args.key?(:engine)
10427
+ end
10428
+ end
10429
+
10430
+ # Response associated with a tune operation.
10431
+ class GoogleCloudDiscoveryengineV1alphaTuneEngineResponse
10432
+ include Google::Apis::Core::Hashable
10433
+
10434
+ def initialize(**args)
10435
+ update!(**args)
10436
+ end
10437
+
10438
+ # Update properties of this object
10439
+ def update!(**args)
10440
+ end
10441
+ end
10442
+
10443
+ # Metadata for UpdateSchema LRO.
10444
+ class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata
10445
+ include Google::Apis::Core::Hashable
10446
+
10447
+ # Operation create time.
10448
+ # Corresponds to the JSON property `createTime`
10449
+ # @return [String]
10450
+ attr_accessor :create_time
10451
+
10452
+ # Operation last update time. If the operation is done, this is also the finish
10453
+ # time.
10454
+ # Corresponds to the JSON property `updateTime`
10455
+ # @return [String]
10456
+ attr_accessor :update_time
10457
+
10458
+ def initialize(**args)
10459
+ update!(**args)
10460
+ end
10461
+
10462
+ # Update properties of this object
10463
+ def update!(**args)
10464
+ @create_time = args[:create_time] if args.key?(:create_time)
10465
+ @update_time = args[:update_time] if args.key?(:update_time)
10466
+ end
10467
+ end
10468
+
10469
+ # Metadata related to the progress of the SiteSearchEngineService.
10470
+ # UpdateTargetSite operation. This will be returned by the google.longrunning.
10471
+ # Operation.metadata field.
10472
+ class GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata
10473
+ include Google::Apis::Core::Hashable
10474
+
10475
+ # Operation create time.
10476
+ # Corresponds to the JSON property `createTime`
10477
+ # @return [String]
10478
+ attr_accessor :create_time
10479
+
10480
+ # Operation last update time. If the operation is done, this is also the finish
10481
+ # time.
10482
+ # Corresponds to the JSON property `updateTime`
10483
+ # @return [String]
10484
+ attr_accessor :update_time
10485
+
10486
+ def initialize(**args)
10487
+ update!(**args)
10488
+ end
10489
+
10490
+ # Update properties of this object
10491
+ def update!(**args)
10492
+ @create_time = args[:create_time] if args.key?(:create_time)
10493
+ @update_time = args[:update_time] if args.key?(:update_time)
10494
+ end
10495
+ end
10496
+
10497
+ # Metadata related to the progress of the SiteSearchEngineService.
10498
+ # BatchCreateTargetSites operation. This will be returned by the google.
10499
+ # longrunning.Operation.metadata field.
10500
+ class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata
10501
+ include Google::Apis::Core::Hashable
10502
+
10503
+ # Operation create time.
10504
+ # Corresponds to the JSON property `createTime`
10505
+ # @return [String]
10506
+ attr_accessor :create_time
10507
+
10508
+ # Operation last update time. If the operation is done, this is also the finish
10509
+ # time.
10510
+ # Corresponds to the JSON property `updateTime`
10511
+ # @return [String]
10512
+ attr_accessor :update_time
10513
+
10514
+ def initialize(**args)
10515
+ update!(**args)
10516
+ end
10517
+
10518
+ # Update properties of this object
10519
+ def update!(**args)
10520
+ @create_time = args[:create_time] if args.key?(:create_time)
10521
+ @update_time = args[:update_time] if args.key?(:update_time)
10522
+ end
10523
+ end
10524
+
10525
+ # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
10526
+ class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse
10527
+ include Google::Apis::Core::Hashable
10528
+
10529
+ # TargetSites created.
10530
+ # Corresponds to the JSON property `targetSites`
10531
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaTargetSite>]
10532
+ attr_accessor :target_sites
10533
+
10534
+ def initialize(**args)
10535
+ update!(**args)
10536
+ end
10537
+
10538
+ # Update properties of this object
10539
+ def update!(**args)
10540
+ @target_sites = args[:target_sites] if args.key?(:target_sites)
10541
+ end
10542
+ end
10543
+
10544
+ # Defines circumstances to be checked before allowing a behavior
10545
+ class GoogleCloudDiscoveryengineV1betaCondition
10546
+ include Google::Apis::Core::Hashable
10547
+
10548
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
10549
+ # ranges.
10550
+ # Corresponds to the JSON property `activeTimeRange`
10551
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaConditionTimeRange>]
10552
+ attr_accessor :active_time_range
10553
+
10554
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
10555
+ # Corresponds to the JSON property `queryTerms`
10556
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaConditionQueryTerm>]
10557
+ attr_accessor :query_terms
10558
+
10559
+ def initialize(**args)
10560
+ update!(**args)
10561
+ end
10562
+
10563
+ # Update properties of this object
10564
+ def update!(**args)
10565
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
10566
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
8165
10567
  end
8166
10568
  end
8167
10569
 
8168
- # Metadata related to the progress of the TrainCustomModel operation. This is
8169
- # returned by the google.longrunning.Operation.metadata field.
8170
- class GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata
10570
+ # Matcher for search request query
10571
+ class GoogleCloudDiscoveryengineV1betaConditionQueryTerm
8171
10572
  include Google::Apis::Core::Hashable
8172
10573
 
8173
- # Operation create time.
8174
- # Corresponds to the JSON property `createTime`
8175
- # @return [String]
8176
- attr_accessor :create_time
10574
+ # Whether the search query needs to exactly match the query term.
10575
+ # Corresponds to the JSON property `fullMatch`
10576
+ # @return [Boolean]
10577
+ attr_accessor :full_match
10578
+ alias_method :full_match?, :full_match
8177
10579
 
8178
- # Operation last update time. If the operation is done, this is also the finish
8179
- # time.
8180
- # Corresponds to the JSON property `updateTime`
10580
+ # The specific query value to match against Must be lowercase, must be UTF-8.
10581
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
10582
+ # empty string. Maximum length of 5000 characters.
10583
+ # Corresponds to the JSON property `value`
8181
10584
  # @return [String]
8182
- attr_accessor :update_time
10585
+ attr_accessor :value
8183
10586
 
8184
10587
  def initialize(**args)
8185
10588
  update!(**args)
@@ -8187,45 +10590,24 @@ module Google
8187
10590
 
8188
10591
  # Update properties of this object
8189
10592
  def update!(**args)
8190
- @create_time = args[:create_time] if args.key?(:create_time)
8191
- @update_time = args[:update_time] if args.key?(:update_time)
10593
+ @full_match = args[:full_match] if args.key?(:full_match)
10594
+ @value = args[:value] if args.key?(:value)
8192
10595
  end
8193
10596
  end
8194
10597
 
8195
- # Response of the TrainCustomModelRequest. This message is returned by the
8196
- # google.longrunning.Operations.response field.
8197
- class GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse
10598
+ # Used for time-dependent conditions.
10599
+ class GoogleCloudDiscoveryengineV1betaConditionTimeRange
8198
10600
  include Google::Apis::Core::Hashable
8199
10601
 
8200
- # Configuration of destination for Import related errors.
8201
- # Corresponds to the JSON property `errorConfig`
8202
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaImportErrorConfig]
8203
- attr_accessor :error_config
8204
-
8205
- # A sample of errors encountered while processing the data.
8206
- # Corresponds to the JSON property `errorSamples`
8207
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleRpcStatus>]
8208
- attr_accessor :error_samples
8209
-
8210
- # The metrics of the trained model.
8211
- # Corresponds to the JSON property `metrics`
8212
- # @return [Hash<String,Float>]
8213
- attr_accessor :metrics
8214
-
8215
- # Fully qualified name of the CustomTuningModel.
8216
- # Corresponds to the JSON property `modelName`
10602
+ # End of time range. Range is inclusive. Must be in the future.
10603
+ # Corresponds to the JSON property `endTime`
8217
10604
  # @return [String]
8218
- attr_accessor :model_name
10605
+ attr_accessor :end_time
8219
10606
 
8220
- # The trained model status. Possible values are: * **bad-data**: The training
8221
- # data quality is bad. * **no-improvement**: Tuning didn't improve performance.
8222
- # Won't deploy. * **in-progress**: Model training job creation is in progress. *
8223
- # **training**: Model is actively training. * **evaluating**: The model is
8224
- # evaluating trained metrics. * **indexing**: The model trained metrics are
8225
- # indexing. * **ready**: The model is ready for serving.
8226
- # Corresponds to the JSON property `modelStatus`
10607
+ # Start of time range. Range is inclusive.
10608
+ # Corresponds to the JSON property `startTime`
8227
10609
  # @return [String]
8228
- attr_accessor :model_status
10610
+ attr_accessor :start_time
8229
10611
 
8230
10612
  def initialize(**args)
8231
10613
  update!(**args)
@@ -8233,38 +10615,78 @@ module Google
8233
10615
 
8234
10616
  # Update properties of this object
8235
10617
  def update!(**args)
8236
- @error_config = args[:error_config] if args.key?(:error_config)
8237
- @error_samples = args[:error_samples] if args.key?(:error_samples)
8238
- @metrics = args[:metrics] if args.key?(:metrics)
8239
- @model_name = args[:model_name] if args.key?(:model_name)
8240
- @model_status = args[:model_status] if args.key?(:model_status)
10618
+ @end_time = args[:end_time] if args.key?(:end_time)
10619
+ @start_time = args[:start_time] if args.key?(:start_time)
8241
10620
  end
8242
10621
  end
8243
10622
 
8244
- # Metadata associated with a tune operation.
8245
- class GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata
10623
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
10624
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
10625
+ # `SolutionType`.
10626
+ class GoogleCloudDiscoveryengineV1betaControl
8246
10627
  include Google::Apis::Core::Hashable
8247
10628
 
8248
- # Required. The resource name of the engine that this tune applies to. Format: `
8249
- # projects/`project_number`/locations/`location_id`/collections/`collection_id`/
8250
- # engines/`engine_id``
8251
- # Corresponds to the JSON property `engine`
10629
+ # Output only. List of all ServingConfig ids this control is attached to. May
10630
+ # take up to 10 minutes to update after changes.
10631
+ # Corresponds to the JSON property `associatedServingConfigIds`
10632
+ # @return [Array<String>]
10633
+ attr_accessor :associated_serving_config_ids
10634
+
10635
+ # Adjusts order of products in returned list.
10636
+ # Corresponds to the JSON property `boostAction`
10637
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlBoostAction]
10638
+ attr_accessor :boost_action
10639
+
10640
+ # Determines when the associated action will trigger. Omit to always apply the
10641
+ # action. Currently only a single condition may be specified. Otherwise an
10642
+ # INVALID ARGUMENT error is thrown.
10643
+ # Corresponds to the JSON property `conditions`
10644
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaCondition>]
10645
+ attr_accessor :conditions
10646
+
10647
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
10648
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
10649
+ # error is thrown.
10650
+ # Corresponds to the JSON property `displayName`
8252
10651
  # @return [String]
8253
- attr_accessor :engine
10652
+ attr_accessor :display_name
8254
10653
 
8255
- def initialize(**args)
8256
- update!(**args)
8257
- end
10654
+ # Specified which products may be included in results. Uses same filter as boost.
10655
+ # Corresponds to the JSON property `filterAction`
10656
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlFilterAction]
10657
+ attr_accessor :filter_action
8258
10658
 
8259
- # Update properties of this object
8260
- def update!(**args)
8261
- @engine = args[:engine] if args.key?(:engine)
8262
- end
8263
- end
10659
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
10660
+ # controls/*`
10661
+ # Corresponds to the JSON property `name`
10662
+ # @return [String]
10663
+ attr_accessor :name
8264
10664
 
8265
- # Response associated with a tune operation.
8266
- class GoogleCloudDiscoveryengineV1alphaTuneEngineResponse
8267
- include Google::Apis::Core::Hashable
10665
+ # Redirects a shopper to the provided URI.
10666
+ # Corresponds to the JSON property `redirectAction`
10667
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlRedirectAction]
10668
+ attr_accessor :redirect_action
10669
+
10670
+ # Required. Immutable. What solution the control belongs to. Must be compatible
10671
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
10672
+ # Corresponds to the JSON property `solutionType`
10673
+ # @return [String]
10674
+ attr_accessor :solution_type
10675
+
10676
+ # Creates a set of terms that will act as synonyms of one another. Example: "
10677
+ # happy" will also be considered as "glad", "glad" will also be considered as "
10678
+ # happy".
10679
+ # Corresponds to the JSON property `synonymsAction`
10680
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlSynonymsAction]
10681
+ attr_accessor :synonyms_action
10682
+
10683
+ # Specifies the use case for the control. Affects what condition fields can be
10684
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
10685
+ # per control. Must be set when solution_type is SolutionType.
10686
+ # SOLUTION_TYPE_SEARCH.
10687
+ # Corresponds to the JSON property `useCases`
10688
+ # @return [Array<String>]
10689
+ attr_accessor :use_cases
8268
10690
 
8269
10691
  def initialize(**args)
8270
10692
  update!(**args)
@@ -8272,23 +10694,43 @@ module Google
8272
10694
 
8273
10695
  # Update properties of this object
8274
10696
  def update!(**args)
10697
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
10698
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
10699
+ @conditions = args[:conditions] if args.key?(:conditions)
10700
+ @display_name = args[:display_name] if args.key?(:display_name)
10701
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
10702
+ @name = args[:name] if args.key?(:name)
10703
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
10704
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
10705
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
10706
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
8275
10707
  end
8276
10708
  end
8277
10709
 
8278
- # Metadata for UpdateSchema LRO.
8279
- class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata
10710
+ # Adjusts order of products in returned list.
10711
+ class GoogleCloudDiscoveryengineV1betaControlBoostAction
8280
10712
  include Google::Apis::Core::Hashable
8281
10713
 
8282
- # Operation create time.
8283
- # Corresponds to the JSON property `createTime`
10714
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
10715
+ # means demotion. Default is 0.0 (No-op).
10716
+ # Corresponds to the JSON property `boost`
10717
+ # @return [Float]
10718
+ attr_accessor :boost
10719
+
10720
+ # Required. Specifies which data store's documents can be boosted by this
10721
+ # control. Full data store name e.g. projects/123/locations/global/collections/
10722
+ # default_collection/dataStores/default_data_store
10723
+ # Corresponds to the JSON property `dataStore`
8284
10724
  # @return [String]
8285
- attr_accessor :create_time
10725
+ attr_accessor :data_store
8286
10726
 
8287
- # Operation last update time. If the operation is done, this is also the finish
8288
- # time.
8289
- # Corresponds to the JSON property `updateTime`
10727
+ # Required. Specifies which products to apply the boost to. If no filter is
10728
+ # provided all products will be boosted (No-op). Syntax documentation: https://
10729
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
10730
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
10731
+ # Corresponds to the JSON property `filter`
8290
10732
  # @return [String]
8291
- attr_accessor :update_time
10733
+ attr_accessor :filter
8292
10734
 
8293
10735
  def initialize(**args)
8294
10736
  update!(**args)
@@ -8296,27 +10738,29 @@ module Google
8296
10738
 
8297
10739
  # Update properties of this object
8298
10740
  def update!(**args)
8299
- @create_time = args[:create_time] if args.key?(:create_time)
8300
- @update_time = args[:update_time] if args.key?(:update_time)
10741
+ @boost = args[:boost] if args.key?(:boost)
10742
+ @data_store = args[:data_store] if args.key?(:data_store)
10743
+ @filter = args[:filter] if args.key?(:filter)
8301
10744
  end
8302
10745
  end
8303
10746
 
8304
- # Metadata related to the progress of the SiteSearchEngineService.
8305
- # UpdateTargetSite operation. This will be returned by the google.longrunning.
8306
- # Operation.metadata field.
8307
- class GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata
10747
+ # Specified which products may be included in results. Uses same filter as boost.
10748
+ class GoogleCloudDiscoveryengineV1betaControlFilterAction
8308
10749
  include Google::Apis::Core::Hashable
8309
10750
 
8310
- # Operation create time.
8311
- # Corresponds to the JSON property `createTime`
10751
+ # Required. Specifies which data store's documents can be filtered by this
10752
+ # control. Full data store name e.g. projects/123/locations/global/collections/
10753
+ # default_collection/dataStores/default_data_store
10754
+ # Corresponds to the JSON property `dataStore`
8312
10755
  # @return [String]
8313
- attr_accessor :create_time
10756
+ attr_accessor :data_store
8314
10757
 
8315
- # Operation last update time. If the operation is done, this is also the finish
8316
- # time.
8317
- # Corresponds to the JSON property `updateTime`
10758
+ # Required. A filter to apply on the matching condition results. Required Syntax
10759
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
10760
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
10761
+ # Corresponds to the JSON property `filter`
8318
10762
  # @return [String]
8319
- attr_accessor :update_time
10763
+ attr_accessor :filter
8320
10764
 
8321
10765
  def initialize(**args)
8322
10766
  update!(**args)
@@ -8324,27 +10768,21 @@ module Google
8324
10768
 
8325
10769
  # Update properties of this object
8326
10770
  def update!(**args)
8327
- @create_time = args[:create_time] if args.key?(:create_time)
8328
- @update_time = args[:update_time] if args.key?(:update_time)
10771
+ @data_store = args[:data_store] if args.key?(:data_store)
10772
+ @filter = args[:filter] if args.key?(:filter)
8329
10773
  end
8330
10774
  end
8331
10775
 
8332
- # Metadata related to the progress of the SiteSearchEngineService.
8333
- # BatchCreateTargetSites operation. This will be returned by the google.
8334
- # longrunning.Operation.metadata field.
8335
- class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata
10776
+ # Redirects a shopper to the provided URI.
10777
+ class GoogleCloudDiscoveryengineV1betaControlRedirectAction
8336
10778
  include Google::Apis::Core::Hashable
8337
10779
 
8338
- # Operation create time.
8339
- # Corresponds to the JSON property `createTime`
8340
- # @return [String]
8341
- attr_accessor :create_time
8342
-
8343
- # Operation last update time. If the operation is done, this is also the finish
8344
- # time.
8345
- # Corresponds to the JSON property `updateTime`
10780
+ # Required. The URI to which the shopper will be redirected. Required. URI must
10781
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
10782
+ # error is thrown.
10783
+ # Corresponds to the JSON property `redirectUri`
8346
10784
  # @return [String]
8347
- attr_accessor :update_time
10785
+ attr_accessor :redirect_uri
8348
10786
 
8349
10787
  def initialize(**args)
8350
10788
  update!(**args)
@@ -8352,19 +10790,21 @@ module Google
8352
10790
 
8353
10791
  # Update properties of this object
8354
10792
  def update!(**args)
8355
- @create_time = args[:create_time] if args.key?(:create_time)
8356
- @update_time = args[:update_time] if args.key?(:update_time)
10793
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
8357
10794
  end
8358
10795
  end
8359
10796
 
8360
- # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
8361
- class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse
10797
+ # Creates a set of terms that will act as synonyms of one another. Example: "
10798
+ # happy" will also be considered as "glad", "glad" will also be considered as "
10799
+ # happy".
10800
+ class GoogleCloudDiscoveryengineV1betaControlSynonymsAction
8362
10801
  include Google::Apis::Core::Hashable
8363
10802
 
8364
- # TargetSites created.
8365
- # Corresponds to the JSON property `targetSites`
8366
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaTargetSite>]
8367
- attr_accessor :target_sites
10803
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
10804
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
10805
+ # Corresponds to the JSON property `synonyms`
10806
+ # @return [Array<String>]
10807
+ attr_accessor :synonyms
8368
10808
 
8369
10809
  def initialize(**args)
8370
10810
  update!(**args)
@@ -8372,7 +10812,7 @@ module Google
8372
10812
 
8373
10813
  # Update properties of this object
8374
10814
  def update!(**args)
8375
- @target_sites = args[:target_sites] if args.key?(:target_sites)
10815
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
8376
10816
  end
8377
10817
  end
8378
10818
 
@@ -8504,7 +10944,7 @@ module Google
8504
10944
  # @return [String]
8505
10945
  attr_accessor :model_state
8506
10946
 
8507
- #
10947
+ # The version of the model.
8508
10948
  # Corresponds to the JSON property `modelVersion`
8509
10949
  # @return [Fixnum]
8510
10950
  attr_accessor :model_version
@@ -8954,8 +11394,7 @@ module Google
8954
11394
 
8955
11395
  # The industry vertical that the engine registers. The restriction of the Engine
8956
11396
  # industry vertical is based on DataStore: If unspecified, default to `GENERIC`.
8957
- # Vertical on Engine has to match vertical of the DataStore liniked to the
8958
- # engine.
11397
+ # Vertical on Engine has to match vertical of the DataStore linked to the engine.
8959
11398
  # Corresponds to the JSON property `industryVertical`
8960
11399
  # @return [String]
8961
11400
  attr_accessor :industry_vertical
@@ -9110,8 +11549,8 @@ module Google
9110
11549
  class GoogleCloudDiscoveryengineV1betaEngineCommonConfig
9111
11550
  include Google::Apis::Core::Hashable
9112
11551
 
9113
- # Immutable. The name of the company, business or entity that is associated with
9114
- # the engine. Setting this may help improve LLM related features.
11552
+ # The name of the company, business or entity that is associated with the engine.
11553
+ # Setting this may help improve LLM related features.
9115
11554
  # Corresponds to the JSON property `companyName`
9116
11555
  # @return [String]
9117
11556
  attr_accessor :company_name
@@ -9402,6 +11841,108 @@ module Google
9402
11841
  end
9403
11842
  end
9404
11843
 
11844
+ # Metadata and configurations for a Google Cloud project in the service.
11845
+ class GoogleCloudDiscoveryengineV1betaProject
11846
+ include Google::Apis::Core::Hashable
11847
+
11848
+ # Output only. The timestamp when this project is created.
11849
+ # Corresponds to the JSON property `createTime`
11850
+ # @return [String]
11851
+ attr_accessor :create_time
11852
+
11853
+ # Output only. Full resource name of the project, for example `projects/`
11854
+ # project_number``. Note that when making requests, project number and project
11855
+ # id are both acceptable, but the server will always respond in project number.
11856
+ # Corresponds to the JSON property `name`
11857
+ # @return [String]
11858
+ attr_accessor :name
11859
+
11860
+ # Output only. The timestamp when this project is successfully provisioned.
11861
+ # Empty value means this project is still provisioning and is not ready for use.
11862
+ # Corresponds to the JSON property `provisionCompletionTime`
11863
+ # @return [String]
11864
+ attr_accessor :provision_completion_time
11865
+
11866
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
11867
+ # Corresponds to the JSON property `serviceTermsMap`
11868
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaProjectServiceTerms>]
11869
+ attr_accessor :service_terms_map
11870
+
11871
+ def initialize(**args)
11872
+ update!(**args)
11873
+ end
11874
+
11875
+ # Update properties of this object
11876
+ def update!(**args)
11877
+ @create_time = args[:create_time] if args.key?(:create_time)
11878
+ @name = args[:name] if args.key?(:name)
11879
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
11880
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
11881
+ end
11882
+ end
11883
+
11884
+ # Metadata about the terms of service.
11885
+ class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
11886
+ include Google::Apis::Core::Hashable
11887
+
11888
+ # The last time when the project agreed to the terms of service.
11889
+ # Corresponds to the JSON property `acceptTime`
11890
+ # @return [String]
11891
+ attr_accessor :accept_time
11892
+
11893
+ # The last time when the project declined or revoked the agreement to terms of
11894
+ # service.
11895
+ # Corresponds to the JSON property `declineTime`
11896
+ # @return [String]
11897
+ attr_accessor :decline_time
11898
+
11899
+ # The unique identifier of this terms of service. Available terms: * `
11900
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
11901
+ # use-terms). When using this as `id`, the acceptable version to provide is `
11902
+ # 2022-11-23`.
11903
+ # Corresponds to the JSON property `id`
11904
+ # @return [String]
11905
+ attr_accessor :id
11906
+
11907
+ # Whether the project has accepted/rejected the service terms or it is still
11908
+ # pending.
11909
+ # Corresponds to the JSON property `state`
11910
+ # @return [String]
11911
+ attr_accessor :state
11912
+
11913
+ # The version string of the terms of service. For acceptable values, see the
11914
+ # comments for id above.
11915
+ # Corresponds to the JSON property `version`
11916
+ # @return [String]
11917
+ attr_accessor :version
11918
+
11919
+ def initialize(**args)
11920
+ update!(**args)
11921
+ end
11922
+
11923
+ # Update properties of this object
11924
+ def update!(**args)
11925
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
11926
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
11927
+ @id = args[:id] if args.key?(:id)
11928
+ @state = args[:state] if args.key?(:state)
11929
+ @version = args[:version] if args.key?(:version)
11930
+ end
11931
+ end
11932
+
11933
+ # Metadata associated with a project provision operation.
11934
+ class GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata
11935
+ include Google::Apis::Core::Hashable
11936
+
11937
+ def initialize(**args)
11938
+ update!(**args)
11939
+ end
11940
+
11941
+ # Update properties of this object
11942
+ def update!(**args)
11943
+ end
11944
+ end
11945
+
9405
11946
  # Metadata related to the progress of the PurgeDocuments operation. This will be
9406
11947
  # returned by the google.longrunning.Operation.metadata field.
9407
11948
  class GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata