AlexSm d67bfb4b4b Import libs 4 (#758) 10 месяцев назад
..
README.md 06e5c21a83 fix ya.make 2 лет назад
annotations.proto 574b792877 Reimport boost/array as a separate project 2 лет назад
auth.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
backend.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
billing.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
client.proto d67bfb4b4b Import libs 4 (#758) 10 месяцев назад
config_change.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
consumer.proto 574b792877 Reimport boost/array as a separate project 2 лет назад
context.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
control.proto 284fd8a4a9 Update contrib/libs/googleapis-common-protos to 1.60.0 1 год назад
distribution.proto c18822fbad Update contrib/libs/googleapis-common-protos to 1.59.1 1 год назад
documentation.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
endpoint.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
error_reason.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
field_behavior.proto 135fc36c33 Update contrib/libs/googleapis-common-protos to 1.61.0 1 год назад
field_info.proto 135fc36c33 Update contrib/libs/googleapis-common-protos to 1.61.0 1 год назад
http.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
httpbody.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
label.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
launch_stage.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
log.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
logging.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
metric.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
monitored_resource.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
monitoring.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
policy.proto 284fd8a4a9 Update contrib/libs/googleapis-common-protos to 1.60.0 1 год назад
quota.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
resource.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
routing.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
service.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
source_info.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
system_parameter.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
usage.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад
visibility.proto d66e99ee21 Update contrib/libs/googleapis-common-protos to 1.59.0 1 год назад

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.