Common Protos Ruby
This repository is a home for the protocol buffer types which are common dependencies throughout the Google API ecosystem, generated for Ruby. The protobuf definitions for these generated Ruby classes are provided in the https://github.com/googleapis/googleapis repository.
Included gems
The gems available are:
- googleapis-common-protos-types : Proto message classes for global common components as described in AIP 213, but omitting common services.
-
googleapis-common-protos :
All global common components as described in AIP 213,
including both the common types from
googleapis-common-protos-types
(by bringing that gem in as a dependency), and common services such as
Google::Longrunning::Operations::Service
. - google-cloud-common : Long running operation metadata types for Google Cloud.
- google-geo-type : Common types for Google Geo services.
- google-shopping-type : Common types for Google Shopping services.
- google-apps-script-type : Common types for Google Apps Script services.
- google-apps-card-v1 : Common types for Google Apps Card.
- grpc-google-iam-v1 : Common IAM policy types and the IAM service definition. Deprecated in favor of the google-iam-v1 client.
Maintenance
Generally these gems are maintained by Google engineers and automated processes.
Gem updates
A GitHub Action periodically opens pull requests to update proto classes based on changes to the source protos from https://github.com/googleapis/googleapis. Changes can also be run locally on the command line by moving into an existing gem directory and running:
$ toys compile
You can also run toys compile
at the top level of the repo to update all gems.
Creating new gems
New common component gems are rare, and decisions on their creation are owned by the Google Cloud SDK team in compliance with AIP 213.
If a new gem is needed, it can be generated by Google engineer by triggering a GitHub Action. It can also be generated locally on the command line by running:
$ toys new-gem path/to/proto/directory
Releases
Releases are handled by release-please. Release pull requests will be opened as needed and can be merged by Google engineers.