mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
3.8 KiB
135 lines
3.8 KiB
# -*- coding: utf-8 -*-
|
|
#
|
|
|
|
ASSETS_CACHE_KEY = "terminal__session__assets"
|
|
USERS_CACHE_KEY = "terminal__session__users"
|
|
SYSTEM_USER_CACHE_KEY = "terminal__session__system_users"
|
|
|
|
|
|
# Replay Storage
|
|
|
|
REPLAY_STORAGE_TYPE_NULL = 'null'
|
|
REPLAY_STORAGE_TYPE_SERVER = 'server'
|
|
REPLAY_STORAGE_TYPE_S3 = 's3'
|
|
REPLAY_STORAGE_TYPE_CEPH = 'ceph'
|
|
REPLAY_STORAGE_TYPE_SWIFT = 'swift'
|
|
REPLAY_STORAGE_TYPE_OSS = 'oss'
|
|
REPLAY_STORAGE_TYPE_AZURE = 'azure'
|
|
|
|
REPLAY_STORAGE_TYPE_EMPTY_FIELDS = []
|
|
REPLAY_STORAGE_TYPE_S3_FIELDS = [
|
|
{'name': 'BUCKET'},
|
|
{'name': 'ACCESS_KEY', 'write_only': True},
|
|
{'name': 'SECRET_KEY', 'write_only': True},
|
|
{'name': 'ENDPOINT'}
|
|
]
|
|
REPLAY_STORAGE_TYPE_CEPH_FIELDS = [
|
|
{'name': 'BUCKET'},
|
|
{'name': 'ACCESS_KEY', 'write_only': True},
|
|
{'name': 'SECRET_KEY', 'write_only': True},
|
|
{'name': 'ENDPOINT'}
|
|
]
|
|
REPLAY_STORAGE_TYPE_SWIFT_FIELDS = [
|
|
{'name': 'BUCKET'},
|
|
{'name': 'ACCESS_KEY', 'write_only': True},
|
|
{'name': 'SECRET_KEY', 'write_only': True},
|
|
{'name': 'REGION'},
|
|
{'name': 'ENDPOINT'},
|
|
{'name': 'PROTOCOL'},
|
|
]
|
|
REPLAY_STORAGE_TYPE_OSS_FIELDS = [
|
|
{'name': 'BUCKET'},
|
|
{'name': 'ACCESS_KEY', 'write_only': True},
|
|
{'name': 'SECRET_KEY', 'write_only': True},
|
|
{'name': 'ENDPOINT'}
|
|
]
|
|
REPLAY_STORAGE_TYPE_AZURE_FIELDS = [
|
|
{'name': 'CONTAINER_NAME'},
|
|
{'name': 'ACCOUNT_NAME'},
|
|
{'name': 'ACCOUNT_KEY', 'write_only': True},
|
|
{'name': 'ENDPOINT_SUFFIX'}
|
|
]
|
|
|
|
REPLAY_STORAGE_TYPE_FIELDS_MAP = {
|
|
REPLAY_STORAGE_TYPE_NULL: REPLAY_STORAGE_TYPE_EMPTY_FIELDS,
|
|
REPLAY_STORAGE_TYPE_SERVER: REPLAY_STORAGE_TYPE_EMPTY_FIELDS,
|
|
REPLAY_STORAGE_TYPE_S3: REPLAY_STORAGE_TYPE_S3_FIELDS,
|
|
REPLAY_STORAGE_TYPE_CEPH: REPLAY_STORAGE_TYPE_CEPH_FIELDS,
|
|
REPLAY_STORAGE_TYPE_SWIFT: REPLAY_STORAGE_TYPE_SWIFT_FIELDS,
|
|
REPLAY_STORAGE_TYPE_OSS: REPLAY_STORAGE_TYPE_OSS_FIELDS,
|
|
REPLAY_STORAGE_TYPE_AZURE: REPLAY_STORAGE_TYPE_AZURE_FIELDS
|
|
}
|
|
|
|
REPLAY_STORAGE_TYPE_CHOICES_DEFAULT = [
|
|
(REPLAY_STORAGE_TYPE_NULL, 'Null'),
|
|
(REPLAY_STORAGE_TYPE_SERVER, 'Server'),
|
|
]
|
|
|
|
REPLAY_STORAGE_TYPE_CHOICES_EXTENDS = [
|
|
(REPLAY_STORAGE_TYPE_S3, 'S3'),
|
|
(REPLAY_STORAGE_TYPE_CEPH, 'Ceph'),
|
|
(REPLAY_STORAGE_TYPE_SWIFT, 'Swift'),
|
|
(REPLAY_STORAGE_TYPE_OSS, 'OSS'),
|
|
(REPLAY_STORAGE_TYPE_AZURE, 'Azure')
|
|
]
|
|
|
|
REPLAY_STORAGE_TYPE_CHOICES = REPLAY_STORAGE_TYPE_CHOICES_DEFAULT + \
|
|
REPLAY_STORAGE_TYPE_CHOICES_EXTENDS
|
|
|
|
|
|
# Command Storage
|
|
|
|
COMMAND_STORAGE_TYPE_NULL = 'null'
|
|
COMMAND_STORAGE_TYPE_SERVER = 'server'
|
|
COMMAND_STORAGE_TYPE_ES = 'es'
|
|
|
|
COMMAND_STORAGE_TYPE_EMPTY_FIELDS = []
|
|
COMMAND_STORAGE_TYPE_ES_FIELDS = [
|
|
{'name': 'HOSTS'},
|
|
{'name': 'INDEX'},
|
|
{'name': 'DOC_TYPE'}
|
|
]
|
|
|
|
COMMAND_STORAGE_TYPE_FIELDS_MAP = {
|
|
COMMAND_STORAGE_TYPE_NULL: COMMAND_STORAGE_TYPE_EMPTY_FIELDS,
|
|
COMMAND_STORAGE_TYPE_SERVER: COMMAND_STORAGE_TYPE_EMPTY_FIELDS,
|
|
COMMAND_STORAGE_TYPE_ES: COMMAND_STORAGE_TYPE_ES_FIELDS,
|
|
}
|
|
|
|
COMMAND_STORAGE_TYPE_CHOICES_DEFAULT = [
|
|
(COMMAND_STORAGE_TYPE_NULL, 'Null'),
|
|
(COMMAND_STORAGE_TYPE_SERVER, 'Server'),
|
|
]
|
|
|
|
COMMAND_STORAGE_TYPE_CHOICES_EXTENDS = [
|
|
(COMMAND_STORAGE_TYPE_ES, 'Elasticsearch')
|
|
]
|
|
|
|
COMMAND_STORAGE_TYPE_CHOICES = COMMAND_STORAGE_TYPE_CHOICES_DEFAULT + \
|
|
COMMAND_STORAGE_TYPE_CHOICES_EXTENDS
|
|
|
|
|
|
from django.db.models import TextChoices
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
|
|
class ComponentStatusChoices(TextChoices):
|
|
critical = 'critical', _('Critical')
|
|
high = 'high', _('High')
|
|
normal = 'normal', _('Normal')
|
|
|
|
@classmethod
|
|
def status(cls):
|
|
return set(dict(cls.choices).keys())
|
|
|
|
|
|
class TerminalTypeChoices(TextChoices):
|
|
koko = 'koko', 'KoKo'
|
|
guacamole = 'guacamole', 'Guacamole'
|
|
omnidb = 'omnidb', 'OmniDB'
|
|
|
|
@classmethod
|
|
def types(cls):
|
|
return set(dict(cls.choices).keys())
|
|
|