Add a mechanism for determining and switching off instances to help prevent projects going over budget.
Switch offs must be determined based on their cost and weighted priority (group's priority x instance type priority), with lower priority instances switched off earlier
Must minimise the switch offs/ maximise the available budget, both the number of instances switched off and the dates
Must take into consideration any future change requests. Note: this makes these calculations quite complex as switched off instances may be subsequently switched back on by a change request
When a user is creating or editing a change request, these must be calculated and shown in the summary chart
When calculating if a change request will go over budget, these switch offs must be considered
If any switch offs are required, if the user chooses to created/edit the request anyway, this should be recorded (for audit purposes)
These switch offs must also be calculated and displayed in the costs breakdown charts
Note: this is more complex than in visualiser or the events wizard, as now charts can span any timeframe, not just a chosen cycle. So the period chosen may span multiple cycles and/or start/end mid cycle
For now these switch offs will continue to be calculated by cycle (namely the goal is to prevent going over budget within the cycle)
Must include a cron task to carry out these switch offs, with an accompanying slack message and action logs
Note: This is a very significant increase in complexity of calculations & cost forecasting for cost charts
Add a mechanism for determining and switching off instances to help prevent projects going over budget.
Note: This is a very significant increase in complexity of calculations & cost forecasting for cost charts