-"""
-This example:
-
-1. Connects to the current model
-2. Watches the model and prints all changes
-3. Runs forever (kill with Ctrl-C)
-
-"""
-from juju.model import Model
-from juju import loop
-
-
-async def on_model_change(delta, old, new, model):
- print(delta.entity, delta.type, delta.data)
- print(old)
- print(new)
- print(model)
-
-
-async def watch_model():
- model = Model()
- # connect to current model with current user, per Juju CLI
- await model.connect()
-
- model.add_observer(on_model_change)
-
-
-if __name__ == '__main__':
- # Run loop until the process is manually stopped (watch_model will loop
- # forever).
- loop.run(watch_model())