1from utilities.choices import ChoiceSet
2
3
4class IPAddressFamilyChoices(ChoiceSet):
5
6    FAMILY_4 = 4
7    FAMILY_6 = 6
8
9    CHOICES = (
10        (FAMILY_4, 'IPv4'),
11        (FAMILY_6, 'IPv6'),
12    )
13
14
15#
16# Prefixes
17#
18
19class PrefixStatusChoices(ChoiceSet):
20
21    STATUS_CONTAINER = 'container'
22    STATUS_ACTIVE = 'active'
23    STATUS_RESERVED = 'reserved'
24    STATUS_DEPRECATED = 'deprecated'
25
26    CHOICES = (
27        (STATUS_CONTAINER, 'Container'),
28        (STATUS_ACTIVE, 'Active'),
29        (STATUS_RESERVED, 'Reserved'),
30        (STATUS_DEPRECATED, 'Deprecated'),
31    )
32
33    CSS_CLASSES = {
34        STATUS_CONTAINER: 'secondary',
35        STATUS_ACTIVE: 'primary',
36        STATUS_RESERVED: 'info',
37        STATUS_DEPRECATED: 'danger',
38    }
39
40
41#
42# IP Ranges
43#
44
45class IPRangeStatusChoices(ChoiceSet):
46
47    STATUS_ACTIVE = 'active'
48    STATUS_RESERVED = 'reserved'
49    STATUS_DEPRECATED = 'deprecated'
50
51    CHOICES = (
52        (STATUS_ACTIVE, 'Active'),
53        (STATUS_RESERVED, 'Reserved'),
54        (STATUS_DEPRECATED, 'Deprecated'),
55    )
56
57    CSS_CLASSES = {
58        STATUS_ACTIVE: 'primary',
59        STATUS_RESERVED: 'info',
60        STATUS_DEPRECATED: 'danger',
61    }
62
63
64#
65# IP Addresses
66#
67
68class IPAddressStatusChoices(ChoiceSet):
69
70    STATUS_ACTIVE = 'active'
71    STATUS_RESERVED = 'reserved'
72    STATUS_DEPRECATED = 'deprecated'
73    STATUS_DHCP = 'dhcp'
74    STATUS_SLAAC = 'slaac'
75
76    CHOICES = (
77        (STATUS_ACTIVE, 'Active'),
78        (STATUS_RESERVED, 'Reserved'),
79        (STATUS_DEPRECATED, 'Deprecated'),
80        (STATUS_DHCP, 'DHCP'),
81        (STATUS_SLAAC, 'SLAAC'),
82    )
83
84    CSS_CLASSES = {
85        STATUS_ACTIVE: 'primary',
86        STATUS_RESERVED: 'info',
87        STATUS_DEPRECATED: 'danger',
88        STATUS_DHCP: 'success',
89        STATUS_SLAAC: 'success',
90    }
91
92
93class IPAddressRoleChoices(ChoiceSet):
94
95    ROLE_LOOPBACK = 'loopback'
96    ROLE_SECONDARY = 'secondary'
97    ROLE_ANYCAST = 'anycast'
98    ROLE_VIP = 'vip'
99    ROLE_VRRP = 'vrrp'
100    ROLE_HSRP = 'hsrp'
101    ROLE_GLBP = 'glbp'
102    ROLE_CARP = 'carp'
103
104    CHOICES = (
105        (ROLE_LOOPBACK, 'Loopback'),
106        (ROLE_SECONDARY, 'Secondary'),
107        (ROLE_ANYCAST, 'Anycast'),
108        (ROLE_VIP, 'VIP'),
109        (ROLE_VRRP, 'VRRP'),
110        (ROLE_HSRP, 'HSRP'),
111        (ROLE_GLBP, 'GLBP'),
112        (ROLE_CARP, 'CARP'),
113    )
114
115    CSS_CLASSES = {
116        ROLE_LOOPBACK: 'secondary',
117        ROLE_SECONDARY: 'primary',
118        ROLE_ANYCAST: 'warning',
119        ROLE_VIP: 'success',
120        ROLE_VRRP: 'success',
121        ROLE_HSRP: 'success',
122        ROLE_GLBP: 'success',
123        ROLE_CARP: 'success',
124    }
125
126
127#
128# VLANs
129#
130
131class VLANStatusChoices(ChoiceSet):
132
133    STATUS_ACTIVE = 'active'
134    STATUS_RESERVED = 'reserved'
135    STATUS_DEPRECATED = 'deprecated'
136
137    CHOICES = (
138        (STATUS_ACTIVE, 'Active'),
139        (STATUS_RESERVED, 'Reserved'),
140        (STATUS_DEPRECATED, 'Deprecated'),
141    )
142
143    CSS_CLASSES = {
144        STATUS_ACTIVE: 'primary',
145        STATUS_RESERVED: 'info',
146        STATUS_DEPRECATED: 'danger',
147    }
148
149
150#
151# Services
152#
153
154class ServiceProtocolChoices(ChoiceSet):
155
156    PROTOCOL_TCP = 'tcp'
157    PROTOCOL_UDP = 'udp'
158
159    CHOICES = (
160        (PROTOCOL_TCP, 'TCP'),
161        (PROTOCOL_UDP, 'UDP'),
162    )
163