docs: def UpdateUser(user, email, first_name, last_name, roles,alias=None):
  		"""Update existing user within a given account.
  		
  		https://t3n.zendesk.com/entries/22454018-UpdateUser
  
  		:param alias: short code for a particular account.  If none will use account's default alias
  		:param user: user name, which is typically an email address
  		:param email: email address.  Password credentials are emailed to this address on account creation
  		:param first_name: first name
  		:param last_name: surname
  		:param roles: list of roles (ServerAdministrator, BillingManager, DNSManager, AccountAdministrator,  AccountViewer, NetworkManager, SecurityManager, ServerOperator)
  		"""
  		if alias is None:  alias = clc.v1.Account.GetAlias()
  		payload = {'AccountAlias': alias, 'Roles': [] }
  		if user is not None:  payload['UserName'] = user
  		if email is not None:  payload['EmailAddress'] = email
  		if first_name is not None:  payload['FirstName'] = first_name
  		if last_name is not None:  payload['LastName'] = last_name
  		if roles is not None:
  			for role in roles:  payload['Roles'].append(User.user_role_stoi[role])
  		r = clc.v1.API.Call('post','User/UpdateUser',payload)
  		if int(r['StatusCode']) == 0:  
  			r['UserDetails']['Roles'] = User._UserRoleList_itos(r['UserDetails']['Roles'])
  			return(r['UserDetails'])