# coding: utf-8

"""
    Platform API

    _OpenAPI specification for the **Platform API** of **Empire**, the allocation and nomination platform of BritNed_  ---  Additional documentation available in the API's [GitHub repository](https://github.com/britned/empire-platform-api)   # noqa: E501

    The version of the OpenAPI document: 1.0.5
    Contact: britned.info@britned.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""


import json
import pprint
import re  # noqa: F401
from aenum import Enum, no_arg





class ErrorCode(str, Enum):
    """
    ErrorCode
    """

    """
    allowed enum values
    """
    ACTIVE_UNPLANNED_OUTAGE_EXISTS = 'ACTIVE_UNPLANNED_OUTAGE_EXISTS'
    ALREADY_EXPIRED = 'ALREADY_EXPIRED'
    API_CONTRACT_VALIDATION_ERROR = 'API_CONTRACT_VALIDATION_ERROR'
    API_KEY_NAME_NOT_UNIQUE = 'API_KEY_NAME_NOT_UNIQUE'
    AUCTION_BATCH_CREATE_UNAVAILABLE = 'AUCTION_BATCH_CREATE_UNAVAILABLE'
    AUCTION_RESULTS_NOT_AVAILABLE = 'AUCTION_RESULTS_NOT_AVAILABLE'
    AUCTION_UNDER_PROCESSING = 'AUCTION_UNDER_PROCESSING'
    AUTH_METHOD_MISMATCH = 'AUTH_METHOD_MISMATCH'
    BIDDING_NOT_POSSIBLE = 'BIDDING_NOT_POSSIBLE'
    BUSINESS_DAY_PERIOD_TOO_LONG = 'BUSINESS_DAY_PERIOD_TOO_LONG'
    CANCEL_DEADLINE_MISSED = 'CANCEL_DEADLINE_MISSED'
    CANNOT_IMPERSONATE_SELF = 'CANNOT_IMPERSONATE_SELF'
    CANNOT_IMPERSONATE_NESTED = 'CANNOT_IMPERSONATE_NESTED'
    CAPACTY_ALREADY_ALLOCATED = 'CAPACTY_ALREADY_ALLOCATED'
    CLOSURE_TIMES_MISALIGNED = 'CLOSURE_TIMES_MISALIGNED'
    CREDIT_LIMIT_EXCEEDED = 'CREDIT_LIMIT_EXCEEDED'
    CREDIT_LIMIT_TO_BE_EXCEECED = 'CREDIT_LIMIT_TO_BE_EXCEECED'
    CURTAILMENT_NOT_POSSIBLE = 'CURTAILMENT_NOT_POSSIBLE'
    DELIVERY_DAY_TOO_EARLY = 'DELIVERY_DAY_TOO_EARLY'
    DELIVERY_DAY_TOO_LATE = 'DELIVERY_DAY_TOO_LATE'
    DELIVERY_DAY_TOO_SOON = 'DELIVERY_DAY_TOO_SOON'
    DELIVERY_PERIOD_END_TOO_LATE = 'DELIVERY_PERIOD_END_TOO_LATE'
    DELIVERY_PERIOD_ERROR = 'DELIVERY_PERIOD_ERROR'
    DELIVERY_PERIOD_START_TOO_SOON = 'DELIVERY_PERIOD_START_TOO_SOON'
    DELIVERY_PERIOD_TOO_LONG = 'DELIVERY_PERIOD_TOO_LONG'
    DATA_FLOW_NOT_CREATABLE = 'DATA_FLOW_NOT_CREATABLE'
    DATA_FLOW_NOT_EDITABLE = 'DATA_FLOW_NOT_EDITABLE'
    DATA_FLOW_UNDER_PROCESSING = 'DATA_FLOW_UNDER_PROCESSING'
    DATE_IN_PAST_ERROR = 'DATE_IN_PAST_ERROR'
    DATE_PERIOD_MISALIGNED = 'DATE_PERIOD_MISALIGNED'
    DATE_PERIOD_TOO_LONG = 'DATE_PERIOD_TOO_LONG'
    DELETE_DEADLINE_MISSED = 'DELETE_DEADLINE_MISSED'
    DISMISS_BPP_NOT_POSSIBLE = 'DISMISS_BPP_NOT_POSSIBLE'
    DISMISS_CURTAILMENT_NOT_POSSIBLE = 'DISMISS_CURTAILMENT_NOT_POSSIBLE'
    EIC_CODE_SHOULD_BE_UNIQUE = 'EIC_CODE_SHOULD_BE_UNIQUE'
    EMAIL_ADDRESS_NOT_UNIQUE = 'EMAIL_ADDRESS_NOT_UNIQUE'
    ENTITY_CANNOT_BE_UPDATED = 'ENTITY_CANNOT_BE_UPDATED'
    EXECUTION_PERIOD_TOO_LONG = 'EXECUTION_PERIOD_TOO_LONG'
    FIRST_DAY_TOO_SOON = 'FIRST_DAY_TOO_SOON'
    FIRST_MTU_STARTED = 'FIRST_MTU_STARTED'
    FIRST_MTU_ERROR = 'FIRST_MTU_ERROR'
    FORBIDDEN = 'FORBIDDEN'
    GATE_CLOSE_TOO_CLOSE_TO_MTU = 'GATE_CLOSE_TOO_CLOSE_TO_MTU'
    GATE_MISALIGNED = 'GATE_MISALIGNED'
    GATE_OPEN_TOO_LATE = 'GATE_OPEN_TOO_LATE'
    GLOBAL_MTU_SIZE_MISMATCH = 'GLOBAL_MTU_SIZE_MISMATCH'
    HELPDESK_PIN_SHOULD_BE_UNIQUE = 'HELPDESK_PIN_SHOULD_BE_UNIQUE'
    INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR'
    INVALID_ACCOUNTING_CODE = 'INVALID_ACCOUNTING_CODE'
    INVALID_ATTACHMENT_FILE_TYPE = 'INVALID_ATTACHMENT_FILE_TYPE'
    INVALID_ATTACHMENT_ID = 'INVALID_ATTACHMENT_ID'
    INVALID_BID_ID = 'INVALID_BID_ID'
    INVALID_BID_CAPACITY = 'INVALID_BID_CAPACITY'
    INVALID_BPP_MARKET = 'INVALID_BPP_MARKET'
    INVALID_BID_PRICE = 'INVALID_BID_PRICE'
    INVALID_BPP_PROVIDER = 'INVALID_BPP_PROVIDER'
    INVALID_CLOSURE_TIME = 'INVALID_CLOSURE_TIME'
    INVALID_DIRECTION_ENTRIES = 'INVALID_DIRECTION_ENTRIES'
    INVALID_DIRECTIONAL_VALUES = 'INVALID_DIRECTIONAL_VALUES'
    INVALID_DELIVERY_DAY = 'INVALID_DELIVERY_DAY'
    INVALID_EXECUTION_DAY = 'INVALID_EXECUTION_DAY'
    INVALID_EXPIRY_DAY = 'INVALID_EXPIRY_DAY'
    INVALID_ID_AUCTION_PRODUCT_TYPE = 'INVALID_ID_AUCTION_PRODUCT_TYPE'
    INVALID_LINE_ITEM_ID = 'INVALID_LINE_ITEM_ID'
    INVALID_MTU = 'INVALID_MTU'
    INVALID_NEW_PERIOD_START = 'INVALID_NEW_PERIOD_START'
    INVALID_NOMINATION_VALUE = 'INVALID_NOMINATION_VALUE'
    INVALID_NOTICEBOARD_ENTRY = 'INVALID_NOTICEBOARD_ENTRY'
    INVALID_NOTICE_CAPACITY = 'INVALID_NOTICE_CAPACITY'
    INVALID_NOTICE_PRICE = 'INVALID_NOTICE_PRICE'
    INVALID_NTC_OVERRIDE_VALUE = 'INVALID_NTC_OVERRIDE_VALUE'
    INVALID_ORGANISATION_ID = 'INVALID_ORGANISATION_ID'
    INVALID_OUTAGE_PERIOD_VALUE = 'INVALID_OUTAGE_PERIOD_VALUE'
    INVALID_PARTICIPANT_EIC_CODE = 'INVALID_PARTICIPANT_EIC_CODE'
    INVALID_PARTICIPANT_ID = 'INVALID_PARTICIPANT_ID'
    INVALID_PERIOD_AMOUNT = 'INVALID_PERIOD_AMOUNT'
    INVALID_PURCHASE_VALUE = 'INVALID_PURCHASE_VALUE'
    INVALID_RESERVE_PRICE = 'INVALID_RESERVE_PRICE'
    INVALID_RESPONSE_CAPACITY = 'INVALID_RESPONSE_CAPACITY'
    INVALID_RESPONSE_PRICE = 'INVALID_RESPONSE_PRICE'
    INVALID_RETURN_CAPACITY = 'INVALID_RETURN_CAPACITY'
    RETURNS_WINDOW_CLOSED = 'RETURNS_WINDOW_CLOSED'
    INVALID_STATUS = 'INVALID_STATUS'
    INVALID_SUBMISSION_ID = 'INVALID_SUBMISSION_ID'
    INVALID_TARGET_NTC_VALUE = 'INVALID_TARGET_NTC_VALUE'
    INVALID_TRADE_TYPE = 'INVALID_TRADE_TYPE'
    INVALID_TRANSFER_CAPACITY = 'INVALID_TRANSFER_CAPACITY'
    INVALID_TSO_ID = 'INVALID_TSO_ID'
    INVALID_UNPLANNED_OUTAGE_ID = 'INVALID_UNPLANNED_OUTAGE_ID'
    INVALID_USER_ID = 'INVALID_USER_ID'
    INVALID_WORKFLOW_TYPE_ID = 'INVALID_WORKFLOW_TYPE_ID'
    LAST_DAY_TOO_LATE = 'LAST_DAY_TOO_LATE'
    LONG_TERM_DELIVERY_PERIOD_MISMATCH = 'LONG_TERM_DELIVERY_PERIOD_MISMATCH'
    MARKET_NOMINATION_SETTING_LOCKED = 'MARKET_NOMINATION_SETTING_LOCKED'
    MARKET_NOMINATION_SETTING_MISMATCH = 'MARKET_NOMINATION_SETTING_MISMATCH'
    MISSING_CANCELLATION_MESSAGE = 'MISSING_CANCELLATION_MESSAGE'
    MISSING_DIRECTIONAL_CONFIG = 'MISSING_DIRECTIONAL_CONFIG'
    MISSING_EXECUTION_MESSAGE = 'MISSING_EXECUTION_MESSAGE'
    MISSING_MANUAL_VALUE = 'MISSING_MANUAL_VALUE'
    MISSING_PRIORITY = 'MISSING_PRIORITY'
    MISSING_VAT_RATE_MARKET = 'MISSING_VAT_RATE_MARKET'
    MTU_BORDER_MISMATCH = 'MTU_BORDER_MISMATCH'
    MTU_LIST_GATES_MISALIGNED = 'MTU_LIST_GATES_MISALIGNED'
    MTU_LIST_MISALIGNED = 'MTU_LIST_MISALIGNED'
    MTU_NOT_EDITABLE = 'MTU_NOT_EDITABLE'
    MTU_PERIOD_OVERLAP = 'MTU_PERIOD_OVERLAP'
    MTU_ALREADY_LOCKED = 'MTU_ALREADY_LOCKED'
    NO_ACTIVE_CRISIS = 'NO_ACTIVE_CRISIS'
    NO_EXCHANGE_RATE = 'NO_EXCHANGE_RATE'
    NO_OFFERS_PRESENT = 'NO_OFFERS_PRESENT'
    NOT_FOUND = 'NOT_FOUND'
    OC_DEFINITION_MISMATCH = 'OC_DEFINITION_MISMATCH'
    OC_LARGER_THAN_MAX_ATC = 'OC_LARGER_THAN_MAX_ATC'
    OC_UNDEFINED = 'OC_UNDEFINED'
    OC_VALUE_MISMATCH = 'OC_VALUE_MISMATCH'
    ORGANISATION_CANNOT_BE_LOCKED = 'ORGANISATION_CANNOT_BE_LOCKED'
    ORGANISATION_NAME_MUST_BE_UNIQUE = 'ORGANISATION_NAME_MUST_BE_UNIQUE'
    ORGANISATION_TYPE_MISMATCH = 'ORGANISATION_TYPE_MISMATCH'
    OUTAGE_CANNOT_BE_EXTENDED = 'OUTAGE_CANNOT_BE_EXTENDED'
    OUTAGE_PERIOD_CANNOT_BE_REMOVED = 'OUTAGE_PERIOD_CANNOT_BE_REMOVED'
    OUTAGE_PERIOD_TOO_SHORT = 'OUTAGE_PERIOD_TOO_SHORT'
    OUTAGE_PERIODS_CROSS_OVER_YEAR = 'OUTAGE_PERIODS_CROSS_OVER_YEAR'
    OUTAGE_PERIODS_UNORDERED = 'OUTAGE_PERIODS_UNORDERED'
    PERIOD_CANNOT_BE_REMOVED = 'PERIOD_CANNOT_BE_REMOVED'
    PERIOD_END_TOO_LATE = 'PERIOD_END_TOO_LATE'
    PERIOD_MISALIGNED = 'PERIOD_MISALIGNED'
    PERIOD_OVERLAP = 'PERIOD_OVERLAP'
    PERIOD_START_TOO_SOON = 'PERIOD_START_TOO_SOON'
    PERIOD_TOO_LONG = 'PERIOD_TOO_LONG'
    PERIOD_NOT_WHOLE_MONTHS = 'PERIOD_NOT_WHOLE_MONTHS'
    PERIODS_OVERLAP = 'PERIODS_OVERLAP'
    PERIODS_UNORDERED = 'PERIODS_UNORDERED'
    PRICE_RANGE_MISMATCH = 'PRICE_RANGE_MISMATCH'
    PROCESS_STEPS_DST_ERROR = 'PROCESS_STEPS_DST_ERROR'
    PROCESS_STEPS_MISALIGNED = 'PROCESS_STEPS_MISALIGNED'
    PROCESS_STEPS_GAP_ERROR = 'PROCESS_STEPS_GAP_ERROR'
    PROCESS_STEP_PRECISION_ERROR = 'PROCESS_STEP_PRECISION_ERROR'
    PROCESS_STEP_BOUNDARY_ERROR = 'PROCESS_STEP_BOUNDARY_ERROR'
    PROCESSING_ERROR = 'PROCESSING_ERROR'
    PRODUCT_TYPE_MISMATCH = 'PRODUCT_TYPE_MISMATCH'
    REPORTING_PERIOD_OVERLAP = 'REPORTING_PERIOD_OVERLAP'
    ROLE_MISMATCH = 'ROLE_MISMATCH'
    SCHEMA_MISMATCH = 'SCHEMA_MISMATCH'
    SCHEMA_VALIDATION_ERROR = 'SCHEMA_VALIDATION_ERROR'
    STATIC_TASK_ALREADY_COMPLETED = 'STATIC_TASK_ALREADY_COMPLETED'
    STATUS_MISMATCH = 'STATUS_MISMATCH'
    TARGET_NTC_MISSING = 'TARGET_NTC_MISSING'
    TIMESCALE_MISMATCH = 'TIMESCALE_MISMATCH'
    TOO_MANY_BIDS = 'TOO_MANY_BIDS'
    TRANSFER_DATE_PERIOD_TOO_LONG = 'TRANSFER_DATE_PERIOD_TOO_LONG'
    TRANCHE_SIZE_MISMATCH = 'TRANCHE_SIZE_MISMATCH'
    UNAUTHORIZED = 'UNAUTHORIZED'
    UNDER_MTU_SIZE_MINIMUM = 'UNDER_MTU_SIZE_MINIMUM'
    UPDATE_DEADLINE_MISSED = 'UPDATE_DEADLINE_MISSED'
    VALIDITY_PERIOD_MISMATCH = 'VALIDITY_PERIOD_MISMATCH'
    VAT_NUMBER_MISSING = 'VAT_NUMBER_MISSING'
    VAT_RATE_MARKET_MISMATCH = 'VAT_RATE_MARKET_MISMATCH'
    VERSION_MISMATCH = 'VERSION_MISMATCH'
    WINDOW_OPEN_TIME_OUT_OF_BOUNDS = 'WINDOW_OPEN_TIME_OUT_OF_BOUNDS'
    WINDOW_CLOSE_TIME_OUT_OF_BOUNDS = 'WINDOW_CLOSE_TIME_OUT_OF_BOUNDS'

    @classmethod
    def from_json(cls, json_str: str) -> ErrorCode:
        """Create an instance of ErrorCode from a JSON string"""
        return ErrorCode(json.loads(json_str))


