Interface SearchRequestOrBuilder

  • All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    SearchRequest, SearchRequest.Builder

    public interface SearchRequestOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Detail

      • getServingConfig

        String getServingConfig()
         Required. The resource name of the Search serving config, such as
         `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`.
         This field is used to identify the serving configuration name, set
         of models used to make the search.
         
        string serving_config = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Returns:
        The servingConfig.
      • getServingConfigBytes

        com.google.protobuf.ByteString getServingConfigBytes()
         Required. The resource name of the Search serving config, such as
         `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`.
         This field is used to identify the serving configuration name, set
         of models used to make the search.
         
        string serving_config = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Returns:
        The bytes for servingConfig.
      • getBranch

        String getBranch()
         The branch resource name, such as
         `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`.
        
         Use `default_branch` as the branch ID or leave this field empty, to search
         documents under the default branch.
         
        string branch = 2 [(.google.api.resource_reference) = { ... }
        Returns:
        The branch.
      • getBranchBytes

        com.google.protobuf.ByteString getBranchBytes()
         The branch resource name, such as
         `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`.
        
         Use `default_branch` as the branch ID or leave this field empty, to search
         documents under the default branch.
         
        string branch = 2 [(.google.api.resource_reference) = { ... }
        Returns:
        The bytes for branch.
      • getQuery

        String getQuery()
         Raw search query.
         
        string query = 3;
        Returns:
        The query.
      • getQueryBytes

        com.google.protobuf.ByteString getQueryBytes()
         Raw search query.
         
        string query = 3;
        Returns:
        The bytes for query.
      • hasImageQuery

        boolean hasImageQuery()
         Raw image query.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.ImageQuery image_query = 19;
        Returns:
        Whether the imageQuery field is set.
      • getImageQuery

        SearchRequest.ImageQuery getImageQuery()
         Raw image query.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.ImageQuery image_query = 19;
        Returns:
        The imageQuery.
      • getImageQueryOrBuilder

        SearchRequest.ImageQueryOrBuilder getImageQueryOrBuilder()
         Raw image query.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.ImageQuery image_query = 19;
      • getPageSize

        int getPageSize()
         Maximum number of [Document][google.cloud.discoveryengine.v1beta.Document]s
         to return. If unspecified, defaults to a reasonable value. The maximum
         allowed value is 100. Values above 100 are coerced to 100.
        
         If this field is negative, an  `INVALID_ARGUMENT`  is returned.
         
        int32 page_size = 4;
        Returns:
        The pageSize.
      • getPageToken

        String getPageToken()
         A page token received from a previous
         [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]
         call. Provide this to retrieve the subsequent page.
        
         When paginating, all other parameters provided to
         [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]
         must match the call that provided the page token. Otherwise, an
          `INVALID_ARGUMENT`  error is returned.
         
        string page_token = 5;
        Returns:
        The pageToken.
      • getPageTokenBytes

        com.google.protobuf.ByteString getPageTokenBytes()
         A page token received from a previous
         [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]
         call. Provide this to retrieve the subsequent page.
        
         When paginating, all other parameters provided to
         [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]
         must match the call that provided the page token. Otherwise, an
          `INVALID_ARGUMENT`  error is returned.
         
        string page_token = 5;
        Returns:
        The bytes for pageToken.
      • getOffset

        int getOffset()
         A 0-indexed integer that specifies the current offset (that is, starting
         result location, amongst the
         [Document][google.cloud.discoveryengine.v1beta.Document]s deemed by the API
         as relevant) in search results. This field is only considered if
         [page_token][google.cloud.discoveryengine.v1beta.SearchRequest.page_token]
         is unset.
        
         If this field is negative, an  `INVALID_ARGUMENT`  is returned.
         
        int32 offset = 6;
        Returns:
        The offset.
      • getFilter

        String getFilter()
         The filter syntax consists of an expression language for constructing a
         predicate from one or more fields of the documents being filtered. Filter
         expression is case-sensitive.
        
         If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
         
        string filter = 7;
        Returns:
        The filter.
      • getFilterBytes

        com.google.protobuf.ByteString getFilterBytes()
         The filter syntax consists of an expression language for constructing a
         predicate from one or more fields of the documents being filtered. Filter
         expression is case-sensitive.
        
         If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
         
        string filter = 7;
        Returns:
        The bytes for filter.
      • getOrderBy

        String getOrderBy()
         The order in which documents are returned. Documents can be ordered by
         a field in an [Document][google.cloud.discoveryengine.v1beta.Document]
         object. Leave it unset if ordered by relevance. `order_by` expression is
         case-sensitive.
        
         If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
         
        string order_by = 8;
        Returns:
        The orderBy.
      • getOrderByBytes

        com.google.protobuf.ByteString getOrderByBytes()
         The order in which documents are returned. Documents can be ordered by
         a field in an [Document][google.cloud.discoveryengine.v1beta.Document]
         object. Leave it unset if ordered by relevance. `order_by` expression is
         case-sensitive.
        
         If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
         
        string order_by = 8;
        Returns:
        The bytes for orderBy.
      • hasUserInfo

        boolean hasUserInfo()
         Information about the end user.
         Highly recommended for analytics.
         [UserInfo.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent]
         is used to deduce `device_type` for analytics.
         
        .google.cloud.discoveryengine.v1beta.UserInfo user_info = 21;
        Returns:
        Whether the userInfo field is set.
      • getUserInfo

        UserInfo getUserInfo()
         Information about the end user.
         Highly recommended for analytics.
         [UserInfo.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent]
         is used to deduce `device_type` for analytics.
         
        .google.cloud.discoveryengine.v1beta.UserInfo user_info = 21;
        Returns:
        The userInfo.
      • getUserInfoOrBuilder

        UserInfoOrBuilder getUserInfoOrBuilder()
         Information about the end user.
         Highly recommended for analytics.
         [UserInfo.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent]
         is used to deduce `device_type` for analytics.
         
        .google.cloud.discoveryengine.v1beta.UserInfo user_info = 21;
      • getFacetSpecsList

        List<SearchRequest.FacetSpec> getFacetSpecsList()
         Facet specifications for faceted search. If empty, no facets are returned.
        
         A maximum of 100 values are allowed. Otherwise, an  `INVALID_ARGUMENT`
         error is returned.
         
        repeated .google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec facet_specs = 9;
      • getFacetSpecs

        SearchRequest.FacetSpec getFacetSpecs​(int index)
         Facet specifications for faceted search. If empty, no facets are returned.
        
         A maximum of 100 values are allowed. Otherwise, an  `INVALID_ARGUMENT`
         error is returned.
         
        repeated .google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec facet_specs = 9;
      • getFacetSpecsCount

        int getFacetSpecsCount()
         Facet specifications for faceted search. If empty, no facets are returned.
        
         A maximum of 100 values are allowed. Otherwise, an  `INVALID_ARGUMENT`
         error is returned.
         
        repeated .google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec facet_specs = 9;
      • getFacetSpecsOrBuilderList

        List<? extends SearchRequest.FacetSpecOrBuilder> getFacetSpecsOrBuilderList()
         Facet specifications for faceted search. If empty, no facets are returned.
        
         A maximum of 100 values are allowed. Otherwise, an  `INVALID_ARGUMENT`
         error is returned.
         
        repeated .google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec facet_specs = 9;
      • getFacetSpecsOrBuilder

        SearchRequest.FacetSpecOrBuilder getFacetSpecsOrBuilder​(int index)
         Facet specifications for faceted search. If empty, no facets are returned.
        
         A maximum of 100 values are allowed. Otherwise, an  `INVALID_ARGUMENT`
         error is returned.
         
        repeated .google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec facet_specs = 9;
      • hasBoostSpec

        boolean hasBoostSpec()
         Boost specification to boost certain documents.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.BoostSpec boost_spec = 10;
        Returns:
        Whether the boostSpec field is set.
      • getBoostSpec

        SearchRequest.BoostSpec getBoostSpec()
         Boost specification to boost certain documents.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.BoostSpec boost_spec = 10;
        Returns:
        The boostSpec.
      • getBoostSpecOrBuilder

        SearchRequest.BoostSpecOrBuilder getBoostSpecOrBuilder()
         Boost specification to boost certain documents.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.BoostSpec boost_spec = 10;
      • getParamsCount

        int getParamsCount()
         Additional search parameters.
        
         For public website search only, supported values are:
        
         * `user_country_code`: string. Default empty. If set to non-empty, results
            are restricted or boosted based on the location provided.
         * `search_type`: double. Default empty. Enables non-webpage searching
           depending on the value. The only valid non-default value is 1,
           which enables image searching.
         
        map<string, .google.protobuf.Value> params = 11;
      • containsParams

        boolean containsParams​(String key)
         Additional search parameters.
        
         For public website search only, supported values are:
        
         * `user_country_code`: string. Default empty. If set to non-empty, results
            are restricted or boosted based on the location provided.
         * `search_type`: double. Default empty. Enables non-webpage searching
           depending on the value. The only valid non-default value is 1,
           which enables image searching.
         
        map<string, .google.protobuf.Value> params = 11;
      • getParamsMap

        Map<String,​com.google.protobuf.Value> getParamsMap()
         Additional search parameters.
        
         For public website search only, supported values are:
        
         * `user_country_code`: string. Default empty. If set to non-empty, results
            are restricted or boosted based on the location provided.
         * `search_type`: double. Default empty. Enables non-webpage searching
           depending on the value. The only valid non-default value is 1,
           which enables image searching.
         
        map<string, .google.protobuf.Value> params = 11;
      • getParamsOrDefault

        com.google.protobuf.Value getParamsOrDefault​(String key,
                                                     com.google.protobuf.Value defaultValue)
         Additional search parameters.
        
         For public website search only, supported values are:
        
         * `user_country_code`: string. Default empty. If set to non-empty, results
            are restricted or boosted based on the location provided.
         * `search_type`: double. Default empty. Enables non-webpage searching
           depending on the value. The only valid non-default value is 1,
           which enables image searching.
         
        map<string, .google.protobuf.Value> params = 11;
      • getParamsOrThrow

        com.google.protobuf.Value getParamsOrThrow​(String key)
         Additional search parameters.
        
         For public website search only, supported values are:
        
         * `user_country_code`: string. Default empty. If set to non-empty, results
            are restricted or boosted based on the location provided.
         * `search_type`: double. Default empty. Enables non-webpage searching
           depending on the value. The only valid non-default value is 1,
           which enables image searching.
         
        map<string, .google.protobuf.Value> params = 11;
      • hasQueryExpansionSpec

        boolean hasQueryExpansionSpec()
         The query expansion specification that specifies the conditions under which
         query expansion occurs.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.QueryExpansionSpec query_expansion_spec = 13;
        Returns:
        Whether the queryExpansionSpec field is set.
      • getQueryExpansionSpec

        SearchRequest.QueryExpansionSpec getQueryExpansionSpec()
         The query expansion specification that specifies the conditions under which
         query expansion occurs.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.QueryExpansionSpec query_expansion_spec = 13;
        Returns:
        The queryExpansionSpec.
      • getQueryExpansionSpecOrBuilder

        SearchRequest.QueryExpansionSpecOrBuilder getQueryExpansionSpecOrBuilder()
         The query expansion specification that specifies the conditions under which
         query expansion occurs.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.QueryExpansionSpec query_expansion_spec = 13;
      • hasSpellCorrectionSpec

        boolean hasSpellCorrectionSpec()
         The spell correction specification that specifies the mode under
         which spell correction takes effect.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.SpellCorrectionSpec spell_correction_spec = 14;
        Returns:
        Whether the spellCorrectionSpec field is set.
      • getSpellCorrectionSpec

        SearchRequest.SpellCorrectionSpec getSpellCorrectionSpec()
         The spell correction specification that specifies the mode under
         which spell correction takes effect.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.SpellCorrectionSpec spell_correction_spec = 14;
        Returns:
        The spellCorrectionSpec.
      • getSpellCorrectionSpecOrBuilder

        SearchRequest.SpellCorrectionSpecOrBuilder getSpellCorrectionSpecOrBuilder()
         The spell correction specification that specifies the mode under
         which spell correction takes effect.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.SpellCorrectionSpec spell_correction_spec = 14;
      • getUserPseudoId

        String getUserPseudoId()
         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][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id]
         and
         [CompleteQueryRequest.user_pseudo_id][google.cloud.discoveryengine.v1beta.CompleteQueryRequest.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.
         
        string user_pseudo_id = 15;
        Returns:
        The userPseudoId.
      • getUserPseudoIdBytes

        com.google.protobuf.ByteString getUserPseudoIdBytes()
         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][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id]
         and
         [CompleteQueryRequest.user_pseudo_id][google.cloud.discoveryengine.v1beta.CompleteQueryRequest.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.
         
        string user_pseudo_id = 15;
        Returns:
        The bytes for userPseudoId.
      • hasContentSearchSpec

        boolean hasContentSearchSpec()
         A specification for configuring the behavior of content search.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec content_search_spec = 24;
        Returns:
        Whether the contentSearchSpec field is set.
      • getContentSearchSpec

        SearchRequest.ContentSearchSpec getContentSearchSpec()
         A specification for configuring the behavior of content search.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec content_search_spec = 24;
        Returns:
        The contentSearchSpec.
      • getContentSearchSpecOrBuilder

        SearchRequest.ContentSearchSpecOrBuilder getContentSearchSpecOrBuilder()
         A specification for configuring the behavior of content search.
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.ContentSearchSpec content_search_spec = 24;
      • hasEmbeddingSpec

        boolean hasEmbeddingSpec()
         Uses the provided embedding to do additional semantic document retrieval.
         The retrieval is based on the dot product of
         [SearchRequest.embedding_spec.embedding_vectors.vector][] and the document
         embedding that is provided in
         [SearchRequest.embedding_spec.embedding_vectors.field_path][].
        
         If [SearchRequest.embedding_spec.embedding_vectors.field_path][] is not
         provided, it will use [ServingConfig.embedding_config.field_paths][].
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec embedding_spec = 23;
        Returns:
        Whether the embeddingSpec field is set.
      • getEmbeddingSpec

        SearchRequest.EmbeddingSpec getEmbeddingSpec()
         Uses the provided embedding to do additional semantic document retrieval.
         The retrieval is based on the dot product of
         [SearchRequest.embedding_spec.embedding_vectors.vector][] and the document
         embedding that is provided in
         [SearchRequest.embedding_spec.embedding_vectors.field_path][].
        
         If [SearchRequest.embedding_spec.embedding_vectors.field_path][] is not
         provided, it will use [ServingConfig.embedding_config.field_paths][].
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec embedding_spec = 23;
        Returns:
        The embeddingSpec.
      • getEmbeddingSpecOrBuilder

        SearchRequest.EmbeddingSpecOrBuilder getEmbeddingSpecOrBuilder()
         Uses the provided embedding to do additional semantic document retrieval.
         The retrieval is based on the dot product of
         [SearchRequest.embedding_spec.embedding_vectors.vector][] and the document
         embedding that is provided in
         [SearchRequest.embedding_spec.embedding_vectors.field_path][].
        
         If [SearchRequest.embedding_spec.embedding_vectors.field_path][] is not
         provided, it will use [ServingConfig.embedding_config.field_paths][].
         
        .google.cloud.discoveryengine.v1beta.SearchRequest.EmbeddingSpec embedding_spec = 23;
      • getRankingExpression

        String getRankingExpression()
         The ranking expression controls the customized ranking on retrieval
         documents. This overrides [ServingConfig.ranking_expression][].
         The ranking expression is a single function or multiple functions that are
         joint by "+".
           * ranking_expression = function, { " + ", function };
         Supported functions:
           * double * relevance_score
           * double * dotProduct(embedding_field_path)
         Function variables:
           `relevance_score`: pre-defined keywords, used for measure relevance
           between query and document.
           `embedding_field_path`: the document embedding field
           used with query embedding vector.
           `dotProduct`: embedding function between embedding_field_path and query
           embedding vector.
        
          Example ranking expression:
            If document has an embedding field doc_embedding, the ranking expression
            could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.
         
        string ranking_expression = 26;
        Returns:
        The rankingExpression.
      • getRankingExpressionBytes

        com.google.protobuf.ByteString getRankingExpressionBytes()
         The ranking expression controls the customized ranking on retrieval
         documents. This overrides [ServingConfig.ranking_expression][].
         The ranking expression is a single function or multiple functions that are
         joint by "+".
           * ranking_expression = function, { " + ", function };
         Supported functions:
           * double * relevance_score
           * double * dotProduct(embedding_field_path)
         Function variables:
           `relevance_score`: pre-defined keywords, used for measure relevance
           between query and document.
           `embedding_field_path`: the document embedding field
           used with query embedding vector.
           `dotProduct`: embedding function between embedding_field_path and query
           embedding vector.
        
          Example ranking expression:
            If document has an embedding field doc_embedding, the ranking expression
            could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.
         
        string ranking_expression = 26;
        Returns:
        The bytes for rankingExpression.
      • getSafeSearch

        boolean getSafeSearch()
         Whether to turn on safe search. This is only supported for
         website search.
         
        bool safe_search = 20;
        Returns:
        The safeSearch.
      • getUserLabelsCount

        int getUserLabelsCount()
         The user labels applied to a resource must meet the following requirements:
        
         * Each resource can have multiple labels, up to a maximum of 64.
         * Each label must be a key-value pair.
         * Keys have a minimum length of 1 character and a maximum length of 63
           characters and cannot be empty. Values can be empty and have a maximum
           length of 63 characters.
         * Keys and values can contain only lowercase letters, numeric characters,
           underscores, and dashes. All characters must use UTF-8 encoding, and
           international characters are allowed.
         * The key portion of a label must be unique. However, you can use the same
           key with multiple resources.
         * Keys must start with a lowercase letter or international character.
        
         See [Google Cloud
         Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
         for more details.
         
        map<string, string> user_labels = 22;
      • containsUserLabels

        boolean containsUserLabels​(String key)
         The user labels applied to a resource must meet the following requirements:
        
         * Each resource can have multiple labels, up to a maximum of 64.
         * Each label must be a key-value pair.
         * Keys have a minimum length of 1 character and a maximum length of 63
           characters and cannot be empty. Values can be empty and have a maximum
           length of 63 characters.
         * Keys and values can contain only lowercase letters, numeric characters,
           underscores, and dashes. All characters must use UTF-8 encoding, and
           international characters are allowed.
         * The key portion of a label must be unique. However, you can use the same
           key with multiple resources.
         * Keys must start with a lowercase letter or international character.
        
         See [Google Cloud
         Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
         for more details.
         
        map<string, string> user_labels = 22;
      • getUserLabelsMap

        Map<String,​String> getUserLabelsMap()
         The user labels applied to a resource must meet the following requirements:
        
         * Each resource can have multiple labels, up to a maximum of 64.
         * Each label must be a key-value pair.
         * Keys have a minimum length of 1 character and a maximum length of 63
           characters and cannot be empty. Values can be empty and have a maximum
           length of 63 characters.
         * Keys and values can contain only lowercase letters, numeric characters,
           underscores, and dashes. All characters must use UTF-8 encoding, and
           international characters are allowed.
         * The key portion of a label must be unique. However, you can use the same
           key with multiple resources.
         * Keys must start with a lowercase letter or international character.
        
         See [Google Cloud
         Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
         for more details.
         
        map<string, string> user_labels = 22;
      • getUserLabelsOrDefault

        String getUserLabelsOrDefault​(String key,
                                      String defaultValue)
         The user labels applied to a resource must meet the following requirements:
        
         * Each resource can have multiple labels, up to a maximum of 64.
         * Each label must be a key-value pair.
         * Keys have a minimum length of 1 character and a maximum length of 63
           characters and cannot be empty. Values can be empty and have a maximum
           length of 63 characters.
         * Keys and values can contain only lowercase letters, numeric characters,
           underscores, and dashes. All characters must use UTF-8 encoding, and
           international characters are allowed.
         * The key portion of a label must be unique. However, you can use the same
           key with multiple resources.
         * Keys must start with a lowercase letter or international character.
        
         See [Google Cloud
         Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
         for more details.
         
        map<string, string> user_labels = 22;
      • getUserLabelsOrThrow

        String getUserLabelsOrThrow​(String key)
         The user labels applied to a resource must meet the following requirements:
        
         * Each resource can have multiple labels, up to a maximum of 64.
         * Each label must be a key-value pair.
         * Keys have a minimum length of 1 character and a maximum length of 63
           characters and cannot be empty. Values can be empty and have a maximum
           length of 63 characters.
         * Keys and values can contain only lowercase letters, numeric characters,
           underscores, and dashes. All characters must use UTF-8 encoding, and
           international characters are allowed.
         * The key portion of a label must be unique. However, you can use the same
           key with multiple resources.
         * Keys must start with a lowercase letter or international character.
        
         See [Google Cloud
         Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
         for more details.
         
        map<string, string> user_labels = 22;