-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
enhancementNew feature or requestNew feature or requestwontfixThis will not be worked onThis will not be worked on
Description
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!
selfuryon
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestwontfixThis will not be worked onThis will not be worked on