I am adding the ability to display and update engine configuration parameters through the
REST API.
Working on this has raised a lot of dilemmas. The one I want to focus on here is:
"Which configuration items do you think should be managed through the API?"
Possible answers (you can add different ones too):
1) All items (the entire contents of VDC_OPTIONS, mirrored in the engine enum:
ConfigValues.java).
2) Only the items in engine enum ConfigurationValues.java (an enum which IIUC was created
in the past for GUI, and contains a subset of the items in the engine enum
ConfigValues.java)
3) Only the items exposed by engine-config-tool.
When I set out to work on this task, I was under the assumption that the API should show
what the GUI shows (option 2). But since then I've found out that the set of items in
engine-config-tool isn't identical to that in ConfigurationValues.java, and I've
also heard the opinion that the API should show all values in vdc_options (option 1),
because the clients of the API (& SDK, & CLI) are developers (as opposed to
clients of GUI, which can be more though of as 'users').
I'd be glad to hear some opinions about this, especially PM input would be
appreciated.
Thanks,
Ori.