This pull request adds the functionality to Caldera's API to update existing planners.
Type of change
[x] New feature (non-breaking change which adds functionality)
How Has This Been Tested?
The new feature was tested manually using the Swagger UI.
Updating a planner, e.g. its description, results in the Caldera GUI showing the new description of the planner.
Also the corresponding YAML file was reviewed and it was found that it is correctly updated.
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
More Info / Feature Request Issue
Instead of opening a feature request for this PR as an issue, the respective text can be found below.
What problem are you trying to solve? Please describe.
The new Caldera planners released recently (e.g. the look ahead planner) offer much more configuration than the classic planners. I think it would be really useful to configure them using the API (and thus enabling configuration using the GUI) instead of working with the planners' YAML files.
Also, I have implemented a new planner (https://github.com/mitre/caldera/discussions/2914) that also offers a lot of configuration possibilities. In the future I intend to make my planner configurable using the Caldera GUI. To do so, I saw the need to update planners using the Caldera API.
The ideal solution: What should the feature should do?
The API should offer a way to update existing planners.
Description
This pull request adds the functionality to Caldera's API to update existing planners.
Type of change
How Has This Been Tested?
The new feature was tested manually using the Swagger UI. Updating a planner, e.g. its description, results in the Caldera GUI showing the new description of the planner. Also the corresponding YAML file was reviewed and it was found that it is correctly updated.
New pytest tests were written and executed successfully after applying PR https://github.com/mitre/caldera/pull/3013 that fixes the currently broken tests.
Checklist:
More Info / Feature Request Issue
Instead of opening a feature request for this PR as an issue, the respective text can be found below.
What problem are you trying to solve? Please describe. The new Caldera planners released recently (e.g. the look ahead planner) offer much more configuration than the classic planners. I think it would be really useful to configure them using the API (and thus enabling configuration using the GUI) instead of working with the planners' YAML files.
Also, I have implemented a new planner (https://github.com/mitre/caldera/discussions/2914) that also offers a lot of configuration possibilities. In the future I intend to make my planner configurable using the Caldera GUI. To do so, I saw the need to update planners using the Caldera API.
The ideal solution: What should the feature should do? The API should offer a way to update existing planners.
What category of feature is this?
If you have code or pseudo-code please provide: See PR https://github.com/mitre/caldera/pull/3020.
Screenshot of Swagger UI