@sisyphus.js/google
Version:
Precompiled google common protos by sisyphus protobuf compiler
79 lines • 2.51 kB
TypeScript
/**
* `Context` defines which contexts an API requests.
*
* Example:
*
* context:
* rules:
* - selector: "*"
* requested:
* - google.rpc.context.ProjectContext
* - google.rpc.context.OriginContext
*
* The above specifies that all methods in the API request
* `google.rpc.context.ProjectContext` and
* `google.rpc.context.OriginContext`.
*
* Available context types are defined in package
* `google.rpc.context`.
*
* This also provides mechanism to allowlist any protobuf message extension that
* can be sent in grpc metadata using “x-goog-ext-<extension_id>-bin” and
* “x-goog-ext-<extension_id>-jspb” format. For example, list any service
* specific protobuf types that can appear in grpc metadata as follows in your
* yaml file:
*
* Example:
*
* context:
* rules:
* - selector: "google.example.library.v1.LibraryService.CreateBook"
* allowed_request_extensions:
* - google.foo.v1.NewExtension
* allowed_response_extensions:
* - google.foo.v1.NewExtension
*
* You can also specify extension ID instead of fully qualified extension name
* here.
*/
export interface Context {
/**
* A list of RPC context rules that apply to individual API methods.
*
* **NOTE:** All service configuration rules follow "last one wins" order.
*/
rules?: ContextRule[];
}
export declare namespace Context {
const name = "google.api.Context";
}
/**
* A context rule provides information about the context for an individual API
* element.
*/
export interface ContextRule {
/**
* Selects the methods to which this rule applies.
*
* Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
*/
selector?: string;
/** A list of full type names of requested contexts. */
requested?: string[];
/** A list of full type names of provided contexts. */
provided?: string[];
/**
* A list of full type names or extension IDs of extensions allowed in grpc
* side channel from client to backend.
*/
allowedRequestExtensions?: string[];
/**
* A list of full type names or extension IDs of extensions allowed in grpc
* side channel from backend to client.
*/
allowedResponseExtensions?: string[];
}
export declare namespace ContextRule {
const name = "google.api.ContextRule";
}
//# sourceMappingURL=context.d.ts.map