What problem are you facing?
It is currently not possible to generate ResolveReferences methods that target multiple suitable types even though there are cases in which this would be desirable.
A good example for this are references to KMS CMKs and Aliases in AWS.
Either can be used as reference in a SQS Queue's kmsMasterKeyId and Crossplane should support both.
How could Crossplane help solve your problem?
Resolving of references to KMS Keys for Queues has been implemented in the following way:
// KMSMasterKeyID - The ID of an AWS-managed customer master key (CMK)
// ...
// +crossplane:generate:reference:type=github.com/crossplane/provider-aws/apis/kms/v1alpha1.Key
KMSMasterKeyID *string `json:"kmsMasterKeyId,omitempty"`
KMSMasterKeyIDRef *xpv1.Reference `json:"kmsMasterKeyIdRef,omitempty"`
KMSMasterKeyIDSelector *xpv1.Selector `json:"kmsMasterKeyIdSelector,omitempty"`
It would be absolutely fantastic if crossplane-tools would support listing multiple suitable types here, similar to:
// KMSMasterKeyID - The ID of an AWS-managed customer master key (CMK)
// ...
// +crossplane:generate:reference:type=github.com/crossplane/provider-aws/apis/kms/v1alpha1.Key
// +crossplane:generate:reference:type=github.com/crossplane/provider-aws/apis/kms/v1alpha1.Alias
KMSMasterKeyID *string `json:"kmsMasterKeyId,omitempty"`
KMSMasterKeyIDRef *xpv1.Reference `json:"kmsMasterKeyIdRef,omitempty"`
KMSMasterKeyIDSelector *xpv1.Selector `json:"kmsMasterKeyIdSelector,omitempty"`
If there are multiple suitable candidates users would use matchLabels and suitable matches to differentiate between these resources.
Thank you!
What problem are you facing?
It is currently not possible to generate
ResolveReferencesmethods that target multiple suitable types even though there are cases in which this would be desirable.A good example for this are references to KMS CMKs and Aliases in AWS.
Either can be used as reference in a SQS Queue's
kmsMasterKeyIdand Crossplane should support both.How could Crossplane help solve your problem?
Resolving of references to KMS Keys for Queues has been implemented in the following way:
It would be absolutely fantastic if crossplane-tools would support listing multiple suitable types here, similar to:
If there are multiple suitable candidates users would use
matchLabelsand suitable matches to differentiate between these resources.Thank you!