diff --git a/apps/assets/models/asset.py b/apps/assets/models/asset.py index 02d2724d6..f0d41cf98 100644 --- a/apps/assets/models/asset.py +++ b/apps/assets/models/asset.py @@ -152,11 +152,7 @@ class Asset(models.Model): 'username': admin_user.username, 'password': admin_user.password, 'private_key': admin_user.private_key_file, - 'become': { - 'method': admin_user.become_method, - 'user': admin_user.become_user, - 'pass': admin_user.become_pass, - } + 'become': admin_user.become_info, }) return data diff --git a/apps/assets/models/user.py b/apps/assets/models/user.py index 3e5e41b8d..be1f562dc 100644 --- a/apps/assets/models/user.py +++ b/apps/assets/models/user.py @@ -158,6 +158,19 @@ class AdminUser(AssetUser): def become_pass(self, password): self._become_pass = signer.sign(password) + @property + def become_info(self): + if self.become: + info = { + "method": self.become_method, + "user": self.become_user, + "pass": self.become_pass, + } + else: + info = None + return info + + def get_related_assets(self): assets = [] for cluster in self.cluster_set.all():