Discovery Engine API . projects . locations . dataStores

Instance Methods

branches()

Returns the branches Resource.

completionConfig()

Returns the completionConfig Resource.

completionSuggestions()

Returns the completionSuggestions Resource.

controls()

Returns the controls Resource.

conversations()

Returns the conversations Resource.

models()

Returns the models Resource.

operations()

Returns the operations Resource.

schemas()

Returns the schemas Resource.

servingConfigs()

Returns the servingConfigs Resource.

sessions()

Returns the sessions Resource.

siteSearchEngine()

Returns the siteSearchEngine Resource.

suggestionDenyListEntries()

Returns the suggestionDenyListEntries Resource.

userEvents()

Returns the userEvents Resource.

close()

Close httplib2 connections.

completeQuery(dataStore, includeTailSuggestions=None, query=None, queryModel=None, userPseudoId=None, x__xgafv=None)

Completes the specified user input with keyword suggestions.

create(parent, body=None, cmekConfigName=None, createAdvancedSiteSearch=None, dataStoreId=None, disableCmek=None, skipDefaultSchemaCreation=None, x__xgafv=None)

Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.

delete(name, x__xgafv=None)

Deletes a DataStore.

get(name, x__xgafv=None)

Gets a DataStore.

getSiteSearchEngine(name, x__xgafv=None)

Gets the SiteSearchEngine.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists all the DataStores associated with the project.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates a DataStore

Method Details

close()
Close httplib2 connections.
completeQuery(dataStore, includeTailSuggestions=None, query=None, queryModel=None, userPseudoId=None, x__xgafv=None)
Completes the specified user input with keyword suggestions.

Args:
  dataStore: string, Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. (required)
  includeTailSuggestions: boolean, Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.
  query: string, Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.
  queryModel: string, Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.
  userPseudoId: string, A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for CompletionService.CompleteQuery method.
  "querySuggestions": [ # Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.
    { # Suggestions as search queries.
      "completableFieldPaths": [ # The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.
        "A String",
      ],
      "suggestion": "A String", # The suggestion for the query.
    },
  ],
  "tailMatchTriggered": True or False, # True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.
}
create(parent, body=None, cmekConfigName=None, createAdvancedSiteSearch=None, dataStoreId=None, disableCmek=None, skipDefaultSchemaCreation=None, x__xgafv=None)
Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.

Args:
  parent: string, Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # DataStore captures global settings and configs at the DataStore level.
  "advancedSiteSearchConfig": { # Configuration data for advance site search. # Optional. Configuration for advanced site search.
  },
  "billingEstimation": { # Estimation of data size per data store. # Output only. Data size estimation for billing.
    "structuredDataSize": "A String", # Data size for structured data in terms of bytes.
    "structuredDataUpdateTime": "A String", # Last updated timestamp for structured data.
    "unstructuredDataSize": "A String", # Data size for unstructured data in terms of bytes.
    "unstructuredDataUpdateTime": "A String", # Last updated timestamp for unstructured data.
    "websiteDataSize": "A String", # Data size for websites in terms of bytes.
    "websiteDataUpdateTime": "A String", # Last updated timestamp for websites.
  },
  "cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the DataStore.
    "isDefault": True or False, # Output only. The default CmekConfig for the Customer.
    "kmsKey": "A String", # Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
    "kmsKeyVersion": "A String", # Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
    "lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
    "name": "A String", # Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.
    "state": "A String", # Output only. State of the CmekConfig.
  },
  "contentConfig": "A String", # Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.
  "createTime": "A String", # Output only. Timestamp the DataStore was created at.
  "defaultSchemaId": "A String", # Output only. The id of the default Schema asscociated to this data store.
  "displayName": "A 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.
  "documentProcessingConfig": { # A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. # Configuration for Document understanding and enrichment.
    "chunkingConfig": { # Configuration for chunking config. # Whether chunking mode is enabled.
      "layoutBasedChunkingConfig": { # Configuration for the layout based chunking. # Configuration for the layout based chunking.
        "chunkSize": 42, # The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.
        "includeAncestorHeadings": True or False, # Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.
      },
    },
    "defaultParsingConfig": { # Related configurations applied to a specific type of document parser. # Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing.
      "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
      },
      "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
      },
      "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
        "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
          "A String",
        ],
        "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
      },
    },
    "name": "A String", # The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.
    "parsingConfigOverrides": { # Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.
      "a_key": { # Related configurations applied to a specific type of document parser.
        "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
        },
        "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
        },
        "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
          "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
            "A String",
          ],
          "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
        },
      },
    },
  },
  "industryVertical": "A String", # Immutable. The industry vertical that the data store registers.
  "kmsKeyName": "A 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.
  "languageInfo": { # Language info for DataStore. # Language info for DataStore.
    "language": "A String", # Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.
    "languageCode": "A String", # The language code for the DataStore.
    "normalizedLanguageCode": "A String", # Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.
    "region": "A String", # Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.
  },
  "name": "A String", # Immutable. 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.
  "naturalLanguageQueryUnderstandingConfig": { # Configuration for Natural Language Query Understanding. # Optional. Configuration for Natural Language Query Understanding.
    "mode": "A String", # Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.
  },
  "servingConfigDataStore": { # Stores information regarding the serving configurations at DataStore level. # Optional. Stores serving config at DataStore level.
    "disabledForServing": True or False, # If set true, the DataStore will not be available for serving search requests.
  },
  "solutionTypes": [ # 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.
    "A String",
  ],
  "startingSchema": { # Defines the structure and layout of a type of document data. # 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](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
    "jsonSchema": "A String", # The JSON representation of the schema.
    "name": "A String", # Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    "structSchema": { # The structured representation of the schema.
      "a_key": "", # Properties of the object.
    },
  },
  "workspaceConfig": { # Config to store data store type configuration for workspace data # 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.
    "dasherCustomerId": "A String", # Obfuscated Dasher customer ID.
    "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "type": "A String", # The Google Workspace data source.
  },
}

  cmekConfigName: string, Resource name of the CmekConfig to use for protecting this DataStore.
  createAdvancedSiteSearch: boolean, A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.
  dataStoreId: string, Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.
  disableCmek: boolean, DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.
  skipDefaultSchemaCreation: boolean, A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
delete(name, x__xgafv=None)
Deletes a DataStore.

Args:
  name: string, Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
get(name, x__xgafv=None)
Gets a DataStore.

Args:
  name: string, Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # DataStore captures global settings and configs at the DataStore level.
  "advancedSiteSearchConfig": { # Configuration data for advance site search. # Optional. Configuration for advanced site search.
  },
  "billingEstimation": { # Estimation of data size per data store. # Output only. Data size estimation for billing.
    "structuredDataSize": "A String", # Data size for structured data in terms of bytes.
    "structuredDataUpdateTime": "A String", # Last updated timestamp for structured data.
    "unstructuredDataSize": "A String", # Data size for unstructured data in terms of bytes.
    "unstructuredDataUpdateTime": "A String", # Last updated timestamp for unstructured data.
    "websiteDataSize": "A String", # Data size for websites in terms of bytes.
    "websiteDataUpdateTime": "A String", # Last updated timestamp for websites.
  },
  "cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the DataStore.
    "isDefault": True or False, # Output only. The default CmekConfig for the Customer.
    "kmsKey": "A String", # Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
    "kmsKeyVersion": "A String", # Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
    "lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
    "name": "A String", # Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.
    "state": "A String", # Output only. State of the CmekConfig.
  },
  "contentConfig": "A String", # Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.
  "createTime": "A String", # Output only. Timestamp the DataStore was created at.
  "defaultSchemaId": "A String", # Output only. The id of the default Schema asscociated to this data store.
  "displayName": "A 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.
  "documentProcessingConfig": { # A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. # Configuration for Document understanding and enrichment.
    "chunkingConfig": { # Configuration for chunking config. # Whether chunking mode is enabled.
      "layoutBasedChunkingConfig": { # Configuration for the layout based chunking. # Configuration for the layout based chunking.
        "chunkSize": 42, # The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.
        "includeAncestorHeadings": True or False, # Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.
      },
    },
    "defaultParsingConfig": { # Related configurations applied to a specific type of document parser. # Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing.
      "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
      },
      "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
      },
      "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
        "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
          "A String",
        ],
        "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
      },
    },
    "name": "A String", # The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.
    "parsingConfigOverrides": { # Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.
      "a_key": { # Related configurations applied to a specific type of document parser.
        "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
        },
        "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
        },
        "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
          "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
            "A String",
          ],
          "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
        },
      },
    },
  },
  "industryVertical": "A String", # Immutable. The industry vertical that the data store registers.
  "kmsKeyName": "A 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.
  "languageInfo": { # Language info for DataStore. # Language info for DataStore.
    "language": "A String", # Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.
    "languageCode": "A String", # The language code for the DataStore.
    "normalizedLanguageCode": "A String", # Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.
    "region": "A String", # Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.
  },
  "name": "A String", # Immutable. 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.
  "naturalLanguageQueryUnderstandingConfig": { # Configuration for Natural Language Query Understanding. # Optional. Configuration for Natural Language Query Understanding.
    "mode": "A String", # Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.
  },
  "servingConfigDataStore": { # Stores information regarding the serving configurations at DataStore level. # Optional. Stores serving config at DataStore level.
    "disabledForServing": True or False, # If set true, the DataStore will not be available for serving search requests.
  },
  "solutionTypes": [ # 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.
    "A String",
  ],
  "startingSchema": { # Defines the structure and layout of a type of document data. # 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](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
    "jsonSchema": "A String", # The JSON representation of the schema.
    "name": "A String", # Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    "structSchema": { # The structured representation of the schema.
      "a_key": "", # Properties of the object.
    },
  },
  "workspaceConfig": { # Config to store data store type configuration for workspace data # 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.
    "dasherCustomerId": "A String", # Obfuscated Dasher customer ID.
    "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "type": "A String", # The Google Workspace data source.
  },
}
getSiteSearchEngine(name, x__xgafv=None)
Gets the SiteSearchEngine.

Args:
  name: string, Required. Resource name of SiteSearchEngine, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store.
  "name": "A String", # The fully qualified resource name of the site search engine. Format: `projects/*/locations/*/dataStores/*/siteSearchEngine`
}
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists all the DataStores associated with the project.

Args:
  parent: string, Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. If the caller does not have permission to list DataStores under this location, regardless of whether or not this data store exists, a PERMISSION_DENIED error is returned. (required)
  filter: string, Filter by solution type . For example: `filter = 'solution_type:SOLUTION_TYPE_SEARCH'`
  pageSize: integer, Maximum number of DataStores to return. If unspecified, defaults to 10. The maximum allowed value is 50. Values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT is returned.
  pageToken: string, A page token ListDataStoresResponse.next_page_token, received from a previous DataStoreService.ListDataStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DataStoreService.ListDataStores must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for DataStoreService.ListDataStores method.
  "dataStores": [ # All the customer's DataStores.
    { # DataStore captures global settings and configs at the DataStore level.
      "advancedSiteSearchConfig": { # Configuration data for advance site search. # Optional. Configuration for advanced site search.
      },
      "billingEstimation": { # Estimation of data size per data store. # Output only. Data size estimation for billing.
        "structuredDataSize": "A String", # Data size for structured data in terms of bytes.
        "structuredDataUpdateTime": "A String", # Last updated timestamp for structured data.
        "unstructuredDataSize": "A String", # Data size for unstructured data in terms of bytes.
        "unstructuredDataUpdateTime": "A String", # Last updated timestamp for unstructured data.
        "websiteDataSize": "A String", # Data size for websites in terms of bytes.
        "websiteDataUpdateTime": "A String", # Last updated timestamp for websites.
      },
      "cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the DataStore.
        "isDefault": True or False, # Output only. The default CmekConfig for the Customer.
        "kmsKey": "A String", # Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
        "kmsKeyVersion": "A String", # Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
        "lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
        "name": "A String", # Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.
        "state": "A String", # Output only. State of the CmekConfig.
      },
      "contentConfig": "A String", # Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.
      "createTime": "A String", # Output only. Timestamp the DataStore was created at.
      "defaultSchemaId": "A String", # Output only. The id of the default Schema asscociated to this data store.
      "displayName": "A 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.
      "documentProcessingConfig": { # A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. # Configuration for Document understanding and enrichment.
        "chunkingConfig": { # Configuration for chunking config. # Whether chunking mode is enabled.
          "layoutBasedChunkingConfig": { # Configuration for the layout based chunking. # Configuration for the layout based chunking.
            "chunkSize": 42, # The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.
            "includeAncestorHeadings": True or False, # Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.
          },
        },
        "defaultParsingConfig": { # Related configurations applied to a specific type of document parser. # Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing.
          "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
          },
          "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
          },
          "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
            "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
              "A String",
            ],
            "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
          },
        },
        "name": "A String", # The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.
        "parsingConfigOverrides": { # Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.
          "a_key": { # Related configurations applied to a specific type of document parser.
            "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
            },
            "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
            },
            "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
              "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
                "A String",
              ],
              "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
            },
          },
        },
      },
      "industryVertical": "A String", # Immutable. The industry vertical that the data store registers.
      "kmsKeyName": "A 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.
      "languageInfo": { # Language info for DataStore. # Language info for DataStore.
        "language": "A String", # Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.
        "languageCode": "A String", # The language code for the DataStore.
        "normalizedLanguageCode": "A String", # Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.
        "region": "A String", # Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.
      },
      "name": "A String", # Immutable. 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.
      "naturalLanguageQueryUnderstandingConfig": { # Configuration for Natural Language Query Understanding. # Optional. Configuration for Natural Language Query Understanding.
        "mode": "A String", # Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.
      },
      "servingConfigDataStore": { # Stores information regarding the serving configurations at DataStore level. # Optional. Stores serving config at DataStore level.
        "disabledForServing": True or False, # If set true, the DataStore will not be available for serving search requests.
      },
      "solutionTypes": [ # 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.
        "A String",
      ],
      "startingSchema": { # Defines the structure and layout of a type of document data. # 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](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
        "jsonSchema": "A String", # The JSON representation of the schema.
        "name": "A String", # Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
        "structSchema": { # The structured representation of the schema.
          "a_key": "", # Properties of the object.
        },
      },
      "workspaceConfig": { # Config to store data store type configuration for workspace data # 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.
        "dasherCustomerId": "A String", # Obfuscated Dasher customer ID.
        "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
        "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
        "type": "A String", # The Google Workspace data source.
      },
    },
  ],
  "nextPageToken": "A String", # A token that can be sent as ListDataStoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates a DataStore

Args:
  name: string, Immutable. 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. (required)
  body: object, The request body.
    The object takes the form of:

{ # DataStore captures global settings and configs at the DataStore level.
  "advancedSiteSearchConfig": { # Configuration data for advance site search. # Optional. Configuration for advanced site search.
  },
  "billingEstimation": { # Estimation of data size per data store. # Output only. Data size estimation for billing.
    "structuredDataSize": "A String", # Data size for structured data in terms of bytes.
    "structuredDataUpdateTime": "A String", # Last updated timestamp for structured data.
    "unstructuredDataSize": "A String", # Data size for unstructured data in terms of bytes.
    "unstructuredDataUpdateTime": "A String", # Last updated timestamp for unstructured data.
    "websiteDataSize": "A String", # Data size for websites in terms of bytes.
    "websiteDataUpdateTime": "A String", # Last updated timestamp for websites.
  },
  "cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the DataStore.
    "isDefault": True or False, # Output only. The default CmekConfig for the Customer.
    "kmsKey": "A String", # Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
    "kmsKeyVersion": "A String", # Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
    "lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
    "name": "A String", # Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.
    "state": "A String", # Output only. State of the CmekConfig.
  },
  "contentConfig": "A String", # Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.
  "createTime": "A String", # Output only. Timestamp the DataStore was created at.
  "defaultSchemaId": "A String", # Output only. The id of the default Schema asscociated to this data store.
  "displayName": "A 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.
  "documentProcessingConfig": { # A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. # Configuration for Document understanding and enrichment.
    "chunkingConfig": { # Configuration for chunking config. # Whether chunking mode is enabled.
      "layoutBasedChunkingConfig": { # Configuration for the layout based chunking. # Configuration for the layout based chunking.
        "chunkSize": 42, # The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.
        "includeAncestorHeadings": True or False, # Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.
      },
    },
    "defaultParsingConfig": { # Related configurations applied to a specific type of document parser. # Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing.
      "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
      },
      "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
      },
      "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
        "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
          "A String",
        ],
        "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
      },
    },
    "name": "A String", # The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.
    "parsingConfigOverrides": { # Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.
      "a_key": { # Related configurations applied to a specific type of document parser.
        "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
        },
        "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
        },
        "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
          "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
            "A String",
          ],
          "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
        },
      },
    },
  },
  "industryVertical": "A String", # Immutable. The industry vertical that the data store registers.
  "kmsKeyName": "A 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.
  "languageInfo": { # Language info for DataStore. # Language info for DataStore.
    "language": "A String", # Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.
    "languageCode": "A String", # The language code for the DataStore.
    "normalizedLanguageCode": "A String", # Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.
    "region": "A String", # Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.
  },
  "name": "A String", # Immutable. 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.
  "naturalLanguageQueryUnderstandingConfig": { # Configuration for Natural Language Query Understanding. # Optional. Configuration for Natural Language Query Understanding.
    "mode": "A String", # Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.
  },
  "servingConfigDataStore": { # Stores information regarding the serving configurations at DataStore level. # Optional. Stores serving config at DataStore level.
    "disabledForServing": True or False, # If set true, the DataStore will not be available for serving search requests.
  },
  "solutionTypes": [ # 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.
    "A String",
  ],
  "startingSchema": { # Defines the structure and layout of a type of document data. # 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](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
    "jsonSchema": "A String", # The JSON representation of the schema.
    "name": "A String", # Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    "structSchema": { # The structured representation of the schema.
      "a_key": "", # Properties of the object.
    },
  },
  "workspaceConfig": { # Config to store data store type configuration for workspace data # 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.
    "dasherCustomerId": "A String", # Obfuscated Dasher customer ID.
    "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "type": "A String", # The Google Workspace data source.
  },
}

  updateMask: string, Indicates which fields in the provided DataStore to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # DataStore captures global settings and configs at the DataStore level.
  "advancedSiteSearchConfig": { # Configuration data for advance site search. # Optional. Configuration for advanced site search.
  },
  "billingEstimation": { # Estimation of data size per data store. # Output only. Data size estimation for billing.
    "structuredDataSize": "A String", # Data size for structured data in terms of bytes.
    "structuredDataUpdateTime": "A String", # Last updated timestamp for structured data.
    "unstructuredDataSize": "A String", # Data size for unstructured data in terms of bytes.
    "unstructuredDataUpdateTime": "A String", # Last updated timestamp for unstructured data.
    "websiteDataSize": "A String", # Data size for websites in terms of bytes.
    "websiteDataUpdateTime": "A String", # Last updated timestamp for websites.
  },
  "cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the DataStore.
    "isDefault": True or False, # Output only. The default CmekConfig for the Customer.
    "kmsKey": "A String", # Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
    "kmsKeyVersion": "A String", # Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
    "lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
    "name": "A String", # Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.
    "state": "A String", # Output only. State of the CmekConfig.
  },
  "contentConfig": "A String", # Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.
  "createTime": "A String", # Output only. Timestamp the DataStore was created at.
  "defaultSchemaId": "A String", # Output only. The id of the default Schema asscociated to this data store.
  "displayName": "A 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.
  "documentProcessingConfig": { # A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. # Configuration for Document understanding and enrichment.
    "chunkingConfig": { # Configuration for chunking config. # Whether chunking mode is enabled.
      "layoutBasedChunkingConfig": { # Configuration for the layout based chunking. # Configuration for the layout based chunking.
        "chunkSize": 42, # The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.
        "includeAncestorHeadings": True or False, # Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.
      },
    },
    "defaultParsingConfig": { # Related configurations applied to a specific type of document parser. # Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing.
      "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
      },
      "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
      },
      "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
        "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
          "A String",
        ],
        "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
      },
    },
    "name": "A String", # The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.
    "parsingConfigOverrides": { # Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.
      "a_key": { # Related configurations applied to a specific type of document parser.
        "digitalParsingConfig": { # The digital parsing configurations for documents. # Configurations applied to digital parser.
        },
        "layoutParsingConfig": { # The layout parsing configurations for documents. # Configurations applied to layout parser.
        },
        "ocrParsingConfig": { # The OCR parsing configurations for documents. # Configurations applied to OCR parser. Currently it only applies to PDFs.
          "enhancedDocumentElements": [ # [DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.
            "A String",
          ],
          "useNativeText": True or False, # If true, will use native text instead of OCR text on pages containing native text.
        },
      },
    },
  },
  "industryVertical": "A String", # Immutable. The industry vertical that the data store registers.
  "kmsKeyName": "A 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.
  "languageInfo": { # Language info for DataStore. # Language info for DataStore.
    "language": "A String", # Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.
    "languageCode": "A String", # The language code for the DataStore.
    "normalizedLanguageCode": "A String", # Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.
    "region": "A String", # Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.
  },
  "name": "A String", # Immutable. 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.
  "naturalLanguageQueryUnderstandingConfig": { # Configuration for Natural Language Query Understanding. # Optional. Configuration for Natural Language Query Understanding.
    "mode": "A String", # Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.
  },
  "servingConfigDataStore": { # Stores information regarding the serving configurations at DataStore level. # Optional. Stores serving config at DataStore level.
    "disabledForServing": True or False, # If set true, the DataStore will not be available for serving search requests.
  },
  "solutionTypes": [ # 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.
    "A String",
  ],
  "startingSchema": { # Defines the structure and layout of a type of document data. # 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](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
    "jsonSchema": "A String", # The JSON representation of the schema.
    "name": "A String", # Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    "structSchema": { # The structured representation of the schema.
      "a_key": "", # Properties of the object.
    },
  },
  "workspaceConfig": { # Config to store data store type configuration for workspace data # 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.
    "dasherCustomerId": "A String", # Obfuscated Dasher customer ID.
    "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.
    "type": "A String", # The Google Workspace data source.
  },
}