google-apis-discoveryengine_v1 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -276,6 +276,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