With Juju 1.24 I can set a unit's status to "maintenance" and associate a human-friendly message with that. I'd like to be able to associate computer-friendly data with it too. Here's my use-case:
OpenStack Autopilot wants to allow machines to be put into maintenance mode (i.e. stop all of the charm managed services and allow arbitrary maintenance). In order to do that it will use actions on the units on that machine to tell them to "pause". Once paused, the units will have stopped their (Unix) services and use `status-set maintenance "Paused. Use resume action to resume normal service"` to set the status of the unit.
Whilst paused, the services shouldn't be started as a result of any hooks running on the unit (only by the resume action). Most notably config-changed and *-relation changed will get some guards to prevent (Unix) service interactions whilst paused.
As of 1.24.4 I have to use `status-get --include-data` to get the message and then match against that. This feels a little clunky, because I have to match against a human-friendly string, when really I'd like to be able to use the little key-value store in status-data to have an easy programmatic way of identifying that I'm "paused".
Removing 2.1 milestone as we will not be addressing this issue in 2.1.