def _create_sagemaker_image()

in src/workflow/lambda.py [0:0]


    def _create_sagemaker_image(self, image_name, role, timeout, start_time) :

        try :
            info = self.sm.describe_image(ImageName=image_name)
            
            if info :
                self.sm.update_image(ImageName = image_name,
                                    RoleArn = role)
            else :
                self.sm.create_image(ImageName = image_name,
                                    RoleArn = role)
                                                                    
        except :
            self.sm.create_image(ImageName = image_name,
                                RoleArn = role)
                                        
        while(True) :
            
            info = self.sm.describe_image(ImageName=image_name)
            
            if info["ImageStatus"] == "CREATED" :
                self.update_and_next(info)
                break
            elif info["ImageStatus"] == "CREATE_FAILED" or \
                 info["ImageStatus"] == "UPDATE_FAILED" or \
                 info["ImageStatus"] == "DELETE_FAILED" or \
                 info["ImageStatus"] == "DELETING" : 
                self.update_and_next(info)
                raise Exception(f"Failed to create SageMaker image: {info}.")    
            else :
                self._handle_wait(start_time, timeout)