# coding: utf-8

"""
    Platform API

    _OpenAPI specification for the **Platform API** of **Helix**, the nomination platform of ElecLink_  ---  Additional documentation available in the API's [GitHub repository](https://github.com/eleclink-helix/platform-api) 

    The version of the OpenAPI document: 0.0.117
    Contact: team.eleclink@eleclink.co.uk
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


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





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

    """
    allowed enum values
    """
    SUBMIT_NTC = 'SUBMIT_NTC'
    SUBMIT_ATC = 'SUBMIT_ATC'
    CREATE_UNPLANNED_OUTAGE = 'CREATE_UNPLANNED_OUTAGE'
    UPDATE_UNPLANNED_OUTAGE = 'UPDATE_UNPLANNED_OUTAGE'
    CANCEL_UNPLANNED_OUTAGE = 'CANCEL_UNPLANNED_OUTAGE'
    END_UNPLANNED_OUTAGE = 'END_UNPLANNED_OUTAGE'
    CREATE_PLANNED_OUTAGE = 'CREATE_PLANNED_OUTAGE'
    UPDATE_PLANNED_OUTAGE = 'UPDATE_PLANNED_OUTAGE'
    DELETE_PLANNED_OUTAGE = 'DELETE_PLANNED_OUTAGE'
    CANCEL_PLANNED_OUTAGE = 'CANCEL_PLANNED_OUTAGE'
    SUBMIT_NOMINATIONS = 'SUBMIT_NOMINATIONS'
    CREATE_DEFAULT_NOMINATION = 'CREATE_DEFAULT_NOMINATION'
    UPDATE_DEFAULT_NOMINATION = 'UPDATE_DEFAULT_NOMINATION'
    DELETE_DEFAULT_NOMINATION = 'DELETE_DEFAULT_NOMINATION'
    CANCEL_LONG_TERM_OR_DAY_AHEAD_NOMINATION_GATE = 'CANCEL_LONG_TERM_OR_DAY_AHEAD_NOMINATION_GATE'
    CANCEL_INTRA_DAY_NOMINATION_GATES = 'CANCEL_INTRA_DAY_NOMINATION_GATES'
    RESEND_CRISIS_REMIT = 'RESEND_CRISIS_REMIT'
    BYPASS_CRISIS_REMIT = 'BYPASS_CRISIS_REMIT'
    COMPLETE_CRISIS_STATIC_TASK = 'COMPLETE_CRISIS_STATIC_TASK'
    EXECUTE_CRISIS_CURTAILMENT = 'EXECUTE_CRISIS_CURTAILMENT'
    DISMISS_CRISIS_BPP = 'DISMISS_CRISIS_BPP'
    POST_CRISIS_PARTICIPANT_MESSAGE = 'POST_CRISIS_PARTICIPANT_MESSAGE'
    UPLOAD_ATTACHMENT = 'UPLOAD_ATTACHMENT'
    CREATE_PARTICIPANT_ORGANISATION = 'CREATE_PARTICIPANT_ORGANISATION'
    UPDATE_PARTICIPANT_ORGANISATION = 'UPDATE_PARTICIPANT_ORGANISATION'
    UPDATE_USER = 'UPDATE_USER'
    INVITE_USER = 'INVITE_USER'
    BULK_INVITE_USERS = 'BULK_INVITE_USERS'
    RESEND_USER_INVITE = 'RESEND_USER_INVITE'
    REVOKE_USER_INVITE = 'REVOKE_USER_INVITE'
    SUSPEND_USER = 'SUSPEND_USER'
    UNSUSPEND_USER = 'UNSUSPEND_USER'
    RESET_USER_SECOND_AUTH_FACTOR = 'RESET_USER_SECOND_AUTH_FACTOR'
    IMPERSONATE_USER = 'IMPERSONATE_USER'
    UPDATE_PROFILE_DETAILS = 'UPDATE_PROFILE_DETAILS'
    UPDATE_PREFERENCES = 'UPDATE_PREFERENCES'
    CREATE_API_KEY = 'CREATE_API_KEY'
    DELETE_API_KEY = 'DELETE_API_KEY'
    SUBMIT_PARTICIPANT_DASHBOARD_NOMINATIONS = 'SUBMIT_PARTICIPANT_DASHBOARD_NOMINATIONS'
    SUBMIT_BPP_PURCHASE_FORM = 'SUBMIT_BPP_PURCHASE_FORM'
    SET_BPP_SUBMISSION_STATUS = 'SET_BPP_SUBMISSION_STATUS'
    RESUBMIT_BPP_SUBMISSION = 'RESUBMIT_BPP_SUBMISSION'
    UPLOAD_NOMINATIONS = 'UPLOAD_NOMINATIONS'
    UPDATE_LONG_TERM_OR_DAY_AHEAD_NOMINATION_WINDOWS_BUSINESS_SETTINGS = 'UPDATE_LONG_TERM_OR_DAY_AHEAD_NOMINATION_WINDOWS_BUSINESS_SETTINGS'
    UPDATE_INTRA_DAY_NOMINATION_WINDOWS_BUSINESS_SETTINGS = 'UPDATE_INTRA_DAY_NOMINATION_WINDOWS_BUSINESS_SETTINGS'
    UPDATE_BPP_PROVIDER_BUSINESS_SETTINGS = 'UPDATE_BPP_PROVIDER_BUSINESS_SETTINGS'
    MANUAL_START_BUSINESS_PROCESS_WORKFLOW = 'MANUAL_START_BUSINESS_PROCESS_WORKFLOW'
    RESCHEDULE_BUSINESS_PROCESS_WORKFLOW = 'RESCHEDULE_BUSINESS_PROCESS_WORKFLOW'
    SKIP_BUSINESS_PROCESS_WORKFLOW = 'SKIP_BUSINESS_PROCESS_WORKFLOW'
    RESOLVE_BUSINESS_PROCESS_STEP = 'RESOLVE_BUSINESS_PROCESS_STEP'
    RE_RUN_BUSINESS_PROCESS_STEP = 'RE_RUN_BUSINESS_PROCESS_STEP'
    PROCESS_DATA_FLOW_VERSION = 'PROCESS_DATA_FLOW_VERSION'
    CREATE_DATA_FLOW = 'CREATE_DATA_FLOW'
    UPDATE_DATA_FLOW = 'UPDATE_DATA_FLOW'

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


