choices.py 3.5 KB

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