Unified resource types
Rules for AIP-123, covering unified resource types.
Rule name | Description |
---|---|
duplicate-resource | Resource types should not be defined more than once. |
name-never-optional | Resource name fields must never be labeled with proto3_optional. |
resource-annotation | Resource messages should be annotated with `google.api.resource`. |
resource-definition-pattern | Resource annotations should define a pattern. |
resource-definition-type-name | Resource type names must be of the form {Service Name}/{Type}. |
resource-definition-variables | Resource patterns should use consistent variable naming. |
resource-name-components-alternate | Resource name components should alternate between collection and identifiers. |
resource-name-field | Resource messages should have a `string name` field. |
resource-pattern | Resource annotations should define a pattern. |
resource-pattern-plural | Resource patterns must use the plural as the collection segment |
resource-pattern-singular | Resource patterns must use the singular as the resource ID segment |
resource-plural | Resource plural is required |
resource-reference-type | Resource reference annotations should only apply to strings. |
resource-singular | Resource singular is required and must be lowerCamelCase of type |
resource-type-message | Resource type names must match containing message name. |
resource-type-name | Resource type names must be of the form {Service Name}/{Type}. |
resource-variables | Resource patterns should use consistent variable naming. |
Note: Because AIPs sometimes cover topics that have some overlap, some rules related to unified resource types may be included in the rules for other AIPs.