code: def RestoreSnapshot(self,name=None):
  		
  
  		if not len(self.data['details']['snapshots']):  raise(clc.CLCException("No snapshots exist"))
  		if name is None:  name = self.GetSnapshots()[0]
  
  		name_links = [obj['links'] for obj in self.data['details']['snapshots'] if obj['name']==name][0]
  		return(clc.v2.Requests(clc.v2.API.Call('POST',
  											   [obj['href'] for obj in name_links if obj['rel']=='restore'][0],
  											   session=self.session),
  							   alias=self.alias,
  							   session=self.session))
docs: Restores an existing Hypervisor level snapshot.
  
  		Supply snapshot name to restore
  		If no snapshot name is supplied will restore the first snapshot found
  
  		>>> clc.v2.Server(alias='BTDI',id='WA1BTDIKRT02').RestoreSnapshot().WaitUntilComplete()
  		0