def status()

in cid/helpers/quicksight.py [0:0]


    def status(self) -> str:
        if not self._status:
            # Not dicovered yet
            if not self.definition:
                self._status = 'undiscovered'
            # Missing dataset
            elif not self.datasets or (len(self.datasets) < len(self.definition.get('dependsOn').get('datasets'))):
                self.status_detail = 'missing dataset(s)'
                self._status = 'broken'
                logger.info(f"Found datasets: {self.datasets}")
                logger.info(f"Required datasets: {self.definition.get('dependsOn').get('datasets')}")
            # Deployment failed
            elif self.version.get('Status') not in ['CREATION_SUCCESSFUL']:
                self._status = 'broken'
                self.status_detail = f"{self.version.get('Status')}: {self.version.get('Errors')}"
            # Source Template has changed
            elif self.deployed_arn and self.sourceTemplate.get('Arn') and not self.deployed_arn.startswith(self.sourceTemplate.get('Arn')):
                self._status = 'legacy'
            else:
                if self.latest_version > self.deployed_version:
                    self._status = f'update available {self.deployed_version}->{self.latest_version}'
                elif self.latest:
                    self._status = 'up to date'
        return self._status