def set_hot_pluggable_for_device(self, name, controller_port, device, hot_pluggable):
        """Sets a flag in the device information which indicates that the attached
        device is hot pluggable or not. This may or may not be supported by a
        particular controller and/or drive, and is silently ignored in the
        latter case. Changing the setting while the VM is running is forbidden.
        The device must already exist; see :py:func:`IMachine.attach_device` 
        for how to attach a new device.
        
        The @a controllerPort and @a device parameters specify the device slot and
        have have the same meaning as with :py:func:`IMachine.attach_device` .

        in name of type str
            Name of the storage controller.

        in controller_port of type int
            Storage controller port.

        in device of type int
            Device slot in the given port.

        in hot_pluggable of type bool
            New value for the hot-pluggable device flag.

        raises :class:`OleErrorInvalidarg`
            SATA device, SATA port, IDE port or IDE slot out of range.
        
        raises :class:`VBoxErrorInvalidObjectState`
            Attempt to modify an unregistered virtual machine.
        
        raises :class:`VBoxErrorInvalidVmState`
            Invalid machine state.
        
        raises :class:`VBoxErrorNotSupported`
            Controller doesn't support hot plugging.
        
        """
        if not isinstance(name, basestring):
            raise TypeError("name can only be an instance of type basestring")
        if not isinstance(controller_port, baseinteger):
            raise TypeError("controller_port can only be an instance of type baseinteger")
        if not isinstance(device, baseinteger):
            raise TypeError("device can only be an instance of type baseinteger")
        if not isinstance(hot_pluggable, bool):
            raise TypeError("hot_pluggable can only be an instance of type bool")
        self._call("setHotPluggableForDevice",
                     in_p=[name, controller_port, device, hot_pluggable])
Sets a flag in the device information which indicates that the attached
        device is hot pluggable or not. This may or may not be supported by a
        particular controller and/or drive, and is silently ignored in the
        latter case. Changing the setting while the VM is running is forbidden.
        The device must already exist; see :py:func:`IMachine.attach_device` 
        for how to attach a new device.
        
        The @a controllerPort and @a device parameters specify the device slot and
        have have the same meaning as with :py:func:`IMachine.attach_device` .

        in name of type str
            Name of the storage controller.

        in controller_port of type int
            Storage controller port.

        in device of type int
            Device slot in the given port.

        in hot_pluggable of type bool
            New value for the hot-pluggable device flag.

        raises :class:`OleErrorInvalidarg`
            SATA device, SATA port, IDE port or IDE slot out of range.
        
        raises :class:`VBoxErrorInvalidObjectState`
            Attempt to modify an unregistered virtual machine.
        
        raises :class:`VBoxErrorInvalidVmState`
            Invalid machine state.
        
        raises :class:`VBoxErrorNotSupported`
            Controller doesn't support hot plugging.