# coding: utf-8

"""
    Empire - Platform API

    OpenAPI specification for the Platform REST API of Empire  **System Time:** Europe/Amsterdam  **General data formats:**   * _capacity values_ => kW (integers)   * _dates and local times_ => System Time   * _currencies_ => EUR   # noqa: E501

    The version of the OpenAPI document: 0.178.3
    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 SageCode(str, Enum):
    """
    SageCode
    """

    """
    allowed enum values
    """
    NL_GB_EXPLICIT_ANNUAL_AUCTIONS = 'NL_GB_EXPLICIT_ANNUAL_AUCTIONS'
    NL_GB_EXPLICIT_SEASONAL_AUCTIONS = 'NL_GB_EXPLICIT_SEASONAL_AUCTIONS'
    NL_GB_EXPLICIT_MULTI_ANNUAL_AUCTIONS = 'NL_GB_EXPLICIT_MULTI_ANNUAL_AUCTIONS'
    NL_GB_EXPLICIT_QUARTERLY_AUCTIONS = 'NL_GB_EXPLICIT_QUARTERLY_AUCTIONS'
    NL_GB_EXPLICIT_MONTHLY_AUCTIONS = 'NL_GB_EXPLICIT_MONTHLY_AUCTIONS'
    NL_GB_EXPLICIT_WEEKLY_AUCTIONS = 'NL_GB_EXPLICIT_WEEKLY_AUCTIONS'
    NL_GB_EXPLICIT_MULTI_DAY_AUCTIONS = 'NL_GB_EXPLICIT_MULTI_DAY_AUCTIONS'
    NL_GB_EXPLICIT_LONG_WEEKEND_AUCTIONS = 'NL_GB_EXPLICIT_LONG_WEEKEND_AUCTIONS'
    NL_GB_EXPLICIT_WEEKEND_AUCTIONS = 'NL_GB_EXPLICIT_WEEKEND_AUCTIONS'
    NL_GB_EXPLICIT_INTRA_DAY_AUCTIONS = 'NL_GB_EXPLICIT_INTRA_DAY_AUCTIONS'
    NL_GB_EXPLICIT_DAY_AHEAD_AUCTIONS = 'NL_GB_EXPLICIT_DAY_AHEAD_AUCTIONS'
    NL_GB_EXPLICIT_BUY_NOW_DAY_AHEAD = 'NL_GB_EXPLICIT_BUY_NOW_DAY_AHEAD'
    NL_GB_EXPLICIT_BUY_NOW_INTRA_DAY = 'NL_GB_EXPLICIT_BUY_NOW_INTRA_DAY'
    NL_GB_EXPLICIT_RETURN_ANNUAL_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_ANNUAL_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_SEASONAL_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_SEASONAL_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_MULTI_ANNUAL_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_MULTI_ANNUAL_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_QUARTERLY_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_QUARTERLY_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_MONTHLY_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_MONTHLY_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_WEEKLY_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_WEEKLY_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_MULTI_DAY_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_MULTI_DAY_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_LONG_WEEKEND_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_LONG_WEEKEND_AUCTIONS'
    NL_GB_EXPLICIT_RETURN_WEEKEND_AUCTIONS = 'NL_GB_EXPLICIT_RETURN_WEEKEND_AUCTIONS'
    NL_GB_EXPLICIT_CURTAILMENT_LONG_TERM = 'NL_GB_EXPLICIT_CURTAILMENT_LONG_TERM'
    NL_GB_EXPLICIT_CURTAILMENT_INTRA_DAY = 'NL_GB_EXPLICIT_CURTAILMENT_INTRA_DAY'
    NL_GB_EXPLICIT_CURTAILMENT_DAY_AHEAD = 'NL_GB_EXPLICIT_CURTAILMENT_DAY_AHEAD'
    NL_GB_UIOSI_COMPENSATIONS_LONG_TERM = 'NL_GB_UIOSI_COMPENSATIONS_LONG_TERM'
    NL_GB_UIOSI_COMPENSATIONS_DAY_AHEAD = 'NL_GB_UIOSI_COMPENSATIONS_DAY_AHEAD'
    GB_NL_EXPLICIT_ANNUAL_AUCTIONS = 'GB_NL_EXPLICIT_ANNUAL_AUCTIONS'
    GB_NL_EXPLICIT_SEASONAL_AUCTIONS = 'GB_NL_EXPLICIT_SEASONAL_AUCTIONS'
    GB_NL_EXPLICIT_MULTI_ANNUAL_AUCTIONS = 'GB_NL_EXPLICIT_MULTI_ANNUAL_AUCTIONS'
    GB_NL_EXPLICIT_QUARTERLY_AUCTIONS = 'GB_NL_EXPLICIT_QUARTERLY_AUCTIONS'
    GB_NL_EXPLICIT_MONTHLY_AUCTIONS = 'GB_NL_EXPLICIT_MONTHLY_AUCTIONS'
    GB_NL_EXPLICIT_WEEKLY_AUCTIONS = 'GB_NL_EXPLICIT_WEEKLY_AUCTIONS'
    GB_NL_EXPLICIT_MULTI_DAY_AUCTIONS = 'GB_NL_EXPLICIT_MULTI_DAY_AUCTIONS'
    GB_NL_EXPLICIT_LONG_WEEKEND_AUCTIONS = 'GB_NL_EXPLICIT_LONG_WEEKEND_AUCTIONS'
    GB_NL_EXPLICIT_WEEKEND_AUCTIONS = 'GB_NL_EXPLICIT_WEEKEND_AUCTIONS'
    GB_NL_EXPLICIT_INTRA_DAY_AUCTIONS = 'GB_NL_EXPLICIT_INTRA_DAY_AUCTIONS'
    GB_NL_EXPLICIT_DAY_AHEAD_AUCTIONS = 'GB_NL_EXPLICIT_DAY_AHEAD_AUCTIONS'
    GB_NL_EXPLICIT_BUY_NOW_DAY_AHEAD = 'GB_NL_EXPLICIT_BUY_NOW_DAY_AHEAD'
    GB_NL_EXPLICIT_BUY_NOW_INTRA_DAY = 'GB_NL_EXPLICIT_BUY_NOW_INTRA_DAY'
    GB_NL_EXPLICIT_RETURN_ANNUAL_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_ANNUAL_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_SEASONAL_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_SEASONAL_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_MULTI_ANNUAL_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_MULTI_ANNUAL_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_QUARTERLY_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_QUARTERLY_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_MONTHLY_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_MONTHLY_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_WEEKLY_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_WEEKLY_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_MULTI_DAY_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_MULTI_DAY_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_LONG_WEEKEND_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_LONG_WEEKEND_AUCTIONS'
    GB_NL_EXPLICIT_RETURN_WEEKEND_AUCTIONS = 'GB_NL_EXPLICIT_RETURN_WEEKEND_AUCTIONS'
    GB_NL_EXPLICIT_CURTAILMENT_LONG_TERM = 'GB_NL_EXPLICIT_CURTAILMENT_LONG_TERM'
    GB_NL_EXPLICIT_CURTAILMENT_INTRA_DAY = 'GB_NL_EXPLICIT_CURTAILMENT_INTRA_DAY'
    GB_NL_EXPLICIT_CURTAILMENT_DAY_AHEAD = 'GB_NL_EXPLICIT_CURTAILMENT_DAY_AHEAD'
    GB_NL_UIOSI_COMPENSATIONS_LONG_TERM = 'GB_NL_UIOSI_COMPENSATIONS_LONG_TERM'
    GB_NL_UIOSI_COMPENSATIONS_DAY_AHEAD = 'GB_NL_UIOSI_COMPENSATIONS_DAY_AHEAD'

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


