Skip to content
Snippets Groups Projects
Commit 7f63d4bf authored by Simone Spinelli's avatar Simone Spinelli
Browse files

Revert "Changed Device model and added Site model to hold SNMP info plus other related attrs."

This reverts commit e9d5d0ab.
parent 68978008
No related branches found
No related tags found
No related merge requests found
...@@ -2,11 +2,9 @@ from orchestrator.domain import SUBSCRIPTION_MODEL_REGISTRY ...@@ -2,11 +2,9 @@ from orchestrator.domain import SUBSCRIPTION_MODEL_REGISTRY
from gso.products.product_types.device import Device from gso.products.product_types.device import Device
from gso.products.product_types.iptrunk import Iptrunk from gso.products.product_types.iptrunk import Iptrunk
from gso.products.product_types.site import Site
SUBSCRIPTION_MODEL_REGISTRY.update( SUBSCRIPTION_MODEL_REGISTRY.update(
{ {
"Site": Site,
"Router": Device, "Router": Device,
"Switch": Device, "Switch": Device,
"Iptrunk": Iptrunk, "Iptrunk": Iptrunk,
......
...@@ -2,62 +2,62 @@ from typing import Optional ...@@ -2,62 +2,62 @@ from typing import Optional
from orchestrator.domain.base import ProductBlockModel from orchestrator.domain.base import ProductBlockModel
from orchestrator.types import SubscriptionLifecycle from orchestrator.types import SubscriptionLifecycle
from gso.products.product_blocks.site \
import SiteBlock, SiteBlockInactive, SiteBlockProvisioning
import ipaddress import ipaddress
class DeviceVendor(strEnum):
juniper = "juniper"
nokia = "nokia"
class DeviceRole(strEnum):
p = "p"
pe = "pe"
amt = "amt"
class DeviceBlockInactive(ProductBlockModel, class DeviceBlockInactive(ProductBlockModel,
lifecycle=[SubscriptionLifecycle.INITIAL], lifecycle=[SubscriptionLifecycle.INITIAL],
product_block_name="DeviceBlock"): product_block_name="DeviceBlock"):
device_fqdn: Optional[str] = None fqdn: Optional[str] = None
device_ts_address: Optional[str] = None ts_address: Optional[str] = None
device_ts_port: Optional[int] = None ts_port: Optional[int] = None
device_lo_ipv4_address: Optional[ipaddress.IPv4Address] = None lo_ipv4_address: Optional[ipaddress.IPv4Address] = None
device_lo_ipv6_address: Optional[ipaddress.IPv6Address] = None lo_ipv6_address: Optional[ipaddress.IPv6Address] = None
device_lo_iso_address: Optional[str] = None lo_iso_address: Optional[str] = None
device_si_ipv4_network: Optional[ipaddress.IPv4Network] = None si_ipv4_network: Optional[ipaddress.IPv4Network] = None
device_ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None
device_ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None
device_vendor: Optional[DeviceVendor] = None site_city: Optional[str] = None
device_role: Optional[DeviceRole] = None site_country: Optional[str] = None
device_site: Optional[SiteBlockInactive] site_country_code: Optional[str] = None
site_latitude: Optional[str] = None
site_longitude: Optional[str] = None
snmp_location: Optional[str] = None
class DeviceBlockProvisioning(DeviceBlockInactive, class DeviceBlockProvisioning(DeviceBlockInactive,
lifecycle=[SubscriptionLifecycle.PROVISIONING]): lifecycle=[SubscriptionLifecycle.PROVISIONING]):
device_fqdn: str fqdn: str
device_ts_address: str ts_address: str
device_ts_port: str ts_port: str
device_lo_ipv4_address: Optional[ipaddress.IPv4Address] = None lo_ipv4_address: Optional[ipaddress.IPv4Address] = None
device_lo_ipv6_address: Optional[ipaddress.IPv6Address] = None lo_ipv6_address: Optional[ipaddress.IPv6Address] = None
device_lo_iso_address: Optional[str] = None lo_iso_address: Optional[str] = None
device_si_ipv4_network: Optional[ipaddress.IPv4Network] = None si_ipv4_network: Optional[ipaddress.IPv4Network] = None
device_ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None ias_lt_ipv4_network: Optional[ipaddress.IPv4Network] = None
device_ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None ias_lt_ipv6_network: Optional[ipaddress.IPv6Network] = None
device_vendor: Optional[DeviceVendor] = None site_city: Optional[str] = None
device_role: Optional[DeviceRole] = None site_country: Optional[str] = None
device_site: Optional[SiteBlockProvisioning] site_country_code: Optional[str] = None
site_latitude: Optional[str] = None
site_longitude: Optional[str] = None
snmp_location: Optional[str] = None
class DeviceBlock(DeviceBlockProvisioning, class DeviceBlock(DeviceBlockProvisioning,
lifecycle=[SubscriptionLifecycle.ACTIVE]): lifecycle=[SubscriptionLifecycle.ACTIVE]):
device_fqdn: str fqdn: str
device_ts_address: str ts_address: str
device_ts_port: str ts_port: str
device_lo_ipv4_address: ipaddress.IPv4Address lo_ipv4_address: ipaddress.IPv4Address
device_lo_ipv6_address: ipaddress.IPv6Address lo_ipv6_address: ipaddress.IPv6Address
device_lo_iso_address: str lo_iso_address: str
device_si_ipv4_network: ipaddress.IPv4Network si_ipv4_network: ipaddress.IPv4Network
device_ias_lt_ipv4_network: ipaddress.IPv4Network ias_lt_ipv4_network: ipaddress.IPv4Network
device_ias_lt_ipv6_network: ipaddress.IPv6Network ias_lt_ipv6_network: ipaddress.IPv6Network
device_vendor: DeviceVendor site_city: str
device_role: DeviceRole site_country: str
device_site: SiteBlock site_country_code: str
site_latitude: str
site_longitude: str
snmp_location: str
from typing import Optional
from pydantic import Field
from orchestrator.domain.base import ProductBlockModel
from orchestrator.types import SubscriptionLifecycle, Enum
import ipaddress
class SiteTier(Enum):
tier1 = 1
tier2 = 2
tier3 = 3
tier4 = 4
class SiteBlockInactive(ProductBlockModel,
lifecycle=[SubscriptionLifecycle.INITIAL],
product_block_name="SiteBlock"):
site_name: Optional[str]
site_city: Optional[str]
site_country: Optional[str]
site_country_code: Optional[str]
site_latitude: Optional[float]
site_longitude: Optional[float]
site_internal_id: Optional[int]
site_bgp_id: Optional[int]
site_tier: Optional[SiteTier]
class SiteBlockProvisioning(SiteBlockInactive,
lifecycle=[SubscriptionLifecycle.PROVISIONING]):
site_name: Optional[str]
site_city: Optional[str]
site_country: Optional[str]
site_country_code: Optional[str]
site_latitude: Optional[float]
site_longitude: Optional[float]
site_internal_id: Optional[int]
site_bgp_id: Optional[int]
site_tier: Optional[SiteTier]
class SiteBlock(SiteBlockProvisioning,
lifecycle=[SubscriptionLifecycle.ACTIVE]):
site_name: str
site_city: str
site_country: str
site_country_code: str
site_latitude: float
site_longitude: float
site_internal_id: int
site_bgp_id: int
site_tier: SiteTier
\ No newline at end of file
...@@ -10,14 +10,21 @@ class DeviceType(strEnum): ...@@ -10,14 +10,21 @@ class DeviceType(strEnum):
switch = "switch" switch = "switch"
class DeviceVendor(strEnum):
Juniper = "Juniper"
Newvendor = "Newvendor"
class DeviceInactive(SubscriptionModel, is_base=True): class DeviceInactive(SubscriptionModel, is_base=True):
device_type: DeviceType device_type: DeviceType
device_vendor: DeviceVendor
device: DeviceBlockInactive device: DeviceBlockInactive
class DeviceProvisioning(DeviceInactive, class DeviceProvisioning(DeviceInactive,
lifecycle=[SubscriptionLifecycle.PROVISIONING]): lifecycle=[SubscriptionLifecycle.PROVISIONING]):
device_type: DeviceType device_type: DeviceType
device_vendor: DeviceVendor
device: DeviceBlockProvisioning device: DeviceBlockProvisioning
......
from orchestrator.domain.base import SubscriptionModel
from orchestrator.types import SubscriptionLifecycle, strEnum
from gso.products.product_blocks.site \
import SiteBlock, SiteBlockInactive, SiteBlockProvisioning
class SiteInactive(SubscriptionModel, is_base=True):
site: SiteBlockInactive
class SiteProvisioning(SiteInactive,
lifecycle=[SubscriptionLifecycle.PROVISIONING]):
site: SiteBlockProvisioning
class Site(SiteProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
site: SiteBlock
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment