def DeleteSnapshot(self,names=None):
		"""Removes an existing Hypervisor level snapshot.

		Supply one or more snapshot names to delete them concurrently.
		If no snapshot names are supplied will delete all existing snapshots.

		>>> clc.v2.Server(alias='BTDI',id='WA1BTDIKRT02').DeleteSnapshot().WaitUntilComplete()
		0

		"""

		if names is None:  names = self.GetSnapshots()

		requests_lst = []
		for name in names:
			name_links = [obj['links'] for obj in self.data['details']['snapshots'] if obj['name']==name][0]
			requests_lst.append(
				clc.v2.Requests(
					clc.v2.API.Call('DELETE',
						[obj['href'] for obj in name_links if obj['rel']=='delete'][0],
						session=self.session),
					alias=self.alias,
					session=self.session))

		return(sum(requests_lst))