CRD docs should cover the external resource naming (e.g. google_sql_user.name)
- Dominant language
- Go
- Stars
- 481
- Forks
- 131
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 11
Description
### What problem are you facing?
As a crossplane composition author,
In order to name a sql user,
I need documentation on how to assign the equivalent of [google_sql_user.name](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/sql_user#name)
Currently:
* the CRD does not include a `name` field
* the CRD documentation does not mention that `google_sql_user.name` defaults to crossplane external name
* the CRD documentation does not document the external name strategy used for a resource
* the upjet authoring guide mentions external name mapping in https://github.com/upbound/upjet/blob/main/docs/add-new-resource-long.md#external-name
* instead source code needs to be studied such as https://github.com/upbound/provider-gcp/blob/090f08482cf66c04771bbcf4d983c4138e97d234/config/sql/config.go#LL85C43-L85C43
* the CRD documentation does not provide reminder for the the crossplane.io/external-name annotation
* https://docs.crossplane.io/master/reference/composition/#influencing-external-names mentions
> Some managed resources don’t let you specify an external name - in those cases Crossplane will set it for you to whatever the external system requires.
### How could Upjet help solve your problem?
* MR CRD schema could have an (automatically generated?) a section that describes the external name capability of the object
* website
Contributor guide
Assessment
This issue has not been assessed yet.