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