#
#  BEGIN LICENSE
#  Copyright (c) Blue Mind SAS, 2012-2016
# 
#  This file is part of BlueMind. BlueMind is a messaging and collaborative
#  solution.
# 
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of either the GNU Affero General Public License as
#  published by the Free Software Foundation (version 3 of the License).
# 
# 
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 
#  See LICENSE.txt
#  END LICENSE
#
import requests
from netbluemind.python import serder
from enum import Enum

class ErrorCode(Enum):
	UNKNOWN = 'UNKNOWN';
	PERMISSION_DENIED = 'PERMISSION_DENIED';
	FAILURE = 'FAILURE';
	INVALID_ID = 'INVALID_ID';
	INVALID_PARAMETER = 'INVALID_PARAMETER';
	AUTHENTICATION_FAIL = 'AUTHENTICATION_FAIL';
	SQL_ERROR = 'SQL_ERROR';
	NOT_FOUND = 'NOT_FOUND';
	ALREADY_EXISTS = 'ALREADY_EXISTS';
	FORBIDDEN = 'FORBIDDEN';
	ENTITY_TOO_LARGE = 'ENTITY_TOO_LARGE';
	INVALID_QUERY = 'INVALID_QUERY';
	INVALID_XML_RECEIVED = 'INVALID_XML_RECEIVED';
	CHILD_GROUP_MUST_EXIST = 'CHILD_GROUP_MUST_EXIST';
	CANT_DELETE_MYSELF = 'CANT_DELETE_MYSELF';
	DELEGATION_RESTRICTION = 'DELEGATION_RESTRICTION';
	INVALID_PASSWORD = 'INVALID_PASSWORD';
	LOGIN_ALREADY_USED = 'LOGIN_ALREADY_USED';
	INVALID_LOGIN = 'INVALID_LOGIN';
	EMPTY_LASTNAME = 'EMPTY_LASTNAME';
	EMPTY_VACATION_MESSAGE = 'EMPTY_VACATION_MESSAGE';
	VACATION_WITHOUT_MAILBOX = 'VACATION_WITHOUT_MAILBOX';
	FORWARDING_WITHOUT_MAILBOX = 'FORWARDING_WITHOUT_MAILBOX';
	FORWARDING_INVALID_EMAIL = 'FORWARDING_INVALID_EMAIL';
	INVALID_MAIL_SERVER = 'INVALID_MAIL_SERVER';
	INVALID_GROUP_NAME = 'INVALID_GROUP_NAME';
	FORWARDING_TO_OWN_MAILBOX = 'FORWARDING_TO_OWN_MAILBOX';
	SAME_PARENT_AND_CHILD_GROUP = 'SAME_PARENT_AND_CHILD_GROUP';
	INCLUSION_GROUP_LOOP = 'INCLUSION_GROUP_LOOP';
	EMAIL_ALREADY_USED = 'EMAIL_ALREADY_USED';
	INVALID_EMAIL = 'INVALID_EMAIL';
	MAIL_QUOTA_OVER_DOMAIN_LIMIT = 'MAIL_QUOTA_OVER_DOMAIN_LIMIT';
	NOT_GLOBAL_ADMIN = 'NOT_GLOBAL_ADMIN';
	DOMAIN_NAME_ALREADY_USED = 'DOMAIN_NAME_ALREADY_USED';
	INVALID_MAILSHARE_NAME = 'INVALID_MAILSHARE_NAME';
	INVALID_RESOURCE_NAME = 'INVALID_RESOURCE_NAME';
	OLD_PASSWORD_WRONG = 'OLD_PASSWORD_WRONG';
	OLD_PASSWORD_SAME_AS_NEW = 'OLD_PASSWORD_SAME_AS_NEW';
	IP_ADDRESS_ALREADY_USED = 'IP_ADDRESS_ALREADY_USED';
	MBOX_RENAME_FAILED = 'MBOX_RENAME_FAILED';
	INVALID_HOST_NAME = 'INVALID_HOST_NAME';
	EMPTY_EVENT_TITLE = 'EMPTY_EVENT_TITLE';
	NO_DURATION_EVENT = 'NO_DURATION_EVENT';
	NO_EVENT_DATE = 'NO_EVENT_DATE';
	NO_EVENT_TYPE = 'NO_EVENT_TYPE';
	EVENT_PRIVACY_INVALID = 'EVENT_PRIVACY_INVALID';
	EVENT_ERROR = 'EVENT_ERROR';
	CALENDAR_AUTHORISATION_ERROR = 'CALENDAR_AUTHORISATION_ERROR';
	CONTACT_DOMAIN_FORBIDDEN = 'CONTACT_DOMAIN_FORBIDDEN';
	EVENT_ENDREPEAT_PRIOR_TO_EVENT_DATE = 'EVENT_ENDREPEAT_PRIOR_TO_EVENT_DATE';
	INVALID_DOMAIN_NAME = 'INVALID_DOMAIN_NAME';
	GROUP_NAME_ALREADY_USED = 'GROUP_NAME_ALREADY_USED';
	INVALID_VACATION_RANGE = 'INVALID_VACATION_RANGE';
	EMPTY_DLIST_LABEL = 'EMPTY_DLIST_LABEL';
	EMPTY_DLIST_FOLDER = 'EMPTY_DLIST_FOLDER';
	DLIST_LOOP = 'DLIST_LOOP';
	CANT_UPDATE_ACL_IMPLICIT_RIGHTS = 'CANT_UPDATE_ACL_IMPLICIT_RIGHTS';
	USER_SPLIT_REQUIRES_SPLIT_DOMAIN = 'USER_SPLIT_REQUIRES_SPLIT_DOMAIN';
	SLAVE_RELAY_REQUIRES_SPLIT_DOMAIN = 'SLAVE_RELAY_REQUIRES_SPLIT_DOMAIN';
	INVALID_USER_LDAP_FILTER = 'INVALID_USER_LDAP_FILTER';
	SEC_GROUP_RM = 'SEC_GROUP_RM';
	NOT_IN_GLOBAL_DOMAIN = 'NOT_IN_GLOBAL_DOMAIN';
	NO_BACKUP_SERVER_FOUND = 'NO_BACKUP_SERVER_FOUND';
	OPERATION_ALREADY_RUNNING = 'OPERATION_ALREADY_RUNNING';
	INVALID_AD_HOST_NAME = 'INVALID_AD_HOST_NAME';
	JOB_FINISHED = 'JOB_FINISHED';
	INVALID_LICENSE = 'INVALID_LICENSE';
	HSM_MISSING_POLICY = 'HSM_MISSING_POLICY';
	INCOMPATIBLE_SMTP_TAGS = 'INCOMPATIBLE_SMTP_TAGS';
	INVALID_MAILBOX_NAME = 'INVALID_MAILBOX_NAME';
	TAG_ALREADY_EXIST = 'TAG_ALREADY_EXIST';
	INVALID_LINKED_MAILSHARE = 'INVALID_LINKED_MAILSHARE';
	MAILSHARE_GROUP_LINKED = 'MAILSHARE_GROUP_LINKED';
	SERVER_NOT_FOUND = 'SERVER_NOT_FOUND';
	DEPRECATED = 'DEPRECATED';

class __ErrorCodeSerDer__:
	def __init__( self):
		pass

	def parse(self, value):
		if(value == None):
			return None
		instance = ErrorCode[value]
		return instance


	def encode(self, value):
		if(value == None):
			return None
		instance = value.value
		return instance
