google-apis-discoveryengine_v1 0.32.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -998,6 +998,87 @@ module Google
998
998
  end
999
999
  end
1000
1000
 
1001
+ # The specification for answer generation.
1002
+ class GoogleCloudDiscoveryengineV1AnswerGenerationSpec
1003
+ include Google::Apis::Core::Hashable
1004
+
1005
+ # The specification for user defined classifier.
1006
+ # Corresponds to the JSON property `userDefinedClassifierSpec`
1007
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerGenerationSpecUserDefinedClassifierSpec]
1008
+ attr_accessor :user_defined_classifier_spec
1009
+
1010
+ def initialize(**args)
1011
+ update!(**args)
1012
+ end
1013
+
1014
+ # Update properties of this object
1015
+ def update!(**args)
1016
+ @user_defined_classifier_spec = args[:user_defined_classifier_spec] if args.key?(:user_defined_classifier_spec)
1017
+ end
1018
+ end
1019
+
1020
+ # The specification for user defined classifier.
1021
+ class GoogleCloudDiscoveryengineV1AnswerGenerationSpecUserDefinedClassifierSpec
1022
+ include Google::Apis::Core::Hashable
1023
+
1024
+ # Optional. Whether or not to enable and include user defined classifier.
1025
+ # Corresponds to the JSON property `enableUserDefinedClassifier`
1026
+ # @return [Boolean]
1027
+ attr_accessor :enable_user_defined_classifier
1028
+ alias_method :enable_user_defined_classifier?, :enable_user_defined_classifier
1029
+
1030
+ # Optional. The model id to be used for the user defined classifier.
1031
+ # Corresponds to the JSON property `modelId`
1032
+ # @return [String]
1033
+ attr_accessor :model_id
1034
+
1035
+ # Optional. The preamble to be used for the user defined classifier.
1036
+ # Corresponds to the JSON property `preamble`
1037
+ # @return [String]
1038
+ attr_accessor :preamble
1039
+
1040
+ # Optional. The seed value to be used for the user defined classifier.
1041
+ # Corresponds to the JSON property `seed`
1042
+ # @return [Fixnum]
1043
+ attr_accessor :seed
1044
+
1045
+ # Optional. The task marker to be used for the user defined classifier.
1046
+ # Corresponds to the JSON property `taskMarker`
1047
+ # @return [String]
1048
+ attr_accessor :task_marker
1049
+
1050
+ # Optional. The temperature value to be used for the user defined classifier.
1051
+ # Corresponds to the JSON property `temperature`
1052
+ # @return [Float]
1053
+ attr_accessor :temperature
1054
+
1055
+ # Optional. The top-k value to be used for the user defined classifier.
1056
+ # Corresponds to the JSON property `topK`
1057
+ # @return [Fixnum]
1058
+ attr_accessor :top_k
1059
+
1060
+ # Optional. The top-p value to be used for the user defined classifier.
1061
+ # Corresponds to the JSON property `topP`
1062
+ # @return [Float]
1063
+ attr_accessor :top_p
1064
+
1065
+ def initialize(**args)
1066
+ update!(**args)
1067
+ end
1068
+
1069
+ # Update properties of this object
1070
+ def update!(**args)
1071
+ @enable_user_defined_classifier = args[:enable_user_defined_classifier] if args.key?(:enable_user_defined_classifier)
1072
+ @model_id = args[:model_id] if args.key?(:model_id)
1073
+ @preamble = args[:preamble] if args.key?(:preamble)
1074
+ @seed = args[:seed] if args.key?(:seed)
1075
+ @task_marker = args[:task_marker] if args.key?(:task_marker)
1076
+ @temperature = args[:temperature] if args.key?(:temperature)
1077
+ @top_k = args[:top_k] if args.key?(:top_k)
1078
+ @top_p = args[:top_p] if args.key?(:top_p)
1079
+ end
1080
+ end
1081
+
1001
1082
  # Grounding support for a claim in `answer_text`.
1002
1083
  class GoogleCloudDiscoveryengineV1AnswerGroundingSupport
1003
1084
  include Google::Apis::Core::Hashable
@@ -2962,6 +3043,12 @@ module Google
2962
3043
  attr_accessor :grounding_check_required
2963
3044
  alias_method :grounding_check_required?, :grounding_check_required
2964
3045
 
3046
+ # Confidence score for the claim in the answer candidate, in the range of [0, 1].
3047
+ # This is set only when enable_claim_level_score is true.
3048
+ # Corresponds to the JSON property `score`
3049
+ # @return [Float]
3050
+ attr_accessor :score
3051
+
2965
3052
  # Position indicating the start of the claim in the answer candidate, measured
2966
3053
  # in bytes. Note that this is not measured in characters and, therefore, must be
2967
3054
  # rendered in the user interface keeping in mind that some characters may take
@@ -2983,6 +3070,7 @@ module Google
2983
3070
  @claim_text = args[:claim_text] if args.key?(:claim_text)
2984
3071
  @end_pos = args[:end_pos] if args.key?(:end_pos)
2985
3072
  @grounding_check_required = args[:grounding_check_required] if args.key?(:grounding_check_required)
3073
+ @score = args[:score] if args.key?(:score)
2986
3074
  @start_pos = args[:start_pos] if args.key?(:start_pos)
2987
3075
  end
2988
3076
  end
@@ -3000,6 +3088,12 @@ module Google
3000
3088
  # @return [Float]
3001
3089
  attr_accessor :citation_threshold
3002
3090
 
3091
+ # The control flag that enables claim-level grounding score in the response.
3092
+ # Corresponds to the JSON property `enableClaimLevelScore`
3093
+ # @return [Boolean]
3094
+ attr_accessor :enable_claim_level_score
3095
+ alias_method :enable_claim_level_score?, :enable_claim_level_score
3096
+
3003
3097
  def initialize(**args)
3004
3098
  update!(**args)
3005
3099
  end
@@ -3007,6 +3101,7 @@ module Google
3007
3101
  # Update properties of this object
3008
3102
  def update!(**args)
3009
3103
  @citation_threshold = args[:citation_threshold] if args.key?(:citation_threshold)
3104
+ @enable_claim_level_score = args[:enable_claim_level_score] if args.key?(:enable_claim_level_score)
3010
3105
  end
3011
3106
  end
3012
3107
 
@@ -3015,6 +3110,11 @@ module Google
3015
3110
  class GoogleCloudDiscoveryengineV1Chunk
3016
3111
  include Google::Apis::Core::Hashable
3017
3112
 
3113
+ # Output only. Annotation contents if the current chunk contains annotations.
3114
+ # Corresponds to the JSON property `annotationContents`
3115
+ # @return [Array<String>]
3116
+ attr_accessor :annotation_contents
3117
+
3018
3118
  # Metadata of the current chunk. This field is only populated on SearchService.
3019
3119
  # Search API.
3020
3120
  # Corresponds to the JSON property `chunkMetadata`
@@ -3026,6 +3126,13 @@ module Google
3026
3126
  # @return [String]
3027
3127
  attr_accessor :content
3028
3128
 
3129
+ # Output only. Image Data URLs if the current chunk contains images. Data URLs
3130
+ # are composed of four parts: a prefix (data:), a MIME type indicating the type
3131
+ # of data, an optional base64 token if non-textual, and the data itself: data:,
3132
+ # Corresponds to the JSON property `dataUrls`
3133
+ # @return [Array<String>]
3134
+ attr_accessor :data_urls
3135
+
3029
3136
  # Output only. This field is OUTPUT_ONLY. It contains derived data that are not
3030
3137
  # in the original input document.
3031
3138
  # Corresponds to the JSON property `derivedStructData`
@@ -3069,8 +3176,10 @@ module Google
3069
3176
 
3070
3177
  # Update properties of this object
3071
3178
  def update!(**args)
3179
+ @annotation_contents = args[:annotation_contents] if args.key?(:annotation_contents)
3072
3180
  @chunk_metadata = args[:chunk_metadata] if args.key?(:chunk_metadata)
3073
3181
  @content = args[:content] if args.key?(:content)
3182
+ @data_urls = args[:data_urls] if args.key?(:data_urls)
3074
3183
  @derived_struct_data = args[:derived_struct_data] if args.key?(:derived_struct_data)
3075
3184
  @document_metadata = args[:document_metadata] if args.key?(:document_metadata)
3076
3185
  @id = args[:id] if args.key?(:id)
@@ -3446,7 +3555,8 @@ module Google
3446
3555
  attr_accessor :active_time_range
3447
3556
 
3448
3557
  # Optional. Query regex to match the whole search query. Cannot be set when
3449
- # Condition.query_terms is set. This is currently supporting promotion use case.
3558
+ # Condition.query_terms is set. Only supported for Basic Site Search promotion
3559
+ # serving controls.
3450
3560
  # Corresponds to the JSON property `queryRegex`
3451
3561
  # @return [String]
3452
3562
  attr_accessor :query_regex
@@ -4807,6 +4917,11 @@ module Google
4807
4917
  class GoogleCloudDiscoveryengineV1Document
4808
4918
  include Google::Apis::Core::Hashable
4809
4919
 
4920
+ # ACL Information of the Document.
4921
+ # Corresponds to the JSON property `aclInfo`
4922
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentAclInfo]
4923
+ attr_accessor :acl_info
4924
+
4810
4925
  # Unstructured data linked to this document.
4811
4926
  # Corresponds to the JSON property `content`
4812
4927
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentContent]
@@ -4875,6 +4990,7 @@ module Google
4875
4990
 
4876
4991
  # Update properties of this object
4877
4992
  def update!(**args)
4993
+ @acl_info = args[:acl_info] if args.key?(:acl_info)
4878
4994
  @content = args[:content] if args.key?(:content)
4879
4995
  @derived_struct_data = args[:derived_struct_data] if args.key?(:derived_struct_data)
4880
4996
  @id = args[:id] if args.key?(:id)
@@ -4888,16 +5004,74 @@ module Google
4888
5004
  end
4889
5005
  end
4890
5006
 
5007
+ # ACL Information of the Document.
5008
+ class GoogleCloudDiscoveryengineV1DocumentAclInfo
5009
+ include Google::Apis::Core::Hashable
5010
+
5011
+ # Readers of the document.
5012
+ # Corresponds to the JSON property `readers`
5013
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentAclInfoAccessRestriction>]
5014
+ attr_accessor :readers
5015
+
5016
+ def initialize(**args)
5017
+ update!(**args)
5018
+ end
5019
+
5020
+ # Update properties of this object
5021
+ def update!(**args)
5022
+ @readers = args[:readers] if args.key?(:readers)
5023
+ end
5024
+ end
5025
+
5026
+ # AclRestriction to model complex inheritance restrictions. Example: Modeling a "
5027
+ # Both Permit" inheritance, where to access a child document, user needs to have
5028
+ # access to parent document. Document Hierarchy - Space_S --> Page_P. Readers:
5029
+ # Space_S: group_1, user_1 Page_P: group_2, group_3, user_2 Space_S ACL
5030
+ # Restriction - ` "acl_info": ` "readers": [ ` "principals": [ ` "group_id": "
5031
+ # group_1" `, ` "user_id": "user_1" ` ] ` ] ` ` Page_P ACL Restriction. ` "
5032
+ # acl_info": ` "readers": [ ` "principals": [ ` "group_id": "group_2" `, ` "
5033
+ # group_id": "group_3" `, ` "user_id": "user_2" ` ], `, ` "principals": [ ` "
5034
+ # group_id": "group_1" `, ` "user_id": "user_1" ` ], ` ] ` `
5035
+ class GoogleCloudDiscoveryengineV1DocumentAclInfoAccessRestriction
5036
+ include Google::Apis::Core::Hashable
5037
+
5038
+ # All users within the Identity Provider.
5039
+ # Corresponds to the JSON property `idpWide`
5040
+ # @return [Boolean]
5041
+ attr_accessor :idp_wide
5042
+ alias_method :idp_wide?, :idp_wide
5043
+
5044
+ # List of principals.
5045
+ # Corresponds to the JSON property `principals`
5046
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Principal>]
5047
+ attr_accessor :principals
5048
+
5049
+ def initialize(**args)
5050
+ update!(**args)
5051
+ end
5052
+
5053
+ # Update properties of this object
5054
+ def update!(**args)
5055
+ @idp_wide = args[:idp_wide] if args.key?(:idp_wide)
5056
+ @principals = args[:principals] if args.key?(:principals)
5057
+ end
5058
+ end
5059
+
4891
5060
  # Unstructured data linked to this document.
4892
5061
  class GoogleCloudDiscoveryengineV1DocumentContent
4893
5062
  include Google::Apis::Core::Hashable
4894
5063
 
4895
5064
  # The MIME type of the content. Supported types: * `application/pdf` (PDF, only
4896
- # native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.
4897
- # openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/
4898
- # vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/
4899
- # plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.
4900
- # xhtml.
5065
+ # native PDFs are supported for now) * `text/html` (HTML) * `text/plain` (TXT) *
5066
+ # `application/xml` or `text/xml` (XML) * `application/json` (JSON) * `
5067
+ # application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
5068
+ # * `application/vnd.openxmlformats-officedocument.presentationml.presentation`
5069
+ # (PPTX) * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` (
5070
+ # XLSX) * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM) The following
5071
+ # types are supported only if layout parser is enabled in the data store: * `
5072
+ # image/bmp` (BMP) * `image/gif` (GIF) * `image/jpeg` (JPEG) * `image/png` (PNG)
5073
+ # * `image/tiff` (TIFF) See https://www.iana.org/assignments/media-types/media-
5074
+ # types.xhtml.
4901
5075
  # Corresponds to the JSON property `mimeType`
4902
5076
  # @return [String]
4903
5077
  attr_accessor :mime_type
@@ -5189,6 +5363,21 @@ module Google
5189
5363
  attr_accessor :enable_table_annotation
5190
5364
  alias_method :enable_table_annotation?, :enable_table_annotation
5191
5365
 
5366
+ # Optional. List of HTML classes to exclude from the parsed content.
5367
+ # Corresponds to the JSON property `excludeHtmlClasses`
5368
+ # @return [Array<String>]
5369
+ attr_accessor :exclude_html_classes
5370
+
5371
+ # Optional. List of HTML elements to exclude from the parsed content.
5372
+ # Corresponds to the JSON property `excludeHtmlElements`
5373
+ # @return [Array<String>]
5374
+ attr_accessor :exclude_html_elements
5375
+
5376
+ # Optional. List of HTML ids to exclude from the parsed content.
5377
+ # Corresponds to the JSON property `excludeHtmlIds`
5378
+ # @return [Array<String>]
5379
+ attr_accessor :exclude_html_ids
5380
+
5192
5381
  def initialize(**args)
5193
5382
  update!(**args)
5194
5383
  end
@@ -5197,6 +5386,9 @@ module Google
5197
5386
  def update!(**args)
5198
5387
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
5199
5388
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
5389
+ @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
5390
+ @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
5391
+ @exclude_html_ids = args[:exclude_html_ids] if args.key?(:exclude_html_ids)
5200
5392
  end
5201
5393
  end
5202
5394
 
@@ -5355,6 +5547,11 @@ module Google
5355
5547
  # @return [String]
5356
5548
  attr_accessor :industry_vertical
5357
5549
 
5550
+ # Additional config specs for a Media Recommendation engine.
5551
+ # Corresponds to the JSON property `mediaRecommendationEngineConfig`
5552
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfig]
5553
+ attr_accessor :media_recommendation_engine_config
5554
+
5358
5555
  # Immutable. The fully qualified resource name of the engine. This field must be
5359
5556
  # a UTF-8 encoded string with a length limit of 1024 characters. Format: `
5360
5557
  # projects/`project`/locations/`location`/collections/`collection`/engines/`
@@ -5393,6 +5590,7 @@ module Google
5393
5590
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
5394
5591
  @display_name = args[:display_name] if args.key?(:display_name)
5395
5592
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
5593
+ @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
5396
5594
  @name = args[:name] if args.key?(:name)
5397
5595
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
5398
5596
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -5534,6 +5732,157 @@ module Google
5534
5732
  end
5535
5733
  end
5536
5734
 
5735
+ # Additional config specs for a Media Recommendation engine.
5736
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfig
5737
+ include Google::Apis::Core::Hashable
5738
+
5739
+ # More feature configs of the selected engine type.
5740
+ # Corresponds to the JSON property `engineFeaturesConfig`
5741
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigEngineFeaturesConfig]
5742
+ attr_accessor :engine_features_config
5743
+
5744
+ # The optimization objective. e.g., `cvr`. This field together with
5745
+ # optimization_objective describe engine metadata to use to control engine
5746
+ # training and serving. Currently supported values: `ctr`, `cvr`. If not
5747
+ # specified, we choose default based on engine type. Default depends on type of
5748
+ # recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
5749
+ # Corresponds to the JSON property `optimizationObjective`
5750
+ # @return [String]
5751
+ attr_accessor :optimization_objective
5752
+
5753
+ # Custom threshold for `cvr` optimization_objective.
5754
+ # Corresponds to the JSON property `optimizationObjectiveConfig`
5755
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigOptimizationObjectiveConfig]
5756
+ attr_accessor :optimization_objective_config
5757
+
5758
+ # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since
5759
+ # part of the cost of running the service is frequency of training - this can be
5760
+ # used to determine when to train engine in order to control cost. If not
5761
+ # specified: the default value for `CreateEngine` method is `TRAINING`. The
5762
+ # default value for `UpdateEngine` method is to keep the state the same as
5763
+ # before.
5764
+ # Corresponds to the JSON property `trainingState`
5765
+ # @return [String]
5766
+ attr_accessor :training_state
5767
+
5768
+ # Required. The type of engine. e.g., `recommended-for-you`. This field together
5769
+ # with optimization_objective describe engine metadata to use to control engine
5770
+ # training and serving. Currently supported values: `recommended-for-you`, `
5771
+ # others-you-may-like`, `more-like-this`, `most-popular-items`.
5772
+ # Corresponds to the JSON property `type`
5773
+ # @return [String]
5774
+ attr_accessor :type
5775
+
5776
+ def initialize(**args)
5777
+ update!(**args)
5778
+ end
5779
+
5780
+ # Update properties of this object
5781
+ def update!(**args)
5782
+ @engine_features_config = args[:engine_features_config] if args.key?(:engine_features_config)
5783
+ @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
5784
+ @optimization_objective_config = args[:optimization_objective_config] if args.key?(:optimization_objective_config)
5785
+ @training_state = args[:training_state] if args.key?(:training_state)
5786
+ @type = args[:type] if args.key?(:type)
5787
+ end
5788
+ end
5789
+
5790
+ # More feature configs of the selected engine type.
5791
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigEngineFeaturesConfig
5792
+ include Google::Apis::Core::Hashable
5793
+
5794
+ # Feature configurations that are required for creating a Most Popular engine.
5795
+ # Corresponds to the JSON property `mostPopularConfig`
5796
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigMostPopularFeatureConfig]
5797
+ attr_accessor :most_popular_config
5798
+
5799
+ # Additional feature configurations for creating a `recommended-for-you` engine.
5800
+ # Corresponds to the JSON property `recommendedForYouConfig`
5801
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig]
5802
+ attr_accessor :recommended_for_you_config
5803
+
5804
+ def initialize(**args)
5805
+ update!(**args)
5806
+ end
5807
+
5808
+ # Update properties of this object
5809
+ def update!(**args)
5810
+ @most_popular_config = args[:most_popular_config] if args.key?(:most_popular_config)
5811
+ @recommended_for_you_config = args[:recommended_for_you_config] if args.key?(:recommended_for_you_config)
5812
+ end
5813
+ end
5814
+
5815
+ # Feature configurations that are required for creating a Most Popular engine.
5816
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigMostPopularFeatureConfig
5817
+ include Google::Apis::Core::Hashable
5818
+
5819
+ # The time window of which the engine is queried at training and prediction time.
5820
+ # Positive integers only. The value translates to the last X days of events.
5821
+ # Currently required for the `most-popular-items` engine.
5822
+ # Corresponds to the JSON property `timeWindowDays`
5823
+ # @return [Fixnum]
5824
+ attr_accessor :time_window_days
5825
+
5826
+ def initialize(**args)
5827
+ update!(**args)
5828
+ end
5829
+
5830
+ # Update properties of this object
5831
+ def update!(**args)
5832
+ @time_window_days = args[:time_window_days] if args.key?(:time_window_days)
5833
+ end
5834
+ end
5835
+
5836
+ # Custom threshold for `cvr` optimization_objective.
5837
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
5838
+ include Google::Apis::Core::Hashable
5839
+
5840
+ # Required. The name of the field to target. Currently supported values: `watch-
5841
+ # percentage`, `watch-time`.
5842
+ # Corresponds to the JSON property `targetField`
5843
+ # @return [String]
5844
+ attr_accessor :target_field
5845
+
5846
+ # Required. The threshold to be applied to the target (e.g., 0.5).
5847
+ # Corresponds to the JSON property `targetFieldValueFloat`
5848
+ # @return [Float]
5849
+ attr_accessor :target_field_value_float
5850
+
5851
+ def initialize(**args)
5852
+ update!(**args)
5853
+ end
5854
+
5855
+ # Update properties of this object
5856
+ def update!(**args)
5857
+ @target_field = args[:target_field] if args.key?(:target_field)
5858
+ @target_field_value_float = args[:target_field_value_float] if args.key?(:target_field_value_float)
5859
+ end
5860
+ end
5861
+
5862
+ # Additional feature configurations for creating a `recommended-for-you` engine.
5863
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig
5864
+ include Google::Apis::Core::Hashable
5865
+
5866
+ # The type of event with which the engine is queried at prediction time. If set
5867
+ # to `generic`, only `view-item`, `media-play`,and `media-complete` will be used
5868
+ # as `context-event` in engine training. If set to `view-home-page`, `view-home-
5869
+ # page` will also be used as `context-events` in addition to `view-item`, `media-
5870
+ # play`, and `media-complete`. Currently supported for the `recommended-for-you`
5871
+ # engine. Currently supported values: `view-home-page`, `generic`.
5872
+ # Corresponds to the JSON property `contextEventType`
5873
+ # @return [String]
5874
+ attr_accessor :context_event_type
5875
+
5876
+ def initialize(**args)
5877
+ update!(**args)
5878
+ end
5879
+
5880
+ # Update properties of this object
5881
+ def update!(**args)
5882
+ @context_event_type = args[:context_event_type] if args.key?(:context_event_type)
5883
+ end
5884
+ end
5885
+
5537
5886
  # Configurations for a Search Engine.
5538
5887
  class GoogleCloudDiscoveryengineV1EngineSearchEngineConfig
5539
5888
  include Google::Apis::Core::Hashable
@@ -5570,6 +5919,11 @@ module Google
5570
5919
  # @return [String]
5571
5920
  attr_accessor :chunk_text
5572
5921
 
5922
+ # The domain of the source.
5923
+ # Corresponds to the JSON property `domain`
5924
+ # @return [String]
5925
+ attr_accessor :domain
5926
+
5573
5927
  # The index of this chunk. Currently, only used for the streaming mode.
5574
5928
  # Corresponds to the JSON property `index`
5575
5929
  # @return [Fixnum]
@@ -5587,6 +5941,16 @@ module Google
5587
5941
  # @return [Hash<String,String>]
5588
5942
  attr_accessor :source_metadata
5589
5943
 
5944
+ # The title of the source.
5945
+ # Corresponds to the JSON property `title`
5946
+ # @return [String]
5947
+ attr_accessor :title
5948
+
5949
+ # The URI of the source.
5950
+ # Corresponds to the JSON property `uri`
5951
+ # @return [String]
5952
+ attr_accessor :uri
5953
+
5590
5954
  def initialize(**args)
5591
5955
  update!(**args)
5592
5956
  end
@@ -5594,9 +5958,12 @@ module Google
5594
5958
  # Update properties of this object
5595
5959
  def update!(**args)
5596
5960
  @chunk_text = args[:chunk_text] if args.key?(:chunk_text)
5961
+ @domain = args[:domain] if args.key?(:domain)
5597
5962
  @index = args[:index] if args.key?(:index)
5598
5963
  @source = args[:source] if args.key?(:source)
5599
5964
  @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
5965
+ @title = args[:title] if args.key?(:title)
5966
+ @uri = args[:uri] if args.key?(:uri)
5600
5967
  end
5601
5968
  end
5602
5969
 
@@ -7100,6 +7467,37 @@ module Google
7100
7467
  end
7101
7468
  end
7102
7469
 
7470
+ # Principal identifier of a user or a group.
7471
+ class GoogleCloudDiscoveryengineV1Principal
7472
+ include Google::Apis::Core::Hashable
7473
+
7474
+ # Group identifier. For Google Workspace user account, group_id should be the
7475
+ # google workspace group email. For non-google identity provider user account,
7476
+ # group_id is the mapped group identifier configured during the workforcepool
7477
+ # config.
7478
+ # Corresponds to the JSON property `groupId`
7479
+ # @return [String]
7480
+ attr_accessor :group_id
7481
+
7482
+ # User identifier. For Google Workspace user account, user_id should be the
7483
+ # google workspace user email. For non-google identity provider user account,
7484
+ # user_id is the mapped user identifier configured during the workforcepool
7485
+ # config.
7486
+ # Corresponds to the JSON property `userId`
7487
+ # @return [String]
7488
+ attr_accessor :user_id
7489
+
7490
+ def initialize(**args)
7491
+ update!(**args)
7492
+ end
7493
+
7494
+ # Update properties of this object
7495
+ def update!(**args)
7496
+ @group_id = args[:group_id] if args.key?(:group_id)
7497
+ @user_id = args[:user_id] if args.key?(:user_id)
7498
+ end
7499
+ end
7500
+
7103
7501
  # Metadata and configurations for a Google Cloud project in the service.
7104
7502
  class GoogleCloudDiscoveryengineV1Project
7105
7503
  include Google::Apis::Core::Hashable
@@ -8135,6 +8533,12 @@ module Google
8135
8533
  # @return [String]
8136
8534
  attr_accessor :description
8137
8535
 
8536
+ # Optional. The Document the user wants to promote. For site search, leave unset
8537
+ # and only populate uri. Can be set along with uri.
8538
+ # Corresponds to the JSON property `document`
8539
+ # @return [String]
8540
+ attr_accessor :document
8541
+
8138
8542
  # Optional. The enabled promotion will be returned for any serving configs
8139
8543
  # associated with the parent of the control this promotion is attached to. This
8140
8544
  # flag is used for basic site search only.
@@ -8166,6 +8570,7 @@ module Google
8166
8570
  # Update properties of this object
8167
8571
  def update!(**args)
8168
8572
  @description = args[:description] if args.key?(:description)
8573
+ @document = args[:document] if args.key?(:document)
8169
8574
  @enabled = args[:enabled] if args.key?(:enabled)
8170
8575
  @image_uri = args[:image_uri] if args.key?(:image_uri)
8171
8576
  @title = args[:title] if args.key?(:title)
@@ -9774,6 +10179,11 @@ module Google
9774
10179
  class GoogleCloudDiscoveryengineV1ServingConfig
9775
10180
  include Google::Apis::Core::Hashable
9776
10181
 
10182
+ # The specification for answer generation.
10183
+ # Corresponds to the JSON property `answerGenerationSpec`
10184
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerGenerationSpec]
10185
+ attr_accessor :answer_generation_spec
10186
+
9777
10187
  # Boost controls to use in serving path. All triggered boost controls will be
9778
10188
  # applied. Boost controls must be in the same data store as the serving config.
9779
10189
  # Maximum of 20 boost controls.
@@ -9930,6 +10340,7 @@ module Google
9930
10340
 
9931
10341
  # Update properties of this object
9932
10342
  def update!(**args)
10343
+ @answer_generation_spec = args[:answer_generation_spec] if args.key?(:answer_generation_spec)
9933
10344
  @boost_control_ids = args[:boost_control_ids] if args.key?(:boost_control_ids)
9934
10345
  @create_time = args[:create_time] if args.key?(:create_time)
9935
10346
  @display_name = args[:display_name] if args.key?(:display_name)
@@ -12165,7 +12576,8 @@ module Google
12165
12576
  attr_accessor :active_time_range
12166
12577
 
12167
12578
  # Optional. Query regex to match the whole search query. Cannot be set when
12168
- # Condition.query_terms is set. This is currently supporting promotion use case.
12579
+ # Condition.query_terms is set. Only supported for Basic Site Search promotion
12580
+ # serving controls.
12169
12581
  # Corresponds to the JSON property `queryRegex`
12170
12582
  # @return [String]
12171
12583
  attr_accessor :query_regex
@@ -12962,6 +13374,13 @@ module Google
12962
13374
  class GoogleCloudDiscoveryengineV1alphaDataConnector
12963
13375
  include Google::Apis::Core::Hashable
12964
13376
 
13377
+ # Optional. Whether the connector will be created with an ACL config. Currently
13378
+ # this field only affects Cloud Storage and BigQuery connectors.
13379
+ # Corresponds to the JSON property `aclEnabled`
13380
+ # @return [Boolean]
13381
+ attr_accessor :acl_enabled
13382
+ alias_method :acl_enabled?, :acl_enabled
13383
+
12965
13384
  # Informations to support actions on the connector.
12966
13385
  # Corresponds to the JSON property `actionConfig`
12967
13386
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaActionConfig]
@@ -12990,6 +13409,12 @@ module Google
12990
13409
  # @return [Array<String>]
12991
13410
  attr_accessor :blocking_reasons
12992
13411
 
13412
+ # Optional. The modes enabled for this connector. Default state is
13413
+ # CONNECTOR_MODE_UNSPECIFIED.
13414
+ # Corresponds to the JSON property `connectorModes`
13415
+ # @return [Array<String>]
13416
+ attr_accessor :connector_modes
13417
+
12993
13418
  # Output only. The type of connector. Each source can only map to one type. For
12994
13419
  # example, salesforce, confluence and jira have THIRD_PARTY connector type. It
12995
13420
  # is notmutable once set by system.
@@ -13013,6 +13438,11 @@ module Google
13013
13438
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaDestinationConfig>]
13014
13439
  attr_accessor :destination_configs
13015
13440
 
13441
+ # Any params and credentials used specifically for EUA connectors.
13442
+ # Corresponds to the JSON property `endUserConfig`
13443
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaDataConnectorEndUserConfig]
13444
+ attr_accessor :end_user_config
13445
+
13016
13446
  # List of entities from the connected data source to ingest.
13017
13447
  # Corresponds to the JSON property `entities`
13018
13448
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity>]
@@ -13121,6 +13551,12 @@ module Google
13121
13551
  # @return [String]
13122
13552
  attr_accessor :realtime_state
13123
13553
 
13554
+ # The configuration for realtime sync to store additional params for realtime
13555
+ # sync.
13556
+ # Corresponds to the JSON property `realtimeSyncConfig`
13557
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaDataConnectorRealtimeSyncConfig]
13558
+ attr_accessor :realtime_sync_config
13559
+
13124
13560
  # Required. The refresh interval for data sync. If duration is set to 0, the
13125
13561
  # data will be synced in real time. The streaming feature is not supported yet.
13126
13562
  # The minimum is 30 minutes and maximum is 7 days.
@@ -13160,15 +13596,18 @@ module Google
13160
13596
 
13161
13597
  # Update properties of this object
13162
13598
  def update!(**args)
13599
+ @acl_enabled = args[:acl_enabled] if args.key?(:acl_enabled)
13163
13600
  @action_config = args[:action_config] if args.key?(:action_config)
13164
13601
  @alert_policy_configs = args[:alert_policy_configs] if args.key?(:alert_policy_configs)
13165
13602
  @auto_run_disabled = args[:auto_run_disabled] if args.key?(:auto_run_disabled)
13166
13603
  @bap_config = args[:bap_config] if args.key?(:bap_config)
13167
13604
  @blocking_reasons = args[:blocking_reasons] if args.key?(:blocking_reasons)
13605
+ @connector_modes = args[:connector_modes] if args.key?(:connector_modes)
13168
13606
  @connector_type = args[:connector_type] if args.key?(:connector_type)
13169
13607
  @create_time = args[:create_time] if args.key?(:create_time)
13170
13608
  @data_source = args[:data_source] if args.key?(:data_source)
13171
13609
  @destination_configs = args[:destination_configs] if args.key?(:destination_configs)
13610
+ @end_user_config = args[:end_user_config] if args.key?(:end_user_config)
13172
13611
  @entities = args[:entities] if args.key?(:entities)
13173
13612
  @errors = args[:errors] if args.key?(:errors)
13174
13613
  @identity_refresh_interval = args[:identity_refresh_interval] if args.key?(:identity_refresh_interval)
@@ -13181,6 +13620,7 @@ module Google
13181
13620
  @params = args[:params] if args.key?(:params)
13182
13621
  @private_connectivity_project_id = args[:private_connectivity_project_id] if args.key?(:private_connectivity_project_id)
13183
13622
  @realtime_state = args[:realtime_state] if args.key?(:realtime_state)
13623
+ @realtime_sync_config = args[:realtime_sync_config] if args.key?(:realtime_sync_config)
13184
13624
  @refresh_interval = args[:refresh_interval] if args.key?(:refresh_interval)
13185
13625
  @state = args[:state] if args.key?(:state)
13186
13626
  @static_ip_addresses = args[:static_ip_addresses] if args.key?(:static_ip_addresses)
@@ -13190,6 +13630,58 @@ module Google
13190
13630
  end
13191
13631
  end
13192
13632
 
13633
+ # Any params and credentials used specifically for EUA connectors.
13634
+ class GoogleCloudDiscoveryengineV1alphaDataConnectorEndUserConfig
13635
+ include Google::Apis::Core::Hashable
13636
+
13637
+ # Optional. Any additional parameters needed for EUA.
13638
+ # Corresponds to the JSON property `additionalParams`
13639
+ # @return [Hash<String,Object>]
13640
+ attr_accessor :additional_params
13641
+
13642
+ # Optional. Any authentication parameters specific to EUA connectors.
13643
+ # Corresponds to the JSON property `authParams`
13644
+ # @return [Hash<String,Object>]
13645
+ attr_accessor :auth_params
13646
+
13647
+ def initialize(**args)
13648
+ update!(**args)
13649
+ end
13650
+
13651
+ # Update properties of this object
13652
+ def update!(**args)
13653
+ @additional_params = args[:additional_params] if args.key?(:additional_params)
13654
+ @auth_params = args[:auth_params] if args.key?(:auth_params)
13655
+ end
13656
+ end
13657
+
13658
+ # The configuration for realtime sync to store additional params for realtime
13659
+ # sync.
13660
+ class GoogleCloudDiscoveryengineV1alphaDataConnectorRealtimeSyncConfig
13661
+ include Google::Apis::Core::Hashable
13662
+
13663
+ # Optional. The ID of the Secret Manager secret used for webhook secret.
13664
+ # Corresponds to the JSON property `realtimeSyncSecret`
13665
+ # @return [String]
13666
+ attr_accessor :realtime_sync_secret
13667
+
13668
+ # Optional. Webhook url for the connector to specify additional params for
13669
+ # realtime sync.
13670
+ # Corresponds to the JSON property `webhookUri`
13671
+ # @return [String]
13672
+ attr_accessor :webhook_uri
13673
+
13674
+ def initialize(**args)
13675
+ update!(**args)
13676
+ end
13677
+
13678
+ # Update properties of this object
13679
+ def update!(**args)
13680
+ @realtime_sync_secret = args[:realtime_sync_secret] if args.key?(:realtime_sync_secret)
13681
+ @webhook_uri = args[:webhook_uri] if args.key?(:webhook_uri)
13682
+ end
13683
+ end
13684
+
13193
13685
  # Represents an entity in the data source. For example, the `Account` object in
13194
13686
  # Salesforce.
13195
13687
  class GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity
@@ -14026,6 +14518,21 @@ module Google
14026
14518
  attr_accessor :enable_table_annotation
14027
14519
  alias_method :enable_table_annotation?, :enable_table_annotation
14028
14520
 
14521
+ # Optional. List of HTML classes to exclude from the parsed content.
14522
+ # Corresponds to the JSON property `excludeHtmlClasses`
14523
+ # @return [Array<String>]
14524
+ attr_accessor :exclude_html_classes
14525
+
14526
+ # Optional. List of HTML elements to exclude from the parsed content.
14527
+ # Corresponds to the JSON property `excludeHtmlElements`
14528
+ # @return [Array<String>]
14529
+ attr_accessor :exclude_html_elements
14530
+
14531
+ # Optional. List of HTML ids to exclude from the parsed content.
14532
+ # Corresponds to the JSON property `excludeHtmlIds`
14533
+ # @return [Array<String>]
14534
+ attr_accessor :exclude_html_ids
14535
+
14029
14536
  def initialize(**args)
14030
14537
  update!(**args)
14031
14538
  end
@@ -14034,6 +14541,9 @@ module Google
14034
14541
  def update!(**args)
14035
14542
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
14036
14543
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
14544
+ @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
14545
+ @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
14546
+ @exclude_html_ids = args[:exclude_html_ids] if args.key?(:exclude_html_ids)
14037
14547
  end
14038
14548
  end
14039
14549
 
@@ -14361,6 +14871,11 @@ module Google
14361
14871
  class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig
14362
14872
  include Google::Apis::Core::Hashable
14363
14873
 
14874
+ # More feature configs of the selected engine type.
14875
+ # Corresponds to the JSON property `engineFeaturesConfig`
14876
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigEngineFeaturesConfig]
14877
+ attr_accessor :engine_features_config
14878
+
14364
14879
  # The optimization objective. e.g., `cvr`. This field together with
14365
14880
  # optimization_objective describe engine metadata to use to control engine
14366
14881
  # training and serving. Currently supported values: `ctr`, `cvr`. If not
@@ -14399,6 +14914,7 @@ module Google
14399
14914
 
14400
14915
  # Update properties of this object
14401
14916
  def update!(**args)
14917
+ @engine_features_config = args[:engine_features_config] if args.key?(:engine_features_config)
14402
14918
  @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
14403
14919
  @optimization_objective_config = args[:optimization_objective_config] if args.key?(:optimization_objective_config)
14404
14920
  @training_state = args[:training_state] if args.key?(:training_state)
@@ -14406,6 +14922,52 @@ module Google
14406
14922
  end
14407
14923
  end
14408
14924
 
14925
+ # More feature configs of the selected engine type.
14926
+ class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigEngineFeaturesConfig
14927
+ include Google::Apis::Core::Hashable
14928
+
14929
+ # Feature configurations that are required for creating a Most Popular engine.
14930
+ # Corresponds to the JSON property `mostPopularConfig`
14931
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig]
14932
+ attr_accessor :most_popular_config
14933
+
14934
+ # Additional feature configurations for creating a `recommended-for-you` engine.
14935
+ # Corresponds to the JSON property `recommendedForYouConfig`
14936
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig]
14937
+ attr_accessor :recommended_for_you_config
14938
+
14939
+ def initialize(**args)
14940
+ update!(**args)
14941
+ end
14942
+
14943
+ # Update properties of this object
14944
+ def update!(**args)
14945
+ @most_popular_config = args[:most_popular_config] if args.key?(:most_popular_config)
14946
+ @recommended_for_you_config = args[:recommended_for_you_config] if args.key?(:recommended_for_you_config)
14947
+ end
14948
+ end
14949
+
14950
+ # Feature configurations that are required for creating a Most Popular engine.
14951
+ class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig
14952
+ include Google::Apis::Core::Hashable
14953
+
14954
+ # The time window of which the engine is queried at training and prediction time.
14955
+ # Positive integers only. The value translates to the last X days of events.
14956
+ # Currently required for the `most-popular-items` engine.
14957
+ # Corresponds to the JSON property `timeWindowDays`
14958
+ # @return [Fixnum]
14959
+ attr_accessor :time_window_days
14960
+
14961
+ def initialize(**args)
14962
+ update!(**args)
14963
+ end
14964
+
14965
+ # Update properties of this object
14966
+ def update!(**args)
14967
+ @time_window_days = args[:time_window_days] if args.key?(:time_window_days)
14968
+ end
14969
+ end
14970
+
14409
14971
  # Custom threshold for `cvr` optimization_objective.
14410
14972
  class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
14411
14973
  include Google::Apis::Core::Hashable
@@ -14432,6 +14994,30 @@ module Google
14432
14994
  end
14433
14995
  end
14434
14996
 
14997
+ # Additional feature configurations for creating a `recommended-for-you` engine.
14998
+ class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig
14999
+ include Google::Apis::Core::Hashable
15000
+
15001
+ # The type of event with which the engine is queried at prediction time. If set
15002
+ # to `generic`, only `view-item`, `media-play`,and `media-complete` will be used
15003
+ # as `context-event` in engine training. If set to `view-home-page`, `view-home-
15004
+ # page` will also be used as `context-events` in addition to `view-item`, `media-
15005
+ # play`, and `media-complete`. Currently supported for the `recommended-for-you`
15006
+ # engine. Currently supported values: `view-home-page`, `generic`.
15007
+ # Corresponds to the JSON property `contextEventType`
15008
+ # @return [String]
15009
+ attr_accessor :context_event_type
15010
+
15011
+ def initialize(**args)
15012
+ update!(**args)
15013
+ end
15014
+
15015
+ # Update properties of this object
15016
+ def update!(**args)
15017
+ @context_event_type = args[:context_event_type] if args.key?(:context_event_type)
15018
+ end
15019
+ end
15020
+
14435
15021
  # Additional information of a recommendation engine.
14436
15022
  class GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata
14437
15023
  include Google::Apis::Core::Hashable
@@ -16440,6 +17026,12 @@ module Google
16440
17026
  # @return [String]
16441
17027
  attr_accessor :description
16442
17028
 
17029
+ # Optional. The Document the user wants to promote. For site search, leave unset
17030
+ # and only populate uri. Can be set along with uri.
17031
+ # Corresponds to the JSON property `document`
17032
+ # @return [String]
17033
+ attr_accessor :document
17034
+
16443
17035
  # Optional. The enabled promotion will be returned for any serving configs
16444
17036
  # associated with the parent of the control this promotion is attached to. This
16445
17037
  # flag is used for basic site search only.
@@ -16471,6 +17063,7 @@ module Google
16471
17063
  # Update properties of this object
16472
17064
  def update!(**args)
16473
17065
  @description = args[:description] if args.key?(:description)
17066
+ @document = args[:document] if args.key?(:document)
16474
17067
  @enabled = args[:enabled] if args.key?(:enabled)
16475
17068
  @image_uri = args[:image_uri] if args.key?(:image_uri)
16476
17069
  @title = args[:title] if args.key?(:title)
@@ -18693,7 +19286,8 @@ module Google
18693
19286
  attr_accessor :active_time_range
18694
19287
 
18695
19288
  # Optional. Query regex to match the whole search query. Cannot be set when
18696
- # Condition.query_terms is set. This is currently supporting promotion use case.
19289
+ # Condition.query_terms is set. Only supported for Basic Site Search promotion
19290
+ # serving controls.
18697
19291
  # Corresponds to the JSON property `queryRegex`
18698
19292
  # @return [String]
18699
19293
  attr_accessor :query_regex
@@ -19901,6 +20495,21 @@ module Google
19901
20495
  attr_accessor :enable_table_annotation
19902
20496
  alias_method :enable_table_annotation?, :enable_table_annotation
19903
20497
 
20498
+ # Optional. List of HTML classes to exclude from the parsed content.
20499
+ # Corresponds to the JSON property `excludeHtmlClasses`
20500
+ # @return [Array<String>]
20501
+ attr_accessor :exclude_html_classes
20502
+
20503
+ # Optional. List of HTML elements to exclude from the parsed content.
20504
+ # Corresponds to the JSON property `excludeHtmlElements`
20505
+ # @return [Array<String>]
20506
+ attr_accessor :exclude_html_elements
20507
+
20508
+ # Optional. List of HTML ids to exclude from the parsed content.
20509
+ # Corresponds to the JSON property `excludeHtmlIds`
20510
+ # @return [Array<String>]
20511
+ attr_accessor :exclude_html_ids
20512
+
19904
20513
  def initialize(**args)
19905
20514
  update!(**args)
19906
20515
  end
@@ -19909,6 +20518,9 @@ module Google
19909
20518
  def update!(**args)
19910
20519
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
19911
20520
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
20521
+ @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
20522
+ @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
20523
+ @exclude_html_ids = args[:exclude_html_ids] if args.key?(:exclude_html_ids)
19912
20524
  end
19913
20525
  end
19914
20526
 
@@ -20035,6 +20647,11 @@ module Google
20035
20647
  # @return [String]
20036
20648
  attr_accessor :industry_vertical
20037
20649
 
20650
+ # Additional config specs for a Media Recommendation engine.
20651
+ # Corresponds to the JSON property `mediaRecommendationEngineConfig`
20652
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfig]
20653
+ attr_accessor :media_recommendation_engine_config
20654
+
20038
20655
  # Immutable. The fully qualified resource name of the engine. This field must be
20039
20656
  # a UTF-8 encoded string with a length limit of 1024 characters. Format: `
20040
20657
  # projects/`project`/locations/`location`/collections/`collection`/engines/`
@@ -20073,6 +20690,7 @@ module Google
20073
20690
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
20074
20691
  @display_name = args[:display_name] if args.key?(:display_name)
20075
20692
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
20693
+ @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
20076
20694
  @name = args[:name] if args.key?(:name)
20077
20695
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
20078
20696
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -20214,6 +20832,157 @@ module Google
20214
20832
  end
20215
20833
  end
20216
20834
 
20835
+ # Additional config specs for a Media Recommendation engine.
20836
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfig
20837
+ include Google::Apis::Core::Hashable
20838
+
20839
+ # More feature configs of the selected engine type.
20840
+ # Corresponds to the JSON property `engineFeaturesConfig`
20841
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigEngineFeaturesConfig]
20842
+ attr_accessor :engine_features_config
20843
+
20844
+ # The optimization objective. e.g., `cvr`. This field together with
20845
+ # optimization_objective describe engine metadata to use to control engine
20846
+ # training and serving. Currently supported values: `ctr`, `cvr`. If not
20847
+ # specified, we choose default based on engine type. Default depends on type of
20848
+ # recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
20849
+ # Corresponds to the JSON property `optimizationObjective`
20850
+ # @return [String]
20851
+ attr_accessor :optimization_objective
20852
+
20853
+ # Custom threshold for `cvr` optimization_objective.
20854
+ # Corresponds to the JSON property `optimizationObjectiveConfig`
20855
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig]
20856
+ attr_accessor :optimization_objective_config
20857
+
20858
+ # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since
20859
+ # part of the cost of running the service is frequency of training - this can be
20860
+ # used to determine when to train engine in order to control cost. If not
20861
+ # specified: the default value for `CreateEngine` method is `TRAINING`. The
20862
+ # default value for `UpdateEngine` method is to keep the state the same as
20863
+ # before.
20864
+ # Corresponds to the JSON property `trainingState`
20865
+ # @return [String]
20866
+ attr_accessor :training_state
20867
+
20868
+ # Required. The type of engine. e.g., `recommended-for-you`. This field together
20869
+ # with optimization_objective describe engine metadata to use to control engine
20870
+ # training and serving. Currently supported values: `recommended-for-you`, `
20871
+ # others-you-may-like`, `more-like-this`, `most-popular-items`.
20872
+ # Corresponds to the JSON property `type`
20873
+ # @return [String]
20874
+ attr_accessor :type
20875
+
20876
+ def initialize(**args)
20877
+ update!(**args)
20878
+ end
20879
+
20880
+ # Update properties of this object
20881
+ def update!(**args)
20882
+ @engine_features_config = args[:engine_features_config] if args.key?(:engine_features_config)
20883
+ @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
20884
+ @optimization_objective_config = args[:optimization_objective_config] if args.key?(:optimization_objective_config)
20885
+ @training_state = args[:training_state] if args.key?(:training_state)
20886
+ @type = args[:type] if args.key?(:type)
20887
+ end
20888
+ end
20889
+
20890
+ # More feature configs of the selected engine type.
20891
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigEngineFeaturesConfig
20892
+ include Google::Apis::Core::Hashable
20893
+
20894
+ # Feature configurations that are required for creating a Most Popular engine.
20895
+ # Corresponds to the JSON property `mostPopularConfig`
20896
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig]
20897
+ attr_accessor :most_popular_config
20898
+
20899
+ # Additional feature configurations for creating a `recommended-for-you` engine.
20900
+ # Corresponds to the JSON property `recommendedForYouConfig`
20901
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig]
20902
+ attr_accessor :recommended_for_you_config
20903
+
20904
+ def initialize(**args)
20905
+ update!(**args)
20906
+ end
20907
+
20908
+ # Update properties of this object
20909
+ def update!(**args)
20910
+ @most_popular_config = args[:most_popular_config] if args.key?(:most_popular_config)
20911
+ @recommended_for_you_config = args[:recommended_for_you_config] if args.key?(:recommended_for_you_config)
20912
+ end
20913
+ end
20914
+
20915
+ # Feature configurations that are required for creating a Most Popular engine.
20916
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig
20917
+ include Google::Apis::Core::Hashable
20918
+
20919
+ # The time window of which the engine is queried at training and prediction time.
20920
+ # Positive integers only. The value translates to the last X days of events.
20921
+ # Currently required for the `most-popular-items` engine.
20922
+ # Corresponds to the JSON property `timeWindowDays`
20923
+ # @return [Fixnum]
20924
+ attr_accessor :time_window_days
20925
+
20926
+ def initialize(**args)
20927
+ update!(**args)
20928
+ end
20929
+
20930
+ # Update properties of this object
20931
+ def update!(**args)
20932
+ @time_window_days = args[:time_window_days] if args.key?(:time_window_days)
20933
+ end
20934
+ end
20935
+
20936
+ # Custom threshold for `cvr` optimization_objective.
20937
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
20938
+ include Google::Apis::Core::Hashable
20939
+
20940
+ # Required. The name of the field to target. Currently supported values: `watch-
20941
+ # percentage`, `watch-time`.
20942
+ # Corresponds to the JSON property `targetField`
20943
+ # @return [String]
20944
+ attr_accessor :target_field
20945
+
20946
+ # Required. The threshold to be applied to the target (e.g., 0.5).
20947
+ # Corresponds to the JSON property `targetFieldValueFloat`
20948
+ # @return [Float]
20949
+ attr_accessor :target_field_value_float
20950
+
20951
+ def initialize(**args)
20952
+ update!(**args)
20953
+ end
20954
+
20955
+ # Update properties of this object
20956
+ def update!(**args)
20957
+ @target_field = args[:target_field] if args.key?(:target_field)
20958
+ @target_field_value_float = args[:target_field_value_float] if args.key?(:target_field_value_float)
20959
+ end
20960
+ end
20961
+
20962
+ # Additional feature configurations for creating a `recommended-for-you` engine.
20963
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig
20964
+ include Google::Apis::Core::Hashable
20965
+
20966
+ # The type of event with which the engine is queried at prediction time. If set
20967
+ # to `generic`, only `view-item`, `media-play`,and `media-complete` will be used
20968
+ # as `context-event` in engine training. If set to `view-home-page`, `view-home-
20969
+ # page` will also be used as `context-events` in addition to `view-item`, `media-
20970
+ # play`, and `media-complete`. Currently supported for the `recommended-for-you`
20971
+ # engine. Currently supported values: `view-home-page`, `generic`.
20972
+ # Corresponds to the JSON property `contextEventType`
20973
+ # @return [String]
20974
+ attr_accessor :context_event_type
20975
+
20976
+ def initialize(**args)
20977
+ update!(**args)
20978
+ end
20979
+
20980
+ # Update properties of this object
20981
+ def update!(**args)
20982
+ @context_event_type = args[:context_event_type] if args.key?(:context_event_type)
20983
+ end
20984
+ end
20985
+
20217
20986
  # Configurations for a Search Engine.
20218
20987
  class GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig
20219
20988
  include Google::Apis::Core::Hashable
@@ -21394,6 +22163,12 @@ module Google
21394
22163
  # @return [String]
21395
22164
  attr_accessor :description
21396
22165
 
22166
+ # Optional. The Document the user wants to promote. For site search, leave unset
22167
+ # and only populate uri. Can be set along with uri.
22168
+ # Corresponds to the JSON property `document`
22169
+ # @return [String]
22170
+ attr_accessor :document
22171
+
21397
22172
  # Optional. The enabled promotion will be returned for any serving configs
21398
22173
  # associated with the parent of the control this promotion is attached to. This
21399
22174
  # flag is used for basic site search only.
@@ -21425,6 +22200,7 @@ module Google
21425
22200
  # Update properties of this object
21426
22201
  def update!(**args)
21427
22202
  @description = args[:description] if args.key?(:description)
22203
+ @document = args[:document] if args.key?(:document)
21428
22204
  @enabled = args[:enabled] if args.key?(:enabled)
21429
22205
  @image_uri = args[:image_uri] if args.key?(:image_uri)
21430
22206
  @title = args[:title] if args.key?(:title)