<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_from_snapshot(self, data, timeout=-1):
 """ Creates a new volume on the storage system from a snapshot of a volume. A volume template must also be specified when creating a volume from a snapshot. The global setting "StorageVolumeTemplateRequired" controls whether or not root volume templates can be used to provision volumes. The value of this setting defaults to "false". If the value is set to "true", then only templates with an "isRoot" value of "false" can be used to provision a volume. Args: data (dict):
 Object to create. timeout: Timeout in seconds. Wait for task completion by default. The timeout does not abort the operation in OneView, just stop waiting for its completion. Returns: dict: Created data. """

        uri = self.URI + "/from-snapshot"
        return self._client.create(data, uri=uri, timeout=timeout)