From 0df564565e3bec353477844f2fb85e7652a3d98c Mon Sep 17 00:00:00 2001
From: Neda Moeini <neda.moeini@geant.org>
Date: Fri, 9 May 2025 14:21:51 +0200
Subject: [PATCH] Add new product types to the ProductType enumerator.
---
gso/products/__init__.py | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gso/products/__init__.py b/gso/products/__init__.py
index fff581523..bc4122d3f 100644
--- a/gso/products/__init__.py
+++ b/gso/products/__init__.py
@@ -13,16 +13,19 @@ from gso.products.product_types.edge_port import EdgePort, ImportedEdgePort
from gso.products.product_types.geant_ip import GeantIP, ImportedGeantIP
from gso.products.product_types.ias import IAS, ImportedIAS
from gso.products.product_types.iptrunk import ImportedIptrunk, Iptrunk
+from gso.products.product_types.ix_port import IXPort, ImportedIXPort
from gso.products.product_types.lan_switch_interconnect import ImportedLanSwitchInterconnect, LanSwitchInterconnect
from gso.products.product_types.layer_2_circuit import ImportedLayer2Circuit, Layer2Circuit, Layer2CircuitServiceType
from gso.products.product_types.lhcone import ImportedLHCOne, LHCOne
from gso.products.product_types.office_router import ImportedOfficeRouter, OfficeRouter
from gso.products.product_types.opengear import ImportedOpengear, Opengear
from gso.products.product_types.pop_vlan import PopVlan
+from gso.products.product_types.private_peer_port import PrivatePeerPort, ImportedPrivatePeerPort
from gso.products.product_types.router import ImportedRouter, Router
from gso.products.product_types.site import ImportedSite, Site
from gso.products.product_types.super_pop_switch import ImportedSuperPopSwitch, SuperPopSwitch
from gso.products.product_types.switch import ImportedSwitch, Switch
+from gso.products.product_types.transit_provider_port import TransitProviderPort, ImportedTransitProviderPort
from gso.products.product_types.vrf import VRF
@@ -78,6 +81,18 @@ class ProductName(strEnum):
IMPORTED_EXPRESSROUTE = Layer2CircuitServiceType.IMPORTED_EXPRESSROUTE
VRF = "VRF"
"""VRFs."""
+ IX_PORT = "IX Port"
+ """Internet Exchange Ports."""
+ IMPORTED_IX_PORT = "Imported IX Port"
+ """Imported IX Ports."""
+ PRIVATE_PEER_PORT = "Private Peer Port"
+ """Private Peer Ports."""
+ IMPORTED_PRIVATE_PEER_PORT = "Imported Private Peer Port"
+ """Imported Private Peer Ports."""
+ TRANSIT_PROVIDER_PORT = "Transit Provider Port"
+ """Transit Provider Ports."""
+ IMPORTED_TRANSIT_PROVIDER_PORT = "Imported Transit Provider Port"
+ """Imported Transit Provider Ports."""
L2_CIRCUIT_PRODUCT_TYPE = Layer2Circuit.__name__
@@ -118,6 +133,12 @@ class ProductType(strEnum):
IMPORTED_LHCONE = ImportedLHCOne.__name__
COPERNICUS = Copernicus.__name__
IMPORTED_COPERNICUS = ImportedCopernicus.__name__
+ IX_PORT = IXPort.__name__
+ IMPORTED_IX_PORT = ImportedIXPort.__name__
+ PRIVATE_PEER_PORT = PrivatePeerPort.__name__
+ IMPORTED_PRIVATE_PEER_PORT = ImportedPrivatePeerPort.__name__
+ TRANSIT_PROVIDER_PORT = TransitProviderPort.__name__
+ IMPORTED_TRANSIT_PROVIDER_PORT = ImportedTransitProviderPort.__name__
SUBSCRIPTION_MODEL_REGISTRY.update(
@@ -154,6 +175,12 @@ SUBSCRIPTION_MODEL_REGISTRY.update(
ProductName.EXPRESSROUTE.value: Layer2Circuit,
ProductName.IMPORTED_EXPRESSROUTE.value: ImportedLayer2Circuit,
ProductName.VRF.value: VRF,
+ ProductName.IX_PORT.value: IXPort,
+ ProductName.IMPORTED_IX_PORT.value: ImportedIXPort,
+ ProductName.PRIVATE_PEER_PORT.value: PrivatePeerPort,
+ ProductName.IMPORTED_PRIVATE_PEER_PORT.value: ImportedPrivatePeerPort,
+ ProductName.TRANSIT_PROVIDER_PORT.value: TransitProviderPort,
+ ProductName.IMPORTED_TRANSIT_PROVIDER_PORT.value: ImportedTransitProviderPort,
},
)
--
GitLab