X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Flibjuju.py;h=c62b11cd368dcb5724ab586c21320d95159e0b76;hp=ceb5e027c8ce82684a9242503efa3652dbf80b5b;hb=68b007225cc1fd432dba07fe42a5d1362925bc32;hpb=8331f7ce83ebe7b1c9b2ca25610dfa7fab3a0e64;ds=sidebyside diff --git a/n2vc/libjuju.py b/n2vc/libjuju.py index ceb5e02..c62b11c 100644 --- a/n2vc/libjuju.py +++ b/n2vc/libjuju.py @@ -740,6 +740,28 @@ class Libjuju: await self.disconnect_model(model) await self.disconnect_controller(controller) + async def consume( + self, offer_url: str, model_name: str, + ): + """ + Adds a remote offer to the model. Relations can be created later using "juju relate". + + :param: offer_url: Offer Url + :param: model_name: Model name + + :raises ParseError if there's a problem parsing the offer_url + :raises JujuError if remote offer includes and endpoint + :raises JujuAPIError if the operation is not successful + """ + controller = await self.get_controller() + model = await controller.get_model(model_name) + + try: + await model.consume(offer_url) + finally: + await self.disconnect_model(model) + await self.disconnect_controller(controller) + async def destroy_model(self, model_name: str, total_timeout: float): """ Destroy model