# Copyright 2023 Canonical Ltd.
# Licensed under the Apache V2, see LICENCE file for details.
from . import model
[docs]class Action(model.ModelEntity):
def __init__(self, entity_id, model, history_index=-1, connected=True):
super().__init__(entity_id, model, history_index, connected)
self.results = {}
self._status = self.data['status']
@property
def status(self):
return self._status
[docs] async def fetch_output(self):
completed_action = await self.model._get_completed_action(self.id)
self.results = completed_action.output or {}
self._status = completed_action.status
[docs] async def wait(self):
self.results or await self.fetch_output()
return self