types.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. from ipam import filtersets, models
  2. from netbox.graphql.types import OrganizationalObjectType, PrimaryObjectType
  3. __all__ = (
  4. 'AggregateType',
  5. 'FHRPGroupType',
  6. 'FHRPGroupAssignmentType',
  7. 'IPAddressType',
  8. 'IPRangeType',
  9. 'PrefixType',
  10. 'RIRType',
  11. 'RoleType',
  12. 'RouteTargetType',
  13. 'ServiceType',
  14. 'VLANType',
  15. 'VLANGroupType',
  16. 'VRFType',
  17. )
  18. class AggregateType(PrimaryObjectType):
  19. class Meta:
  20. model = models.Aggregate
  21. fields = '__all__'
  22. filterset_class = filtersets.AggregateFilterSet
  23. class FHRPGroupType(PrimaryObjectType):
  24. class Meta:
  25. model = models.FHRPGroup
  26. fields = '__all__'
  27. filterset_class = filtersets.FHRPGroupFilterSet
  28. def resolve_auth_type(self, info):
  29. return self.auth_type or None
  30. class FHRPGroupAssignmentType(PrimaryObjectType):
  31. class Meta:
  32. model = models.FHRPGroupAssignment
  33. fields = '__all__'
  34. filterset_class = filtersets.FHRPGroupAssignmentFilterSet
  35. class IPAddressType(PrimaryObjectType):
  36. class Meta:
  37. model = models.IPAddress
  38. fields = '__all__'
  39. filterset_class = filtersets.IPAddressFilterSet
  40. def resolve_role(self, info):
  41. return self.role or None
  42. class IPRangeType(PrimaryObjectType):
  43. class Meta:
  44. model = models.IPRange
  45. fields = '__all__'
  46. filterset_class = filtersets.IPRangeFilterSet
  47. def resolve_role(self, info):
  48. return self.role or None
  49. class PrefixType(PrimaryObjectType):
  50. class Meta:
  51. model = models.Prefix
  52. fields = '__all__'
  53. filterset_class = filtersets.PrefixFilterSet
  54. class RIRType(OrganizationalObjectType):
  55. class Meta:
  56. model = models.RIR
  57. fields = '__all__'
  58. filterset_class = filtersets.RIRFilterSet
  59. class RoleType(OrganizationalObjectType):
  60. class Meta:
  61. model = models.Role
  62. fields = '__all__'
  63. filterset_class = filtersets.RoleFilterSet
  64. class RouteTargetType(PrimaryObjectType):
  65. class Meta:
  66. model = models.RouteTarget
  67. fields = '__all__'
  68. filterset_class = filtersets.RouteTargetFilterSet
  69. class ServiceType(PrimaryObjectType):
  70. class Meta:
  71. model = models.Service
  72. fields = '__all__'
  73. filterset_class = filtersets.ServiceFilterSet
  74. class VLANType(PrimaryObjectType):
  75. class Meta:
  76. model = models.VLAN
  77. fields = '__all__'
  78. filterset_class = filtersets.VLANFilterSet
  79. class VLANGroupType(OrganizationalObjectType):
  80. class Meta:
  81. model = models.VLANGroup
  82. fields = '__all__'
  83. filterset_class = filtersets.VLANGroupFilterSet
  84. class VRFType(PrimaryObjectType):
  85. class Meta:
  86. model = models.VRF
  87. fields = '__all__'
  88. filterset_class = filtersets.VRFFilterSet