7edf8074d222109ca4b05dee081f2109052dc50f
4 1. Connects to current controller.
5 2. Creates a new model.
6 3. Deploys an application on the new model.
8 Note: 'cloudcred' format to add a model should be:
9 cloudcred-<cloudname>_<user>_<credentialname>
15 from juju
.model
import Model
, ModelObserver
16 from juju
.controller
import Controller
19 class MyModelObserver(ModelObserver
):
20 async def on_change(self
, delta
, old
, new
, model
):
25 controller
= Controller()
26 await controller
.connect_current()
27 model
= await controller
.add_model(
30 'cloudcred-aws_tvansteenburgh_external@aws-tim',
34 service_name
='ubuntu',
38 await model
.disconnect()
39 await controller
.disconnect()
43 logging
.basicConfig(level
=logging
.DEBUG
)
44 ws_logger
= logging
.getLogger('websockets.protocol')
45 ws_logger
.setLevel(logging
.INFO
)
46 loop
= asyncio
.get_event_loop()
48 loop
.create_task(run())