mirror of https://github.com/jumpserver/jumpserver
parent
47f23a1b9c
commit
c7ce535630
|
@ -53,7 +53,7 @@ class GatherAccountsManager(AccountBasePlaybookManager):
|
||||||
info = result.get('debug', {}).get('res', {}).get('info', {})
|
info = result.get('debug', {}).get('res', {}).get('info', {})
|
||||||
asset = self.host_asset_mapper.get(host)
|
asset = self.host_asset_mapper.get(host)
|
||||||
if asset and info:
|
if asset and info:
|
||||||
result = self.filter_success_result(host, info)
|
result = self.filter_success_result(asset.type, info)
|
||||||
self.bulk_create_accounts(asset, result)
|
self.bulk_create_accounts(asset, result)
|
||||||
else:
|
else:
|
||||||
logger.error("Not found info".format(host))
|
logger.error("Not found info".format(host))
|
||||||
|
|
|
@ -5,6 +5,7 @@ from assets.models import Asset
|
||||||
from accounts.const import SecretType, Source
|
from accounts.const import SecretType, Source
|
||||||
from accounts.models import Account, AccountTemplate
|
from accounts.models import Account, AccountTemplate
|
||||||
from accounts.tasks import push_accounts_to_assets
|
from accounts.tasks import push_accounts_to_assets
|
||||||
|
from assets.const import Category, AllTypes
|
||||||
from common.serializers.fields import ObjectRelatedField, LabeledChoiceField
|
from common.serializers.fields import ObjectRelatedField, LabeledChoiceField
|
||||||
from common.serializers import SecretReadableMixin, BulkModelSerializer
|
from common.serializers import SecretReadableMixin, BulkModelSerializer
|
||||||
from .base import BaseAccountSerializer
|
from .base import BaseAccountSerializer
|
||||||
|
@ -60,11 +61,12 @@ class AccountSerializerCreateMixin(
|
||||||
|
|
||||||
class AccountAssetSerializer(serializers.ModelSerializer):
|
class AccountAssetSerializer(serializers.ModelSerializer):
|
||||||
platform = ObjectRelatedField(read_only=True)
|
platform = ObjectRelatedField(read_only=True)
|
||||||
category = serializers.CharField(source='platform.category', read_only=True)
|
category = LabeledChoiceField(choices=Category.choices, read_only=True, label=_('Category'))
|
||||||
|
type = LabeledChoiceField(choices=AllTypes.choices(), read_only=True, label=_('Type'))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Asset
|
model = Asset
|
||||||
fields = ['id', 'name', 'address', 'category', 'platform']
|
fields = ['id', 'name', 'address', 'type', 'category', 'platform']
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
if isinstance(data, dict):
|
if isinstance(data, dict):
|
||||||
|
|
Loading…
Reference in New Issue