All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.RoutingParameterOrBuilder Maven / Gradle / Ivy

/*
 * Copyright 2024 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/api/routing.proto

// Protobuf Java Version: 3.25.3
package com.google.api;

public interface RoutingParameterOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.api.RoutingParameter)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * 
   * A request field to extract the header key-value pair from.
   * 
* * string field = 1; * * @return The field. */ java.lang.String getField(); /** * * *
   * A request field to extract the header key-value pair from.
   * 
* * string field = 1; * * @return The bytes for field. */ com.google.protobuf.ByteString getFieldBytes(); /** * * *
   * A pattern matching the key-value field. Optional.
   * If not specified, the whole field specified in the `field` field will be
   * taken as value, and its name used as key. If specified, it MUST contain
   * exactly one named segment (along with any number of unnamed segments) The
   * pattern will be matched over the field specified in the `field` field, then
   * if the match is successful:
   * - the name of the single named segment will be used as a header name,
   * - the match value of the segment will be used as a header value;
   * if the match is NOT successful, nothing will be sent.
   *
   * Example:
   *
   *               -- This is a field in the request message
   *              |   that the header value will be extracted from.
   *              |
   *              |                     -- This is the key name in the
   *              |                    |   routing header.
   *              V                    |
   *     field: "table_name"           v
   *     path_template: "projects/*/{table_location=instances/*}/tables/*"
   *                                                ^            ^
   *                                                |            |
   *       In the {} brackets is the pattern that --             |
   *       specifies what to extract from the                    |
   *       field as a value to be sent.                          |
   *                                                             |
   *      The string in the field must match the whole pattern --
   *      before brackets, inside brackets, after brackets.
   *
   * When looking at this specific example, we can see that:
   * - A key-value pair with the key `table_location`
   *   and the value matching `instances/*` should be added
   *   to the x-goog-request-params routing header.
   * - The value is extracted from the request message's `table_name` field
   *   if it matches the full pattern specified:
   *   `projects/*/instances/*/tables/*`.
   *
   * **NB:** If the `path_template` field is not provided, the key name is
   * equal to the field name, and the whole field should be sent as a value.
   * This makes the pattern for the field and the value functionally equivalent
   * to `**`, and the configuration
   *
   *     {
   *       field: "table_name"
   *     }
   *
   * is a functionally equivalent shorthand to:
   *
   *     {
   *       field: "table_name"
   *       path_template: "{table_name=**}"
   *     }
   *
   * See Example 1 for more details.
   * 
* * string path_template = 2; * * @return The pathTemplate. */ java.lang.String getPathTemplate(); /** * * *
   * A pattern matching the key-value field. Optional.
   * If not specified, the whole field specified in the `field` field will be
   * taken as value, and its name used as key. If specified, it MUST contain
   * exactly one named segment (along with any number of unnamed segments) The
   * pattern will be matched over the field specified in the `field` field, then
   * if the match is successful:
   * - the name of the single named segment will be used as a header name,
   * - the match value of the segment will be used as a header value;
   * if the match is NOT successful, nothing will be sent.
   *
   * Example:
   *
   *               -- This is a field in the request message
   *              |   that the header value will be extracted from.
   *              |
   *              |                     -- This is the key name in the
   *              |                    |   routing header.
   *              V                    |
   *     field: "table_name"           v
   *     path_template: "projects/*/{table_location=instances/*}/tables/*"
   *                                                ^            ^
   *                                                |            |
   *       In the {} brackets is the pattern that --             |
   *       specifies what to extract from the                    |
   *       field as a value to be sent.                          |
   *                                                             |
   *      The string in the field must match the whole pattern --
   *      before brackets, inside brackets, after brackets.
   *
   * When looking at this specific example, we can see that:
   * - A key-value pair with the key `table_location`
   *   and the value matching `instances/*` should be added
   *   to the x-goog-request-params routing header.
   * - The value is extracted from the request message's `table_name` field
   *   if it matches the full pattern specified:
   *   `projects/*/instances/*/tables/*`.
   *
   * **NB:** If the `path_template` field is not provided, the key name is
   * equal to the field name, and the whole field should be sent as a value.
   * This makes the pattern for the field and the value functionally equivalent
   * to `**`, and the configuration
   *
   *     {
   *       field: "table_name"
   *     }
   *
   * is a functionally equivalent shorthand to:
   *
   *     {
   *       field: "table_name"
   *       path_template: "{table_name=**}"
   *     }
   *
   * See Example 1 for more details.
   * 
* * string path_template = 2; * * @return The bytes for pathTemplate. */ com.google.protobuf.ByteString getPathTemplateBytes(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy