@sisyphus.js/google
Version:
Precompiled google common protos by sisyphus protobuf compiler
100 lines (91 loc) • 3.12 kB
text/typescript
/**
* ### System parameter configuration
*
* A system parameter is a special kind of parameter defined by the API
* system, not by an individual API. It is typically mapped to an HTTP header
* and/or a URL query parameter. This configuration specifies which methods
* change the names of the system parameters.
*/
export interface SystemParameters {
/**
* Define system parameters.
*
* The parameters defined here will override the default parameters
* implemented by the system. If this field is missing from the service
* config, default system parameters will be used. Default system parameters
* and names is implementation-dependent.
*
* Example: define api key for all methods
*
* system_parameters
* rules:
* - selector: "*"
* parameters:
* - name: api_key
* url_query_parameter: api_key
*
*
* Example: define 2 api key names for a specific method.
*
* system_parameters
* rules:
* - selector: "/ListShelves"
* parameters:
* - name: api_key
* http_header: Api-Key1
* - name: api_key
* http_header: Api-Key2
*
* **NOTE:** All service configuration rules follow "last one wins" order.
*/
rules?: SystemParameterRule[]
}
export namespace SystemParameters {
export const name = 'google.api.SystemParameters'
}
/**
* Define a system parameter rule mapping system parameter definitions to
* methods.
*/
export interface SystemParameterRule {
/**
* Selects the methods to which this rule applies. Use '*' to indicate all
* methods in all APIs.
*
* Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
*/
selector?: string
/**
* Define parameters. Multiple names may be defined for a parameter.
* For a given method call, only one of them should be used. If multiple
* names are used the behavior is implementation-dependent.
* If none of the specified names are present the behavior is
* parameter-dependent.
*/
parameters?: SystemParameter[]
}
export namespace SystemParameterRule {
export const name = 'google.api.SystemParameterRule'
}
/**
* Define a parameter's name and location. The parameter may be passed as either
* an HTTP header or a URL query parameter, and if both are passed the behavior
* is implementation-dependent.
*/
export interface SystemParameter {
/** Define the name of the parameter, such as "api_key" . It is case sensitive. */
name?: string
/**
* Define the HTTP header name to use for the parameter. It is case
* insensitive.
*/
httpHeader?: string
/**
* Define the URL query parameter name to use for the parameter. It is case
* sensitive.
*/
urlQueryParameter?: string
}
export namespace SystemParameter {
export const name = 'google.api.SystemParameter'
}