mrparkers / terraform-provider-keycloak

Terraform provider for Keycloak
https://registry.terraform.io/providers/mrparkers/keycloak/latest/docs
MIT License
612 stars 300 forks source link

Support multivalue in component config #825

Open ChrisHubinger opened 1 year ago

ChrisHubinger commented 1 year ago

Refactored Component to allow the usage of multivalued configuration settings.

Changed:
func (component *component) getConfig(val string) string => func (component *component) getConfig(val string) []string

Created new: func (component *component) getConfigFirstOrDefault(val string) string

as replacement for original getConfig fixed all usage thoughout the code.

Implementation Note: Keycloak API does not preserver order for config values on it's own. Therefore the config value arrays are sorted using code, preventing creation of no-op changesets due to ordering changes between runs.

Just a gues, but look exactly like those issues about attributes/values order:

https://github.com/keycloak/keycloak/issues/9712 https://github.com/keycloak/keycloak/discussions/9794

ChrisHubinger commented 1 year ago

I tested it locally and everything seems to work as expected/described. No Idea why the test for Keycloak 19 failes. The error seems to be completely unrelated. On my first commit it was version 18 that failed a bit strange...