google-apis-discoveryengine_v1 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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