Gets a deep list of all Servers for a given Hardware Group and its sub groups, or all Servers for a given location.

		https://www.ctl.io/api-docs/v1/#server-getallservers

		:param alias: short code for a particular account.  If none will use account's default alias
		:param location: datacenter where group resides
		:param group: group name

def GetServers(location,group=None,alias=None,name_groups=False):
		"""Gets a deep list of all Servers for a given Hardware Group and its sub groups, or all Servers for a given location.

		https://www.ctl.io/api-docs/v1/#server-getallservers

		:param alias: short code for a particular account.  If none will use account's default alias
		:param location: datacenter where group resides
		:param group: group name
		"""
		if alias is None:  alias = clc.v1.Account.GetAlias()
		payload = {'AccountAlias': alias }
		if group:  payload['HardwareGroupUUID'] = clc.v1.Group.GetGroupUUID(group,alias,location)
		else:  payload['Location'] = location

		try:
			r = clc.v1.API.Call('post','Server/GetAllServers', payload)
			if name_groups:  r['Servers'] = clc.v1.Group.NameGroups(r['Servers'],'HardwareGroupUUID')
			if int(r['StatusCode']) == 0:  return(r['Servers'])
		except Exception as e:
			if str(e)=="Hardware does not exist for location":  return([])
			else:  raise