robot-contrib 47df745328 Update contrib/libs/googleapis-common-protos to 1.65.0 2 months ago
..
README.md 06e5c21a83 fix ya.make 2 years ago
annotations.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
auth.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
backend.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
billing.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
client.proto 47df745328 Update contrib/libs/googleapis-common-protos to 1.65.0 2 months ago
config_change.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
consumer.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
context.proto 47df745328 Update contrib/libs/googleapis-common-protos to 1.65.0 2 months ago
control.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
distribution.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
documentation.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
endpoint.proto 47df745328 Update contrib/libs/googleapis-common-protos to 1.65.0 2 months ago
error_reason.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
field_behavior.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
field_info.proto 47df745328 Update contrib/libs/googleapis-common-protos to 1.65.0 2 months ago
http.proto 47df745328 Update contrib/libs/googleapis-common-protos to 1.65.0 2 months ago
httpbody.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
label.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
launch_stage.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
log.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
logging.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
metric.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
monitored_resource.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
monitoring.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
policy.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
quota.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
resource.proto 47df745328 Update contrib/libs/googleapis-common-protos to 1.65.0 2 months ago
routing.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
service.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
source_info.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
system_parameter.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
usage.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago
visibility.proto 33496e3c82 Update contrib/libs/googleapis-common-protos to 1.63.1 5 months ago

README.md

API Protos

This folder contains the schema of the configuration model for Google's internal API serving platform, which handles routing, quotas, monitoring, logging, and the like.

Google refers to this configuration colloquially as the "service config", and the service.proto file in this directory is the entry point for understanding these.

Using these protos

To be honest, we probably open sourced way too much of this (basically by accident). There are a couple files in here you are most likely to be interested in: http.proto, documentation.proto, auth.proto, and annotations.proto.

HTTP and REST

The http.proto file contains the Http message (which then is wrapped in an annotation in annotations.proto), which provides a specification for REST endpoints and verbs (GET, POST, etc.) on RPC methods. We recommend use of this annotation for describing the relationship between RPCs and REST endpoints.

Documentation

The documentation.proto file contains a Documentation message which provides a mechanism to fully describe an API, allowing a tool to build structured documentation artifacts.

Authentication

The auth.proto file contains descriptions of both authentication rules and authenticaion providers, allowing you to describe what your services expect and accept from clients.

api-compiler

Google provides a tool called api-compiler, which is a tool that accepts a protocol buffer descriptor and a YAML file specifying some of the options described in service.proto, and outputs a much more thorough Service descriptor based on the information it infers from the protos themselves.