types.py 3.2 KB

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