Source code for setup_wizard

"""This Package contains the setup wizard django application."""

from __future__ import annotations

import enum
from pathlib import Path

[docs] WIZARD_STATE_PATH = Path('/etc/trustpoint/wizard/state')
[docs] class SetupWizardState(enum.Enum): """This enum represents the current setup wizard state of the trustpoint."""
[docs] WIZARD_SETUP_CRYPTO_STORAGE = WIZARD_STATE_PATH / Path('WIZARD_SETUP_CRYPTO_STORAGE')
[docs] WIZARD_SETUP_HSM = WIZARD_STATE_PATH / Path('WIZARD_SETUP_HSM')
[docs] WIZARD_SETUP_HSM_AUTORESTORE = WIZARD_STATE_PATH / Path('WIZARD_SETUP_HSM_AUTORESTORE')
[docs] WIZARD_SETUP_MODE = WIZARD_STATE_PATH / Path('WIZARD_SETUP_MODE')
[docs] WIZARD_SELECT_TLS_SERVER_CREDENTIAL = WIZARD_STATE_PATH / Path('WIZARD_SELECT_TLS_SERVER_CREDENTIAL')
[docs] WIZARD_RESTORE = WIZARD_STATE_PATH / Path('WIZARD_RESTORE')
[docs] WIZARD_TLS_SERVER_CREDENTIAL_APPLY = WIZARD_STATE_PATH / Path('WIZARD_TLS_SERVER_CREDENTIAL_APPLY')
[docs] WIZARD_BACKUP_PASSWORD = WIZARD_STATE_PATH / Path('WIZARD_BACKUP_PASSWORD')
[docs] WIZARD_DEMO_DATA = WIZARD_STATE_PATH / Path('WIZARD_DEMO_DATA')
[docs] WIZARD_CREATE_SUPER_USER = WIZARD_STATE_PATH / Path('WIZARD_CREATE_SUPER_USER')
[docs] WIZARD_COMPLETED = WIZARD_STATE_PATH / Path('WIZARD_COMPLETED')
[docs] WIZARD_AUTO_RESTORE_HSM = WIZARD_STATE_PATH / Path('WIZARD_AUTO_RESTORE_HSM')
[docs] WIZARD_AUTO_RESTORE_PASSWORD = WIZARD_STATE_PATH / Path('WIZARD_AUTO_RESTORE_PASSWORD')
@classmethod
[docs] def get_current_state(cls) -> SetupWizardState: """Gets the current setup wizard state of the trustpoint. Returns: The current setup wizard state. Raises: RuntimeError: If the current setup wizard state cannot be determined. """ for member in cls: if member.value.is_file(): return member err_msg = 'Failed to determine wizard state.' raise RuntimeError(err_msg)