src/workflow/lambda.py [148:198]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            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
    
    def _create_app_config(self, app_image_config) :
        
        image_config = app_image_config["AppImageConfigName"]
        kgw_config = app_image_config["KernelGatewayImageConfig"]
        
        try :
            
            info = self.sm.describe_app_image_config(AppImageConfigName=image_config)
            
            if info :
                info = self.sm.update_app_image_config( AppImageConfigName=image_config,
                                                        KernelGatewayImageConfig=kgw_config)    
            else :
                info = self.sm.create_app_image_config( AppImageConfigName=image_config,
                                                        KernelGatewayImageConfig=kgw_config)
                
        except :
            info = self.sm.create_app_image_config( AppImageConfigName=image_config,
                                                    KernelGatewayImageConfig=kgw_config)
            
        self.update_and_next(info)
        
    def _update_container_config_ver(self, images, image_name, app_config_name, version) :
        
        for image in images :
            if image["ImageName"] == image_name and image["AppImageConfigName"] == app_config_name:
                image["ImageVersionNumber"] = version
        
    def _update_studio_domain(self, update_domain_input, timeout, start_time) :
        
        domain_id = update_domain_input["DomainId"]
        defaults = update_domain_input["DefaultUserSettings"]
        
        self.sm.update_domain(  DomainId = domain_id,
                                DefaultUserSettings = defaults)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/workflow/publish.py [113:163]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            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
    
    def _create_app_config(self, app_image_config) :
        
        image_config = app_image_config["AppImageConfigName"]
        kgw_config = app_image_config["KernelGatewayImageConfig"]
        
        try :
            
            info = self.sm.describe_app_image_config(AppImageConfigName=image_config)
            
            if info :
                info = self.sm.update_app_image_config( AppImageConfigName=image_config,
                                                        KernelGatewayImageConfig=kgw_config)    
            else :
                info = self.sm.create_app_image_config( AppImageConfigName=image_config,
                                                        KernelGatewayImageConfig=kgw_config)
                
        except :
            info = self.sm.create_app_image_config( AppImageConfigName=image_config,
                                                    KernelGatewayImageConfig=kgw_config)
            
        self.update_and_next(info)
        
    def _update_container_config_ver(self, images, image_name, app_config_name, version) :
        
        for image in images :
            if image["ImageName"] == image_name and image["AppImageConfigName"] == app_config_name:
                image["ImageVersionNumber"] = version
        
    def _update_studio_domain(self, update_domain_input, timeout, start_time) :
        
        domain_id = update_domain_input["DomainId"]
        defaults = update_domain_input["DefaultUserSettings"]
        
        self.sm.update_domain(  DomainId = domain_id,
                                DefaultUserSettings = defaults)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



