<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_configuration(self, ip_address, network_mask, from_ip_address, to_ip_address):
 """configures the server in ip_address of type str server IP address in network_mask of type str server network mask in from_ip_address of type str server From IP address for address range in to_ip_address of type str server To IP address for address range raises :class:`OleErrorInvalidarg` invalid configuration supplied """

        if not isinstance(ip_address, basestring):
            raise TypeError("ip_address can only be an instance of type basestring")
        if not isinstance(network_mask, basestring):
            raise TypeError("network_mask can only be an instance of type basestring")
        if not isinstance(from_ip_address, basestring):
            raise TypeError("from_ip_address can only be an instance of type basestring")
        if not isinstance(to_ip_address, basestring):
            raise TypeError("to_ip_address can only be an instance of type basestring")
        self._call("setConfiguration",
                     in_p=[ip_address, network_mask, from_ip_address, to_ip_address])