google-apis-discoveryengine_v1 0.4.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -276,6 +276,64 @@ module Google
276
276
  end
277
277
  end
278
278
 
279
+ # AlloyDB source import data from.
280
+ class GoogleCloudDiscoveryengineV1AlloyDbSource
281
+ include Google::Apis::Core::Hashable
282
+
283
+ # Required. The AlloyDB cluster to copy the data from with a length limit of 256
284
+ # characters.
285
+ # Corresponds to the JSON property `clusterId`
286
+ # @return [String]
287
+ attr_accessor :cluster_id
288
+
289
+ # Required. The AlloyDB database to copy the data from with a length limit of
290
+ # 256 characters.
291
+ # Corresponds to the JSON property `databaseId`
292
+ # @return [String]
293
+ attr_accessor :database_id
294
+
295
+ # Intermediate Cloud Storage directory used for the import with a length limit
296
+ # of 2,000 characters. Can be specified if one wants to have the AlloyDB export
297
+ # to a specific Cloud Storage directory. Ensure that the AlloyDB service account
298
+ # has the necessary Cloud Storage Admin permissions to access the specified
299
+ # Cloud Storage directory.
300
+ # Corresponds to the JSON property `gcsStagingDir`
301
+ # @return [String]
302
+ attr_accessor :gcs_staging_dir
303
+
304
+ # Required. The AlloyDB location to copy the data from with a length limit of
305
+ # 256 characters.
306
+ # Corresponds to the JSON property `locationId`
307
+ # @return [String]
308
+ attr_accessor :location_id
309
+
310
+ # The project ID that the AlloyDB source is in with a length limit of 128
311
+ # characters. If not specified, inherits the project ID from the parent request.
312
+ # Corresponds to the JSON property `projectId`
313
+ # @return [String]
314
+ attr_accessor :project_id
315
+
316
+ # Required. The AlloyDB table to copy the data from with a length limit of 256
317
+ # characters.
318
+ # Corresponds to the JSON property `tableId`
319
+ # @return [String]
320
+ attr_accessor :table_id
321
+
322
+ def initialize(**args)
323
+ update!(**args)
324
+ end
325
+
326
+ # Update properties of this object
327
+ def update!(**args)
328
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
329
+ @database_id = args[:database_id] if args.key?(:database_id)
330
+ @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
331
+ @location_id = args[:location_id] if args.key?(:location_id)
332
+ @project_id = args[:project_id] if args.key?(:project_id)
333
+ @table_id = args[:table_id] if args.key?(:table_id)
334
+ end
335
+ end
336
+
279
337
  # Defines an answer.
280
338
  class GoogleCloudDiscoveryengineV1Answer
281
339
  include Google::Apis::Core::Hashable
@@ -459,6 +517,21 @@ module Google
459
517
  # @return [String]
460
518
  attr_accessor :session
461
519
 
520
+ # The user labels applied to a resource must meet the following requirements: *
521
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
522
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
523
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
524
+ # have a maximum length of 63 characters. * Keys and values can contain only
525
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
526
+ # must use UTF-8 encoding, and international characters are allowed. * The key
527
+ # portion of a label must be unique. However, you can use the same key with
528
+ # multiple resources. * Keys must start with a lowercase letter or international
529
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
530
+ # manager/docs/creating-managing-labels#requirements) for more details.
531
+ # Corresponds to the JSON property `userLabels`
532
+ # @return [Hash<String,String>]
533
+ attr_accessor :user_labels
534
+
462
535
  # A unique identifier for tracking visitors. For example, this could be
463
536
  # implemented with an HTTP cookie, which should be able to uniquely identify a
464
537
  # visitor on a single device. This unique identifier should not change if the
@@ -484,6 +557,7 @@ module Google
484
557
  @safety_spec = args[:safety_spec] if args.key?(:safety_spec)
485
558
  @search_spec = args[:search_spec] if args.key?(:search_spec)
486
559
  @session = args[:session] if args.key?(:session)
560
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
487
561
  @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
488
562
  end
489
563
  end
@@ -510,6 +584,15 @@ module Google
510
584
  attr_accessor :ignore_adversarial_query
511
585
  alias_method :ignore_adversarial_query?, :ignore_adversarial_query
512
586
 
587
+ # Specifies whether to filter out queries that have low relevance. If this field
588
+ # is set to `false`, all search results are used regardless of relevance to
589
+ # generate answers. If set to `true` or unset, the behavior will be determined
590
+ # automatically by the service.
591
+ # Corresponds to the JSON property `ignoreLowRelevantContent`
592
+ # @return [Boolean]
593
+ attr_accessor :ignore_low_relevant_content
594
+ alias_method :ignore_low_relevant_content?, :ignore_low_relevant_content
595
+
513
596
  # Specifies whether to filter out queries that are not answer-seeking. The
514
597
  # default value is `false`. Google employs search-query classification to detect
515
598
  # answer-seeking queries. No answer is returned if the search query is
@@ -546,6 +629,7 @@ module Google
546
629
  def update!(**args)
547
630
  @answer_language_code = args[:answer_language_code] if args.key?(:answer_language_code)
548
631
  @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
632
+ @ignore_low_relevant_content = args[:ignore_low_relevant_content] if args.key?(:ignore_low_relevant_content)
549
633
  @ignore_non_answer_seeking_query = args[:ignore_non_answer_seeking_query] if args.key?(:ignore_non_answer_seeking_query)
550
634
  @include_citations = args[:include_citations] if args.key?(:include_citations)
551
635
  @model_spec = args[:model_spec] if args.key?(:model_spec)
@@ -730,6 +814,14 @@ module Google
730
814
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestBoostSpec]
731
815
  attr_accessor :boost_spec
732
816
 
817
+ # Specs defining dataStores to filter on in a search call and configurations for
818
+ # those dataStores. This is only considered for engines with multiple dataStores
819
+ # use case. For single dataStore within an engine, they should use the specs at
820
+ # the top level.
821
+ # Corresponds to the JSON property `dataStoreSpecs`
822
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec>]
823
+ attr_accessor :data_store_specs
824
+
733
825
  # The filter syntax consists of an expression language for constructing a
734
826
  # predicate from one or more fields of the documents being filtered. Filter
735
827
  # expression is case-sensitive. This will be used to filter search results which
@@ -760,6 +852,15 @@ module Google
760
852
  # @return [String]
761
853
  attr_accessor :order_by
762
854
 
855
+ # Specifies the search result mode. If unspecified, the search result mode is
856
+ # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
857
+ # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
858
+ # * Otherwise, it defaults to `DOCUMENTS`. See [parse and chunk documents](
859
+ # https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)
860
+ # Corresponds to the JSON property `searchResultMode`
861
+ # @return [String]
862
+ attr_accessor :search_result_mode
863
+
763
864
  def initialize(**args)
764
865
  update!(**args)
765
866
  end
@@ -767,9 +868,11 @@ module Google
767
868
  # Update properties of this object
768
869
  def update!(**args)
769
870
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
871
+ @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
770
872
  @filter = args[:filter] if args.key?(:filter)
771
873
  @max_return_results = args[:max_return_results] if args.key?(:max_return_results)
772
874
  @order_by = args[:order_by] if args.key?(:order_by)
875
+ @search_result_mode = args[:search_result_mode] if args.key?(:search_result_mode)
773
876
  end
774
877
  end
775
878
 
@@ -1120,6 +1223,12 @@ module Google
1120
1223
  # @return [String]
1121
1224
  attr_accessor :page_identifier
1122
1225
 
1226
+ # The structured JSON metadata for the document. It is populated from the struct
1227
+ # data from the Chunk in search result.
1228
+ # Corresponds to the JSON property `structData`
1229
+ # @return [Hash<String,Object>]
1230
+ attr_accessor :struct_data
1231
+
1123
1232
  # Title.
1124
1233
  # Corresponds to the JSON property `title`
1125
1234
  # @return [String]
@@ -1138,6 +1247,7 @@ module Google
1138
1247
  def update!(**args)
1139
1248
  @document = args[:document] if args.key?(:document)
1140
1249
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
1250
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1141
1251
  @title = args[:title] if args.key?(:title)
1142
1252
  @uri = args[:uri] if args.key?(:uri)
1143
1253
  end
@@ -1157,6 +1267,12 @@ module Google
1157
1267
  # @return [String]
1158
1268
  attr_accessor :document
1159
1269
 
1270
+ # The structured JSON metadata for the document. It is populated from the struct
1271
+ # data from the Chunk in search result.
1272
+ # Corresponds to the JSON property `structData`
1273
+ # @return [Hash<String,Object>]
1274
+ attr_accessor :struct_data
1275
+
1160
1276
  # Title.
1161
1277
  # Corresponds to the JSON property `title`
1162
1278
  # @return [String]
@@ -1175,6 +1291,7 @@ module Google
1175
1291
  def update!(**args)
1176
1292
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
1177
1293
  @document = args[:document] if args.key?(:document)
1294
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
1178
1295
  @title = args[:title] if args.key?(:title)
1179
1296
  @uri = args[:uri] if args.key?(:uri)
1180
1297
  end
@@ -1871,6 +1988,164 @@ module Google
1871
1988
  end
1872
1989
  end
1873
1990
 
1991
+ # Chunk captures all raw metadata information of items to be recommended or
1992
+ # searched in the chunk mode.
1993
+ class GoogleCloudDiscoveryengineV1Chunk
1994
+ include Google::Apis::Core::Hashable
1995
+
1996
+ # Metadata of the current chunk. This field is only populated on SearchService.
1997
+ # Search API.
1998
+ # Corresponds to the JSON property `chunkMetadata`
1999
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ChunkChunkMetadata]
2000
+ attr_accessor :chunk_metadata
2001
+
2002
+ # Content is a string from a document (parsed content).
2003
+ # Corresponds to the JSON property `content`
2004
+ # @return [String]
2005
+ attr_accessor :content
2006
+
2007
+ # Output only. This field is OUTPUT_ONLY. It contains derived data that are not
2008
+ # in the original input document.
2009
+ # Corresponds to the JSON property `derivedStructData`
2010
+ # @return [Hash<String,Object>]
2011
+ attr_accessor :derived_struct_data
2012
+
2013
+ # Document metadata contains the information of the document of the current
2014
+ # chunk.
2015
+ # Corresponds to the JSON property `documentMetadata`
2016
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ChunkDocumentMetadata]
2017
+ attr_accessor :document_metadata
2018
+
2019
+ # Unique chunk ID of the current chunk.
2020
+ # Corresponds to the JSON property `id`
2021
+ # @return [String]
2022
+ attr_accessor :id
2023
+
2024
+ # The full resource name of the chunk. Format: `projects/`project`/locations/`
2025
+ # location`/collections/`collection`/dataStores/`data_store`/branches/`branch`/
2026
+ # documents/`document_id`/chunks/`chunk_id``. This field must be a UTF-8 encoded
2027
+ # string with a length limit of 1024 characters.
2028
+ # Corresponds to the JSON property `name`
2029
+ # @return [String]
2030
+ attr_accessor :name
2031
+
2032
+ # Page span of the chunk.
2033
+ # Corresponds to the JSON property `pageSpan`
2034
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ChunkPageSpan]
2035
+ attr_accessor :page_span
2036
+
2037
+ # Output only. Represents the relevance score based on similarity. Higher score
2038
+ # indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only
2039
+ # populated on SearchService.SearchResponse.
2040
+ # Corresponds to the JSON property `relevanceScore`
2041
+ # @return [Float]
2042
+ attr_accessor :relevance_score
2043
+
2044
+ def initialize(**args)
2045
+ update!(**args)
2046
+ end
2047
+
2048
+ # Update properties of this object
2049
+ def update!(**args)
2050
+ @chunk_metadata = args[:chunk_metadata] if args.key?(:chunk_metadata)
2051
+ @content = args[:content] if args.key?(:content)
2052
+ @derived_struct_data = args[:derived_struct_data] if args.key?(:derived_struct_data)
2053
+ @document_metadata = args[:document_metadata] if args.key?(:document_metadata)
2054
+ @id = args[:id] if args.key?(:id)
2055
+ @name = args[:name] if args.key?(:name)
2056
+ @page_span = args[:page_span] if args.key?(:page_span)
2057
+ @relevance_score = args[:relevance_score] if args.key?(:relevance_score)
2058
+ end
2059
+ end
2060
+
2061
+ # Metadata of the current chunk. This field is only populated on SearchService.
2062
+ # Search API.
2063
+ class GoogleCloudDiscoveryengineV1ChunkChunkMetadata
2064
+ include Google::Apis::Core::Hashable
2065
+
2066
+ # The next chunks of the current chunk. The number is controlled by
2067
+ # SearchRequest.ContentSearchSpec.ChunkSpec.num_next_chunks. This field is only
2068
+ # populated on SearchService.Search API.
2069
+ # Corresponds to the JSON property `nextChunks`
2070
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Chunk>]
2071
+ attr_accessor :next_chunks
2072
+
2073
+ # The previous chunks of the current chunk. The number is controlled by
2074
+ # SearchRequest.ContentSearchSpec.ChunkSpec.num_previous_chunks. This field is
2075
+ # only populated on SearchService.Search API.
2076
+ # Corresponds to the JSON property `previousChunks`
2077
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Chunk>]
2078
+ attr_accessor :previous_chunks
2079
+
2080
+ def initialize(**args)
2081
+ update!(**args)
2082
+ end
2083
+
2084
+ # Update properties of this object
2085
+ def update!(**args)
2086
+ @next_chunks = args[:next_chunks] if args.key?(:next_chunks)
2087
+ @previous_chunks = args[:previous_chunks] if args.key?(:previous_chunks)
2088
+ end
2089
+ end
2090
+
2091
+ # Document metadata contains the information of the document of the current
2092
+ # chunk.
2093
+ class GoogleCloudDiscoveryengineV1ChunkDocumentMetadata
2094
+ include Google::Apis::Core::Hashable
2095
+
2096
+ # Data representation. The structured JSON data for the document. It should
2097
+ # conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.
2098
+ # Corresponds to the JSON property `structData`
2099
+ # @return [Hash<String,Object>]
2100
+ attr_accessor :struct_data
2101
+
2102
+ # Title of the document.
2103
+ # Corresponds to the JSON property `title`
2104
+ # @return [String]
2105
+ attr_accessor :title
2106
+
2107
+ # Uri of the document.
2108
+ # Corresponds to the JSON property `uri`
2109
+ # @return [String]
2110
+ attr_accessor :uri
2111
+
2112
+ def initialize(**args)
2113
+ update!(**args)
2114
+ end
2115
+
2116
+ # Update properties of this object
2117
+ def update!(**args)
2118
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
2119
+ @title = args[:title] if args.key?(:title)
2120
+ @uri = args[:uri] if args.key?(:uri)
2121
+ end
2122
+ end
2123
+
2124
+ # Page span of the chunk.
2125
+ class GoogleCloudDiscoveryengineV1ChunkPageSpan
2126
+ include Google::Apis::Core::Hashable
2127
+
2128
+ # The end page of the chunk.
2129
+ # Corresponds to the JSON property `pageEnd`
2130
+ # @return [Fixnum]
2131
+ attr_accessor :page_end
2132
+
2133
+ # The start page of the chunk.
2134
+ # Corresponds to the JSON property `pageStart`
2135
+ # @return [Fixnum]
2136
+ attr_accessor :page_start
2137
+
2138
+ def initialize(**args)
2139
+ update!(**args)
2140
+ end
2141
+
2142
+ # Update properties of this object
2143
+ def update!(**args)
2144
+ @page_end = args[:page_end] if args.key?(:page_end)
2145
+ @page_start = args[:page_start] if args.key?(:page_start)
2146
+ end
2147
+ end
2148
+
1874
2149
  # Cloud SQL source import data from.
1875
2150
  class GoogleCloudDiscoveryengineV1CloudSqlSource
1876
2151
  include Google::Apis::Core::Hashable
@@ -2013,41 +2288,20 @@ module Google
2013
2288
  end
2014
2289
  end
2015
2290
 
2016
- # External conversation proto definition.
2017
- class GoogleCloudDiscoveryengineV1Conversation
2291
+ # Defines circumstances to be checked before allowing a behavior
2292
+ class GoogleCloudDiscoveryengineV1Condition
2018
2293
  include Google::Apis::Core::Hashable
2019
2294
 
2020
- # Output only. The time the conversation finished.
2021
- # Corresponds to the JSON property `endTime`
2022
- # @return [String]
2023
- attr_accessor :end_time
2024
-
2025
- # Conversation messages.
2026
- # Corresponds to the JSON property `messages`
2027
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ConversationMessage>]
2028
- attr_accessor :messages
2029
-
2030
- # Immutable. Fully qualified name `projects/`project`/locations/global/
2031
- # collections/`collection`/dataStore/*/conversations/*` or `projects/`project`/
2032
- # locations/global/collections/`collection`/engines/*/conversations/*`.
2033
- # Corresponds to the JSON property `name`
2034
- # @return [String]
2035
- attr_accessor :name
2036
-
2037
- # Output only. The time the conversation started.
2038
- # Corresponds to the JSON property `startTime`
2039
- # @return [String]
2040
- attr_accessor :start_time
2041
-
2042
- # The state of the Conversation.
2043
- # Corresponds to the JSON property `state`
2044
- # @return [String]
2045
- attr_accessor :state
2295
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
2296
+ # ranges.
2297
+ # Corresponds to the JSON property `activeTimeRange`
2298
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ConditionTimeRange>]
2299
+ attr_accessor :active_time_range
2046
2300
 
2047
- # A unique identifier for tracking users.
2048
- # Corresponds to the JSON property `userPseudoId`
2049
- # @return [String]
2050
- attr_accessor :user_pseudo_id
2301
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
2302
+ # Corresponds to the JSON property `queryTerms`
2303
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ConditionQueryTerm>]
2304
+ attr_accessor :query_terms
2051
2305
 
2052
2306
  def initialize(**args)
2053
2307
  update!(**args)
@@ -2055,30 +2309,27 @@ module Google
2055
2309
 
2056
2310
  # Update properties of this object
2057
2311
  def update!(**args)
2058
- @end_time = args[:end_time] if args.key?(:end_time)
2059
- @messages = args[:messages] if args.key?(:messages)
2060
- @name = args[:name] if args.key?(:name)
2061
- @start_time = args[:start_time] if args.key?(:start_time)
2062
- @state = args[:state] if args.key?(:state)
2063
- @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
2312
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
2313
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
2064
2314
  end
2065
2315
  end
2066
2316
 
2067
- # Defines context of the conversation
2068
- class GoogleCloudDiscoveryengineV1ConversationContext
2317
+ # Matcher for search request query
2318
+ class GoogleCloudDiscoveryengineV1ConditionQueryTerm
2069
2319
  include Google::Apis::Core::Hashable
2070
2320
 
2071
- # The current active document the user opened. It contains the document resource
2072
- # reference.
2073
- # Corresponds to the JSON property `activeDocument`
2074
- # @return [String]
2075
- attr_accessor :active_document
2321
+ # Whether the search query needs to exactly match the query term.
2322
+ # Corresponds to the JSON property `fullMatch`
2323
+ # @return [Boolean]
2324
+ attr_accessor :full_match
2325
+ alias_method :full_match?, :full_match
2076
2326
 
2077
- # The current list of documents the user is seeing. It contains the document
2078
- # resource references.
2079
- # Corresponds to the JSON property `contextDocuments`
2080
- # @return [Array<String>]
2081
- attr_accessor :context_documents
2327
+ # The specific query value to match against Must be lowercase, must be UTF-8.
2328
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
2329
+ # empty string. Maximum length of 5000 characters.
2330
+ # Corresponds to the JSON property `value`
2331
+ # @return [String]
2332
+ attr_accessor :value
2082
2333
 
2083
2334
  def initialize(**args)
2084
2335
  update!(**args)
@@ -2086,29 +2337,328 @@ module Google
2086
2337
 
2087
2338
  # Update properties of this object
2088
2339
  def update!(**args)
2089
- @active_document = args[:active_document] if args.key?(:active_document)
2090
- @context_documents = args[:context_documents] if args.key?(:context_documents)
2340
+ @full_match = args[:full_match] if args.key?(:full_match)
2341
+ @value = args[:value] if args.key?(:value)
2091
2342
  end
2092
2343
  end
2093
2344
 
2094
- # Defines a conversation message.
2095
- class GoogleCloudDiscoveryengineV1ConversationMessage
2345
+ # Used for time-dependent conditions.
2346
+ class GoogleCloudDiscoveryengineV1ConditionTimeRange
2096
2347
  include Google::Apis::Core::Hashable
2097
2348
 
2098
- # Output only. Message creation timestamp.
2099
- # Corresponds to the JSON property `createTime`
2349
+ # End of time range. Range is inclusive. Must be in the future.
2350
+ # Corresponds to the JSON property `endTime`
2100
2351
  # @return [String]
2101
- attr_accessor :create_time
2102
-
2103
- # Defines a reply message to user.
2104
- # Corresponds to the JSON property `reply`
2105
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Reply]
2106
- attr_accessor :reply
2352
+ attr_accessor :end_time
2107
2353
 
2108
- # Defines text input.
2109
- # Corresponds to the JSON property `userInput`
2110
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1TextInput]
2111
- attr_accessor :user_input
2354
+ # Start of time range. Range is inclusive.
2355
+ # Corresponds to the JSON property `startTime`
2356
+ # @return [String]
2357
+ attr_accessor :start_time
2358
+
2359
+ def initialize(**args)
2360
+ update!(**args)
2361
+ end
2362
+
2363
+ # Update properties of this object
2364
+ def update!(**args)
2365
+ @end_time = args[:end_time] if args.key?(:end_time)
2366
+ @start_time = args[:start_time] if args.key?(:start_time)
2367
+ end
2368
+ end
2369
+
2370
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
2371
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
2372
+ # `SolutionType`.
2373
+ class GoogleCloudDiscoveryengineV1Control
2374
+ include Google::Apis::Core::Hashable
2375
+
2376
+ # Output only. List of all ServingConfig ids this control is attached to. May
2377
+ # take up to 10 minutes to update after changes.
2378
+ # Corresponds to the JSON property `associatedServingConfigIds`
2379
+ # @return [Array<String>]
2380
+ attr_accessor :associated_serving_config_ids
2381
+
2382
+ # Adjusts order of products in returned list.
2383
+ # Corresponds to the JSON property `boostAction`
2384
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlBoostAction]
2385
+ attr_accessor :boost_action
2386
+
2387
+ # Determines when the associated action will trigger. Omit to always apply the
2388
+ # action. Currently only a single condition may be specified. Otherwise an
2389
+ # INVALID ARGUMENT error is thrown.
2390
+ # Corresponds to the JSON property `conditions`
2391
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Condition>]
2392
+ attr_accessor :conditions
2393
+
2394
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
2395
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
2396
+ # error is thrown.
2397
+ # Corresponds to the JSON property `displayName`
2398
+ # @return [String]
2399
+ attr_accessor :display_name
2400
+
2401
+ # Specified which products may be included in results. Uses same filter as boost.
2402
+ # Corresponds to the JSON property `filterAction`
2403
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlFilterAction]
2404
+ attr_accessor :filter_action
2405
+
2406
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
2407
+ # controls/*`
2408
+ # Corresponds to the JSON property `name`
2409
+ # @return [String]
2410
+ attr_accessor :name
2411
+
2412
+ # Redirects a shopper to the provided URI.
2413
+ # Corresponds to the JSON property `redirectAction`
2414
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlRedirectAction]
2415
+ attr_accessor :redirect_action
2416
+
2417
+ # Required. Immutable. What solution the control belongs to. Must be compatible
2418
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
2419
+ # Corresponds to the JSON property `solutionType`
2420
+ # @return [String]
2421
+ attr_accessor :solution_type
2422
+
2423
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2424
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2425
+ # happy".
2426
+ # Corresponds to the JSON property `synonymsAction`
2427
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlSynonymsAction]
2428
+ attr_accessor :synonyms_action
2429
+
2430
+ # Specifies the use case for the control. Affects what condition fields can be
2431
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
2432
+ # per control. Must be set when solution_type is SolutionType.
2433
+ # SOLUTION_TYPE_SEARCH.
2434
+ # Corresponds to the JSON property `useCases`
2435
+ # @return [Array<String>]
2436
+ attr_accessor :use_cases
2437
+
2438
+ def initialize(**args)
2439
+ update!(**args)
2440
+ end
2441
+
2442
+ # Update properties of this object
2443
+ def update!(**args)
2444
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
2445
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
2446
+ @conditions = args[:conditions] if args.key?(:conditions)
2447
+ @display_name = args[:display_name] if args.key?(:display_name)
2448
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
2449
+ @name = args[:name] if args.key?(:name)
2450
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
2451
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
2452
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
2453
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
2454
+ end
2455
+ end
2456
+
2457
+ # Adjusts order of products in returned list.
2458
+ class GoogleCloudDiscoveryengineV1ControlBoostAction
2459
+ include Google::Apis::Core::Hashable
2460
+
2461
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
2462
+ # means demotion. Default is 0.0 (No-op).
2463
+ # Corresponds to the JSON property `boost`
2464
+ # @return [Float]
2465
+ attr_accessor :boost
2466
+
2467
+ # Required. Specifies which data store's documents can be boosted by this
2468
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2469
+ # default_collection/dataStores/default_data_store
2470
+ # Corresponds to the JSON property `dataStore`
2471
+ # @return [String]
2472
+ attr_accessor :data_store
2473
+
2474
+ # Required. Specifies which products to apply the boost to. If no filter is
2475
+ # provided all products will be boosted (No-op). Syntax documentation: https://
2476
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
2477
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
2478
+ # Corresponds to the JSON property `filter`
2479
+ # @return [String]
2480
+ attr_accessor :filter
2481
+
2482
+ def initialize(**args)
2483
+ update!(**args)
2484
+ end
2485
+
2486
+ # Update properties of this object
2487
+ def update!(**args)
2488
+ @boost = args[:boost] if args.key?(:boost)
2489
+ @data_store = args[:data_store] if args.key?(:data_store)
2490
+ @filter = args[:filter] if args.key?(:filter)
2491
+ end
2492
+ end
2493
+
2494
+ # Specified which products may be included in results. Uses same filter as boost.
2495
+ class GoogleCloudDiscoveryengineV1ControlFilterAction
2496
+ include Google::Apis::Core::Hashable
2497
+
2498
+ # Required. Specifies which data store's documents can be filtered by this
2499
+ # control. Full data store name e.g. projects/123/locations/global/collections/
2500
+ # default_collection/dataStores/default_data_store
2501
+ # Corresponds to the JSON property `dataStore`
2502
+ # @return [String]
2503
+ attr_accessor :data_store
2504
+
2505
+ # Required. A filter to apply on the matching condition results. Required Syntax
2506
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
2507
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
2508
+ # Corresponds to the JSON property `filter`
2509
+ # @return [String]
2510
+ attr_accessor :filter
2511
+
2512
+ def initialize(**args)
2513
+ update!(**args)
2514
+ end
2515
+
2516
+ # Update properties of this object
2517
+ def update!(**args)
2518
+ @data_store = args[:data_store] if args.key?(:data_store)
2519
+ @filter = args[:filter] if args.key?(:filter)
2520
+ end
2521
+ end
2522
+
2523
+ # Redirects a shopper to the provided URI.
2524
+ class GoogleCloudDiscoveryengineV1ControlRedirectAction
2525
+ include Google::Apis::Core::Hashable
2526
+
2527
+ # Required. The URI to which the shopper will be redirected. Required. URI must
2528
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
2529
+ # error is thrown.
2530
+ # Corresponds to the JSON property `redirectUri`
2531
+ # @return [String]
2532
+ attr_accessor :redirect_uri
2533
+
2534
+ def initialize(**args)
2535
+ update!(**args)
2536
+ end
2537
+
2538
+ # Update properties of this object
2539
+ def update!(**args)
2540
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
2541
+ end
2542
+ end
2543
+
2544
+ # Creates a set of terms that will act as synonyms of one another. Example: "
2545
+ # happy" will also be considered as "glad", "glad" will also be considered as "
2546
+ # happy".
2547
+ class GoogleCloudDiscoveryengineV1ControlSynonymsAction
2548
+ include Google::Apis::Core::Hashable
2549
+
2550
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
2551
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
2552
+ # Corresponds to the JSON property `synonyms`
2553
+ # @return [Array<String>]
2554
+ attr_accessor :synonyms
2555
+
2556
+ def initialize(**args)
2557
+ update!(**args)
2558
+ end
2559
+
2560
+ # Update properties of this object
2561
+ def update!(**args)
2562
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
2563
+ end
2564
+ end
2565
+
2566
+ # External conversation proto definition.
2567
+ class GoogleCloudDiscoveryengineV1Conversation
2568
+ include Google::Apis::Core::Hashable
2569
+
2570
+ # Output only. The time the conversation finished.
2571
+ # Corresponds to the JSON property `endTime`
2572
+ # @return [String]
2573
+ attr_accessor :end_time
2574
+
2575
+ # Conversation messages.
2576
+ # Corresponds to the JSON property `messages`
2577
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ConversationMessage>]
2578
+ attr_accessor :messages
2579
+
2580
+ # Immutable. Fully qualified name `projects/`project`/locations/global/
2581
+ # collections/`collection`/dataStore/*/conversations/*` or `projects/`project`/
2582
+ # locations/global/collections/`collection`/engines/*/conversations/*`.
2583
+ # Corresponds to the JSON property `name`
2584
+ # @return [String]
2585
+ attr_accessor :name
2586
+
2587
+ # Output only. The time the conversation started.
2588
+ # Corresponds to the JSON property `startTime`
2589
+ # @return [String]
2590
+ attr_accessor :start_time
2591
+
2592
+ # The state of the Conversation.
2593
+ # Corresponds to the JSON property `state`
2594
+ # @return [String]
2595
+ attr_accessor :state
2596
+
2597
+ # A unique identifier for tracking users.
2598
+ # Corresponds to the JSON property `userPseudoId`
2599
+ # @return [String]
2600
+ attr_accessor :user_pseudo_id
2601
+
2602
+ def initialize(**args)
2603
+ update!(**args)
2604
+ end
2605
+
2606
+ # Update properties of this object
2607
+ def update!(**args)
2608
+ @end_time = args[:end_time] if args.key?(:end_time)
2609
+ @messages = args[:messages] if args.key?(:messages)
2610
+ @name = args[:name] if args.key?(:name)
2611
+ @start_time = args[:start_time] if args.key?(:start_time)
2612
+ @state = args[:state] if args.key?(:state)
2613
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
2614
+ end
2615
+ end
2616
+
2617
+ # Defines context of the conversation
2618
+ class GoogleCloudDiscoveryengineV1ConversationContext
2619
+ include Google::Apis::Core::Hashable
2620
+
2621
+ # The current active document the user opened. It contains the document resource
2622
+ # reference.
2623
+ # Corresponds to the JSON property `activeDocument`
2624
+ # @return [String]
2625
+ attr_accessor :active_document
2626
+
2627
+ # The current list of documents the user is seeing. It contains the document
2628
+ # resource references.
2629
+ # Corresponds to the JSON property `contextDocuments`
2630
+ # @return [Array<String>]
2631
+ attr_accessor :context_documents
2632
+
2633
+ def initialize(**args)
2634
+ update!(**args)
2635
+ end
2636
+
2637
+ # Update properties of this object
2638
+ def update!(**args)
2639
+ @active_document = args[:active_document] if args.key?(:active_document)
2640
+ @context_documents = args[:context_documents] if args.key?(:context_documents)
2641
+ end
2642
+ end
2643
+
2644
+ # Defines a conversation message.
2645
+ class GoogleCloudDiscoveryengineV1ConversationMessage
2646
+ include Google::Apis::Core::Hashable
2647
+
2648
+ # Output only. Message creation timestamp.
2649
+ # Corresponds to the JSON property `createTime`
2650
+ # @return [String]
2651
+ attr_accessor :create_time
2652
+
2653
+ # Defines a reply message to user.
2654
+ # Corresponds to the JSON property `reply`
2655
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Reply]
2656
+ attr_accessor :reply
2657
+
2658
+ # Defines text input.
2659
+ # Corresponds to the JSON property `userInput`
2660
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1TextInput]
2661
+ attr_accessor :user_input
2112
2662
 
2113
2663
  def initialize(**args)
2114
2664
  update!(**args)
@@ -2828,6 +3378,11 @@ module Google
2828
3378
  class GoogleCloudDiscoveryengineV1DocumentProcessingConfig
2829
3379
  include Google::Apis::Core::Hashable
2830
3380
 
3381
+ # Configuration for chunking config.
3382
+ # Corresponds to the JSON property `chunkingConfig`
3383
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig]
3384
+ attr_accessor :chunking_config
3385
+
2831
3386
  # Related configurations applied to a specific type of document parser.
2832
3387
  # Corresponds to the JSON property `defaultParsingConfig`
2833
3388
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig]
@@ -2855,12 +3410,60 @@ module Google
2855
3410
 
2856
3411
  # Update properties of this object
2857
3412
  def update!(**args)
3413
+ @chunking_config = args[:chunking_config] if args.key?(:chunking_config)
2858
3414
  @default_parsing_config = args[:default_parsing_config] if args.key?(:default_parsing_config)
2859
3415
  @name = args[:name] if args.key?(:name)
2860
3416
  @parsing_config_overrides = args[:parsing_config_overrides] if args.key?(:parsing_config_overrides)
2861
3417
  end
2862
3418
  end
2863
3419
 
3420
+ # Configuration for chunking config.
3421
+ class GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig
3422
+ include Google::Apis::Core::Hashable
3423
+
3424
+ # Configuration for the layout based chunking.
3425
+ # Corresponds to the JSON property `layoutBasedChunkingConfig`
3426
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig]
3427
+ attr_accessor :layout_based_chunking_config
3428
+
3429
+ def initialize(**args)
3430
+ update!(**args)
3431
+ end
3432
+
3433
+ # Update properties of this object
3434
+ def update!(**args)
3435
+ @layout_based_chunking_config = args[:layout_based_chunking_config] if args.key?(:layout_based_chunking_config)
3436
+ end
3437
+ end
3438
+
3439
+ # Configuration for the layout based chunking.
3440
+ class GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig
3441
+ include Google::Apis::Core::Hashable
3442
+
3443
+ # The token size limit for each chunk. Supported values: 100-500 (inclusive).
3444
+ # Default value: 500.
3445
+ # Corresponds to the JSON property `chunkSize`
3446
+ # @return [Fixnum]
3447
+ attr_accessor :chunk_size
3448
+
3449
+ # Whether to include appending different levels of headings to chunks from the
3450
+ # middle of the document to prevent context loss. Default value: False.
3451
+ # Corresponds to the JSON property `includeAncestorHeadings`
3452
+ # @return [Boolean]
3453
+ attr_accessor :include_ancestor_headings
3454
+ alias_method :include_ancestor_headings?, :include_ancestor_headings
3455
+
3456
+ def initialize(**args)
3457
+ update!(**args)
3458
+ end
3459
+
3460
+ # Update properties of this object
3461
+ def update!(**args)
3462
+ @chunk_size = args[:chunk_size] if args.key?(:chunk_size)
3463
+ @include_ancestor_headings = args[:include_ancestor_headings] if args.key?(:include_ancestor_headings)
3464
+ end
3465
+ end
3466
+
2864
3467
  # Related configurations applied to a specific type of document parser.
2865
3468
  class GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig
2866
3469
  include Google::Apis::Core::Hashable
@@ -2870,6 +3473,11 @@ module Google
2870
3473
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig]
2871
3474
  attr_accessor :digital_parsing_config
2872
3475
 
3476
+ # The layout parsing configurations for documents.
3477
+ # Corresponds to the JSON property `layoutParsingConfig`
3478
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig]
3479
+ attr_accessor :layout_parsing_config
3480
+
2873
3481
  # The OCR parsing configurations for documents.
2874
3482
  # Corresponds to the JSON property `ocrParsingConfig`
2875
3483
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig]
@@ -2882,6 +3490,7 @@ module Google
2882
3490
  # Update properties of this object
2883
3491
  def update!(**args)
2884
3492
  @digital_parsing_config = args[:digital_parsing_config] if args.key?(:digital_parsing_config)
3493
+ @layout_parsing_config = args[:layout_parsing_config] if args.key?(:layout_parsing_config)
2885
3494
  @ocr_parsing_config = args[:ocr_parsing_config] if args.key?(:ocr_parsing_config)
2886
3495
  end
2887
3496
  end
@@ -2899,6 +3508,19 @@ module Google
2899
3508
  end
2900
3509
  end
2901
3510
 
3511
+ # The layout parsing configurations for documents.
3512
+ class GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig
3513
+ include Google::Apis::Core::Hashable
3514
+
3515
+ def initialize(**args)
3516
+ update!(**args)
3517
+ end
3518
+
3519
+ # Update properties of this object
3520
+ def update!(**args)
3521
+ end
3522
+ end
3523
+
2902
3524
  # The OCR parsing configurations for documents.
2903
3525
  class GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig
2904
3526
  include Google::Apis::Core::Hashable
@@ -3179,8 +3801,8 @@ module Google
3179
3801
  class GoogleCloudDiscoveryengineV1EngineCommonConfig
3180
3802
  include Google::Apis::Core::Hashable
3181
3803
 
3182
- # Immutable. The name of the company, business or entity that is associated with
3183
- # the engine. Setting this may help improve LLM related features.
3804
+ # The name of the company, business or entity that is associated with the engine.
3805
+ # Setting this may help improve LLM related features.
3184
3806
  # Corresponds to the JSON property `companyName`
3185
3807
  # @return [String]
3186
3808
  attr_accessor :company_name
@@ -3484,6 +4106,11 @@ module Google
3484
4106
  class GoogleCloudDiscoveryengineV1ImportDocumentsRequest
3485
4107
  include Google::Apis::Core::Hashable
3486
4108
 
4109
+ # AlloyDB source import data from.
4110
+ # Corresponds to the JSON property `alloyDbSource`
4111
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AlloyDbSource]
4112
+ attr_accessor :alloy_db_source
4113
+
3487
4114
  # Whether to automatically generate IDs for the documents if absent. If set to `
3488
4115
  # true`, Document.ids are automatically generated based on the hash of the
3489
4116
  # payload, where IDs may not be consistent during multiple imports. In which
@@ -3581,6 +4208,7 @@ module Google
3581
4208
 
3582
4209
  # Update properties of this object
3583
4210
  def update!(**args)
4211
+ @alloy_db_source = args[:alloy_db_source] if args.key?(:alloy_db_source)
3584
4212
  @auto_generate_ids = args[:auto_generate_ids] if args.key?(:auto_generate_ids)
3585
4213
  @bigquery_source = args[:bigquery_source] if args.key?(:bigquery_source)
3586
4214
  @bigtable_source = args[:bigtable_source] if args.key?(:bigtable_source)
@@ -3939,6 +4567,31 @@ module Google
3939
4567
  end
3940
4568
  end
3941
4569
 
4570
+ # Response for ListControls method.
4571
+ class GoogleCloudDiscoveryengineV1ListControlsResponse
4572
+ include Google::Apis::Core::Hashable
4573
+
4574
+ # All the Controls for a given data store.
4575
+ # Corresponds to the JSON property `controls`
4576
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Control>]
4577
+ attr_accessor :controls
4578
+
4579
+ # Pagination token, if not returned indicates the last page.
4580
+ # Corresponds to the JSON property `nextPageToken`
4581
+ # @return [String]
4582
+ attr_accessor :next_page_token
4583
+
4584
+ def initialize(**args)
4585
+ update!(**args)
4586
+ end
4587
+
4588
+ # Update properties of this object
4589
+ def update!(**args)
4590
+ @controls = args[:controls] if args.key?(:controls)
4591
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
4592
+ end
4593
+ end
4594
+
3942
4595
  # Response for ListConversations method.
3943
4596
  class GoogleCloudDiscoveryengineV1ListConversationsResponse
3944
4597
  include Google::Apis::Core::Hashable
@@ -4210,31 +4863,165 @@ module Google
4210
4863
  end
4211
4864
  end
4212
4865
 
4213
- # Detailed panel information associated with a user event.
4214
- class GoogleCloudDiscoveryengineV1PanelInfo
4866
+ # Detailed panel information associated with a user event.
4867
+ class GoogleCloudDiscoveryengineV1PanelInfo
4868
+ include Google::Apis::Core::Hashable
4869
+
4870
+ # The display name of the panel.
4871
+ # Corresponds to the JSON property `displayName`
4872
+ # @return [String]
4873
+ attr_accessor :display_name
4874
+
4875
+ # Required. The panel ID.
4876
+ # Corresponds to the JSON property `panelId`
4877
+ # @return [String]
4878
+ attr_accessor :panel_id
4879
+
4880
+ # The ordered position of the panel, if shown to the user with other panels. If
4881
+ # set, then total_panels must also be set.
4882
+ # Corresponds to the JSON property `panelPosition`
4883
+ # @return [Fixnum]
4884
+ attr_accessor :panel_position
4885
+
4886
+ # The total number of panels, including this one, shown to the user. Must be set
4887
+ # if panel_position is set.
4888
+ # Corresponds to the JSON property `totalPanels`
4889
+ # @return [Fixnum]
4890
+ attr_accessor :total_panels
4891
+
4892
+ def initialize(**args)
4893
+ update!(**args)
4894
+ end
4895
+
4896
+ # Update properties of this object
4897
+ def update!(**args)
4898
+ @display_name = args[:display_name] if args.key?(:display_name)
4899
+ @panel_id = args[:panel_id] if args.key?(:panel_id)
4900
+ @panel_position = args[:panel_position] if args.key?(:panel_position)
4901
+ @total_panels = args[:total_panels] if args.key?(:total_panels)
4902
+ end
4903
+ end
4904
+
4905
+ # Metadata and configurations for a Google Cloud project in the service.
4906
+ class GoogleCloudDiscoveryengineV1Project
4907
+ include Google::Apis::Core::Hashable
4908
+
4909
+ # Output only. The timestamp when this project is created.
4910
+ # Corresponds to the JSON property `createTime`
4911
+ # @return [String]
4912
+ attr_accessor :create_time
4913
+
4914
+ # Output only. Full resource name of the project, for example `projects/`
4915
+ # project_number``. Note that when making requests, project number and project
4916
+ # id are both acceptable, but the server will always respond in project number.
4917
+ # Corresponds to the JSON property `name`
4918
+ # @return [String]
4919
+ attr_accessor :name
4920
+
4921
+ # Output only. The timestamp when this project is successfully provisioned.
4922
+ # Empty value means this project is still provisioning and is not ready for use.
4923
+ # Corresponds to the JSON property `provisionCompletionTime`
4924
+ # @return [String]
4925
+ attr_accessor :provision_completion_time
4926
+
4927
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
4928
+ # Corresponds to the JSON property `serviceTermsMap`
4929
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
4930
+ attr_accessor :service_terms_map
4931
+
4932
+ def initialize(**args)
4933
+ update!(**args)
4934
+ end
4935
+
4936
+ # Update properties of this object
4937
+ def update!(**args)
4938
+ @create_time = args[:create_time] if args.key?(:create_time)
4939
+ @name = args[:name] if args.key?(:name)
4940
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
4941
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
4942
+ end
4943
+ end
4944
+
4945
+ # Metadata about the terms of service.
4946
+ class GoogleCloudDiscoveryengineV1ProjectServiceTerms
4947
+ include Google::Apis::Core::Hashable
4948
+
4949
+ # The last time when the project agreed to the terms of service.
4950
+ # Corresponds to the JSON property `acceptTime`
4951
+ # @return [String]
4952
+ attr_accessor :accept_time
4953
+
4954
+ # The last time when the project declined or revoked the agreement to terms of
4955
+ # service.
4956
+ # Corresponds to the JSON property `declineTime`
4957
+ # @return [String]
4958
+ attr_accessor :decline_time
4959
+
4960
+ # The unique identifier of this terms of service. Available terms: * `
4961
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
4962
+ # use-terms). When using this as `id`, the acceptable version to provide is `
4963
+ # 2022-11-23`.
4964
+ # Corresponds to the JSON property `id`
4965
+ # @return [String]
4966
+ attr_accessor :id
4967
+
4968
+ # Whether the project has accepted/rejected the service terms or it is still
4969
+ # pending.
4970
+ # Corresponds to the JSON property `state`
4971
+ # @return [String]
4972
+ attr_accessor :state
4973
+
4974
+ # The version string of the terms of service. For acceptable values, see the
4975
+ # comments for id above.
4976
+ # Corresponds to the JSON property `version`
4977
+ # @return [String]
4978
+ attr_accessor :version
4979
+
4980
+ def initialize(**args)
4981
+ update!(**args)
4982
+ end
4983
+
4984
+ # Update properties of this object
4985
+ def update!(**args)
4986
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
4987
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
4988
+ @id = args[:id] if args.key?(:id)
4989
+ @state = args[:state] if args.key?(:state)
4990
+ @version = args[:version] if args.key?(:version)
4991
+ end
4992
+ end
4993
+
4994
+ # Metadata associated with a project provision operation.
4995
+ class GoogleCloudDiscoveryengineV1ProvisionProjectMetadata
4996
+ include Google::Apis::Core::Hashable
4997
+
4998
+ def initialize(**args)
4999
+ update!(**args)
5000
+ end
5001
+
5002
+ # Update properties of this object
5003
+ def update!(**args)
5004
+ end
5005
+ end
5006
+
5007
+ # Request for ProjectService.ProvisionProject method.
5008
+ class GoogleCloudDiscoveryengineV1ProvisionProjectRequest
4215
5009
  include Google::Apis::Core::Hashable
4216
5010
 
4217
- # The display name of the panel.
4218
- # Corresponds to the JSON property `displayName`
4219
- # @return [String]
4220
- attr_accessor :display_name
5011
+ # Required. Set to `true` to specify that caller has read and would like to give
5012
+ # consent to the [Terms for data use](https://cloud.google.com/retail/data-use-
5013
+ # terms).
5014
+ # Corresponds to the JSON property `acceptDataUseTerms`
5015
+ # @return [Boolean]
5016
+ attr_accessor :accept_data_use_terms
5017
+ alias_method :accept_data_use_terms?, :accept_data_use_terms
4221
5018
 
4222
- # Required. The panel ID.
4223
- # Corresponds to the JSON property `panelId`
5019
+ # Required. The version of the [Terms for data use](https://cloud.google.com/
5020
+ # retail/data-use-terms) that caller has read and would like to give consent to.
5021
+ # Acceptable version is `2022-11-23`, and this may change over time.
5022
+ # Corresponds to the JSON property `dataUseTermsVersion`
4224
5023
  # @return [String]
4225
- attr_accessor :panel_id
4226
-
4227
- # The ordered position of the panel, if shown to the user with other panels. If
4228
- # set, then total_panels must also be set.
4229
- # Corresponds to the JSON property `panelPosition`
4230
- # @return [Fixnum]
4231
- attr_accessor :panel_position
4232
-
4233
- # The total number of panels, including this one, shown to the user. Must be set
4234
- # if panel_position is set.
4235
- # Corresponds to the JSON property `totalPanels`
4236
- # @return [Fixnum]
4237
- attr_accessor :total_panels
5024
+ attr_accessor :data_use_terms_version
4238
5025
 
4239
5026
  def initialize(**args)
4240
5027
  update!(**args)
@@ -4242,10 +5029,8 @@ module Google
4242
5029
 
4243
5030
  # Update properties of this object
4244
5031
  def update!(**args)
4245
- @display_name = args[:display_name] if args.key?(:display_name)
4246
- @panel_id = args[:panel_id] if args.key?(:panel_id)
4247
- @panel_position = args[:panel_position] if args.key?(:panel_position)
4248
- @total_panels = args[:total_panels] if args.key?(:total_panels)
5032
+ @accept_data_use_terms = args[:accept_data_use_terms] if args.key?(:accept_data_use_terms)
5033
+ @data_use_terms_version = args[:data_use_terms_version] if args.key?(:data_use_terms_version)
4249
5034
  end
4250
5035
  end
4251
5036
 
@@ -4475,6 +5260,21 @@ module Google
4475
5260
  # @return [Fixnum]
4476
5261
  attr_accessor :top_n
4477
5262
 
5263
+ # The user labels applied to a resource must meet the following requirements: *
5264
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
5265
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
5266
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
5267
+ # have a maximum length of 63 characters. * Keys and values can contain only
5268
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
5269
+ # must use UTF-8 encoding, and international characters are allowed. * The key
5270
+ # portion of a label must be unique. However, you can use the same key with
5271
+ # multiple resources. * Keys must start with a lowercase letter or international
5272
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
5273
+ # manager/docs/creating-managing-labels#requirements) for more details.
5274
+ # Corresponds to the JSON property `userLabels`
5275
+ # @return [Hash<String,String>]
5276
+ attr_accessor :user_labels
5277
+
4478
5278
  def initialize(**args)
4479
5279
  update!(**args)
4480
5280
  end
@@ -4486,6 +5286,7 @@ module Google
4486
5286
  @query = args[:query] if args.key?(:query)
4487
5287
  @records = args[:records] if args.key?(:records)
4488
5288
  @top_n = args[:top_n] if args.key?(:top_n)
5289
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
4489
5290
  end
4490
5291
  end
4491
5292
 
@@ -5099,11 +5900,26 @@ module Google
5099
5900
  class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec
5100
5901
  include Google::Apis::Core::Hashable
5101
5902
 
5903
+ # Specifies the chunk spec to be returned from the search response. Only
5904
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
5905
+ # CHUNKS
5906
+ # Corresponds to the JSON property `chunkSpec`
5907
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec]
5908
+ attr_accessor :chunk_spec
5909
+
5102
5910
  # A specification for configuring the extractive content in a search response.
5103
5911
  # Corresponds to the JSON property `extractiveContentSpec`
5104
5912
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec]
5105
5913
  attr_accessor :extractive_content_spec
5106
5914
 
5915
+ # Specifies the search result mode. If unspecified, the search result mode is
5916
+ # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
5917
+ # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
5918
+ # * Otherwise, it defaults to `DOCUMENTS`.
5919
+ # Corresponds to the JSON property `searchResultMode`
5920
+ # @return [String]
5921
+ attr_accessor :search_result_mode
5922
+
5107
5923
  # A specification for configuring snippets in a search response.
5108
5924
  # Corresponds to the JSON property `snippetSpec`
5109
5925
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec]
@@ -5120,12 +5936,43 @@ module Google
5120
5936
 
5121
5937
  # Update properties of this object
5122
5938
  def update!(**args)
5939
+ @chunk_spec = args[:chunk_spec] if args.key?(:chunk_spec)
5123
5940
  @extractive_content_spec = args[:extractive_content_spec] if args.key?(:extractive_content_spec)
5941
+ @search_result_mode = args[:search_result_mode] if args.key?(:search_result_mode)
5124
5942
  @snippet_spec = args[:snippet_spec] if args.key?(:snippet_spec)
5125
5943
  @summary_spec = args[:summary_spec] if args.key?(:summary_spec)
5126
5944
  end
5127
5945
  end
5128
5946
 
5947
+ # Specifies the chunk spec to be returned from the search response. Only
5948
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
5949
+ # CHUNKS
5950
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec
5951
+ include Google::Apis::Core::Hashable
5952
+
5953
+ # The number of next chunks to be returned of the current chunk. The maximum
5954
+ # allowed value is 3. If not specified, no next chunks will be returned.
5955
+ # Corresponds to the JSON property `numNextChunks`
5956
+ # @return [Fixnum]
5957
+ attr_accessor :num_next_chunks
5958
+
5959
+ # The number of previous chunks to be returned of the current chunk. The maximum
5960
+ # allowed value is 3. If not specified, no previous chunks will be returned.
5961
+ # Corresponds to the JSON property `numPreviousChunks`
5962
+ # @return [Fixnum]
5963
+ attr_accessor :num_previous_chunks
5964
+
5965
+ def initialize(**args)
5966
+ update!(**args)
5967
+ end
5968
+
5969
+ # Update properties of this object
5970
+ def update!(**args)
5971
+ @num_next_chunks = args[:num_next_chunks] if args.key?(:num_next_chunks)
5972
+ @num_previous_chunks = args[:num_previous_chunks] if args.key?(:num_previous_chunks)
5973
+ end
5974
+ end
5975
+
5129
5976
  # A specification for configuring the extractive content in a search response.
5130
5977
  class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec
5131
5978
  include Google::Apis::Core::Hashable
@@ -5777,6 +6624,12 @@ module Google
5777
6624
  class GoogleCloudDiscoveryengineV1SearchResponseSearchResult
5778
6625
  include Google::Apis::Core::Hashable
5779
6626
 
6627
+ # Chunk captures all raw metadata information of items to be recommended or
6628
+ # searched in the chunk mode.
6629
+ # Corresponds to the JSON property `chunk`
6630
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Chunk]
6631
+ attr_accessor :chunk
6632
+
5780
6633
  # Document captures all raw metadata information of items to be recommended or
5781
6634
  # searched.
5782
6635
  # Corresponds to the JSON property `document`
@@ -5794,6 +6647,7 @@ module Google
5794
6647
 
5795
6648
  # Update properties of this object
5796
6649
  def update!(**args)
6650
+ @chunk = args[:chunk] if args.key?(:chunk)
5797
6651
  @document = args[:document] if args.key?(:document)
5798
6652
  @id = args[:id] if args.key?(:id)
5799
6653
  end
@@ -6536,6 +7390,15 @@ module Google
6536
7390
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CompletionInfo]
6537
7391
  attr_accessor :completion_info
6538
7392
 
7393
+ # The DataStore resource full name, of the form `projects/`project`/locations/`
7394
+ # location`/collections/`collection_id`/dataStores/`data_store_id``. Optional.
7395
+ # Only required for user events whose data store can't by determined by
7396
+ # UserEvent.engine or UserEvent.documents. If data store is set in the parent of
7397
+ # write/import/collect user event requests, this field can be omitted.
7398
+ # Corresponds to the JSON property `dataStore`
7399
+ # @return [String]
7400
+ attr_accessor :data_store
7401
+
6539
7402
  # Should set to true if the request is made directly from the end user, in which
6540
7403
  # case the UserEvent.user_info.user_agent can be populated from the HTTP request.
6541
7404
  # This flag should be set only if the API request is made directly from the end
@@ -6558,6 +7421,14 @@ module Google
6558
7421
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentInfo>]
6559
7422
  attr_accessor :documents
6560
7423
 
7424
+ # The Engine resource name, in the form of `projects/`project`/locations/`
7425
+ # location`/collections/`collection_id`/engines/`engine_id``. Optional. Only
7426
+ # required for Engine produced user events. For example, user events from
7427
+ # blended search.
7428
+ # Corresponds to the JSON property `engine`
7429
+ # @return [String]
7430
+ attr_accessor :engine
7431
+
6561
7432
  # Only required for UserEventService.ImportUserEvents method. Timestamp of when
6562
7433
  # the user event happened.
6563
7434
  # Corresponds to the JSON property `eventTime`
@@ -6665,8 +7536,10 @@ module Google
6665
7536
  @attributes = args[:attributes] if args.key?(:attributes)
6666
7537
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
6667
7538
  @completion_info = args[:completion_info] if args.key?(:completion_info)
7539
+ @data_store = args[:data_store] if args.key?(:data_store)
6668
7540
  @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
6669
7541
  @documents = args[:documents] if args.key?(:documents)
7542
+ @engine = args[:engine] if args.key?(:engine)
6670
7543
  @event_time = args[:event_time] if args.key?(:event_time)
6671
7544
  @event_type = args[:event_type] if args.key?(:event_type)
6672
7545
  @filter = args[:filter] if args.key?(:filter)
@@ -6996,6 +7869,12 @@ module Google
6996
7869
  # @return [String]
6997
7870
  attr_accessor :page_identifier
6998
7871
 
7872
+ # The structured JSON metadata for the document. It is populated from the struct
7873
+ # data from the Chunk in search result.
7874
+ # Corresponds to the JSON property `structData`
7875
+ # @return [Hash<String,Object>]
7876
+ attr_accessor :struct_data
7877
+
6999
7878
  # Title.
7000
7879
  # Corresponds to the JSON property `title`
7001
7880
  # @return [String]
@@ -7014,6 +7893,7 @@ module Google
7014
7893
  def update!(**args)
7015
7894
  @document = args[:document] if args.key?(:document)
7016
7895
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
7896
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
7017
7897
  @title = args[:title] if args.key?(:title)
7018
7898
  @uri = args[:uri] if args.key?(:uri)
7019
7899
  end
@@ -7033,6 +7913,12 @@ module Google
7033
7913
  # @return [String]
7034
7914
  attr_accessor :document
7035
7915
 
7916
+ # The structured JSON metadata for the document. It is populated from the struct
7917
+ # data from the Chunk in search result.
7918
+ # Corresponds to the JSON property `structData`
7919
+ # @return [Hash<String,Object>]
7920
+ attr_accessor :struct_data
7921
+
7036
7922
  # Title.
7037
7923
  # Corresponds to the JSON property `title`
7038
7924
  # @return [String]
@@ -7051,6 +7937,7 @@ module Google
7051
7937
  def update!(**args)
7052
7938
  @chunk_contents = args[:chunk_contents] if args.key?(:chunk_contents)
7053
7939
  @document = args[:document] if args.key?(:document)
7940
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
7054
7941
  @title = args[:title] if args.key?(:title)
7055
7942
  @uri = args[:uri] if args.key?(:uri)
7056
7943
  end
@@ -7211,20 +8098,270 @@ module Google
7211
8098
  class GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo
7212
8099
  include Google::Apis::Core::Hashable
7213
8100
 
7214
- # Chunk resource name.
7215
- # Corresponds to the JSON property `chunk`
8101
+ # Chunk resource name.
8102
+ # Corresponds to the JSON property `chunk`
8103
+ # @return [String]
8104
+ attr_accessor :chunk
8105
+
8106
+ # Chunk textual content.
8107
+ # Corresponds to the JSON property `content`
8108
+ # @return [String]
8109
+ attr_accessor :content
8110
+
8111
+ # Relevance score.
8112
+ # Corresponds to the JSON property `relevanceScore`
8113
+ # @return [Float]
8114
+ attr_accessor :relevance_score
8115
+
8116
+ def initialize(**args)
8117
+ update!(**args)
8118
+ end
8119
+
8120
+ # Update properties of this object
8121
+ def update!(**args)
8122
+ @chunk = args[:chunk] if args.key?(:chunk)
8123
+ @content = args[:content] if args.key?(:content)
8124
+ @relevance_score = args[:relevance_score] if args.key?(:relevance_score)
8125
+ end
8126
+ end
8127
+
8128
+ # Snippet information.
8129
+ class GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo
8130
+ include Google::Apis::Core::Hashable
8131
+
8132
+ # Snippet content.
8133
+ # Corresponds to the JSON property `snippet`
8134
+ # @return [String]
8135
+ attr_accessor :snippet
8136
+
8137
+ # Status of the snippet defined by the search team.
8138
+ # Corresponds to the JSON property `snippetStatus`
8139
+ # @return [String]
8140
+ attr_accessor :snippet_status
8141
+
8142
+ def initialize(**args)
8143
+ update!(**args)
8144
+ end
8145
+
8146
+ # Update properties of this object
8147
+ def update!(**args)
8148
+ @snippet = args[:snippet] if args.key?(:snippet)
8149
+ @snippet_status = args[:snippet_status] if args.key?(:snippet_status)
8150
+ end
8151
+ end
8152
+
8153
+ # Search action.
8154
+ class GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction
8155
+ include Google::Apis::Core::Hashable
8156
+
8157
+ # The query to search.
8158
+ # Corresponds to the JSON property `query`
8159
+ # @return [String]
8160
+ attr_accessor :query
8161
+
8162
+ def initialize(**args)
8163
+ update!(**args)
8164
+ end
8165
+
8166
+ # Update properties of this object
8167
+ def update!(**args)
8168
+ @query = args[:query] if args.key?(:query)
8169
+ end
8170
+ end
8171
+
8172
+ # Metadata related to the progress of the SiteSearchEngineService.
8173
+ # BatchCreateTargetSites operation. This will be returned by the google.
8174
+ # longrunning.Operation.metadata field.
8175
+ class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata
8176
+ include Google::Apis::Core::Hashable
8177
+
8178
+ # Operation create time.
8179
+ # Corresponds to the JSON property `createTime`
8180
+ # @return [String]
8181
+ attr_accessor :create_time
8182
+
8183
+ # Operation last update time. If the operation is done, this is also the finish
8184
+ # time.
8185
+ # Corresponds to the JSON property `updateTime`
8186
+ # @return [String]
8187
+ attr_accessor :update_time
8188
+
8189
+ def initialize(**args)
8190
+ update!(**args)
8191
+ end
8192
+
8193
+ # Update properties of this object
8194
+ def update!(**args)
8195
+ @create_time = args[:create_time] if args.key?(:create_time)
8196
+ @update_time = args[:update_time] if args.key?(:update_time)
8197
+ end
8198
+ end
8199
+
8200
+ # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
8201
+ class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse
8202
+ include Google::Apis::Core::Hashable
8203
+
8204
+ # TargetSites created.
8205
+ # Corresponds to the JSON property `targetSites`
8206
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaTargetSite>]
8207
+ attr_accessor :target_sites
8208
+
8209
+ def initialize(**args)
8210
+ update!(**args)
8211
+ end
8212
+
8213
+ # Update properties of this object
8214
+ def update!(**args)
8215
+ @target_sites = args[:target_sites] if args.key?(:target_sites)
8216
+ end
8217
+ end
8218
+
8219
+ # Defines circumstances to be checked before allowing a behavior
8220
+ class GoogleCloudDiscoveryengineV1alphaCondition
8221
+ include Google::Apis::Core::Hashable
8222
+
8223
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
8224
+ # ranges.
8225
+ # Corresponds to the JSON property `activeTimeRange`
8226
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaConditionTimeRange>]
8227
+ attr_accessor :active_time_range
8228
+
8229
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
8230
+ # Corresponds to the JSON property `queryTerms`
8231
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaConditionQueryTerm>]
8232
+ attr_accessor :query_terms
8233
+
8234
+ def initialize(**args)
8235
+ update!(**args)
8236
+ end
8237
+
8238
+ # Update properties of this object
8239
+ def update!(**args)
8240
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
8241
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
8242
+ end
8243
+ end
8244
+
8245
+ # Matcher for search request query
8246
+ class GoogleCloudDiscoveryengineV1alphaConditionQueryTerm
8247
+ include Google::Apis::Core::Hashable
8248
+
8249
+ # Whether the search query needs to exactly match the query term.
8250
+ # Corresponds to the JSON property `fullMatch`
8251
+ # @return [Boolean]
8252
+ attr_accessor :full_match
8253
+ alias_method :full_match?, :full_match
8254
+
8255
+ # The specific query value to match against Must be lowercase, must be UTF-8.
8256
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
8257
+ # empty string. Maximum length of 5000 characters.
8258
+ # Corresponds to the JSON property `value`
8259
+ # @return [String]
8260
+ attr_accessor :value
8261
+
8262
+ def initialize(**args)
8263
+ update!(**args)
8264
+ end
8265
+
8266
+ # Update properties of this object
8267
+ def update!(**args)
8268
+ @full_match = args[:full_match] if args.key?(:full_match)
8269
+ @value = args[:value] if args.key?(:value)
8270
+ end
8271
+ end
8272
+
8273
+ # Used for time-dependent conditions.
8274
+ class GoogleCloudDiscoveryengineV1alphaConditionTimeRange
8275
+ include Google::Apis::Core::Hashable
8276
+
8277
+ # End of time range. Range is inclusive. Must be in the future.
8278
+ # Corresponds to the JSON property `endTime`
8279
+ # @return [String]
8280
+ attr_accessor :end_time
8281
+
8282
+ # Start of time range. Range is inclusive.
8283
+ # Corresponds to the JSON property `startTime`
8284
+ # @return [String]
8285
+ attr_accessor :start_time
8286
+
8287
+ def initialize(**args)
8288
+ update!(**args)
8289
+ end
8290
+
8291
+ # Update properties of this object
8292
+ def update!(**args)
8293
+ @end_time = args[:end_time] if args.key?(:end_time)
8294
+ @start_time = args[:start_time] if args.key?(:start_time)
8295
+ end
8296
+ end
8297
+
8298
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
8299
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
8300
+ # `SolutionType`.
8301
+ class GoogleCloudDiscoveryengineV1alphaControl
8302
+ include Google::Apis::Core::Hashable
8303
+
8304
+ # Output only. List of all ServingConfig ids this control is attached to. May
8305
+ # take up to 10 minutes to update after changes.
8306
+ # Corresponds to the JSON property `associatedServingConfigIds`
8307
+ # @return [Array<String>]
8308
+ attr_accessor :associated_serving_config_ids
8309
+
8310
+ # Adjusts order of products in returned list.
8311
+ # Corresponds to the JSON property `boostAction`
8312
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlBoostAction]
8313
+ attr_accessor :boost_action
8314
+
8315
+ # Determines when the associated action will trigger. Omit to always apply the
8316
+ # action. Currently only a single condition may be specified. Otherwise an
8317
+ # INVALID ARGUMENT error is thrown.
8318
+ # Corresponds to the JSON property `conditions`
8319
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaCondition>]
8320
+ attr_accessor :conditions
8321
+
8322
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
8323
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
8324
+ # error is thrown.
8325
+ # Corresponds to the JSON property `displayName`
7216
8326
  # @return [String]
7217
- attr_accessor :chunk
8327
+ attr_accessor :display_name
7218
8328
 
7219
- # Chunk textual content.
7220
- # Corresponds to the JSON property `content`
8329
+ # Specified which products may be included in results. Uses same filter as boost.
8330
+ # Corresponds to the JSON property `filterAction`
8331
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlFilterAction]
8332
+ attr_accessor :filter_action
8333
+
8334
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
8335
+ # controls/*`
8336
+ # Corresponds to the JSON property `name`
7221
8337
  # @return [String]
7222
- attr_accessor :content
8338
+ attr_accessor :name
7223
8339
 
7224
- # Relevance score.
7225
- # Corresponds to the JSON property `relevanceScore`
7226
- # @return [Float]
7227
- attr_accessor :relevance_score
8340
+ # Redirects a shopper to the provided URI.
8341
+ # Corresponds to the JSON property `redirectAction`
8342
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlRedirectAction]
8343
+ attr_accessor :redirect_action
8344
+
8345
+ # Required. Immutable. What solution the control belongs to. Must be compatible
8346
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
8347
+ # Corresponds to the JSON property `solutionType`
8348
+ # @return [String]
8349
+ attr_accessor :solution_type
8350
+
8351
+ # Creates a set of terms that will act as synonyms of one another. Example: "
8352
+ # happy" will also be considered as "glad", "glad" will also be considered as "
8353
+ # happy".
8354
+ # Corresponds to the JSON property `synonymsAction`
8355
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlSynonymsAction]
8356
+ attr_accessor :synonyms_action
8357
+
8358
+ # Specifies the use case for the control. Affects what condition fields can be
8359
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
8360
+ # per control. Must be set when solution_type is SolutionType.
8361
+ # SOLUTION_TYPE_SEARCH.
8362
+ # Corresponds to the JSON property `useCases`
8363
+ # @return [Array<String>]
8364
+ attr_accessor :use_cases
7228
8365
 
7229
8366
  def initialize(**args)
7230
8367
  update!(**args)
@@ -7232,25 +8369,43 @@ module Google
7232
8369
 
7233
8370
  # Update properties of this object
7234
8371
  def update!(**args)
7235
- @chunk = args[:chunk] if args.key?(:chunk)
7236
- @content = args[:content] if args.key?(:content)
7237
- @relevance_score = args[:relevance_score] if args.key?(:relevance_score)
8372
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
8373
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
8374
+ @conditions = args[:conditions] if args.key?(:conditions)
8375
+ @display_name = args[:display_name] if args.key?(:display_name)
8376
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
8377
+ @name = args[:name] if args.key?(:name)
8378
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
8379
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
8380
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
8381
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
7238
8382
  end
7239
8383
  end
7240
8384
 
7241
- # Snippet information.
7242
- class GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo
8385
+ # Adjusts order of products in returned list.
8386
+ class GoogleCloudDiscoveryengineV1alphaControlBoostAction
7243
8387
  include Google::Apis::Core::Hashable
7244
8388
 
7245
- # Snippet content.
7246
- # Corresponds to the JSON property `snippet`
8389
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
8390
+ # means demotion. Default is 0.0 (No-op).
8391
+ # Corresponds to the JSON property `boost`
8392
+ # @return [Float]
8393
+ attr_accessor :boost
8394
+
8395
+ # Required. Specifies which data store's documents can be boosted by this
8396
+ # control. Full data store name e.g. projects/123/locations/global/collections/
8397
+ # default_collection/dataStores/default_data_store
8398
+ # Corresponds to the JSON property `dataStore`
7247
8399
  # @return [String]
7248
- attr_accessor :snippet
8400
+ attr_accessor :data_store
7249
8401
 
7250
- # Status of the snippet defined by the search team.
7251
- # Corresponds to the JSON property `snippetStatus`
8402
+ # Required. Specifies which products to apply the boost to. If no filter is
8403
+ # provided all products will be boosted (No-op). Syntax documentation: https://
8404
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
8405
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
8406
+ # Corresponds to the JSON property `filter`
7252
8407
  # @return [String]
7253
- attr_accessor :snippet_status
8408
+ attr_accessor :filter
7254
8409
 
7255
8410
  def initialize(**args)
7256
8411
  update!(**args)
@@ -7258,19 +8413,29 @@ module Google
7258
8413
 
7259
8414
  # Update properties of this object
7260
8415
  def update!(**args)
7261
- @snippet = args[:snippet] if args.key?(:snippet)
7262
- @snippet_status = args[:snippet_status] if args.key?(:snippet_status)
8416
+ @boost = args[:boost] if args.key?(:boost)
8417
+ @data_store = args[:data_store] if args.key?(:data_store)
8418
+ @filter = args[:filter] if args.key?(:filter)
7263
8419
  end
7264
8420
  end
7265
8421
 
7266
- # Search action.
7267
- class GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction
8422
+ # Specified which products may be included in results. Uses same filter as boost.
8423
+ class GoogleCloudDiscoveryengineV1alphaControlFilterAction
7268
8424
  include Google::Apis::Core::Hashable
7269
8425
 
7270
- # The query to search.
7271
- # Corresponds to the JSON property `query`
8426
+ # Required. Specifies which data store's documents can be filtered by this
8427
+ # control. Full data store name e.g. projects/123/locations/global/collections/
8428
+ # default_collection/dataStores/default_data_store
8429
+ # Corresponds to the JSON property `dataStore`
7272
8430
  # @return [String]
7273
- attr_accessor :query
8431
+ attr_accessor :data_store
8432
+
8433
+ # Required. A filter to apply on the matching condition results. Required Syntax
8434
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
8435
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
8436
+ # Corresponds to the JSON property `filter`
8437
+ # @return [String]
8438
+ attr_accessor :filter
7274
8439
 
7275
8440
  def initialize(**args)
7276
8441
  update!(**args)
@@ -7278,26 +8443,21 @@ module Google
7278
8443
 
7279
8444
  # Update properties of this object
7280
8445
  def update!(**args)
7281
- @query = args[:query] if args.key?(:query)
8446
+ @data_store = args[:data_store] if args.key?(:data_store)
8447
+ @filter = args[:filter] if args.key?(:filter)
7282
8448
  end
7283
8449
  end
7284
8450
 
7285
- # Metadata related to the progress of the SiteSearchEngineService.
7286
- # BatchCreateTargetSites operation. This will be returned by the google.
7287
- # longrunning.Operation.metadata field.
7288
- class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata
8451
+ # Redirects a shopper to the provided URI.
8452
+ class GoogleCloudDiscoveryengineV1alphaControlRedirectAction
7289
8453
  include Google::Apis::Core::Hashable
7290
8454
 
7291
- # Operation create time.
7292
- # Corresponds to the JSON property `createTime`
7293
- # @return [String]
7294
- attr_accessor :create_time
7295
-
7296
- # Operation last update time. If the operation is done, this is also the finish
7297
- # time.
7298
- # Corresponds to the JSON property `updateTime`
8455
+ # Required. The URI to which the shopper will be redirected. Required. URI must
8456
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
8457
+ # error is thrown.
8458
+ # Corresponds to the JSON property `redirectUri`
7299
8459
  # @return [String]
7300
- attr_accessor :update_time
8460
+ attr_accessor :redirect_uri
7301
8461
 
7302
8462
  def initialize(**args)
7303
8463
  update!(**args)
@@ -7305,19 +8465,21 @@ module Google
7305
8465
 
7306
8466
  # Update properties of this object
7307
8467
  def update!(**args)
7308
- @create_time = args[:create_time] if args.key?(:create_time)
7309
- @update_time = args[:update_time] if args.key?(:update_time)
8468
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7310
8469
  end
7311
8470
  end
7312
8471
 
7313
- # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
7314
- class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse
8472
+ # Creates a set of terms that will act as synonyms of one another. Example: "
8473
+ # happy" will also be considered as "glad", "glad" will also be considered as "
8474
+ # happy".
8475
+ class GoogleCloudDiscoveryengineV1alphaControlSynonymsAction
7315
8476
  include Google::Apis::Core::Hashable
7316
8477
 
7317
- # TargetSites created.
7318
- # Corresponds to the JSON property `targetSites`
7319
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaTargetSite>]
7320
- attr_accessor :target_sites
8478
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
8479
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
8480
+ # Corresponds to the JSON property `synonyms`
8481
+ # @return [Array<String>]
8482
+ attr_accessor :synonyms
7321
8483
 
7322
8484
  def initialize(**args)
7323
8485
  update!(**args)
@@ -7325,7 +8487,7 @@ module Google
7325
8487
 
7326
8488
  # Update properties of this object
7327
8489
  def update!(**args)
7328
- @target_sites = args[:target_sites] if args.key?(:target_sites)
8490
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
7329
8491
  end
7330
8492
  end
7331
8493
 
@@ -7457,7 +8619,7 @@ module Google
7457
8619
  # @return [String]
7458
8620
  attr_accessor :model_state
7459
8621
 
7460
- #
8622
+ # The version of the model.
7461
8623
  # Corresponds to the JSON property `modelVersion`
7462
8624
  # @return [Fixnum]
7463
8625
  attr_accessor :model_version
@@ -8170,8 +9332,8 @@ module Google
8170
9332
  class GoogleCloudDiscoveryengineV1alphaEngineCommonConfig
8171
9333
  include Google::Apis::Core::Hashable
8172
9334
 
8173
- # Immutable. The name of the company, business or entity that is associated with
8174
- # the engine. Setting this may help improve LLM related features.
9335
+ # The name of the company, business or entity that is associated with the engine.
9336
+ # Setting this may help improve LLM related features.
8175
9337
  # Corresponds to the JSON property `companyName`
8176
9338
  # @return [String]
8177
9339
  attr_accessor :company_name
@@ -8489,6 +9651,17 @@ module Google
8489
9651
  # @return [String]
8490
9652
  attr_accessor :retrievable_option
8491
9653
 
9654
+ # Field paths for indexing custom attribute from schema.org data. More details
9655
+ # of schema.org and its defined types can be found at [schema.org](https://
9656
+ # schema.org). It is only used on advanced site search schema. Currently only
9657
+ # support full path from root. The full path to a field is constructed by
9658
+ # concatenating field names, starting from `_root`, with a period `.` as the
9659
+ # delimiter. Examples: * Publish date of the root: _root.datePublished * Publish
9660
+ # date of the reviews: _root.review.datePublished
9661
+ # Corresponds to the JSON property `schemaOrgPaths`
9662
+ # @return [Array<String>]
9663
+ attr_accessor :schema_org_paths
9664
+
8492
9665
  # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by
8493
9666
  # text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is
8494
9667
  # numerical, field values will not be searchable by text queries in
@@ -8518,6 +9691,7 @@ module Google
8518
9691
  @key_property_type = args[:key_property_type] if args.key?(:key_property_type)
8519
9692
  @recs_filterable_option = args[:recs_filterable_option] if args.key?(:recs_filterable_option)
8520
9693
  @retrievable_option = args[:retrievable_option] if args.key?(:retrievable_option)
9694
+ @schema_org_paths = args[:schema_org_paths] if args.key?(:schema_org_paths)
8521
9695
  @searchable_option = args[:searchable_option] if args.key?(:searchable_option)
8522
9696
  end
8523
9697
  end
@@ -9622,37 +10796,314 @@ module Google
9622
10796
 
9623
10797
  # Update properties of this object
9624
10798
  def update!(**args)
9625
- @engine = args[:engine] if args.key?(:engine)
10799
+ @engine = args[:engine] if args.key?(:engine)
10800
+ end
10801
+ end
10802
+
10803
+ # Response associated with a tune operation.
10804
+ class GoogleCloudDiscoveryengineV1alphaTuneEngineResponse
10805
+ include Google::Apis::Core::Hashable
10806
+
10807
+ def initialize(**args)
10808
+ update!(**args)
10809
+ end
10810
+
10811
+ # Update properties of this object
10812
+ def update!(**args)
10813
+ end
10814
+ end
10815
+
10816
+ # Metadata for UpdateSchema LRO.
10817
+ class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata
10818
+ include Google::Apis::Core::Hashable
10819
+
10820
+ # Operation create time.
10821
+ # Corresponds to the JSON property `createTime`
10822
+ # @return [String]
10823
+ attr_accessor :create_time
10824
+
10825
+ # Operation last update time. If the operation is done, this is also the finish
10826
+ # time.
10827
+ # Corresponds to the JSON property `updateTime`
10828
+ # @return [String]
10829
+ attr_accessor :update_time
10830
+
10831
+ def initialize(**args)
10832
+ update!(**args)
10833
+ end
10834
+
10835
+ # Update properties of this object
10836
+ def update!(**args)
10837
+ @create_time = args[:create_time] if args.key?(:create_time)
10838
+ @update_time = args[:update_time] if args.key?(:update_time)
10839
+ end
10840
+ end
10841
+
10842
+ # Metadata related to the progress of the SiteSearchEngineService.
10843
+ # UpdateTargetSite operation. This will be returned by the google.longrunning.
10844
+ # Operation.metadata field.
10845
+ class GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata
10846
+ include Google::Apis::Core::Hashable
10847
+
10848
+ # Operation create time.
10849
+ # Corresponds to the JSON property `createTime`
10850
+ # @return [String]
10851
+ attr_accessor :create_time
10852
+
10853
+ # Operation last update time. If the operation is done, this is also the finish
10854
+ # time.
10855
+ # Corresponds to the JSON property `updateTime`
10856
+ # @return [String]
10857
+ attr_accessor :update_time
10858
+
10859
+ def initialize(**args)
10860
+ update!(**args)
10861
+ end
10862
+
10863
+ # Update properties of this object
10864
+ def update!(**args)
10865
+ @create_time = args[:create_time] if args.key?(:create_time)
10866
+ @update_time = args[:update_time] if args.key?(:update_time)
10867
+ end
10868
+ end
10869
+
10870
+ # Metadata related to the progress of the SiteSearchEngineService.
10871
+ # BatchCreateTargetSites operation. This will be returned by the google.
10872
+ # longrunning.Operation.metadata field.
10873
+ class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata
10874
+ include Google::Apis::Core::Hashable
10875
+
10876
+ # Operation create time.
10877
+ # Corresponds to the JSON property `createTime`
10878
+ # @return [String]
10879
+ attr_accessor :create_time
10880
+
10881
+ # Operation last update time. If the operation is done, this is also the finish
10882
+ # time.
10883
+ # Corresponds to the JSON property `updateTime`
10884
+ # @return [String]
10885
+ attr_accessor :update_time
10886
+
10887
+ def initialize(**args)
10888
+ update!(**args)
10889
+ end
10890
+
10891
+ # Update properties of this object
10892
+ def update!(**args)
10893
+ @create_time = args[:create_time] if args.key?(:create_time)
10894
+ @update_time = args[:update_time] if args.key?(:update_time)
10895
+ end
10896
+ end
10897
+
10898
+ # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
10899
+ class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse
10900
+ include Google::Apis::Core::Hashable
10901
+
10902
+ # TargetSites created.
10903
+ # Corresponds to the JSON property `targetSites`
10904
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaTargetSite>]
10905
+ attr_accessor :target_sites
10906
+
10907
+ def initialize(**args)
10908
+ update!(**args)
10909
+ end
10910
+
10911
+ # Update properties of this object
10912
+ def update!(**args)
10913
+ @target_sites = args[:target_sites] if args.key?(:target_sites)
10914
+ end
10915
+ end
10916
+
10917
+ # Defines circumstances to be checked before allowing a behavior
10918
+ class GoogleCloudDiscoveryengineV1betaCondition
10919
+ include Google::Apis::Core::Hashable
10920
+
10921
+ # Range of time(s) specifying when condition is active. Maximum of 10 time
10922
+ # ranges.
10923
+ # Corresponds to the JSON property `activeTimeRange`
10924
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaConditionTimeRange>]
10925
+ attr_accessor :active_time_range
10926
+
10927
+ # Search only A list of terms to match the query on. Maximum of 10 query terms.
10928
+ # Corresponds to the JSON property `queryTerms`
10929
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaConditionQueryTerm>]
10930
+ attr_accessor :query_terms
10931
+
10932
+ def initialize(**args)
10933
+ update!(**args)
10934
+ end
10935
+
10936
+ # Update properties of this object
10937
+ def update!(**args)
10938
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
10939
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
10940
+ end
10941
+ end
10942
+
10943
+ # Matcher for search request query
10944
+ class GoogleCloudDiscoveryengineV1betaConditionQueryTerm
10945
+ include Google::Apis::Core::Hashable
10946
+
10947
+ # Whether the search query needs to exactly match the query term.
10948
+ # Corresponds to the JSON property `fullMatch`
10949
+ # @return [Boolean]
10950
+ attr_accessor :full_match
10951
+ alias_method :full_match?, :full_match
10952
+
10953
+ # The specific query value to match against Must be lowercase, must be UTF-8.
10954
+ # Can have at most 3 space separated terms if full_match is true. Cannot be an
10955
+ # empty string. Maximum length of 5000 characters.
10956
+ # Corresponds to the JSON property `value`
10957
+ # @return [String]
10958
+ attr_accessor :value
10959
+
10960
+ def initialize(**args)
10961
+ update!(**args)
10962
+ end
10963
+
10964
+ # Update properties of this object
10965
+ def update!(**args)
10966
+ @full_match = args[:full_match] if args.key?(:full_match)
10967
+ @value = args[:value] if args.key?(:value)
10968
+ end
10969
+ end
10970
+
10971
+ # Used for time-dependent conditions.
10972
+ class GoogleCloudDiscoveryengineV1betaConditionTimeRange
10973
+ include Google::Apis::Core::Hashable
10974
+
10975
+ # End of time range. Range is inclusive. Must be in the future.
10976
+ # Corresponds to the JSON property `endTime`
10977
+ # @return [String]
10978
+ attr_accessor :end_time
10979
+
10980
+ # Start of time range. Range is inclusive.
10981
+ # Corresponds to the JSON property `startTime`
10982
+ # @return [String]
10983
+ attr_accessor :start_time
10984
+
10985
+ def initialize(**args)
10986
+ update!(**args)
10987
+ end
10988
+
10989
+ # Update properties of this object
10990
+ def update!(**args)
10991
+ @end_time = args[:end_time] if args.key?(:end_time)
10992
+ @start_time = args[:start_time] if args.key?(:start_time)
9626
10993
  end
9627
10994
  end
9628
10995
 
9629
- # Response associated with a tune operation.
9630
- class GoogleCloudDiscoveryengineV1alphaTuneEngineResponse
10996
+ # Defines a conditioned behavior to employ during serving. Must be attached to a
10997
+ # ServingConfig to be considered at serving time. Permitted actions dependent on
10998
+ # `SolutionType`.
10999
+ class GoogleCloudDiscoveryengineV1betaControl
9631
11000
  include Google::Apis::Core::Hashable
9632
11001
 
11002
+ # Output only. List of all ServingConfig ids this control is attached to. May
11003
+ # take up to 10 minutes to update after changes.
11004
+ # Corresponds to the JSON property `associatedServingConfigIds`
11005
+ # @return [Array<String>]
11006
+ attr_accessor :associated_serving_config_ids
11007
+
11008
+ # Adjusts order of products in returned list.
11009
+ # Corresponds to the JSON property `boostAction`
11010
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlBoostAction]
11011
+ attr_accessor :boost_action
11012
+
11013
+ # Determines when the associated action will trigger. Omit to always apply the
11014
+ # action. Currently only a single condition may be specified. Otherwise an
11015
+ # INVALID ARGUMENT error is thrown.
11016
+ # Corresponds to the JSON property `conditions`
11017
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaCondition>]
11018
+ attr_accessor :conditions
11019
+
11020
+ # Required. Human readable name. The identifier used in UI views. Must be UTF-8
11021
+ # encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT
11022
+ # error is thrown.
11023
+ # Corresponds to the JSON property `displayName`
11024
+ # @return [String]
11025
+ attr_accessor :display_name
11026
+
11027
+ # Specified which products may be included in results. Uses same filter as boost.
11028
+ # Corresponds to the JSON property `filterAction`
11029
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlFilterAction]
11030
+ attr_accessor :filter_action
11031
+
11032
+ # Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/
11033
+ # controls/*`
11034
+ # Corresponds to the JSON property `name`
11035
+ # @return [String]
11036
+ attr_accessor :name
11037
+
11038
+ # Redirects a shopper to the provided URI.
11039
+ # Corresponds to the JSON property `redirectAction`
11040
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlRedirectAction]
11041
+ attr_accessor :redirect_action
11042
+
11043
+ # Required. Immutable. What solution the control belongs to. Must be compatible
11044
+ # with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.
11045
+ # Corresponds to the JSON property `solutionType`
11046
+ # @return [String]
11047
+ attr_accessor :solution_type
11048
+
11049
+ # Creates a set of terms that will act as synonyms of one another. Example: "
11050
+ # happy" will also be considered as "glad", "glad" will also be considered as "
11051
+ # happy".
11052
+ # Corresponds to the JSON property `synonymsAction`
11053
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlSynonymsAction]
11054
+ attr_accessor :synonyms_action
11055
+
11056
+ # Specifies the use case for the control. Affects what condition fields can be
11057
+ # set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case
11058
+ # per control. Must be set when solution_type is SolutionType.
11059
+ # SOLUTION_TYPE_SEARCH.
11060
+ # Corresponds to the JSON property `useCases`
11061
+ # @return [Array<String>]
11062
+ attr_accessor :use_cases
11063
+
9633
11064
  def initialize(**args)
9634
11065
  update!(**args)
9635
11066
  end
9636
11067
 
9637
11068
  # Update properties of this object
9638
11069
  def update!(**args)
11070
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
11071
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
11072
+ @conditions = args[:conditions] if args.key?(:conditions)
11073
+ @display_name = args[:display_name] if args.key?(:display_name)
11074
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
11075
+ @name = args[:name] if args.key?(:name)
11076
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
11077
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
11078
+ @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
11079
+ @use_cases = args[:use_cases] if args.key?(:use_cases)
9639
11080
  end
9640
11081
  end
9641
11082
 
9642
- # Metadata for UpdateSchema LRO.
9643
- class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata
11083
+ # Adjusts order of products in returned list.
11084
+ class GoogleCloudDiscoveryengineV1betaControlBoostAction
9644
11085
  include Google::Apis::Core::Hashable
9645
11086
 
9646
- # Operation create time.
9647
- # Corresponds to the JSON property `createTime`
11087
+ # Required. Strength of the boost, which should be in [-1, 1]. Negative boost
11088
+ # means demotion. Default is 0.0 (No-op).
11089
+ # Corresponds to the JSON property `boost`
11090
+ # @return [Float]
11091
+ attr_accessor :boost
11092
+
11093
+ # Required. Specifies which data store's documents can be boosted by this
11094
+ # control. Full data store name e.g. projects/123/locations/global/collections/
11095
+ # default_collection/dataStores/default_data_store
11096
+ # Corresponds to the JSON property `dataStore`
9648
11097
  # @return [String]
9649
- attr_accessor :create_time
11098
+ attr_accessor :data_store
9650
11099
 
9651
- # Operation last update time. If the operation is done, this is also the finish
9652
- # time.
9653
- # Corresponds to the JSON property `updateTime`
11100
+ # Required. Specifies which products to apply the boost to. If no filter is
11101
+ # provided all products will be boosted (No-op). Syntax documentation: https://
11102
+ # cloud.google.com/retail/docs/filter-and-order Maximum length is 5000
11103
+ # characters. Otherwise an INVALID ARGUMENT error is thrown.
11104
+ # Corresponds to the JSON property `filter`
9654
11105
  # @return [String]
9655
- attr_accessor :update_time
11106
+ attr_accessor :filter
9656
11107
 
9657
11108
  def initialize(**args)
9658
11109
  update!(**args)
@@ -9660,27 +11111,29 @@ module Google
9660
11111
 
9661
11112
  # Update properties of this object
9662
11113
  def update!(**args)
9663
- @create_time = args[:create_time] if args.key?(:create_time)
9664
- @update_time = args[:update_time] if args.key?(:update_time)
11114
+ @boost = args[:boost] if args.key?(:boost)
11115
+ @data_store = args[:data_store] if args.key?(:data_store)
11116
+ @filter = args[:filter] if args.key?(:filter)
9665
11117
  end
9666
11118
  end
9667
11119
 
9668
- # Metadata related to the progress of the SiteSearchEngineService.
9669
- # UpdateTargetSite operation. This will be returned by the google.longrunning.
9670
- # Operation.metadata field.
9671
- class GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata
11120
+ # Specified which products may be included in results. Uses same filter as boost.
11121
+ class GoogleCloudDiscoveryengineV1betaControlFilterAction
9672
11122
  include Google::Apis::Core::Hashable
9673
11123
 
9674
- # Operation create time.
9675
- # Corresponds to the JSON property `createTime`
11124
+ # Required. Specifies which data store's documents can be filtered by this
11125
+ # control. Full data store name e.g. projects/123/locations/global/collections/
11126
+ # default_collection/dataStores/default_data_store
11127
+ # Corresponds to the JSON property `dataStore`
9676
11128
  # @return [String]
9677
- attr_accessor :create_time
11129
+ attr_accessor :data_store
9678
11130
 
9679
- # Operation last update time. If the operation is done, this is also the finish
9680
- # time.
9681
- # Corresponds to the JSON property `updateTime`
11131
+ # Required. A filter to apply on the matching condition results. Required Syntax
11132
+ # documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum
11133
+ # length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.
11134
+ # Corresponds to the JSON property `filter`
9682
11135
  # @return [String]
9683
- attr_accessor :update_time
11136
+ attr_accessor :filter
9684
11137
 
9685
11138
  def initialize(**args)
9686
11139
  update!(**args)
@@ -9688,27 +11141,21 @@ module Google
9688
11141
 
9689
11142
  # Update properties of this object
9690
11143
  def update!(**args)
9691
- @create_time = args[:create_time] if args.key?(:create_time)
9692
- @update_time = args[:update_time] if args.key?(:update_time)
11144
+ @data_store = args[:data_store] if args.key?(:data_store)
11145
+ @filter = args[:filter] if args.key?(:filter)
9693
11146
  end
9694
11147
  end
9695
11148
 
9696
- # Metadata related to the progress of the SiteSearchEngineService.
9697
- # BatchCreateTargetSites operation. This will be returned by the google.
9698
- # longrunning.Operation.metadata field.
9699
- class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata
11149
+ # Redirects a shopper to the provided URI.
11150
+ class GoogleCloudDiscoveryengineV1betaControlRedirectAction
9700
11151
  include Google::Apis::Core::Hashable
9701
11152
 
9702
- # Operation create time.
9703
- # Corresponds to the JSON property `createTime`
9704
- # @return [String]
9705
- attr_accessor :create_time
9706
-
9707
- # Operation last update time. If the operation is done, this is also the finish
9708
- # time.
9709
- # Corresponds to the JSON property `updateTime`
11153
+ # Required. The URI to which the shopper will be redirected. Required. URI must
11154
+ # have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT
11155
+ # error is thrown.
11156
+ # Corresponds to the JSON property `redirectUri`
9710
11157
  # @return [String]
9711
- attr_accessor :update_time
11158
+ attr_accessor :redirect_uri
9712
11159
 
9713
11160
  def initialize(**args)
9714
11161
  update!(**args)
@@ -9716,19 +11163,21 @@ module Google
9716
11163
 
9717
11164
  # Update properties of this object
9718
11165
  def update!(**args)
9719
- @create_time = args[:create_time] if args.key?(:create_time)
9720
- @update_time = args[:update_time] if args.key?(:update_time)
11166
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
9721
11167
  end
9722
11168
  end
9723
11169
 
9724
- # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
9725
- class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse
11170
+ # Creates a set of terms that will act as synonyms of one another. Example: "
11171
+ # happy" will also be considered as "glad", "glad" will also be considered as "
11172
+ # happy".
11173
+ class GoogleCloudDiscoveryengineV1betaControlSynonymsAction
9726
11174
  include Google::Apis::Core::Hashable
9727
11175
 
9728
- # TargetSites created.
9729
- # Corresponds to the JSON property `targetSites`
9730
- # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaTargetSite>]
9731
- attr_accessor :target_sites
11176
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
11177
+ # least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.
11178
+ # Corresponds to the JSON property `synonyms`
11179
+ # @return [Array<String>]
11180
+ attr_accessor :synonyms
9732
11181
 
9733
11182
  def initialize(**args)
9734
11183
  update!(**args)
@@ -9736,7 +11185,7 @@ module Google
9736
11185
 
9737
11186
  # Update properties of this object
9738
11187
  def update!(**args)
9739
- @target_sites = args[:target_sites] if args.key?(:target_sites)
11188
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
9740
11189
  end
9741
11190
  end
9742
11191
 
@@ -9868,7 +11317,7 @@ module Google
9868
11317
  # @return [String]
9869
11318
  attr_accessor :model_state
9870
11319
 
9871
- #
11320
+ # The version of the model.
9872
11321
  # Corresponds to the JSON property `modelVersion`
9873
11322
  # @return [Fixnum]
9874
11323
  attr_accessor :model_version
@@ -10135,6 +11584,11 @@ module Google
10135
11584
  class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig
10136
11585
  include Google::Apis::Core::Hashable
10137
11586
 
11587
+ # Configuration for chunking config.
11588
+ # Corresponds to the JSON property `chunkingConfig`
11589
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig]
11590
+ attr_accessor :chunking_config
11591
+
10138
11592
  # Related configurations applied to a specific type of document parser.
10139
11593
  # Corresponds to the JSON property `defaultParsingConfig`
10140
11594
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig]
@@ -10162,12 +11616,60 @@ module Google
10162
11616
 
10163
11617
  # Update properties of this object
10164
11618
  def update!(**args)
11619
+ @chunking_config = args[:chunking_config] if args.key?(:chunking_config)
10165
11620
  @default_parsing_config = args[:default_parsing_config] if args.key?(:default_parsing_config)
10166
11621
  @name = args[:name] if args.key?(:name)
10167
11622
  @parsing_config_overrides = args[:parsing_config_overrides] if args.key?(:parsing_config_overrides)
10168
11623
  end
10169
11624
  end
10170
11625
 
11626
+ # Configuration for chunking config.
11627
+ class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig
11628
+ include Google::Apis::Core::Hashable
11629
+
11630
+ # Configuration for the layout based chunking.
11631
+ # Corresponds to the JSON property `layoutBasedChunkingConfig`
11632
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig]
11633
+ attr_accessor :layout_based_chunking_config
11634
+
11635
+ def initialize(**args)
11636
+ update!(**args)
11637
+ end
11638
+
11639
+ # Update properties of this object
11640
+ def update!(**args)
11641
+ @layout_based_chunking_config = args[:layout_based_chunking_config] if args.key?(:layout_based_chunking_config)
11642
+ end
11643
+ end
11644
+
11645
+ # Configuration for the layout based chunking.
11646
+ class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig
11647
+ include Google::Apis::Core::Hashable
11648
+
11649
+ # The token size limit for each chunk. Supported values: 100-500 (inclusive).
11650
+ # Default value: 500.
11651
+ # Corresponds to the JSON property `chunkSize`
11652
+ # @return [Fixnum]
11653
+ attr_accessor :chunk_size
11654
+
11655
+ # Whether to include appending different levels of headings to chunks from the
11656
+ # middle of the document to prevent context loss. Default value: False.
11657
+ # Corresponds to the JSON property `includeAncestorHeadings`
11658
+ # @return [Boolean]
11659
+ attr_accessor :include_ancestor_headings
11660
+ alias_method :include_ancestor_headings?, :include_ancestor_headings
11661
+
11662
+ def initialize(**args)
11663
+ update!(**args)
11664
+ end
11665
+
11666
+ # Update properties of this object
11667
+ def update!(**args)
11668
+ @chunk_size = args[:chunk_size] if args.key?(:chunk_size)
11669
+ @include_ancestor_headings = args[:include_ancestor_headings] if args.key?(:include_ancestor_headings)
11670
+ end
11671
+ end
11672
+
10171
11673
  # Related configurations applied to a specific type of document parser.
10172
11674
  class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig
10173
11675
  include Google::Apis::Core::Hashable
@@ -10177,6 +11679,11 @@ module Google
10177
11679
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig]
10178
11680
  attr_accessor :digital_parsing_config
10179
11681
 
11682
+ # The layout parsing configurations for documents.
11683
+ # Corresponds to the JSON property `layoutParsingConfig`
11684
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig]
11685
+ attr_accessor :layout_parsing_config
11686
+
10180
11687
  # The OCR parsing configurations for documents.
10181
11688
  # Corresponds to the JSON property `ocrParsingConfig`
10182
11689
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig]
@@ -10189,6 +11696,7 @@ module Google
10189
11696
  # Update properties of this object
10190
11697
  def update!(**args)
10191
11698
  @digital_parsing_config = args[:digital_parsing_config] if args.key?(:digital_parsing_config)
11699
+ @layout_parsing_config = args[:layout_parsing_config] if args.key?(:layout_parsing_config)
10192
11700
  @ocr_parsing_config = args[:ocr_parsing_config] if args.key?(:ocr_parsing_config)
10193
11701
  end
10194
11702
  end
@@ -10206,6 +11714,19 @@ module Google
10206
11714
  end
10207
11715
  end
10208
11716
 
11717
+ # The layout parsing configurations for documents.
11718
+ class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig
11719
+ include Google::Apis::Core::Hashable
11720
+
11721
+ def initialize(**args)
11722
+ update!(**args)
11723
+ end
11724
+
11725
+ # Update properties of this object
11726
+ def update!(**args)
11727
+ end
11728
+ end
11729
+
10209
11730
  # The OCR parsing configurations for documents.
10210
11731
  class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig
10211
11732
  include Google::Apis::Core::Hashable
@@ -10473,8 +11994,8 @@ module Google
10473
11994
  class GoogleCloudDiscoveryengineV1betaEngineCommonConfig
10474
11995
  include Google::Apis::Core::Hashable
10475
11996
 
10476
- # Immutable. The name of the company, business or entity that is associated with
10477
- # the engine. Setting this may help improve LLM related features.
11997
+ # The name of the company, business or entity that is associated with the engine.
11998
+ # Setting this may help improve LLM related features.
10478
11999
  # Corresponds to the JSON property `companyName`
10479
12000
  # @return [String]
10480
12001
  attr_accessor :company_name
@@ -10765,6 +12286,108 @@ module Google
10765
12286
  end
10766
12287
  end
10767
12288
 
12289
+ # Metadata and configurations for a Google Cloud project in the service.
12290
+ class GoogleCloudDiscoveryengineV1betaProject
12291
+ include Google::Apis::Core::Hashable
12292
+
12293
+ # Output only. The timestamp when this project is created.
12294
+ # Corresponds to the JSON property `createTime`
12295
+ # @return [String]
12296
+ attr_accessor :create_time
12297
+
12298
+ # Output only. Full resource name of the project, for example `projects/`
12299
+ # project_number``. Note that when making requests, project number and project
12300
+ # id are both acceptable, but the server will always respond in project number.
12301
+ # Corresponds to the JSON property `name`
12302
+ # @return [String]
12303
+ attr_accessor :name
12304
+
12305
+ # Output only. The timestamp when this project is successfully provisioned.
12306
+ # Empty value means this project is still provisioning and is not ready for use.
12307
+ # Corresponds to the JSON property `provisionCompletionTime`
12308
+ # @return [String]
12309
+ attr_accessor :provision_completion_time
12310
+
12311
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
12312
+ # Corresponds to the JSON property `serviceTermsMap`
12313
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaProjectServiceTerms>]
12314
+ attr_accessor :service_terms_map
12315
+
12316
+ def initialize(**args)
12317
+ update!(**args)
12318
+ end
12319
+
12320
+ # Update properties of this object
12321
+ def update!(**args)
12322
+ @create_time = args[:create_time] if args.key?(:create_time)
12323
+ @name = args[:name] if args.key?(:name)
12324
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
12325
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
12326
+ end
12327
+ end
12328
+
12329
+ # Metadata about the terms of service.
12330
+ class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
12331
+ include Google::Apis::Core::Hashable
12332
+
12333
+ # The last time when the project agreed to the terms of service.
12334
+ # Corresponds to the JSON property `acceptTime`
12335
+ # @return [String]
12336
+ attr_accessor :accept_time
12337
+
12338
+ # The last time when the project declined or revoked the agreement to terms of
12339
+ # service.
12340
+ # Corresponds to the JSON property `declineTime`
12341
+ # @return [String]
12342
+ attr_accessor :decline_time
12343
+
12344
+ # The unique identifier of this terms of service. Available terms: * `
12345
+ # GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-
12346
+ # use-terms). When using this as `id`, the acceptable version to provide is `
12347
+ # 2022-11-23`.
12348
+ # Corresponds to the JSON property `id`
12349
+ # @return [String]
12350
+ attr_accessor :id
12351
+
12352
+ # Whether the project has accepted/rejected the service terms or it is still
12353
+ # pending.
12354
+ # Corresponds to the JSON property `state`
12355
+ # @return [String]
12356
+ attr_accessor :state
12357
+
12358
+ # The version string of the terms of service. For acceptable values, see the
12359
+ # comments for id above.
12360
+ # Corresponds to the JSON property `version`
12361
+ # @return [String]
12362
+ attr_accessor :version
12363
+
12364
+ def initialize(**args)
12365
+ update!(**args)
12366
+ end
12367
+
12368
+ # Update properties of this object
12369
+ def update!(**args)
12370
+ @accept_time = args[:accept_time] if args.key?(:accept_time)
12371
+ @decline_time = args[:decline_time] if args.key?(:decline_time)
12372
+ @id = args[:id] if args.key?(:id)
12373
+ @state = args[:state] if args.key?(:state)
12374
+ @version = args[:version] if args.key?(:version)
12375
+ end
12376
+ end
12377
+
12378
+ # Metadata associated with a project provision operation.
12379
+ class GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata
12380
+ include Google::Apis::Core::Hashable
12381
+
12382
+ def initialize(**args)
12383
+ update!(**args)
12384
+ end
12385
+
12386
+ # Update properties of this object
12387
+ def update!(**args)
12388
+ end
12389
+ end
12390
+
10768
12391
  # Metadata related to the progress of the PurgeDocuments operation. This will be
10769
12392
  # returned by the google.longrunning.Operation.metadata field.
10770
12393
  class GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata