in control-tower-account-factory/src/handler.py [0:0]
def __get_provision_status(self, provision_name):
"""return status of provisioning product"""
status = ''
search_query = f'name:{provision_name}'
try:
provision_info = self.sc_client.search_provisioned_products(
AccessLevelFilter={
'Key': 'Account',
'Value': 'self'
},
Filters={
'SearchQuery': [
search_query
]
}
)
for provision in provision_info['ProvisionedProducts']:
if provision['Status'] == 'AVAILABLE':
status = 'done'
elif provision['Status'] in ['ERROR', 'TAINTED']:
status = 'failed'
else:
status = 'progress'
except ClientError as error:
self._log_error(f'Error obtain provision status for {provision_name}. Error: {error.response["Error"]}')
self._send_notification('Error obtain provision status', f'Error obtain provision status for {provision_name}. Error: {error.response["Error"]}')
status = 'error'
return status