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')