mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
50 lines
1.0 KiB
Python
50 lines
1.0 KiB
Python
from rest_framework import serializers
|
|
|
|
from dcim.models import Device
|
|
from ipam.api.serializers import IPAddressNestedSerializer
|
|
from secrets.models import Secret, SecretRole
|
|
|
|
|
|
#
|
|
# SecretRoles
|
|
#
|
|
|
|
class SecretRoleSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = SecretRole
|
|
fields = ['id', 'name', 'slug']
|
|
|
|
|
|
class SecretRoleNestedSerializer(SecretRoleSerializer):
|
|
|
|
class Meta(SecretRoleSerializer.Meta):
|
|
pass
|
|
|
|
|
|
#
|
|
# Secrets
|
|
#
|
|
|
|
class SecretDeviceSerializer(serializers.ModelSerializer):
|
|
primary_ip = IPAddressNestedSerializer()
|
|
|
|
class Meta:
|
|
model = Device
|
|
fields = ['id', 'name', 'primary_ip']
|
|
|
|
|
|
class SecretSerializer(serializers.ModelSerializer):
|
|
device = SecretDeviceSerializer()
|
|
role = SecretRoleNestedSerializer()
|
|
|
|
class Meta:
|
|
model = Secret
|
|
fields = ['id', 'device', 'role', 'name', 'plaintext', 'hash', 'created', 'last_updated']
|
|
|
|
|
|
class SecretNestedSerializer(SecretSerializer):
|
|
|
|
class Meta(SecretSerializer.Meta):
|
|
fields = ['id', 'name']
|