|
|
|
from django.db import models
|
|
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
|
|
|
|
|
|
|
|
class StrategyChoice(models.TextChoices):
|
|
|
|
push = 'push', _('Push')
|
|
|
|
verify = 'verify', _('Verify')
|
|
|
|
collect = 'collect', _('Collect')
|
|
|
|
change_secret = 'change_secret', _('Change password')
|
|
|
|
|
|
|
|
|
|
|
|
class SSHKeyStrategy(models.TextChoices):
|
|
|
|
add = 'add', _('Append SSH KEY')
|
|
|
|
set = 'set', _('Empty and append SSH KEY')
|
|
|
|
set_jms = 'set_jms', _('Replace (The key generated by JumpServer) ')
|
|
|
|
|
|
|
|
|
|
|
|
class PasswordStrategy(models.TextChoices):
|
|
|
|
custom = 'custom', _('Custom password')
|
|
|
|
random_one = 'random_one', _('All assets use the same random password')
|
|
|
|
random_all = 'random_all', _('All assets use different random password')
|
|
|
|
|
|
|
|
|
|
|
|
string_punctuation = '!#$%&()*+,-.:;<=>?@[]^_~'
|
|
|
|
DEFAULT_PASSWORD_LENGTH = 30
|
|
|
|
DEFAULT_PASSWORD_RULES = {
|
|
|
|
'length': DEFAULT_PASSWORD_LENGTH,
|
|
|
|
'symbol_set': string_punctuation
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class Types(models.TextChoices):
|
|
|
|
adhoc = 'adhoc', _('Adhoc')
|
|
|
|
playbook = 'playbook', _('Playbook')
|
|
|
|
|
|
|
|
|
|
|
|
class RunasPolicies(models.TextChoices):
|
|
|
|
privileged_only = 'privileged_only', _('Privileged Only')
|
|
|
|
privileged_first = 'privileged_first', _('Privileged First')
|
|
|
|
skip = 'skip', _('Skip')
|
|
|
|
|
|
|
|
|
|
|
|
class Modules(models.TextChoices):
|
|
|
|
shell = 'shell', _('Shell')
|
|
|
|
winshell = 'win_shell', _('Powershell')
|
|
|
|
|
|
|
|
|
|
|
|
class JobStatus(models.TextChoices):
|
|
|
|
running = 'running', _('Running')
|
|
|
|
success = 'success', _('Success')
|
|
|
|
failed = 'failed', _('Failed')
|