###########################################
# Note the conventions of the field values:
# type can be one of: CONFIG_ERROR, SYSTEM_ERROR, DATA_ERROR, CONNECTION_PROBLEM, AUTHENTICATION_PROBLEM
# severity can be one of: WARN, ERROR, FATAL
# alarmSeverity can be one of: CRITICAL,MAJOR,MINOR,INFORMATIONAL,NONE
# code is a unique integer in range of 3003-9999 (3000-3002 are occupied for internal usage)
# The above enumeration values are out-of-the-box and can be changed in code. 
# In case of config and code mismatch, the appropriate error will be printed to log
#
## Range of BE codes - 3010-7999

errors:

    BeRestApiGeneralError: {
        type: SYSTEM_ERROR,
        code: ASDC_4000,
        severity: ERROR,
        description: "Unexpected error during BE REST API execution",
        alarmSeverity: CRITICAL
    }

    BeHealthCheckError: {
        type: SYSTEM_ERROR,
        code: ASDC_3010,
        severity: ERROR,
        description: "Error during BE Health Check",
        alarmSeverity: CRITICAL
    }
    
    BeInitializationError: {
        type: SYSTEM_ERROR,
        code: ASDC_4019,
        severity: ERROR,
        description: "Catalog-BE was not initialized properly",
        alarmSeverity: CRITICAL
    }

    BeResourceMissingError: {
        type: SYSTEM_ERROR,
        code: ASDC_3011,
        severity: ERROR,
        description: "Mandatory resource %s cannot be found in repository",
        alarmSeverity: MAJOR
    }
    
    BeServiceMissingError: {
        type: SYSTEM_ERROR,
        code: ASDC_3012,
        severity: ERROR,
        description: "Mandatory service %s cannot be found in repository",
        alarmSeverity: MAJOR
    }
    
    BeFailedAddingResourceInstanceError: {
        type: SYSTEM_ERROR,
        code: ASDC_3013,
        severity: ERROR,
        description: "Failed to add resource instance of resource %s to service %s",
        alarmSeverity: MAJOR
    }
    
    BeIncorrectServiceError: {
        type: SYSTEM_ERROR,
        code: ASDC_3014,
        severity: ERROR,
        description: "Service %s is not valid",
        alarmSeverity: MAJOR
    }
     
    BeRepositoryDeleteError: {
        type: SYSTEM_ERROR,
        code: ASDC_3015,
        severity: ERROR,
        description: "Failed to delete object %s from repository",
        alarmSeverity: CRITICAL
    }
    
    BeRepositoryQueryError: {
        type: SYSTEM_ERROR,
        code: ASDC_3016,
        severity: ERROR,
        description: "Failed to fetch from repository %s",
        alarmSeverity: MAJOR
    }
    
    BeInvalidConfigurationError: {
        type: CONFIG_ERROR,
        code: ASDC_3017,
        severity: FATAL,
        description: "Configuration parameter %s is invalid. Value configured is %s",
        alarmSeverity: MAJOR
    }
   
    BeUebConnectionError: {
        type: CONNECTION_PROBLEM,
        code: ASDC_4001,
        severity: ERROR,
        description: "Connection problem towards U-EB server. Reason: %s",
        alarmSeverity: MAJOR
    }
    
    BeUebSystemError: {
        type: SYSTEM_ERROR,
        code: ASDC_3019,
        severity: ERROR,
        description: "Error occured during access to U-EB Server. Operation: %s",
        alarmSeverity: MAJOR
    }
    
    BeUebObjectNotFoundError: {
        type: DATA_ERROR,
        code: ASDC_4005,
        severity: ERROR,
        description: "Error occured during access to U-EB Server. Data not found: %s",
        alarmSeverity: MAJOR
    }

    BeDistributionEngineSystemError: {
        type: SYSTEM_ERROR,
        code: ASDC_3021,
        severity: ERROR,
        description: "Error occured in Distribution Engine. Failed operation: %s",
        alarmSeverity: MAJOR
    }
    
    BeUebAuthenticationError: {
        type: AUTHENTICATION_PROBLEM,
        code: ASDC_4003,
        severity: ERROR,
        description: "Authentication problem towards U-EB server. Reason: %s",
        alarmSeverity: MAJOR
    }
    
    BeUebUnkownHostError: {
        type: CONNECTION_PROBLEM,
        code: ASDC_4002,
        severity: ERROR,
        description: "Connection problem towards U-EB server. Cannot reach host %s",
        alarmSeverity: MAJOR
    }
    
    BeDistributionEngineInvalidArtifactType: {
        type: DATA_ERROR,
        code: ASDC_4006,
        severity: WARN,
        description: "The artifact type %s does not appear in the list of valid artifacts %s",
        alarmSeverity: MAJOR
    }
    BeInvalidTypeError: {
        type: DATA_ERROR,
        code: ASDC_4008,
        severity: WARN,
        description: "The type %s of %s is invalid",
        alarmSeverity: MAJOR
    }
    BeInvalidValueError: {
        type: DATA_ERROR,
        code: ASDC_3028,
        severity: WARN,
        description: "The value %s of %s from type %s is invalid",
        alarmSeverity: MAJOR
    } 
    
    BeFailedDeletingResourceInstanceError: {
        type: SYSTEM_ERROR,
        code: ASDC_3029,
        severity: ERROR,
        description: "Failed to delete resource instance %s from service %s",
        alarmSeverity: MAJOR
    }
    
    BeMissingConfigurationError: {
        type: CONFIG_ERROR,
        code: ASDC_3030,
        severity: FATAL,
        description: "Configuration parameter %s is missing",
        alarmSeverity: MAJOR
    }
    
    BeConfigurationInvalidListSizeError: {
        type: CONFIG_ERROR,
        code: ASDC_3031,
        severity: FATAL,
        description: "Configuration parameter %s is invalid. At least %s values shall be configured",
        alarmSeverity: MAJOR
    }
    
    ErrorConfigFileFormat: {
        type: CONFIG_ERROR,
        code: ASDC_3032,
        severity: ERROR,
        description: "Error element not found in YAML name: %s",
        alarmSeverity: MAJOR
    }
    
    BeMissingArtifactInformationError: {
        type: DATA_ERROR,
        code: ASDC_4010,
        severity: ERROR,
        description: "Artifact uploaded has missing information. Missing %s",
        alarmSeverity: MAJOR
    }
    
    BeArtifactMissingError: {
        type: DATA_ERROR,
        code: ASDC_4011,
        severity: ERROR,
        description: "Artifact %s requested is not found",
        alarmSeverity: MAJOR
    }
    
    BeArtifactPayloadInvalid: {
        type: DATA_ERROR,
        code: ASDC_4012,
        severity: ERROR,
        description: "Payload of artifact uploaded is invalid (invalid MD5 or encryption)",
        alarmSeverity: MAJOR
    }
    
    BeUserMissingError: {
        type: DATA_ERROR,
        code: ASDC_4009,
        severity: ERROR,
        description: "User %s requested is not found",
        alarmSeverity: MAJOR
    }
    
    BeArtifactInformationInvalidError: {
        type: DATA_ERROR,
        code: ASDC_4013,
        severity: ERROR,
        description: "Input for artifact metadata is invalid",
        alarmSeverity: MAJOR
    }
    BeFailedAddingCapabilityTypeError: {
        type: DATA_ERROR,
        code: ASDC_4015,
        severity: ERROR,
        description: "Failed adding capability type",
        alarmSeverity: CRITICAL
    }
    
    BeCapabilityTypeMissingError: {
        type: DATA_ERROR,
        code: ASDC_4016,
        severity: ERROR,
        description: "Capability Type %s not found",
        alarmSeverity: CRITICAL
    }
    
    BeInterfaceMissingError: {
        type: DATA_ERROR,
        code: ASDC_4020,
        severity: ERROR,
        description: "Interface %s required is missing",
        alarmSeverity: MAJOR
    }
    
    BeDaoSystemError: {
        type: SYSTEM_ERROR,
        code: ASDC_4014,
        severity: ERROR,
        description: "Operation towards database failed",
        alarmSeverity: CRITICAL
    }
    
    BeSystemError: {
        type: SYSTEM_ERROR,
        code: ASDC_4017,
        severity: ERROR,
        description: "Unexpected error during operation",
        alarmSeverity: CRITICAL
    }
    
    BeFailedLockObjectError: {
        type: SYSTEM_ERROR,
        code: ASDC_4007,
        severity: WARN,
        description: "Failed to lock object for update",
        alarmSeverity: CRITICAL
    }
    
    BeInvalidJsonInput: {
        type: SYSTEM_ERROR,
        code: ASDC_4018,
        severity: ERROR,
        description: "Failed to convert json input to object",
        alarmSeverity: MAJOR
    }
    
    BeDistributionMissingError: {
        type: DATA_ERROR,
        code: ASDC_4021,
        severity: ERROR,
        description: "Distribution %s required is missing",
        alarmSeverity: MAJOR
    }
    
    BeHealthCheckRecovery: {
        type: RECOVERY,
        code: ASDC_4022,
        severity: INFO,
        description: "BE Health Check Recovery",
        alarmSeverity: INFORMATIONAL
    }
    BeFailedCreateNodeError: {
        type: DATA_ERROR,
        code: ASDC_6000,
        severity: ERROR,
        description: "Failed to create node %s on graph. status is %s",
        alarmSeverity: MAJOR
    }
    BeFailedUpdateNodeError: {
        type: DATA_ERROR,
        code: ASDC_6001,
        severity: ERROR,
        description: "Failed to update node %s on graph. Status is %s",
        alarmSeverity: MAJOR
    }
    
    BeFailedDeleteNodeError: {
        type: DATA_ERROR,
        code: ASDC_6002,
        severity: ERROR,
        description: "Failed to delete node %s on graph. Status is %s",
        alarmSeverity: MAJOR
    }
    
    BeFailedRetrieveNodeError: {
        type: DATA_ERROR,
        code: ASDC_6003,
        severity: ERROR,
        description: "Failed to retrieve node %s from graph. Status is %s",
        alarmSeverity: MAJOR
    }
    
    BeExecuteRollbackError: {
        type: DATA_ERROR,
        code: ASDC_6004,
        severity: ERROR,
        description: "Going to execute rollback on graph.",
        alarmSeverity: MAJOR
    }
    
    BeFailedFindParentError: {
        type: DATA_ERROR,
        code: ASDC_6005,
        severity: ERROR,
        description: "Failed to find parent node %s on graph. Status is %s",
        alarmSeverity: MAJOR
    }
    
    BeFailedFindAllNodesError: {
        type: DATA_ERROR,
        code: ASDC_6006,
        severity: ERROR,
        description: "Failed to fetch all nodes with type %s of parent node %s . Status is %s",
        alarmSeverity: MAJOR
    }
    
    BeFailedFindAssociationError: {
        type: DATA_ERROR,
        code: ASDC_6007,
        severity: ERROR,
        description: "Cannot find node with type %s associated with node %s . Status is %s",
        alarmSeverity: MAJOR
    }
    
    BeFailedFindAssociationError: {
        type: DATA_ERROR,
        code: ASDC_6008,
        severity: ERROR,
        description: "Cannot find node with type %s associated with node %s . Status is %s",
        alarmSeverity: MAJOR
    }
    BeComponentCleanerSystemError: {
        type: SYSTEM_ERROR,
        code: ASDC_6009,
        severity: ERROR,
        description: "Error occured in Component Cleaner Task. Failed operation: %s",
        alarmSeverity: MAJOR
    }