(self, provider, credentials, target, image_object, parameters)
Delete an image of any type - We only need plugin-specific methods to delete ProviderImages
        Both TargetImages and BaseImages can be deleted directly at the PersistentImageManager layer only.
        
        @param provider - XML or JSON provider definition - None if not a ProviderImage
        @param credentials - Credentials for the given provider - None if not a ProviderImage
        @param target - Target type if applicable - None if not
        @param image_object - Already-retrieved and populated PersistentImage object
        @param parameters TODO

        @return TODO
Delete an image of any type - We only need plugin-specific methods to delete ProviderImages
        Both TargetImages and BaseImages can be deleted directly at the PersistentImageManager layer only.
        
        @param provider - XML or JSON provider definition - None if not a ProviderImage
        @param credentials - Credentials for the given provider - None if not a ProviderImage
        @param target - Target type if applicable - None if not
        @param image_object - Already-retrieved and populated PersistentImage object
        @param parameters TODO
Delete an image of any type - We only need plugin - specific methods to delete ProviderImages Both TargetImages and BaseImages can be deleted directly at the PersistentImageManager layer only . @param provider - XML or JSON provider definition - None if not a ProviderImage @param credentials - Credentials for the given provider - None if not a ProviderImage @param target - Target type if applicable - None if not @param image_object - Already - retrieved and populated PersistentImage object @param parameters TODO
def delete_image(self, provider, credentials, target, image_object, parameters):
        """
        Delete an image of any type - We only need plugin-specific methods to delete ProviderImages
        Both TargetImages and BaseImages can be deleted directly at the PersistentImageManager layer only.
        
        @param provider - XML or JSON provider definition - None if not a ProviderImage
        @param credentials - Credentials for the given provider - None if not a ProviderImage
        @param target - Target type if applicable - None if not
        @param image_object - Already-retrieved and populated PersistentImage object
        @param parameters TODO

        @return TODO
        """
        if parameters and ('callbacks' in parameters):
            # This ensures we have workers in place before any potential state changes
            self._init_callback_workers(image_object, parameters['callbacks'], self._deletion_cbws)

        thread_name = str(uuid.uuid4())[0:8]
        thread_kwargs = {'provider':provider, 'credentials':credentials, 'target':target, 'image_object':image_object, 'parameters':parameters}
        self.delete_thread = Thread(target=self._delete_image, name=thread_name, args=(), kwargs=thread_kwargs)
        self.delete_thread.start()
def delete_image ( self , provider , credentials , target , image_object , parameters ) : if parameters and ( 'callbacks' in parameters ) : # This ensures we have workers in place before any potential state changes self . _init_callback_workers ( image_object , parameters [ 'callbacks' ] , self . _deletion_cbws ) thread_name = str ( uuid . uuid4 ( ) ) [ 0 : 8 ] thread_kwargs = { 'provider' : provider , 'credentials' : credentials , 'target' : target , 'image_object' : image_object , 'parameters' : parameters } self . delete_thread = Thread ( target = self . _delete_image , name = thread_name , args = ( ) , kwargs = thread_kwargs ) self . delete_thread . start ( )