# default configuration for the code
from ordered_set import OrderedSet

SUPP_RES = OrderedSet(['SERVICE', 'FILE', 'DIRECTORY','FIREWALL'])
SERVICE_SETUP_ACTIONS = OrderedSet(["install", "enable", "disable"])
SERVICE_OP_ACTIONS = OrderedSet(
    ["stop", "start", "restart", "reload", "disable", "enable"])
DIR_FILE_ACTIONS = OrderedSet(['create'])
FIREWALL_ACTIONS = OrderedSet(['allow'])
RES_ATTRIBUTES = OrderedSet(['name', 'action'])
SRV_ATTRIBUTES = OrderedSet(['name', 'action', 'notifies'])
DIR_ATTRIBUTES = OrderedSet(['params', 'notifies'])
FILE_ATTRIBUTES = OrderedSet(['params', 'notifies', 'content'])
JSON_DIFF_ATTR = OrderedSet(
    ['dictionary_item_added', 'dictionary_item_removed', 'values_changed'])
DEFAULT_PARAMTERS = OrderedSet([
    'SETTINGS_FILE_FOR_DYNACONF', 'RENAMED_VARS', 'ROOT_PATH_FOR_DYNACONF',
    'ENVIRONMENTS_FOR_DYNACONF', 'MAIN_ENV_FOR_DYNACONF',
    'LOWERCASE_READ_FOR_DYNACONF', 'ENV_SWITCHER_FOR_DYNACONF',
    'ENV_FOR_DYNACONF', 'FORCE_ENV_FOR_DYNACONF', 'DEFAULT_ENV_FOR_DYNACONF',
    'ENVVAR_PREFIX_FOR_DYNACONF', 'IGNORE_UNKNOWN_ENVVARS_FOR_DYNACONF',
    'ENCODING_FOR_DYNACONF', 'MERGE_ENABLED_FOR_DYNACONF',
    'NESTED_SEPARATOR_FOR_DYNACONF', 'ENVVAR_FOR_DYNACONF',
    'REDIS_FOR_DYNACONF', 'REDIS_ENABLED_FOR_DYNACONF', 'VAULT_FOR_DYNACONF',
    'VAULT_ENABLED_FOR_DYNACONF', 'VAULT_PATH_FOR_DYNACONF',
    'VAULT_MOUNT_POINT_FOR_DYNACONF', 'VAULT_ROOT_TOKEN_FOR_DYNACONF',
    'VAULT_KV_VERSION_FOR_DYNACONF', 'VAULT_AUTH_WITH_IAM_FOR_DYNACONF',
    'VAULT_AUTH_ROLE_FOR_DYNACONF', 'VAULT_ROLE_ID_FOR_DYNACONF',
    'VAULT_SECRET_ID_FOR_DYNACONF', 'CORE_LOADERS_FOR_DYNACONF',
    'LOADERS_FOR_DYNACONF', 'SILENT_ERRORS_FOR_DYNACONF',
    'FRESH_VARS_FOR_DYNACONF', 'DOTENV_PATH_FOR_DYNACONF',
    'DOTENV_VERBOSE_FOR_DYNACONF', 'DOTENV_OVERRIDE_FOR_DYNACONF',
    'INSTANCE_FOR_DYNACONF', 'YAML_LOADER_FOR_DYNACONF',
    'COMMENTJSON_ENABLED_FOR_DYNACONF', 'SECRETS_FOR_DYNACONF',
    'INCLUDES_FOR_DYNACONF', 'PRELOAD_FOR_DYNACONF', 'SKIP_FILES_FOR_DYNACONF',
    'DYNACONF_NAMESPACE', 'NAMESPACE_FOR_DYNACONF', 'DYNACONF_SETTINGS_MODULE',
    'DYNACONF_SETTINGS', 'SETTINGS_MODULE', 'SETTINGS_MODULE_FOR_DYNACONF',
    'PROJECT_ROOT', 'PROJECT_ROOT_FOR_DYNACONF', 'DYNACONF_SILENT_ERRORS',
    'DYNACONF_ALWAYS_FRESH_VARS', 'BASE_NAMESPACE_FOR_DYNACONF',
    'GLOBAL_ENV_FOR_DYNACONF'])

SETTINGS_DATA = {
            "default": {
                "DEBUG": False,
                "CONFIG_DIR": "config",
                "CONFIG_DEF_FILE": "default.toml",
                "CONFIG_HASH_DIR": "config_hash",
                "CONFIG_HASH_FILE": "hash_config_md5.json"
            }}