code: def on_storage_device_change(self, medium_attachment, remove, silent):
          
          if not isinstance(medium_attachment, IMediumAttachment):
              raise TypeError("medium_attachment can only be an instance of type IMediumAttachment")
          if not isinstance(remove, bool):
              raise TypeError("remove can only be an instance of type bool")
          if not isinstance(silent, bool):
              raise TypeError("silent can only be an instance of type bool")
          self._call("onStorageDeviceChange",
                       in_p=[medium_attachment, remove, silent])
docs: Triggered when attached storage devices of the
          associated virtual machine have changed.
  
          in medium_attachment of type :class:`IMediumAttachment`
              The medium attachment which changed.
  
          in remove of type bool
              TRUE if the device is removed, FALSE if it was added.
  
          in silent of type bool
              TRUE if the device is is silently reconfigured without
              notifying the guest about it.
  
          raises :class:`VBoxErrorInvalidVmState`
              Session state prevents operation.
          
          raises :class:`VBoxErrorInvalidObjectState`
              Session type prevents operation.