choices.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. from django.utils.translation import gettext_lazy as _
  2. from utilities.choices import ChoiceSet
  3. class IPAddressFamilyChoices(ChoiceSet):
  4. FAMILY_4 = 4
  5. FAMILY_6 = 6
  6. CHOICES = (
  7. (FAMILY_4, 'IPv4'),
  8. (FAMILY_6, 'IPv6'),
  9. )
  10. #
  11. # Prefixes
  12. #
  13. class PrefixStatusChoices(ChoiceSet):
  14. key = 'Prefix.status'
  15. STATUS_CONTAINER = 'container'
  16. STATUS_ACTIVE = 'active'
  17. STATUS_RESERVED = 'reserved'
  18. STATUS_DEPRECATED = 'deprecated'
  19. CHOICES = [
  20. (STATUS_CONTAINER, _('Container'), 'gray'),
  21. (STATUS_ACTIVE, _('Active'), 'blue'),
  22. (STATUS_RESERVED, _('Reserved'), 'cyan'),
  23. (STATUS_DEPRECATED, _('Deprecated'), 'red'),
  24. ]
  25. #
  26. # IP Ranges
  27. #
  28. class IPRangeStatusChoices(ChoiceSet):
  29. key = 'IPRange.status'
  30. STATUS_ACTIVE = 'active'
  31. STATUS_RESERVED = 'reserved'
  32. STATUS_DEPRECATED = 'deprecated'
  33. CHOICES = [
  34. (STATUS_ACTIVE, _('Active'), 'blue'),
  35. (STATUS_RESERVED, _('Reserved'), 'cyan'),
  36. (STATUS_DEPRECATED, _('Deprecated'), 'red'),
  37. ]
  38. #
  39. # IP Addresses
  40. #
  41. class IPAddressStatusChoices(ChoiceSet):
  42. key = 'IPAddress.status'
  43. STATUS_ACTIVE = 'active'
  44. STATUS_RESERVED = 'reserved'
  45. STATUS_DEPRECATED = 'deprecated'
  46. STATUS_DHCP = 'dhcp'
  47. STATUS_SLAAC = 'slaac'
  48. CHOICES = [
  49. (STATUS_ACTIVE, _('Active'), 'blue'),
  50. (STATUS_RESERVED, _('Reserved'), 'cyan'),
  51. (STATUS_DEPRECATED, _('Deprecated'), 'red'),
  52. (STATUS_DHCP, _('DHCP'), 'green'),
  53. (STATUS_SLAAC, _('SLAAC'), 'purple'),
  54. ]
  55. class IPAddressRoleChoices(ChoiceSet):
  56. ROLE_LOOPBACK = 'loopback'
  57. ROLE_SECONDARY = 'secondary'
  58. ROLE_ANYCAST = 'anycast'
  59. ROLE_VIP = 'vip'
  60. ROLE_VRRP = 'vrrp'
  61. ROLE_HSRP = 'hsrp'
  62. ROLE_GLBP = 'glbp'
  63. ROLE_CARP = 'carp'
  64. CHOICES = (
  65. (ROLE_LOOPBACK, _('Loopback'), 'gray'),
  66. (ROLE_SECONDARY, _('Secondary'), 'blue'),
  67. (ROLE_ANYCAST, _('Anycast'), 'yellow'),
  68. (ROLE_VIP, 'VIP', 'purple'),
  69. (ROLE_VRRP, 'VRRP', 'green'),
  70. (ROLE_HSRP, 'HSRP', 'green'),
  71. (ROLE_GLBP, 'GLBP', 'green'),
  72. (ROLE_CARP, 'CARP', 'green'),
  73. )
  74. #
  75. # FHRP
  76. #
  77. class FHRPGroupProtocolChoices(ChoiceSet):
  78. PROTOCOL_VRRP2 = 'vrrp2'
  79. PROTOCOL_VRRP3 = 'vrrp3'
  80. PROTOCOL_HSRP = 'hsrp'
  81. PROTOCOL_GLBP = 'glbp'
  82. PROTOCOL_CARP = 'carp'
  83. PROTOCOL_CLUSTERXL = 'clusterxl'
  84. PROTOCOL_OTHER = 'other'
  85. CHOICES = (
  86. (_('Standard'), (
  87. (PROTOCOL_VRRP2, 'VRRPv2'),
  88. (PROTOCOL_VRRP3, 'VRRPv3'),
  89. (PROTOCOL_CARP, 'CARP'),
  90. )),
  91. (_('CheckPoint'), (
  92. (PROTOCOL_CLUSTERXL, 'ClusterXL'),
  93. )),
  94. (_('Cisco'), (
  95. (PROTOCOL_HSRP, 'HSRP'),
  96. (PROTOCOL_GLBP, 'GLBP'),
  97. )),
  98. (PROTOCOL_OTHER, 'Other'),
  99. )
  100. class FHRPGroupAuthTypeChoices(ChoiceSet):
  101. AUTHENTICATION_PLAINTEXT = 'plaintext'
  102. AUTHENTICATION_MD5 = 'md5'
  103. CHOICES = (
  104. (AUTHENTICATION_PLAINTEXT, _('Plaintext')),
  105. (AUTHENTICATION_MD5, 'MD5'),
  106. )
  107. #
  108. # VLANs
  109. #
  110. class VLANStatusChoices(ChoiceSet):
  111. key = 'VLAN.status'
  112. STATUS_ACTIVE = 'active'
  113. STATUS_RESERVED = 'reserved'
  114. STATUS_DEPRECATED = 'deprecated'
  115. CHOICES = [
  116. (STATUS_ACTIVE, _('Active'), 'blue'),
  117. (STATUS_RESERVED, _('Reserved'), 'cyan'),
  118. (STATUS_DEPRECATED, _('Deprecated'), 'red'),
  119. ]
  120. class VLANQinQRoleChoices(ChoiceSet):
  121. ROLE_SERVICE = 'svlan'
  122. ROLE_CUSTOMER = 'cvlan'
  123. CHOICES = [
  124. (ROLE_SERVICE, _('Service'), 'blue'),
  125. (ROLE_CUSTOMER, _('Customer'), 'orange'),
  126. ]
  127. #
  128. # Services
  129. #
  130. class ServiceProtocolChoices(ChoiceSet):
  131. PROTOCOL_TCP = 'tcp'
  132. PROTOCOL_UDP = 'udp'
  133. PROTOCOL_SCTP = 'sctp'
  134. CHOICES = (
  135. (PROTOCOL_TCP, 'TCP'),
  136. (PROTOCOL_UDP, 'UDP'),
  137. (PROTOCOL_SCTP, 'SCTP'),
  138. )