diff --git a/apps/accounts/automations/change_secret/manager.py b/apps/accounts/automations/change_secret/manager.py index fc4d53097..3dd8dade6 100644 --- a/apps/accounts/automations/change_secret/manager.py +++ b/apps/accounts/automations/change_secret/manager.py @@ -87,8 +87,9 @@ class ChangeSecretManager(AccountBasePlaybookManager): accounts = accounts.filter(secret_type=self.secret_type) if not accounts: - msg = '没有发现待改密账号: %s 用户名: %s 类型: %s' % (asset.name, account.username, self.secret_type) - print(msg) + print('没有发现待改密账号: %s 用户名: %s 类型: %s' % ( + asset.name, self.snapshot_account_usernames, self.secret_type + )) return [] method_attr = getattr(automation, self.method_type() + '_method') @@ -99,8 +100,7 @@ class ChangeSecretManager(AccountBasePlaybookManager): host['secret_type'] = self.secret_type if asset.type == HostTypes.WINDOWS and self.secret_type == SecretType.SSH_KEY: - msg = f'Windows {asset} does not support ssh key push \n' - print(msg) + print(f'Windows {asset} does not support ssh key push \n') return inventory_hosts for account in accounts: diff --git a/apps/accounts/automations/push_account/manager.py b/apps/accounts/automations/push_account/manager.py index 6ea99ecdf..b66ba436e 100644 --- a/apps/accounts/automations/push_account/manager.py +++ b/apps/accounts/automations/push_account/manager.py @@ -59,7 +59,6 @@ class PushAccountManager(ChangeSecretManager, AccountBasePlaybookManager): accounts = asset.accounts.all() accounts = self.get_accounts(account, accounts) - inventory_hosts = [] host['secret_type'] = self.secret_type if asset.type == HostTypes.WINDOWS and self.secret_type == SecretType.SSH_KEY: diff --git a/apps/accounts/serializers/account/account.py b/apps/accounts/serializers/account/account.py index 8cf92671e..34333cfe4 100644 --- a/apps/accounts/serializers/account/account.py +++ b/apps/accounts/serializers/account/account.py @@ -101,9 +101,10 @@ class AccountSerializer(AccountSerializerCreateMixin, BaseAccountSerializer): class Meta(BaseAccountSerializer.Meta): model = Account - fields = BaseAccountSerializer.Meta.fields \ - + ['su_from', 'asset'] \ - + ['template', 'push_now', 'source'] + fields = BaseAccountSerializer.Meta.fields + [ + 'su_from', 'asset', 'template', + 'push_now', 'source', 'connectivity' + ] extra_kwargs = { **BaseAccountSerializer.Meta.extra_kwargs, 'name': {'required': False, 'allow_null': True}, diff --git a/apps/assets/const/types.py b/apps/assets/const/types.py index 3c0989517..cde7c8aba 100644 --- a/apps/assets/const/types.py +++ b/apps/assets/const/types.py @@ -329,9 +329,8 @@ class AllTypes(ChoicesMixin): internal_platforms.append(d['name']) user_platforms = platform_cls.objects.exclude(name__in=internal_platforms) - user_platforms.update(internal=False) - for platform in user_platforms: print("\t- Update platform: {}".format(platform.name)) platform_data = cls.get_type_default_platform(platform.category, platform.type) cls.create_or_update_by_platform_data(platform.name, platform_data, platform_cls=platform_cls) + user_platforms.update(internal=False) diff --git a/apps/rbac/const.py b/apps/rbac/const.py index 1c0f594f9..2092cd9ff 100644 --- a/apps/rbac/const.py +++ b/apps/rbac/const.py @@ -60,6 +60,7 @@ exclude_permissions = ( ('accounts', 'automationexecution', '*', 'automationexecution'), ('accounts', 'accountbackupexecution', 'delete,change', 'accountbackupexecution'), ('accounts', 'changesecretrecord', 'add,delete,change', 'changesecretrecord'), + ('accounts', 'account', 'change', 'accountsecret'), ('perms', 'userassetgrantedtreenoderelation', '*', '*'), ('perms', 'permedaccount', '*', '*'), diff --git a/apps/terminal/api/applet/host.py b/apps/terminal/api/applet/host.py index 38c42cd18..89bc1f96c 100644 --- a/apps/terminal/api/applet/host.py +++ b/apps/terminal/api/applet/host.py @@ -58,7 +58,7 @@ class AppletHostDeploymentViewSet(viewsets.ModelViewSet): def applets(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) - applet_id = serializer.validated_data.pop('applet_id') + applet_id = serializer.validated_data.pop('applet_id', '') instance = serializer.save() task = run_applet_host_deployment_install_applet.delay(instance.id, applet_id) instance.save_task(task.id)