crossplane / upjet

A code generation framework and runtime for Crossplane providers
Apache License 2.0
320 stars 90 forks source link

sensitive expand wildcard error because it was matching non sensitive field #436

Open digna-ionos opened 2 months ago

digna-ionos commented 2 months ago

What happened?

I have this configuration for a resource

The connection details mapping generated is spec.forProvider.credentials[*].plainTextPasswordSecretRef

When trying to create the resource it returns an error. cannot store sensitive parameters into params: cannot expand wildcard for xp resource: cannot expand wildcards for segments: "spec.forProvider.credentials[*].plainTextPasswordSecretRef": "spec.forProvider.credentials.username.plainTextPasswordSecretRef": cannot expand wildcards: spec.forProvider.credentials.username: not an object

I think that the wildcard is matching also the spec.forProvider.credentials.username.plainTextPasswordSecretRef path and returns an error because username is just a string.

How can we reproduce it?

Given a terraform singleton list which contains a string user attribute and a sensititve string password attribute, try to generate correct connection details mapping and succesfully expand wildcards.