From 2916942dbfd66d062be86ee87b5e1a5b73d01572 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 19 Feb 2025 09:20:18 -0500 Subject: [PATCH] Update IPAM enums --- netbox/ipam/graphql/enums.py | 138 ++++++----------------------------- 1 file changed, 21 insertions(+), 117 deletions(-) diff --git a/netbox/ipam/graphql/enums.py b/netbox/ipam/graphql/enums.py index b81254880..34fb1a6fd 100644 --- a/netbox/ipam/graphql/enums.py +++ b/netbox/ipam/graphql/enums.py @@ -1,123 +1,27 @@ -from enum import Enum import strawberry -__all__ = [ - 'IPAddressFamilyEnum', - 'PrefixStatusEnum', - 'IPRangeStatusEnum', - 'IPAddressStatusEnum', - 'IPAddressRoleEnum', - 'FHRPGroupProtocolEnum', +from ipam.choices import * + +__all__ = ( 'FHRPGroupAuthTypeEnum', + 'FHRPGroupProtocolEnum', + 'IPAddressFamilyEnum', + 'IPAddressRoleEnum', + 'IPAddressStatusEnum', + 'IPRangeStatusEnum', + 'PrefixStatusEnum', + 'ServiceProtocolEnum', 'VLANStatusEnum', 'VLANQinQRoleEnum', - 'ServiceProtocolEnum', -] +) - -@strawberry.enum -class IPAddressFamilyEnum(Enum): - FAMILY_4 = 4 - FAMILY_6 = 6 - - -# -# Prefixes -# - - -@strawberry.enum -class PrefixStatusEnum(Enum): - STATUS_CONTAINER = 'container' - STATUS_ACTIVE = 'active' - STATUS_RESERVED = 'reserved' - STATUS_DEPRECATED = 'deprecated' - - -# -# IP Ranges -# - - -@strawberry.enum -class IPRangeStatusEnum(Enum): - STATUS_ACTIVE = 'active' - STATUS_RESERVED = 'reserved' - STATUS_DEPRECATED = 'deprecated' - - -# -# IP Addresses -# - - -@strawberry.enum -class IPAddressStatusEnum(Enum): - STATUS_ACTIVE = 'active' - STATUS_RESERVED = 'reserved' - STATUS_DEPRECATED = 'deprecated' - STATUS_DHCP = 'dhcp' - STATUS_SLAAC = 'slaac' - - -@strawberry.enum -class IPAddressRoleEnum(Enum): - ROLE_LOOPBACK = 'loopback' - ROLE_SECONDARY = 'secondary' - ROLE_ANYCAST = 'anycast' - ROLE_VIP = 'vip' - ROLE_VRRP = 'vrrp' - ROLE_HSRP = 'hsrp' - ROLE_GLBP = 'glbp' - ROLE_CARP = 'carp' - - -# -# FHRP -# - - -@strawberry.enum -class FHRPGroupProtocolEnum(Enum): - PROTOCOL_VRRP2 = 'vrrp2' - PROTOCOL_VRRP3 = 'vrrp3' - PROTOCOL_HSRP = 'hsrp' - PROTOCOL_GLBP = 'glbp' - PROTOCOL_CARP = 'carp' - PROTOCOL_CLUSTERXL = 'clusterxl' - PROTOCOL_OTHER = 'other' - - -@strawberry.enum -class FHRPGroupAuthTypeEnum(Enum): - AUTHENTICATION_PLAINTEXT = 'plaintext' - AUTHENTICATION_MD5 = 'md5' - - -# -# VLANs -# - - -@strawberry.enum -class VLANStatusEnum(Enum): - STATUS_ACTIVE = 'active' - STATUS_RESERVED = 'reserved' - STATUS_DEPRECATED = 'deprecated' - - -@strawberry.enum -class VLANQinQRoleEnum(Enum): - ROLE_SERVICE = 'svlan' - ROLE_CUSTOMER = 'cvlan' - -# -# Services -# - - -@strawberry.enum -class ServiceProtocolEnum(Enum): - PROTOCOL_TCP = 'tcp' - PROTOCOL_UDP = 'udp' - PROTOCOL_SCTP = 'sctp' +FHRPGroupAuthTypeEnum = strawberry.enum(FHRPGroupAuthTypeChoices.as_enum()) +FHRPGroupProtocolEnum = strawberry.enum(FHRPGroupProtocolChoices.as_enum()) +IPAddressFamilyEnum = strawberry.enum(IPAddressFamilyChoices.as_enum()) +IPAddressRoleEnum = strawberry.enum(IPAddressRoleChoices.as_enum()) +IPAddressStatusEnum = strawberry.enum(IPAddressStatusChoices.as_enum()) +IPRangeStatusEnum = strawberry.enum(IPRangeStatusChoices.as_enum()) +PrefixStatusEnum = strawberry.enum(PrefixStatusChoices.as_enum()) +ServiceProtocolEnum = strawberry.enum(ServiceProtocolChoices.as_enum()) +VLANStatusEnum = strawberry.enum(VLANStatusChoices.as_enum()) +VLANQinQRoleEnum = strawberry.enum(VLANQinQRoleChoices.as_enum())