mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
e625a5667c
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
224 lines
4.8 KiB
Python
224 lines
4.8 KiB
Python
from django.utils.translation import gettext_lazy as _
|
|
|
|
from utilities.choices import ChoiceSet
|
|
|
|
|
|
class IPAddressFamilyChoices(ChoiceSet):
|
|
|
|
FAMILY_4 = 4
|
|
FAMILY_6 = 6
|
|
|
|
CHOICES = (
|
|
(FAMILY_4, 'IPv4'),
|
|
(FAMILY_6, 'IPv6'),
|
|
)
|
|
|
|
|
|
#
|
|
# Prefixes
|
|
#
|
|
|
|
class PrefixStatusChoices(ChoiceSet):
|
|
key = 'Prefix.status'
|
|
|
|
STATUS_CONTAINER = 'container'
|
|
STATUS_ACTIVE = 'active'
|
|
STATUS_RESERVED = 'reserved'
|
|
STATUS_DEPRECATED = 'deprecated'
|
|
|
|
CHOICES = [
|
|
(STATUS_CONTAINER, _('Container'), 'gray'),
|
|
(STATUS_ACTIVE, _('Active'), 'blue'),
|
|
(STATUS_RESERVED, _('Reserved'), 'cyan'),
|
|
(STATUS_DEPRECATED, _('Deprecated'), 'red'),
|
|
]
|
|
|
|
|
|
#
|
|
# IP Ranges
|
|
#
|
|
|
|
class IPRangeStatusChoices(ChoiceSet):
|
|
key = 'IPRange.status'
|
|
|
|
STATUS_ACTIVE = 'active'
|
|
STATUS_RESERVED = 'reserved'
|
|
STATUS_DEPRECATED = 'deprecated'
|
|
|
|
CHOICES = [
|
|
(STATUS_ACTIVE, _('Active'), 'blue'),
|
|
(STATUS_RESERVED, _('Reserved'), 'cyan'),
|
|
(STATUS_DEPRECATED, _('Deprecated'), 'red'),
|
|
]
|
|
|
|
|
|
#
|
|
# IP Addresses
|
|
#
|
|
|
|
class IPAddressStatusChoices(ChoiceSet):
|
|
key = 'IPAddress.status'
|
|
|
|
STATUS_ACTIVE = 'active'
|
|
STATUS_RESERVED = 'reserved'
|
|
STATUS_DEPRECATED = 'deprecated'
|
|
STATUS_DHCP = 'dhcp'
|
|
STATUS_SLAAC = 'slaac'
|
|
|
|
CHOICES = [
|
|
(STATUS_ACTIVE, _('Active'), 'blue'),
|
|
(STATUS_RESERVED, _('Reserved'), 'cyan'),
|
|
(STATUS_DEPRECATED, _('Deprecated'), 'red'),
|
|
(STATUS_DHCP, _('DHCP'), 'green'),
|
|
(STATUS_SLAAC, _('SLAAC'), 'purple'),
|
|
]
|
|
|
|
|
|
class IPAddressRoleChoices(ChoiceSet):
|
|
|
|
ROLE_LOOPBACK = 'loopback'
|
|
ROLE_SECONDARY = 'secondary'
|
|
ROLE_ANYCAST = 'anycast'
|
|
ROLE_VIP = 'vip'
|
|
ROLE_VRRP = 'vrrp'
|
|
ROLE_HSRP = 'hsrp'
|
|
ROLE_GLBP = 'glbp'
|
|
ROLE_CARP = 'carp'
|
|
|
|
CHOICES = (
|
|
(ROLE_LOOPBACK, _('Loopback'), 'gray'),
|
|
(ROLE_SECONDARY, _('Secondary'), 'blue'),
|
|
(ROLE_ANYCAST, _('Anycast'), 'yellow'),
|
|
(ROLE_VIP, 'VIP', 'purple'),
|
|
(ROLE_VRRP, 'VRRP', 'green'),
|
|
(ROLE_HSRP, 'HSRP', 'green'),
|
|
(ROLE_GLBP, 'GLBP', 'green'),
|
|
(ROLE_CARP, 'CARP', 'green'),
|
|
)
|
|
|
|
|
|
#
|
|
# FHRP
|
|
#
|
|
|
|
class FHRPGroupProtocolChoices(ChoiceSet):
|
|
|
|
PROTOCOL_VRRP2 = 'vrrp2'
|
|
PROTOCOL_VRRP3 = 'vrrp3'
|
|
PROTOCOL_HSRP = 'hsrp'
|
|
PROTOCOL_GLBP = 'glbp'
|
|
PROTOCOL_CARP = 'carp'
|
|
PROTOCOL_CLUSTERXL = 'clusterxl'
|
|
PROTOCOL_OTHER = 'other'
|
|
|
|
CHOICES = (
|
|
(_('Standard'), (
|
|
(PROTOCOL_VRRP2, 'VRRPv2'),
|
|
(PROTOCOL_VRRP3, 'VRRPv3'),
|
|
(PROTOCOL_CARP, 'CARP'),
|
|
)),
|
|
(_('CheckPoint'), (
|
|
(PROTOCOL_CLUSTERXL, 'ClusterXL'),
|
|
)),
|
|
(_('Cisco'), (
|
|
(PROTOCOL_HSRP, 'HSRP'),
|
|
(PROTOCOL_GLBP, 'GLBP'),
|
|
)),
|
|
(PROTOCOL_OTHER, 'Other'),
|
|
)
|
|
|
|
|
|
class FHRPGroupAuthTypeChoices(ChoiceSet):
|
|
|
|
AUTHENTICATION_PLAINTEXT = 'plaintext'
|
|
AUTHENTICATION_MD5 = 'md5'
|
|
|
|
CHOICES = (
|
|
(AUTHENTICATION_PLAINTEXT, _('Plaintext')),
|
|
(AUTHENTICATION_MD5, 'MD5'),
|
|
)
|
|
|
|
|
|
#
|
|
# VLANs
|
|
#
|
|
|
|
class VLANStatusChoices(ChoiceSet):
|
|
key = 'VLAN.status'
|
|
|
|
STATUS_ACTIVE = 'active'
|
|
STATUS_RESERVED = 'reserved'
|
|
STATUS_DEPRECATED = 'deprecated'
|
|
|
|
CHOICES = [
|
|
(STATUS_ACTIVE, _('Active'), 'blue'),
|
|
(STATUS_RESERVED, _('Reserved'), 'cyan'),
|
|
(STATUS_DEPRECATED, _('Deprecated'), 'red'),
|
|
]
|
|
|
|
|
|
#
|
|
# Services
|
|
#
|
|
|
|
class ServiceProtocolChoices(ChoiceSet):
|
|
|
|
PROTOCOL_TCP = 'tcp'
|
|
PROTOCOL_UDP = 'udp'
|
|
PROTOCOL_SCTP = 'sctp'
|
|
|
|
CHOICES = (
|
|
(PROTOCOL_TCP, 'TCP'),
|
|
(PROTOCOL_UDP, 'UDP'),
|
|
(PROTOCOL_SCTP, 'SCTP'),
|
|
)
|
|
|
|
|
|
class L2VPNTypeChoices(ChoiceSet):
|
|
TYPE_VPLS = 'vpls'
|
|
TYPE_VPWS = 'vpws'
|
|
TYPE_EPL = 'epl'
|
|
TYPE_EVPL = 'evpl'
|
|
TYPE_EPLAN = 'ep-lan'
|
|
TYPE_EVPLAN = 'evp-lan'
|
|
TYPE_EPTREE = 'ep-tree'
|
|
TYPE_EVPTREE = 'evp-tree'
|
|
TYPE_VXLAN = 'vxlan'
|
|
TYPE_VXLAN_EVPN = 'vxlan-evpn'
|
|
TYPE_MPLS_EVPN = 'mpls-evpn'
|
|
TYPE_PBB_EVPN = 'pbb-evpn'
|
|
|
|
CHOICES = (
|
|
('VPLS', (
|
|
(TYPE_VPWS, 'VPWS'),
|
|
(TYPE_VPLS, 'VPLS'),
|
|
)),
|
|
('VXLAN', (
|
|
(TYPE_VXLAN, 'VXLAN'),
|
|
(TYPE_VXLAN_EVPN, 'VXLAN-EVPN'),
|
|
)),
|
|
('L2VPN E-VPN', (
|
|
(TYPE_MPLS_EVPN, 'MPLS EVPN'),
|
|
(TYPE_PBB_EVPN, 'PBB EVPN'),
|
|
)),
|
|
('E-Line', (
|
|
(TYPE_EPL, 'EPL'),
|
|
(TYPE_EVPL, 'EVPL'),
|
|
)),
|
|
('E-LAN', (
|
|
(TYPE_EPLAN, 'Ethernet Private LAN'),
|
|
(TYPE_EVPLAN, 'Ethernet Virtual Private LAN'),
|
|
)),
|
|
('E-Tree', (
|
|
(TYPE_EPTREE, 'Ethernet Private Tree'),
|
|
(TYPE_EVPTREE, 'Ethernet Virtual Private Tree'),
|
|
)),
|
|
)
|
|
|
|
P2P = (
|
|
TYPE_VPWS,
|
|
TYPE_EPL,
|
|
TYPE_EPLAN,
|
|
TYPE_EPTREE
|
|
)
|