def _create_sagemaker_image_version()

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


    def _create_sagemaker_image_version(self, image_name, ecr_uri, timeout, start_time) :
        
        self.sm.create_image_version(BaseImage = ecr_uri,
                                    ImageName = image_name)
        
        version = None
        while(True) :
            
            info = self.sm.describe_image_version(ImageName=image_name)
            
            if info["ImageVersionStatus"] == "CREATED" :
                self.update_and_next(info)
                version = info["Version"]
                break
            elif info["ImageVersionStatus"] == "CREATE_FAILED" or \
                 info["ImageVersionStatus"] == "DELETE_FAILED" or \
                 info["ImageVersionStatus"] == "DELETING" : 
                self.update_and_next(info)
                raise Exception(f"Failed to create SageMaker image version: {info}.")    
            else :
                self._handle_wait(start_time, timeout)
                
        return version