Class: Google::Cloud::DiscoveryEngine::V1beta::DataStore

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb

Overview

DataStore captures global settings and configs at the DataStore level.

Defined Under Namespace

Modules: ConfigurableBillingApproach, ContentConfig Classes: BillingEstimation, FederatedSearchConfig, ServingConfigDataStore

Instance Attribute Summary collapse

Instance Attribute Details

#acl_enabled::Boolean

Returns Immutable. Whether data in the DataStore has ACL information. If set to true, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods.

When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments.

Currently ACL is only supported in GENERIC industry vertical with non-PUBLIC_WEBSITE content config.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#advanced_site_search_config::Google::Cloud::DiscoveryEngine::V1beta::AdvancedSiteSearchConfig

Returns Optional. Configuration for advanced site search.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#billing_estimation::Google::Cloud::DiscoveryEngine::V1beta::DataStore::BillingEstimation (readonly)

Returns Output only. Data size estimation for billing.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#cmek_config::Google::Cloud::DiscoveryEngine::V1beta::CmekConfig (readonly)

Returns Output only. CMEK-related information for the DataStore.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#configurable_billing_approach::Google::Cloud::DiscoveryEngine::V1beta::DataStore::ConfigurableBillingApproach

Returns Optional. Configuration for configurable billing approach. See.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#configurable_billing_approach_update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The timestamp when configurable_billing_approach was last updated.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#content_config::Google::Cloud::DiscoveryEngine::V1beta::DataStore::ContentConfig

Returns Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#create_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Timestamp the DataStore was created at.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#default_schema_id::String (readonly)

Returns Output only. The id of the default Schema associated to this data store.

Returns:

  • (::String)

    Output only. The id of the default Schema associated to this data store.



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#display_name::String

Returns Required. The data store display name.

This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.

Returns:

  • (::String)

    Required. The data store display name.

    This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#document_processing_config::Google::Cloud::DiscoveryEngine::V1beta::DocumentProcessingConfig

Returns Configuration for Document understanding and enrichment.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#federated_search_config::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig

Returns Optional. If set, this DataStore is a federated search DataStore.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#healthcare_fhir_config::Google::Cloud::DiscoveryEngine::V1beta::HealthcareFhirConfig

Returns Optional. Configuration for HEALTHCARE_FHIR vertical.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#identity_mapping_store::String

Returns Immutable. The fully qualified resource name of the associated IdentityMappingStore. This field can only be set for acl_enabled DataStores with THIRD_PARTY or GSUITE IdP. Format: projects/{project}/locations/{location}/identityMappingStores/{identity_mapping_store}.

Returns:

  • (::String)

    Immutable. The fully qualified resource name of the associated IdentityMappingStore. This field can only be set for acl_enabled DataStores with THIRD_PARTY or GSUITE IdP. Format: projects/{project}/locations/{location}/identityMappingStores/{identity_mapping_store}.



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#industry_vertical::Google::Cloud::DiscoveryEngine::V1beta::IndustryVertical

Returns Immutable. The industry vertical that the data store registers.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#is_infobot_faq_data_store::Boolean

Returns Optional. If set, this DataStore is an Infobot FAQ DataStore.

Returns:

  • (::Boolean)

    Optional. If set, this DataStore is an Infobot FAQ DataStore.



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#kms_key_name::String

Returns Input only. The KMS key to be used to protect this DataStore at creation time.

Must be set for requests that need to comply with CMEK Org Policy protections.

If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.

Returns:

  • (::String)

    Input only. The KMS key to be used to protect this DataStore at creation time.

    Must be set for requests that need to comply with CMEK Org Policy protections.

    If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#language_info::Google::Cloud::DiscoveryEngine::V1beta::LanguageInfo

Returns Language info for DataStore.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#name::String

Returns Immutable. Identifier. The full resource name of the data store. Format: projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}.

This field must be a UTF-8 encoded string with a length limit of 1024 characters.

Returns:

  • (::String)

    Immutable. Identifier. The full resource name of the data store. Format: projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}.

    This field must be a UTF-8 encoded string with a length limit of 1024 characters.



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#natural_language_query_understanding_config::Google::Cloud::DiscoveryEngine::V1beta::NaturalLanguageQueryUnderstandingConfig

Returns Optional. Configuration for Natural Language Query Understanding.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#serving_config_data_store::Google::Cloud::DiscoveryEngine::V1beta::DataStore::ServingConfigDataStore

Returns Optional. Stores serving config at DataStore level.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#solution_types::Array<::Google::Cloud::DiscoveryEngine::V1beta::SolutionType>

Returns The solutions that the data store enrolls. Available solutions for each industry_vertical:

  • MEDIA: SOLUTION_TYPE_RECOMMENDATION and SOLUTION_TYPE_SEARCH.
  • SITE_SEARCH: SOLUTION_TYPE_SEARCH is automatically enrolled. Other solutions cannot be enrolled.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#starting_schema::Google::Cloud::DiscoveryEngine::V1beta::Schema

Returns The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used.

This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead.

The provided schema will be validated against certain rules on schema. Learn more from this doc.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end

#workspace_config::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig

Returns Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE.

Returns:



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'proto_docs/google/cloud/discoveryengine/v1beta/data_store.rb', line 164

class DataStore
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Estimation of data size per data store.
  # @!attribute [rw] structured_data_size
  #   @return [::Integer]
  #     Data size for structured data in terms of bytes.
  # @!attribute [rw] unstructured_data_size
  #   @return [::Integer]
  #     Data size for unstructured data in terms of bytes.
  # @!attribute [rw] website_data_size
  #   @return [::Integer]
  #     Data size for websites in terms of bytes.
  # @!attribute [rw] structured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for structured data.
  # @!attribute [rw] unstructured_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for unstructured data.
  # @!attribute [rw] website_data_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Last updated timestamp for websites.
  class BillingEstimation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information regarding the serving configurations at DataStore level.
  # @!attribute [rw] disabled_for_serving
  #   @return [::Boolean]
  #     Optional. If set true, the DataStore will not be available for serving
  #     search requests.
  class ServingConfigDataStore
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Stores information for federated search.
  # @!attribute [rw] alloy_db_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig]
  #     AlloyDB config. If set, this DataStore is connected to AlloyDB.
  #
  #     Note: The following fields are mutually exclusive: `alloy_db_config`, `third_party_oauth_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] third_party_oauth_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::ThirdPartyOauthConfig]
  #     Third Party OAuth config. If set, this DataStore is connected to a
  #     third party application.
  #
  #     Note: The following fields are mutually exclusive: `third_party_oauth_config`, `alloy_db_config`, `notebooklm_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] notebooklm_config
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::NotebooklmConfig]
  #     NotebookLM config. If set, this DataStore is connected to
  #     NotebookLM Enterprise.
  #
  #     Note: The following fields are mutually exclusive: `notebooklm_config`, `alloy_db_config`, `third_party_oauth_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class FederatedSearchConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Stores information for connecting to AlloyDB.
    # @!attribute [rw] alloydb_connection_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig]
    #     Required. Configuration for connecting to AlloyDB.
    # @!attribute [rw] alloydb_ai_nl_config
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbAiNaturalLanguageConfig]
    #     Optional. Configuration for Magic.
    # @!attribute [rw] returned_fields
    #   @return [::Array<::String>]
    #     Optional. Fields to be returned in the search results. If empty, all
    #     fields will be returned.
    class AlloyDbConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Configuration for connecting to AlloyDB.
      # @!attribute [rw] instance
      #   @return [::String]
      #     Required. The AlloyDB instance to connect to.
      # @!attribute [rw] database
      #   @return [::String]
      #     Required. The AlloyDB database to connect to.
      # @!attribute [rw] user
      #   @return [::String]
      #     Required. Database user.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the user will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] password
      #   @return [::String]
      #     Required. Database password.
      #
      #     If auth_mode = END_USER_ACCOUNT, it can be unset. In that case,
      #     the password will be inferred on the AlloyDB side, based on the
      #     authenticated user.
      # @!attribute [rw] auth_mode
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::DataStore::FederatedSearchConfig::AlloyDbConfig::AlloyDbConnectionConfig::AuthMode]
      #     Optional. Auth mode.
      # @!attribute [rw] enable_psvs
      #   @return [::Boolean]
      #     Optional. If true, enable PSVS for AlloyDB.
      class AlloyDbConnectionConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Auth mode.
        module AuthMode
          AUTH_MODE_UNSPECIFIED = 0

          # Uses P4SA when VAIS talks to AlloyDB.
          AUTH_MODE_SERVICE_ACCOUNT = 1

          # Uses EUC when VAIS talks to AlloyDB.
          AUTH_MODE_END_USER_ACCOUNT = 2
        end
      end

      # Configuration for AlloyDB AI Natural Language.
      # @!attribute [rw] nl_config_id
      #   @return [::String]
      #     Optional. AlloyDb AI NL config id, i.e. the value that was used for
      #     calling `SELECT alloydb_ai_nl.g_create_configuration(...)`. Can be
      #     empty.
      class AlloyDbAiNaturalLanguageConfig
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end

    # Stores information for third party applicationOAuth.
    # @!attribute [rw] app_name
    #   @return [::String]
    #     Optional. The type of the application. E.g., "jira", "box", etc.
    # @!attribute [rw] instance_name
    #   @return [::String]
    #     Optional. The instance name identifying the 3P app, e.g.,
    #     "vaissptbots-my". This is different from the instance_uri which is the
    #     full URL of the 3P app e.g., "https://vaissptbots-my.sharepoint.com".
    class ThirdPartyOauthConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Config for connecting to NotebookLM Enterprise.
    # @!attribute [rw] search_config
    #   @return [::String]
    #     Required. Search config name.
    #
    #     Format: projects/*/locations/global/notebookLmSearchConfigs/*
    class NotebooklmConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Content config of the data store.
  module ContentConfig
    # Default value.
    CONTENT_CONFIG_UNSPECIFIED = 0

    # Only contains documents without any
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    NO_CONTENT = 1

    # Only contains documents with
    # {::Google::Cloud::DiscoveryEngine::V1beta::Document#content Document.content}.
    CONTENT_REQUIRED = 2

    # The data store is used for public website search.
    PUBLIC_WEBSITE = 3

    # The data store is used for workspace search. Details of workspace
    # data store are specified in the
    # {::Google::Cloud::DiscoveryEngine::V1beta::WorkspaceConfig WorkspaceConfig}.
    GOOGLE_WORKSPACE = 4
  end

  # Configuration for configurable billing approach.
  module ConfigurableBillingApproach
    # Default value. For Spark and non-Spark non-configurable billing approach.
    CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED = 0

    # Use the subscription base + overage billing for indexing core for non
    # embedding storage.
    CONFIGURABLE_SUBSCRIPTION_INDEXING_CORE = 1

    # Use the consumption pay-as-you-go billing for embedding storage add-on.
    CONFIGURABLE_CONSUMPTION_EMBEDDING = 2
  end
end