#NEWLINE# def capture( self , instance_id , name , additional_disks = False , notes = None ) : #NEWLINE# #INDENT# 'Capture one or all disks from a VS to a SoftLayer image.\n\n        Parameters set to None will be ignored and not attempted to be updated.\n\n        :param integer instance_id: the instance ID to edit\n        :param string name: name assigned to the image\n        :param bool additional_disks: set to true to include all additional\n                                        attached storage devices\n        :param string notes: notes about this particular image\n\n        :returns: dictionary -- information about the capture transaction.\n\n        Example::\n            name = "Testing Images"\n            notes = "Some notes about this image"\n            result = mgr.capture(instance_id=12345, name=name, notes=notes)\n        ' #NEWLINE# vsi = self . get_instance ( instance_id ) #NEWLINE# disk_filter = ( lambda x : ( x [ 'device' ] == '0' ) ) #NEWLINE# if additional_disks : #NEWLINE# #INDENT# disk_filter = ( lambda x : ( ( str ( x [ 'device' ] ) != '1' ) and ( x [ 'mountType' ] != 'CD' ) ) ) #NEWLINE# #UNINDENT# disks = [ block_device for block_device in instance_id [ 'blockDevices' ] if disk_filter ( block_device ) ] #NEWLINE# return self . guest . createArchiveTransaction ( name , disks , notes , id = instance_id )