[FEATURE] A command to edit entities
Add a command to edit entities (benchmarks, mlcubes, datasets). Example:
medperf mlcube edit --uid <uid> --key val
This is related to #44 where users should have the option to change their dataset's state to OPERATION.
we can also have a command medperf <entity> deploy that edits state to "OPERATION"
This requires us to know what's the edition requirements, or entity state machine.
To discuss with @msheller
@hasan7n create an example using one of the entities
encapsulate "permissions" of editing (whether the requested field can be edited or not based on state). We can later modify these rules after we finalize the state machine.
Also, there no need for now to modify the server logic of handling editing
Focus on the client side logic
Open issues: Permissions for editing (how and when) Checking for reproducibility of MLCubes after a change. Do output artifacts change? How to test this robustly?
So editing mode reproduces the same logic (and CLI command) as medperf mlcube submit with the following changes:
- only for mlcube
- only for development mode
- uid field is required
- other fields (as in submit commands) are optional