choices.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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. STATUS_CONTAINER = 'container'
  14. STATUS_ACTIVE = 'active'
  15. STATUS_RESERVED = 'reserved'
  16. STATUS_DEPRECATED = 'deprecated'
  17. CHOICES = (
  18. (STATUS_CONTAINER, 'Container'),
  19. (STATUS_ACTIVE, 'Active'),
  20. (STATUS_RESERVED, 'Reserved'),
  21. (STATUS_DEPRECATED, 'Deprecated'),
  22. )
  23. LEGACY_MAP = {
  24. STATUS_CONTAINER: 0,
  25. STATUS_ACTIVE: 1,
  26. STATUS_RESERVED: 2,
  27. STATUS_DEPRECATED: 3,
  28. }
  29. #
  30. # IPAddresses
  31. #
  32. class IPAddressStatusChoices(ChoiceSet):
  33. STATUS_ACTIVE = 'active'
  34. STATUS_RESERVED = 'reserved'
  35. STATUS_DEPRECATED = 'deprecated'
  36. STATUS_DHCP = 'dhcp'
  37. CHOICES = (
  38. (STATUS_ACTIVE, 'Active'),
  39. (STATUS_RESERVED, 'Reserved'),
  40. (STATUS_DEPRECATED, 'Deprecated'),
  41. (STATUS_DHCP, 'DHCP'),
  42. )
  43. LEGACY_MAP = {
  44. STATUS_ACTIVE: 1,
  45. STATUS_RESERVED: 2,
  46. STATUS_DEPRECATED: 3,
  47. STATUS_DHCP: 5,
  48. }
  49. class IPAddressRoleChoices(ChoiceSet):
  50. ROLE_LOOPBACK = 'loopback'
  51. ROLE_SECONDARY = 'secondary'
  52. ROLE_ANYCAST = 'anycast'
  53. ROLE_VIP = 'vip'
  54. ROLE_VRRP = 'vrrp'
  55. ROLE_HSRP = 'hsrp'
  56. ROLE_GLBP = 'glbp'
  57. ROLE_CARP = 'carp'
  58. CHOICES = (
  59. (ROLE_LOOPBACK, 'Loopback'),
  60. (ROLE_SECONDARY, 'Secondary'),
  61. (ROLE_ANYCAST, 'Anycast'),
  62. (ROLE_VIP, 'VIP'),
  63. (ROLE_VRRP, 'VRRP'),
  64. (ROLE_HSRP, 'HSRP'),
  65. (ROLE_GLBP, 'GLBP'),
  66. (ROLE_CARP, 'CARP'),
  67. )
  68. LEGACY_MAP = {
  69. ROLE_LOOPBACK: 10,
  70. ROLE_SECONDARY: 20,
  71. ROLE_ANYCAST: 30,
  72. ROLE_VIP: 40,
  73. ROLE_VRRP: 41,
  74. ROLE_HSRP: 42,
  75. ROLE_GLBP: 43,
  76. ROLE_CARP: 44,
  77. }
  78. #
  79. # VLANs
  80. #
  81. class VLANStatusChoices(ChoiceSet):
  82. STATUS_ACTIVE = 'active'
  83. STATUS_RESERVED = 'reserved'
  84. STATUS_DEPRECATED = 'deprecated'
  85. CHOICES = (
  86. (STATUS_ACTIVE, 'Active'),
  87. (STATUS_RESERVED, 'Reserved'),
  88. (STATUS_DEPRECATED, 'Deprecated'),
  89. )
  90. LEGACY_MAP = {
  91. STATUS_ACTIVE: 1,
  92. STATUS_RESERVED: 2,
  93. STATUS_DEPRECATED: 3,
  94. }
  95. #
  96. # Services
  97. #
  98. class ServiceProtocolChoices(ChoiceSet):
  99. PROTOCOL_TCP = 'tcp'
  100. PROTOCOL_UDP = 'udp'
  101. CHOICES = (
  102. (PROTOCOL_TCP, 'TCP'),
  103. (PROTOCOL_UDP, 'UDP'),
  104. )
  105. LEGACY_MAP = {
  106. PROTOCOL_TCP: 6,
  107. PROTOCOL_UDP: 17,
  108. }