terraform-provider-keycloak icon indicating copy to clipboard operation
terraform-provider-keycloak copied to clipboard

Support multivalue in component config

Open ChrisHubinger opened this issue 1 year ago • 1 comments

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 avatar Mar 17 '23 18:03 ChrisHubinger

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...

ChrisHubinger avatar Mar 21 '23 18:03 ChrisHubinger