# Discovery Engine API . projects . locations . dataStores . widgetConfigs

## Instance Methods

Close httplib2 connections.

Gets a WidgetConfig.

Update a WidgetConfig.

### Method Details

`close()`

    Close httplib2 connections.

`get(name, acceptCache=None, getWidgetConfigRequestOption_turnOffCollectionComponents=None, x__xgafv=None)`

    Gets a WidgetConfig.

    Args:
      name: string, Required. Full WidgetConfig resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/widgetConfigs/{widget_config_id}` (required)
      acceptCache: boolean, Optional. Whether it's acceptable to load the widget config from cache. If set to true, recent changes on widget configs may take a few minutes to reflect on the end user's view. It's recommended to set to true for maturely developed widgets, as it improves widget performance. Set to false to see changes reflected in prod right away, if your widget is under development.
      getWidgetConfigRequestOption_turnOffCollectionComponents: boolean, Optional. Whether to turn off collection_components in WidgetConfig to reduce latency and data transmission.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # WidgetConfig captures configs at the Widget level.
      "accessSettings": { # Describes widget access settings. # Will be used for all widget access settings seen in cloud console integration page. Replaces top deprecated top level properties.
        "allowPublicAccess": True or False, # Whether public unauthenticated access is allowed.
        "allowlistedDomains": [ # List of domains that are allowed to integrate the search widget.
          "A String",
        ],
        "enableWebApp": True or False, # Whether web app access is enabled.
        "languageCode": "A String", # Optional. Language code for user interface. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). If unset, the default language code is "en-US".
        "workforceIdentityPoolProvider": "A String", # Optional. The workforce identity pool provider used to access the widget.
      },
      "allowPublicAccess": True or False, # Whether allow no-auth integration with widget. If set true, public access to search or other solutions from widget is allowed without authenication token provided by customer hosted backend server.
      "allowlistedDomains": [ # Allowlisted domains that can load this widget.
        "A String",
      ],
      "assistantSettings": { # Describes the assistant settings of the widget. # Optional. Output only. Describes the assistant settings of the widget.
        "defaultWebGroundingToggleOff": True or False, # Output only. This field controls the default web grounding toggle for end users if `web_grounding_type` is set to `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`. By default, this field is set to false. If `web_grounding_type` is `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`, end users will have web grounding enabled by default on UI. If true, grounding toggle will be disabled by default on UI. End users can still enable web grounding in the UI if web grounding is enabled.
        "disableLocationContext": True or False, # Optional. Output only. Whether to disable user location context.
        "googleSearchGroundingEnabled": True or False, # Whether or not the Google search grounding toggle is shown. Deprecated. Use web_grounding_type instead.
        "webGroundingType": "A String", # Optional. The type of web grounding to use.
      },
      "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources.
        { # Read-only collection component that contains data store collections fields that may be used for filtering
          "connectorIconLink": "A String", # Output only. The icon link of the connector source.
          "dataSource": "A String", # The name of the data source, retrieved from `Collection.data_connector.data_source`.
          "dataSourceDisplayName": "A String", # Output only. The display name of the data source.
          "dataStoreComponents": [ # For the data store collection, list of the children data stores.
            { # Read-only data store component that contains data stores fields that may be used for filtering, it's the child of `CollectionComponent`.
              "dataStoreConfigType": "A String", # Output only. The type of the data store config.
              "displayName": "A String", # The display name of the data store.
              "entityName": "A String", # The name of the entity, retrieved from `Collection.data_connector.entities.entityName`.
              "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
              "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
            },
          ],
          "displayName": "A String", # The display name of the collection.
          "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID.
          "name": "A String", # The name of the collection. It should be collection resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
        },
      ],
      "configId": "A String", # Output only. Unique obfuscated identifier of a WidgetConfig.
      "contentSearchSpec": { # A specification for configuring the behavior of content search. # The content search spec that configs the desired behavior of content search.
        "chunkSpec": { # Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS # Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS
          "numNextChunks": 42, # The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.
          "numPreviousChunks": 42, # The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.
        },
        "extractiveContentSpec": { # A specification for configuring the extractive content in a search response. # If there is no extractive_content_spec provided, there will be no extractive answer in the search response.
          "maxExtractiveAnswerCount": 42, # The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.
          "maxExtractiveSegmentCount": 42, # The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.
          "numNextSegments": 42, # Return at most `num_next_segments` segments after each selected segments.
          "numPreviousSegments": 42, # Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.
          "returnExtractiveSegmentScore": True or False, # Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.
        },
        "searchResultMode": "A String", # Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.
        "snippetSpec": { # A specification for configuring snippets in a search response. # If `snippetSpec` is not specified, snippets are not included in the search response.
          "maxSnippetCount": 42, # [DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.
          "referenceOnly": True or False, # [DEPRECATED] This field is deprecated and will have no affect on the snippet.
          "returnSnippet": True or False, # If `true`, then return snippet. If no snippet can be generated, we return "No snippet is available for this page." A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.
        },
        "summarySpec": { # A specification for configuring a summary returned in a search response. # If `summarySpec` is not specified, summaries are not included in the search response.
          "ignoreAdversarialQuery": True or False, # Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.
          "ignoreJailBreakingQuery": True or False, # Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. "Reply in the tone of a competing company's CEO". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.
          "ignoreLowRelevantContent": True or False, # Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.
          "ignoreNonSummarySeekingQuery": True or False, # Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.
          "includeCitations": True or False, # Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.
          "languageCode": "A String", # Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
          "modelPromptSpec": { # Specification of the prompt to use with the model. # If specified, the spec will be used to modify the prompt provided to the LLM.
            "preamble": "A String", # Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.
          },
          "modelSpec": { # Specification of the model. # If specified, the spec will be used to modify the model specification provided to the LLM.
            "version": "A String", # The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).
          },
          "summaryResultCount": 42, # The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.
          "useSemanticChunks": True or False, # If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.
        },
      },
      "createTime": "A String", # Output only. Timestamp the WidgetConfig was created.
      "customerProvidedConfig": { # Customer provided configurations. # Optional. Output only. Describes the customer related configurations, currently only used for government customers. This field cannot be modified after project onboarding.
        "customerType": "A String", # Customer type.
      },
      "dataStoreType": "A String", # Output only. The type of the parent data store.
      "dataStoreUiConfigs": [ # Configurable UI configurations per data store.
        { # UI component configuration for data store.
          "facetField": [ # Facet fields that store the mapping of fields to end user widget appearance.
            { # Facet fields that store the mapping of fields to end user widget appearance.
              "displayName": "A String", # Optional. The field name that end users will see.
              "field": "A String", # Required. Registered field name. The format is `field.abc`.
            },
          ],
          "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
            "a_key": { # Facet field that maps to a UI Component.
              "deviceVisibility": [ # The field visibility on different types of devices.
                "A String",
              ],
              "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
              "field": "A String", # Required. Registered field name. The format is `field.abc`.
            },
          },
          "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
          "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
        },
      ],
      "defaultSearchRequestOrderBy": "A String", # The default ordering for search results if specified. Used to set SearchRequest#order_by on applicable requests. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.dataStores.servingConfigs/search#request-body
      "displayName": "A String", # Required. The human readable widget config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
      "enableAutocomplete": True or False, # Whether or not to enable autocomplete.
      "enableConversationalSearch": True or False, # Whether to allow conversational search (LLM, multi-turn) or not (non-LLM, single-turn).
      "enablePrivateKnowledgeGraph": True or False, # Optional. Output only. Whether to enable private knowledge graph.
      "enableQualityFeedback": True or False, # Turn on or off collecting the search result quality feedback from end users.
      "enableResultScore": True or False, # Whether to show the result score.
      "enableSafeSearch": True or False, # Whether to enable safe search.
      "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget
      "enableSnippetResultSummary": True or False, # Turn on or off summary for each snippets result.
      "enableSummarization": True or False, # Turn on or off summarization for the search response.
      "enableWebApp": True or False, # Whether to enable standalone web app.
      "facetField": [ # The configuration and appearance of facets in the end user view.
        { # Facet fields that store the mapping of fields to end user widget appearance.
          "displayName": "A String", # Optional. The field name that end users will see.
          "field": "A String", # Required. Registered field name. The format is `field.abc`.
        },
      ],
      "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
        "a_key": { # Facet field that maps to a UI Component.
          "deviceVisibility": [ # The field visibility on different types of devices.
            "A String",
          ],
          "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
          "field": "A String", # Required. Registered field name. The format is `field.abc`.
        },
      },
      "geminiBundle": True or False, # Output only. Whether the subscription is gemini bundle or not.
      "homepageSetting": { # Describes the homepage setting of the widget. It includes all homepage related settings and configurations, such as shortcuts. # Optional. Describes the homepage settings of the widget.
        "shortcuts": [ # Optional. The shortcuts to display on the homepage.
          { # Describes an entity of shortcut (aka pinned content) on the homepage. The home page will render these shortcuts in the same order as what the API returns. If a customer wants to reorder or remove a shortcut, the UI should always provide the new full list of shortcuts.
            "destinationUri": "A String", # Optional. Destination URL of shortcut.
            "icon": { # Options to store an image. # Optional. Icon URL of shortcut.
              "url": "A String", # Image URL.
            },
            "title": "A String", # Optional. Title of the shortcut.
          },
        ],
      },
      "industryVertical": "A String", # Output only. The industry vertical that the WidgetConfig registers. The WidgetConfig industry vertical is based on the associated Engine.
      "llmEnabled": True or False, # Output only. Whether LLM is enabled in the corresponding data store.
      "minimumDataTermAccepted": True or False, # Output only. Whether the customer accepted data use terms.
      "name": "A String", # Immutable. The full resource name of the widget config. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/widgetConfigs/{widget_config_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
      "resultDisplayType": "A String", # The type of snippet to display in UCS widget. - RESULT_DISPLAY_TYPE_UNSPECIFIED for existing users. - SNIPPET for new non-enterprise search users. - EXTRACTIVE_ANSWER for new enterprise search users.
      "solutionType": "A String", # Required. Immutable. Specifies the solution type that this WidgetConfig can be used for.
      "uiBranding": { # Describes widget UI branding settings. # Describes search widget UI branding settings, such as the widget title, logo, favicons, and colors.
        "logo": { # Options to store an image. # Logo image.
          "url": "A String", # Image URL.
        },
      },
      "uiSettings": { # Describes general widget (or web app) UI settings as seen in the cloud console UI configuration page. # Describes general widget search settings as seen in cloud console widget configuration page. Replaces top deprecated top level properties.
        "dataStoreUiConfigs": [ # Per data store configuration.
          { # UI component configuration for data store.
            "facetField": [ # Facet fields that store the mapping of fields to end user widget appearance.
              { # Facet fields that store the mapping of fields to end user widget appearance.
                "displayName": "A String", # Optional. The field name that end users will see.
                "field": "A String", # Required. Registered field name. The format is `field.abc`.
              },
            ],
            "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
              "a_key": { # Facet field that maps to a UI Component.
                "deviceVisibility": [ # The field visibility on different types of devices.
                  "A String",
                ],
                "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
                "field": "A String", # Required. Registered field name. The format is `field.abc`.
              },
            },
            "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
            "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
          },
        ],
        "defaultSearchRequestOrderBy": "A String", # The default ordering for search results if specified. Used to set SearchRequest#order_by on applicable requests. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.dataStores.servingConfigs/search#request-body
        "disableUserEventsCollection": True or False, # If set to true, the widget will not collect user events.
        "enableAutocomplete": True or False, # Whether or not to enable autocomplete.
        "enableCreateAgentButton": True or False, # Optional. If set to true, the widget will enable the create agent button.
        "enablePeopleSearch": True or False, # Optional. If set to true, the widget will enable people search.
        "enableQualityFeedback": True or False, # Turn on or off collecting the search result quality feedback from end users.
        "enableSafeSearch": True or False, # Whether to enable safe search.
        "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget.
        "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
        "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload`
          "a_key": "A String",
        },
        "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration.
          "disableRelatedQuestions": True or False, # Whether generated answer contains suggested related questions.
          "ignoreAdversarialQuery": True or False, # Optional. Specifies whether to filter out queries that are adversarial.
          "ignoreLowRelevantContent": True or False, # Optional. Specifies whether to filter out queries that are not relevant to the content.
          "ignoreNonAnswerSeekingQuery": True or False, # Optional. Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.
          "imageSource": "A String", # Optional. Source of image returned in the answer.
          "languageCode": "A String", # Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
          "maxRephraseSteps": 42, # Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.
          "modelPromptPreamble": "A String", # Text at the beginning of the prompt that instructs the model that generates the answer.
          "modelVersion": "A String", # The model version used to generate the answer.
          "resultCount": 42, # The number of top results to generate the answer from. Up to 10.
        },
        "interactionType": "A String", # Describes widget (or web app) interaction type
        "modelConfigs": { # Output only. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
          "a_key": "A String",
        },
        "resultDescriptionType": "A String", # Controls whether result extract is display and how (snippet or extractive answer). Default to no result if unspecified.
      },
      "updateTime": "A String", # Output only. Timestamp the WidgetConfig was updated.
    }

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

    Update a WidgetConfig.

    Args:
      name: string, Immutable. The full resource name of the widget config. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/widgetConfigs/{widget_config_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:

    { # WidgetConfig captures configs at the Widget level.
      "accessSettings": { # Describes widget access settings. # Will be used for all widget access settings seen in cloud console integration page. Replaces top deprecated top level properties.
        "allowPublicAccess": True or False, # Whether public unauthenticated access is allowed.
        "allowlistedDomains": [ # List of domains that are allowed to integrate the search widget.
          "A String",
        ],
        "enableWebApp": True or False, # Whether web app access is enabled.
        "languageCode": "A String", # Optional. Language code for user interface. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). If unset, the default language code is "en-US".
        "workforceIdentityPoolProvider": "A String", # Optional. The workforce identity pool provider used to access the widget.
      },
      "allowPublicAccess": True or False, # Whether allow no-auth integration with widget. If set true, public access to search or other solutions from widget is allowed without authenication token provided by customer hosted backend server.
      "allowlistedDomains": [ # Allowlisted domains that can load this widget.
        "A String",
      ],
      "assistantSettings": { # Describes the assistant settings of the widget. # Optional. Output only. Describes the assistant settings of the widget.
        "defaultWebGroundingToggleOff": True or False, # Output only. This field controls the default web grounding toggle for end users if `web_grounding_type` is set to `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`. By default, this field is set to false. If `web_grounding_type` is `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`, end users will have web grounding enabled by default on UI. If true, grounding toggle will be disabled by default on UI. End users can still enable web grounding in the UI if web grounding is enabled.
        "disableLocationContext": True or False, # Optional. Output only. Whether to disable user location context.
        "googleSearchGroundingEnabled": True or False, # Whether or not the Google search grounding toggle is shown. Deprecated. Use web_grounding_type instead.
        "webGroundingType": "A String", # Optional. The type of web grounding to use.
      },
      "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources.
        { # Read-only collection component that contains data store collections fields that may be used for filtering
          "connectorIconLink": "A String", # Output only. The icon link of the connector source.
          "dataSource": "A String", # The name of the data source, retrieved from `Collection.data_connector.data_source`.
          "dataSourceDisplayName": "A String", # Output only. The display name of the data source.
          "dataStoreComponents": [ # For the data store collection, list of the children data stores.
            { # Read-only data store component that contains data stores fields that may be used for filtering, it's the child of `CollectionComponent`.
              "dataStoreConfigType": "A String", # Output only. The type of the data store config.
              "displayName": "A String", # The display name of the data store.
              "entityName": "A String", # The name of the entity, retrieved from `Collection.data_connector.entities.entityName`.
              "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
              "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
            },
          ],
          "displayName": "A String", # The display name of the collection.
          "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID.
          "name": "A String", # The name of the collection. It should be collection resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
        },
      ],
      "configId": "A String", # Output only. Unique obfuscated identifier of a WidgetConfig.
      "contentSearchSpec": { # A specification for configuring the behavior of content search. # The content search spec that configs the desired behavior of content search.
        "chunkSpec": { # Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS # Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS
          "numNextChunks": 42, # The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.
          "numPreviousChunks": 42, # The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.
        },
        "extractiveContentSpec": { # A specification for configuring the extractive content in a search response. # If there is no extractive_content_spec provided, there will be no extractive answer in the search response.
          "maxExtractiveAnswerCount": 42, # The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.
          "maxExtractiveSegmentCount": 42, # The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.
          "numNextSegments": 42, # Return at most `num_next_segments` segments after each selected segments.
          "numPreviousSegments": 42, # Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.
          "returnExtractiveSegmentScore": True or False, # Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.
        },
        "searchResultMode": "A String", # Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.
        "snippetSpec": { # A specification for configuring snippets in a search response. # If `snippetSpec` is not specified, snippets are not included in the search response.
          "maxSnippetCount": 42, # [DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.
          "referenceOnly": True or False, # [DEPRECATED] This field is deprecated and will have no affect on the snippet.
          "returnSnippet": True or False, # If `true`, then return snippet. If no snippet can be generated, we return "No snippet is available for this page." A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.
        },
        "summarySpec": { # A specification for configuring a summary returned in a search response. # If `summarySpec` is not specified, summaries are not included in the search response.
          "ignoreAdversarialQuery": True or False, # Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.
          "ignoreJailBreakingQuery": True or False, # Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. "Reply in the tone of a competing company's CEO". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.
          "ignoreLowRelevantContent": True or False, # Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.
          "ignoreNonSummarySeekingQuery": True or False, # Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.
          "includeCitations": True or False, # Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.
          "languageCode": "A String", # Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
          "modelPromptSpec": { # Specification of the prompt to use with the model. # If specified, the spec will be used to modify the prompt provided to the LLM.
            "preamble": "A String", # Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.
          },
          "modelSpec": { # Specification of the model. # If specified, the spec will be used to modify the model specification provided to the LLM.
            "version": "A String", # The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).
          },
          "summaryResultCount": 42, # The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.
          "useSemanticChunks": True or False, # If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.
        },
      },
      "createTime": "A String", # Output only. Timestamp the WidgetConfig was created.
      "customerProvidedConfig": { # Customer provided configurations. # Optional. Output only. Describes the customer related configurations, currently only used for government customers. This field cannot be modified after project onboarding.
        "customerType": "A String", # Customer type.
      },
      "dataStoreType": "A String", # Output only. The type of the parent data store.
      "dataStoreUiConfigs": [ # Configurable UI configurations per data store.
        { # UI component configuration for data store.
          "facetField": [ # Facet fields that store the mapping of fields to end user widget appearance.
            { # Facet fields that store the mapping of fields to end user widget appearance.
              "displayName": "A String", # Optional. The field name that end users will see.
              "field": "A String", # Required. Registered field name. The format is `field.abc`.
            },
          ],
          "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
            "a_key": { # Facet field that maps to a UI Component.
              "deviceVisibility": [ # The field visibility on different types of devices.
                "A String",
              ],
              "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
              "field": "A String", # Required. Registered field name. The format is `field.abc`.
            },
          },
          "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
          "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
        },
      ],
      "defaultSearchRequestOrderBy": "A String", # The default ordering for search results if specified. Used to set SearchRequest#order_by on applicable requests. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.dataStores.servingConfigs/search#request-body
      "displayName": "A String", # Required. The human readable widget config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
      "enableAutocomplete": True or False, # Whether or not to enable autocomplete.
      "enableConversationalSearch": True or False, # Whether to allow conversational search (LLM, multi-turn) or not (non-LLM, single-turn).
      "enablePrivateKnowledgeGraph": True or False, # Optional. Output only. Whether to enable private knowledge graph.
      "enableQualityFeedback": True or False, # Turn on or off collecting the search result quality feedback from end users.
      "enableResultScore": True or False, # Whether to show the result score.
      "enableSafeSearch": True or False, # Whether to enable safe search.
      "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget
      "enableSnippetResultSummary": True or False, # Turn on or off summary for each snippets result.
      "enableSummarization": True or False, # Turn on or off summarization for the search response.
      "enableWebApp": True or False, # Whether to enable standalone web app.
      "facetField": [ # The configuration and appearance of facets in the end user view.
        { # Facet fields that store the mapping of fields to end user widget appearance.
          "displayName": "A String", # Optional. The field name that end users will see.
          "field": "A String", # Required. Registered field name. The format is `field.abc`.
        },
      ],
      "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
        "a_key": { # Facet field that maps to a UI Component.
          "deviceVisibility": [ # The field visibility on different types of devices.
            "A String",
          ],
          "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
          "field": "A String", # Required. Registered field name. The format is `field.abc`.
        },
      },
      "geminiBundle": True or False, # Output only. Whether the subscription is gemini bundle or not.
      "homepageSetting": { # Describes the homepage setting of the widget. It includes all homepage related settings and configurations, such as shortcuts. # Optional. Describes the homepage settings of the widget.
        "shortcuts": [ # Optional. The shortcuts to display on the homepage.
          { # Describes an entity of shortcut (aka pinned content) on the homepage. The home page will render these shortcuts in the same order as what the API returns. If a customer wants to reorder or remove a shortcut, the UI should always provide the new full list of shortcuts.
            "destinationUri": "A String", # Optional. Destination URL of shortcut.
            "icon": { # Options to store an image. # Optional. Icon URL of shortcut.
              "url": "A String", # Image URL.
            },
            "title": "A String", # Optional. Title of the shortcut.
          },
        ],
      },
      "industryVertical": "A String", # Output only. The industry vertical that the WidgetConfig registers. The WidgetConfig industry vertical is based on the associated Engine.
      "llmEnabled": True or False, # Output only. Whether LLM is enabled in the corresponding data store.
      "minimumDataTermAccepted": True or False, # Output only. Whether the customer accepted data use terms.
      "name": "A String", # Immutable. The full resource name of the widget config. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/widgetConfigs/{widget_config_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
      "resultDisplayType": "A String", # The type of snippet to display in UCS widget. - RESULT_DISPLAY_TYPE_UNSPECIFIED for existing users. - SNIPPET for new non-enterprise search users. - EXTRACTIVE_ANSWER for new enterprise search users.
      "solutionType": "A String", # Required. Immutable. Specifies the solution type that this WidgetConfig can be used for.
      "uiBranding": { # Describes widget UI branding settings. # Describes search widget UI branding settings, such as the widget title, logo, favicons, and colors.
        "logo": { # Options to store an image. # Logo image.
          "url": "A String", # Image URL.
        },
      },
      "uiSettings": { # Describes general widget (or web app) UI settings as seen in the cloud console UI configuration page. # Describes general widget search settings as seen in cloud console widget configuration page. Replaces top deprecated top level properties.
        "dataStoreUiConfigs": [ # Per data store configuration.
          { # UI component configuration for data store.
            "facetField": [ # Facet fields that store the mapping of fields to end user widget appearance.
              { # Facet fields that store the mapping of fields to end user widget appearance.
                "displayName": "A String", # Optional. The field name that end users will see.
                "field": "A String", # Required. Registered field name. The format is `field.abc`.
              },
            ],
            "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
              "a_key": { # Facet field that maps to a UI Component.
                "deviceVisibility": [ # The field visibility on different types of devices.
                  "A String",
                ],
                "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
                "field": "A String", # Required. Registered field name. The format is `field.abc`.
              },
            },
            "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
            "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
          },
        ],
        "defaultSearchRequestOrderBy": "A String", # The default ordering for search results if specified. Used to set SearchRequest#order_by on applicable requests. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.dataStores.servingConfigs/search#request-body
        "disableUserEventsCollection": True or False, # If set to true, the widget will not collect user events.
        "enableAutocomplete": True or False, # Whether or not to enable autocomplete.
        "enableCreateAgentButton": True or False, # Optional. If set to true, the widget will enable the create agent button.
        "enablePeopleSearch": True or False, # Optional. If set to true, the widget will enable people search.
        "enableQualityFeedback": True or False, # Turn on or off collecting the search result quality feedback from end users.
        "enableSafeSearch": True or False, # Whether to enable safe search.
        "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget.
        "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
        "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload`
          "a_key": "A String",
        },
        "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration.
          "disableRelatedQuestions": True or False, # Whether generated answer contains suggested related questions.
          "ignoreAdversarialQuery": True or False, # Optional. Specifies whether to filter out queries that are adversarial.
          "ignoreLowRelevantContent": True or False, # Optional. Specifies whether to filter out queries that are not relevant to the content.
          "ignoreNonAnswerSeekingQuery": True or False, # Optional. Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.
          "imageSource": "A String", # Optional. Source of image returned in the answer.
          "languageCode": "A String", # Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
          "maxRephraseSteps": 42, # Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.
          "modelPromptPreamble": "A String", # Text at the beginning of the prompt that instructs the model that generates the answer.
          "modelVersion": "A String", # The model version used to generate the answer.
          "resultCount": 42, # The number of top results to generate the answer from. Up to 10.
        },
        "interactionType": "A String", # Describes widget (or web app) interaction type
        "modelConfigs": { # Output only. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
          "a_key": "A String",
        },
        "resultDescriptionType": "A String", # Controls whether result extract is display and how (snippet or extractive answer). Default to no result if unspecified.
      },
      "updateTime": "A String", # Output only. Timestamp the WidgetConfig was updated.
    }

      updateMask: string, Indicates which fields in the provided WidgetConfig to update. The following are the only supported fields: * WidgetConfig.enable_autocomplete If not set, all supported fields are updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # WidgetConfig captures configs at the Widget level.
      "accessSettings": { # Describes widget access settings. # Will be used for all widget access settings seen in cloud console integration page. Replaces top deprecated top level properties.
        "allowPublicAccess": True or False, # Whether public unauthenticated access is allowed.
        "allowlistedDomains": [ # List of domains that are allowed to integrate the search widget.
          "A String",
        ],
        "enableWebApp": True or False, # Whether web app access is enabled.
        "languageCode": "A String", # Optional. Language code for user interface. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). If unset, the default language code is "en-US".
        "workforceIdentityPoolProvider": "A String", # Optional. The workforce identity pool provider used to access the widget.
      },
      "allowPublicAccess": True or False, # Whether allow no-auth integration with widget. If set true, public access to search or other solutions from widget is allowed without authenication token provided by customer hosted backend server.
      "allowlistedDomains": [ # Allowlisted domains that can load this widget.
        "A String",
      ],
      "assistantSettings": { # Describes the assistant settings of the widget. # Optional. Output only. Describes the assistant settings of the widget.
        "defaultWebGroundingToggleOff": True or False, # Output only. This field controls the default web grounding toggle for end users if `web_grounding_type` is set to `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`. By default, this field is set to false. If `web_grounding_type` is `WEB_GROUNDING_TYPE_GOOGLE_SEARCH` or `WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH`, end users will have web grounding enabled by default on UI. If true, grounding toggle will be disabled by default on UI. End users can still enable web grounding in the UI if web grounding is enabled.
        "disableLocationContext": True or False, # Optional. Output only. Whether to disable user location context.
        "googleSearchGroundingEnabled": True or False, # Whether or not the Google search grounding toggle is shown. Deprecated. Use web_grounding_type instead.
        "webGroundingType": "A String", # Optional. The type of web grounding to use.
      },
      "collectionComponents": [ # Output only. Collection components that lists all collections and child data stores associated with the widget config, those data sources can be used for filtering in widget service APIs, users can return results that from selected data sources.
        { # Read-only collection component that contains data store collections fields that may be used for filtering
          "connectorIconLink": "A String", # Output only. The icon link of the connector source.
          "dataSource": "A String", # The name of the data source, retrieved from `Collection.data_connector.data_source`.
          "dataSourceDisplayName": "A String", # Output only. The display name of the data source.
          "dataStoreComponents": [ # For the data store collection, list of the children data stores.
            { # Read-only data store component that contains data stores fields that may be used for filtering, it's the child of `CollectionComponent`.
              "dataStoreConfigType": "A String", # Output only. The type of the data store config.
              "displayName": "A String", # The display name of the data store.
              "entityName": "A String", # The name of the entity, retrieved from `Collection.data_connector.entities.entityName`.
              "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
              "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
            },
          ],
          "displayName": "A String", # The display name of the collection.
          "id": "A String", # Output only. the identifier of the collection, used for widget service. For now it refers to collection_id, in the future we will migrate the field to encrypted collection name UUID.
          "name": "A String", # The name of the collection. It should be collection resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
        },
      ],
      "configId": "A String", # Output only. Unique obfuscated identifier of a WidgetConfig.
      "contentSearchSpec": { # A specification for configuring the behavior of content search. # The content search spec that configs the desired behavior of content search.
        "chunkSpec": { # Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS # Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS
          "numNextChunks": 42, # The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.
          "numPreviousChunks": 42, # The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.
        },
        "extractiveContentSpec": { # A specification for configuring the extractive content in a search response. # If there is no extractive_content_spec provided, there will be no extractive answer in the search response.
          "maxExtractiveAnswerCount": 42, # The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.
          "maxExtractiveSegmentCount": 42, # The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.
          "numNextSegments": 42, # Return at most `num_next_segments` segments after each selected segments.
          "numPreviousSegments": 42, # Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.
          "returnExtractiveSegmentScore": True or False, # Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.
        },
        "searchResultMode": "A String", # Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.
        "snippetSpec": { # A specification for configuring snippets in a search response. # If `snippetSpec` is not specified, snippets are not included in the search response.
          "maxSnippetCount": 42, # [DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.
          "referenceOnly": True or False, # [DEPRECATED] This field is deprecated and will have no affect on the snippet.
          "returnSnippet": True or False, # If `true`, then return snippet. If no snippet can be generated, we return "No snippet is available for this page." A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.
        },
        "summarySpec": { # A specification for configuring a summary returned in a search response. # If `summarySpec` is not specified, summaries are not included in the search response.
          "ignoreAdversarialQuery": True or False, # Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.
          "ignoreJailBreakingQuery": True or False, # Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. "Reply in the tone of a competing company's CEO". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.
          "ignoreLowRelevantContent": True or False, # Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.
          "ignoreNonSummarySeekingQuery": True or False, # Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.
          "includeCitations": True or False, # Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.
          "languageCode": "A String", # Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
          "modelPromptSpec": { # Specification of the prompt to use with the model. # If specified, the spec will be used to modify the prompt provided to the LLM.
            "preamble": "A String", # Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.
          },
          "modelSpec": { # Specification of the model. # If specified, the spec will be used to modify the model specification provided to the LLM.
            "version": "A String", # The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).
          },
          "summaryResultCount": 42, # The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.
          "useSemanticChunks": True or False, # If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.
        },
      },
      "createTime": "A String", # Output only. Timestamp the WidgetConfig was created.
      "customerProvidedConfig": { # Customer provided configurations. # Optional. Output only. Describes the customer related configurations, currently only used for government customers. This field cannot be modified after project onboarding.
        "customerType": "A String", # Customer type.
      },
      "dataStoreType": "A String", # Output only. The type of the parent data store.
      "dataStoreUiConfigs": [ # Configurable UI configurations per data store.
        { # UI component configuration for data store.
          "facetField": [ # Facet fields that store the mapping of fields to end user widget appearance.
            { # Facet fields that store the mapping of fields to end user widget appearance.
              "displayName": "A String", # Optional. The field name that end users will see.
              "field": "A String", # Required. Registered field name. The format is `field.abc`.
            },
          ],
          "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
            "a_key": { # Facet field that maps to a UI Component.
              "deviceVisibility": [ # The field visibility on different types of devices.
                "A String",
              ],
              "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
              "field": "A String", # Required. Registered field name. The format is `field.abc`.
            },
          },
          "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
          "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
        },
      ],
      "defaultSearchRequestOrderBy": "A String", # The default ordering for search results if specified. Used to set SearchRequest#order_by on applicable requests. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.dataStores.servingConfigs/search#request-body
      "displayName": "A String", # Required. The human readable widget config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
      "enableAutocomplete": True or False, # Whether or not to enable autocomplete.
      "enableConversationalSearch": True or False, # Whether to allow conversational search (LLM, multi-turn) or not (non-LLM, single-turn).
      "enablePrivateKnowledgeGraph": True or False, # Optional. Output only. Whether to enable private knowledge graph.
      "enableQualityFeedback": True or False, # Turn on or off collecting the search result quality feedback from end users.
      "enableResultScore": True or False, # Whether to show the result score.
      "enableSafeSearch": True or False, # Whether to enable safe search.
      "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget
      "enableSnippetResultSummary": True or False, # Turn on or off summary for each snippets result.
      "enableSummarization": True or False, # Turn on or off summarization for the search response.
      "enableWebApp": True or False, # Whether to enable standalone web app.
      "facetField": [ # The configuration and appearance of facets in the end user view.
        { # Facet fields that store the mapping of fields to end user widget appearance.
          "displayName": "A String", # Optional. The field name that end users will see.
          "field": "A String", # Required. Registered field name. The format is `field.abc`.
        },
      ],
      "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
        "a_key": { # Facet field that maps to a UI Component.
          "deviceVisibility": [ # The field visibility on different types of devices.
            "A String",
          ],
          "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
          "field": "A String", # Required. Registered field name. The format is `field.abc`.
        },
      },
      "geminiBundle": True or False, # Output only. Whether the subscription is gemini bundle or not.
      "homepageSetting": { # Describes the homepage setting of the widget. It includes all homepage related settings and configurations, such as shortcuts. # Optional. Describes the homepage settings of the widget.
        "shortcuts": [ # Optional. The shortcuts to display on the homepage.
          { # Describes an entity of shortcut (aka pinned content) on the homepage. The home page will render these shortcuts in the same order as what the API returns. If a customer wants to reorder or remove a shortcut, the UI should always provide the new full list of shortcuts.
            "destinationUri": "A String", # Optional. Destination URL of shortcut.
            "icon": { # Options to store an image. # Optional. Icon URL of shortcut.
              "url": "A String", # Image URL.
            },
            "title": "A String", # Optional. Title of the shortcut.
          },
        ],
      },
      "industryVertical": "A String", # Output only. The industry vertical that the WidgetConfig registers. The WidgetConfig industry vertical is based on the associated Engine.
      "llmEnabled": True or False, # Output only. Whether LLM is enabled in the corresponding data store.
      "minimumDataTermAccepted": True or False, # Output only. Whether the customer accepted data use terms.
      "name": "A String", # Immutable. The full resource name of the widget config. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/widgetConfigs/{widget_config_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
      "resultDisplayType": "A String", # The type of snippet to display in UCS widget. - RESULT_DISPLAY_TYPE_UNSPECIFIED for existing users. - SNIPPET for new non-enterprise search users. - EXTRACTIVE_ANSWER for new enterprise search users.
      "solutionType": "A String", # Required. Immutable. Specifies the solution type that this WidgetConfig can be used for.
      "uiBranding": { # Describes widget UI branding settings. # Describes search widget UI branding settings, such as the widget title, logo, favicons, and colors.
        "logo": { # Options to store an image. # Logo image.
          "url": "A String", # Image URL.
        },
      },
      "uiSettings": { # Describes general widget (or web app) UI settings as seen in the cloud console UI configuration page. # Describes general widget search settings as seen in cloud console widget configuration page. Replaces top deprecated top level properties.
        "dataStoreUiConfigs": [ # Per data store configuration.
          { # UI component configuration for data store.
            "facetField": [ # Facet fields that store the mapping of fields to end user widget appearance.
              { # Facet fields that store the mapping of fields to end user widget appearance.
                "displayName": "A String", # Optional. The field name that end users will see.
                "field": "A String", # Required. Registered field name. The format is `field.abc`.
              },
            ],
            "fieldsUiComponentsMap": { # The key is the UI component. Mock. Currently supported `title`, `thumbnail`, `url`, `custom1`, `custom2`, `custom3`. The value is the name of the field along with its device visibility. The 3 custom fields are optional and can be added or removed. `title`, `thumbnail`, `url` are required UI components that cannot be removed.
              "a_key": { # Facet field that maps to a UI Component.
                "deviceVisibility": [ # The field visibility on different types of devices.
                  "A String",
                ],
                "displayTemplate": "A String", # The template to customize how the field is displayed. An example value would be a string that looks like: "Price: {value}".
                "field": "A String", # Required. Registered field name. The format is `field.abc`.
              },
            },
            "id": "A String", # Output only. the identifier of the data store, used for widget service. For now it refers to data_store_id, in the future we will migrate the field to encrypted data store name UUID.
            "name": "A String", # The name of the data store. It should be data store resource name Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. For APIs under WidgetService, such as WidgetService.LookUpWidgetConfig, the project number and location part is erased in this field.
          },
        ],
        "defaultSearchRequestOrderBy": "A String", # The default ordering for search results if specified. Used to set SearchRequest#order_by on applicable requests. https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/projects.locations.dataStores.servingConfigs/search#request-body
        "disableUserEventsCollection": True or False, # If set to true, the widget will not collect user events.
        "enableAutocomplete": True or False, # Whether or not to enable autocomplete.
        "enableCreateAgentButton": True or False, # Optional. If set to true, the widget will enable the create agent button.
        "enablePeopleSearch": True or False, # Optional. If set to true, the widget will enable people search.
        "enableQualityFeedback": True or False, # Turn on or off collecting the search result quality feedback from end users.
        "enableSafeSearch": True or False, # Whether to enable safe search.
        "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget.
        "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
        "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload`
          "a_key": "A String",
        },
        "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration.
          "disableRelatedQuestions": True or False, # Whether generated answer contains suggested related questions.
          "ignoreAdversarialQuery": True or False, # Optional. Specifies whether to filter out queries that are adversarial.
          "ignoreLowRelevantContent": True or False, # Optional. Specifies whether to filter out queries that are not relevant to the content.
          "ignoreNonAnswerSeekingQuery": True or False, # Optional. Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.
          "imageSource": "A String", # Optional. Source of image returned in the answer.
          "languageCode": "A String", # Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
          "maxRephraseSteps": 42, # Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.
          "modelPromptPreamble": "A String", # Text at the beginning of the prompt that instructs the model that generates the answer.
          "modelVersion": "A String", # The model version used to generate the answer.
          "resultCount": 42, # The number of top results to generate the answer from. Up to 10.
        },
        "interactionType": "A String", # Describes widget (or web app) interaction type
        "modelConfigs": { # Output only. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
          "a_key": "A String",
        },
        "resultDescriptionType": "A String", # Controls whether result extract is display and how (snippet or extractive answer). Default to no result if unspecified.
      },
      "updateTime": "A String", # Output only. Timestamp the WidgetConfig was updated.
    }