12

AEPs: API Enhancement Proposals

This is a fork of Google's AIPs (API Improvement Proposals) [1], which is the standard for all of Google's public APIs.

More context at [2].

[1]: https://aip.dev [2]: https://aep.dev/blog/history-of-aeps/

3 hours agocbarrick

> which is the standard for all of Google's public APIs

Far from that, unfortunately. A lot of Google public APIs predate AIPs and it's practically impossible to fix them and make them compliant. Possibly the worst offender is the Compute Engine API [1], which, to the best of my knowledge, is REST only (no gRPC), uses its own conventions related to page size / next page token, and, in general, is special in many ways. One of the ways it's special is its size: its definition in Google's own Discovery format [2] is a 6MB JSON.

It's an extremely difficult problem to standardize multiple APIs produced by multiple teams, and then keep the new changes compliant. Google did a great job, but it's still very far from the perfect state.

[1]: https://docs.cloud.google.com/compute/docs/reference/rest/v1 [2]: https://www.googleapis.com/discovery/v1/apis/compute/v1/rest - warning: 6 megabytes JSON

[edit: typo]

3 hours agoventana

I say it's the "standard" because all new public APIs must conform to the latest AIPs.

But yes, Google has plenty of legacy APIs. And yes, GCE in particular is a HUGE pain.

2 hours agocbarrick