docs: list every supported resource type, and keep the list honest - #195
Merged
Conversation
The README table had drifted 52 types behind the plugin - 153 documented against 205 shipping. A third of what this plugin supports was invisible to anyone reading it, including the services added most recently: Network Security, Network Services, Certificate Manager's certificates, API Gateway, Analytics Hub, Spanner and the Cloud SQL sub-resources. Descriptions come from each schema module's own doc comment rather than being written again here, so the table says what the schema says. The count in the prose is regenerated with it: 205 types across 39 services. Two tests keep it that way. A batch lands about weekly, and this drifted without anyone noticing because nothing was looking - the table is the only list of supported types anyone outside this repository reads, and a stale one answers "does this support X?" wrongly. One test fails when a registered type has no row or a row names a type that no longer ships; the other fails when the stated count disagrees with the table. Both were confirmed to fail on a removed row before being committed - a parity test that cannot fail is the same silent no-op this repository has been finding all week. GCP::Compute::RegionNotificationEndpoint is deliberately absent: its constant survives but it has no schema and no registration, having been withdrawn when the project turned out not to be able to create one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The README table had drifted 52 types behind the plugin — 153 documented
against 205 shipping. A third of what this plugin supports was invisible to
anyone reading it, including everything added most recently: Network Security,
Network Services, Certificate Manager's certificates, API Gateway, Analytics Hub,
Spanner, and the Cloud SQL sub-resources.
The table
Descriptions come from each schema module's own doc comment rather than being
written a second time here, so the table says what the schema says. The count in
the prose is regenerated with it: 205 types across 39 services.
GCP::Compute::RegionNotificationEndpointis deliberately absent — its constantsurvives in
resources.go, but it has no schema and no registration, having beenwithdrawn when the project turned out to be unable to create one.
Keeping it honest
Two tests, because this drifted without anyone noticing and a batch lands about
weekly:
TestReadmeListsEverySupportedTypefails when a registered type has no row, ora row names a type that no longer ships.
TestReadmeCountMatchesTheTablefails when the stated count disagrees with therows under it.
Both were confirmed to fail on a deliberately removed row before being
committed. A parity test that cannot fail is the same silent no-op this
repository has spent the week finding — a sweep matching a prefix nothing uses, a
gcloud subcommand that does not exist, a
grepforformae--testwith a doubledhyphen. Worth checking a guard actually guards.
Scope
Documentation and one test file. Conformance scope is 0 — no fixture is
touched, so this does not occupy the serialized queue.