Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
GÉANT Service Orchestrator
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
GÉANT Orchestration and Automation Team
GAP
GÉANT Service Orchestrator
Merge requests
!186
Added switch, LAN switch interconnect and pop VLAN products.
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Added switch, LAN switch interconnect and pop VLAN products.
feature/NAT-461-switches-domain-model
into
develop
Overview
7
Commits
6
Pipelines
10
Changes
7
All threads resolved!
Hide all comments
Merged
Neda Moeini
requested to merge
feature/NAT-461-switches-domain-model
into
develop
1 year ago
Overview
7
Commits
6
Pipelines
10
Changes
7
All threads resolved!
Hide all comments
Expand
0
0
Merge request reports
Compare
develop
version 10
2134aeed
1 year ago
version 9
2030e75e
1 year ago
version 8
41a9e058
1 year ago
version 7
6b2693af
1 year ago
version 6
6db66ab9
1 year ago
version 5
4d948492
1 year ago
version 4
75c03bf0
1 year ago
version 3
6c044c8b
1 year ago
version 2
5ca3edde
1 year ago
version 1
5ca3edde
1 year ago
develop (base)
and
version 6
latest version
053dc895
6 commits,
1 year ago
version 10
2134aeed
6 commits,
1 year ago
version 9
2030e75e
5 commits,
1 year ago
version 8
41a9e058
5 commits,
1 year ago
version 7
6b2693af
4 commits,
1 year ago
version 6
6db66ab9
3 commits,
1 year ago
version 5
4d948492
3 commits,
1 year ago
version 4
75c03bf0
5 commits,
1 year ago
version 3
6c044c8b
1 commit,
1 year ago
version 2
5ca3edde
1 commit,
1 year ago
version 1
5ca3edde
1 commit,
1 year ago
7 files
+
397
−
0
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
7
Search (e.g. *.vue) (Ctrl+P)
gso/products/product_blocks/lan_switch_interconnect.py
0 → 100644
+
149
−
0
Options
"""
LAN Switch Interconnect product block that has all parameters of a subscription throughout its lifecycle.
"""
from
orchestrator.domain.base
import
ProductBlockModel
from
orchestrator.types
import
SubscriptionLifecycle
,
strEnum
from
gso.products.product_blocks.iptrunk
import
LAGMemberList
from
gso.products.product_blocks.router
import
RouterBlock
,
RouterBlockInactive
,
RouterBlockProvisioning
from
gso.products.product_blocks.switch
import
SwitchBlock
,
SwitchBlockInactive
,
SwitchBlockProvisioning
class
LanSwitchInterconnectAddressSpace
(
strEnum
):
"""
Types of LAN Switch Interconnect. Can be private or public.
"""
PRIVATE
=
"
Private
"
PUBLIC
=
"
Public
"
class
LanSwitchInterconnectInterfaceBlockInactive
(
ProductBlockModel
,
lifecycle
=
[
SubscriptionLifecycle
.
INITIAL
],
product_block_name
=
"
LanSwitchInterconnectInterfaceBlock
"
,
):
"""
An inactive LAN Switch Interconnect interface.
"""
interface_name
:
str
|
None
=
None
interface_description
:
str
|
None
=
None
class
LanSwitchInterconnectInterfaceBlockProvisioning
(
LanSwitchInterconnectInterfaceBlockInactive
,
lifecycle
=
[
SubscriptionLifecycle
.
PROVISIONING
]
):
"""
A LAN Switch Interconnect interface that is being provisioned.
"""
interface_name
:
str
interface_description
:
str
class
LanSwitchInterconnectInterfaceBlock
(
LanSwitchInterconnectInterfaceBlockProvisioning
,
lifecycle
=
[
SubscriptionLifecycle
.
ACTIVE
]
):
"""
An active Switch Interconnect interface.
"""
interface_name
:
str
interface_description
:
str
class
LanSwitchInterconnectRouterSideBlockInactive
(
ProductBlockModel
,
lifecycle
=
[
SubscriptionLifecycle
.
INITIAL
],
product_block_name
=
"
LanSwitchInterconnectRouterSideBlock
"
,
):
"""
An inactive LAN Switch Interconnect router side.
"""
node
:
RouterBlockInactive
ae_iface
:
str
|
None
=
None
ae_members
:
LAGMemberList
[
LanSwitchInterconnectInterfaceBlockInactive
]
class
LanSwitchInterconnectRouterSideBlockProvisioning
(
LanSwitchInterconnectRouterSideBlockInactive
,
lifecycle
=
[
SubscriptionLifecycle
.
PROVISIONING
]
):
"""
An LAN Switch Interconnect router side that is being provisioned.
"""
node
:
RouterBlockProvisioning
ae_iface
:
str
|
None
=
None
ae_members
:
LAGMemberList
[
LanSwitchInterconnectInterfaceBlockProvisioning
]
class
LanSwitchInterconnectRouterSideBlock
(
LanSwitchInterconnectRouterSideBlockProvisioning
,
lifecycle
=
[
SubscriptionLifecycle
.
ACTIVE
]
):
"""
An active LAN Switch Interconnect router side.
"""
node
:
RouterBlock
ae_iface
:
str
ae_members
:
LAGMemberList
[
LanSwitchInterconnectInterfaceBlock
]
class
LanSwitchInterconnectSwitchSideBlockInactive
(
ProductBlockModel
,
lifecycle
=
[
SubscriptionLifecycle
.
INITIAL
],
product_block_name
=
"
LanSwitchInterconnectSwitchSideBlock
"
,
):
"""
An inactive LAN Switch Interconnect switch side.
"""
node
:
SwitchBlockInactive
ae_iface
:
str
|
None
=
None
ae_members
:
LAGMemberList
[
LanSwitchInterconnectInterfaceBlockInactive
]
class
LanSwitchInterconnectSwitchSideBlockProvisioning
(
LanSwitchInterconnectSwitchSideBlockInactive
,
lifecycle
=
[
SubscriptionLifecycle
.
PROVISIONING
]
):
"""
An LAN Switch Interconnect switch side that is being provisioned.
"""
node
:
SwitchBlockProvisioning
ae_iface
:
str
|
None
=
None
ae_members
:
LAGMemberList
[
LanSwitchInterconnectInterfaceBlockProvisioning
]
class
LanSwitchInterconnectSwitchSideBlock
(
LanSwitchInterconnectSwitchSideBlockProvisioning
,
lifecycle
=
[
SubscriptionLifecycle
.
ACTIVE
]
):
"""
An active LAN Switch Interconnect switch side.
"""
node
:
SwitchBlock
ae_iface
:
str
ae_members
:
LAGMemberList
[
LanSwitchInterconnectInterfaceBlock
]
class
LanSwitchInterconnectBlockInactive
(
ProductBlockModel
,
lifecycle
=
[
SubscriptionLifecycle
.
INITIAL
],
product_block_name
=
"
LanSwitchInterconnectBlock
"
,
):
"""
A LAN Switch Interconnect that
'
s currently inactive, see :class:`LanSwitchInterconnectBlock`.
"""
lan_switch_interconnect_description
:
str
|
None
=
None
address_space
:
LanSwitchInterconnectAddressSpace
|
None
=
None
minimum_links
:
int
|
None
=
None
router_side
:
LanSwitchInterconnectRouterSideBlockInactive
switch_side
:
LanSwitchInterconnectSwitchSideBlockInactive
class
LanSwitchInterconnectBlockProvisioning
(
LanSwitchInterconnectBlockInactive
,
lifecycle
=
[
SubscriptionLifecycle
.
PROVISIONING
]
):
"""
A LAN Switch Interconnect that
'
s currently being provisioned, see :class:`LanSwitchInterconnectBlock`.
"""
lan_switch_interconnect_description
:
str
|
None
=
None
address_space
:
LanSwitchInterconnectAddressSpace
|
None
=
None
minimum_links
:
int
|
None
=
None
router_side
:
LanSwitchInterconnectRouterSideBlockProvisioning
switch_side
:
LanSwitchInterconnectSwitchSideBlockProvisioning
class
LanSwitchInterconnectBlock
(
LanSwitchInterconnectBlockProvisioning
,
lifecycle
=
[
SubscriptionLifecycle
.
ACTIVE
]):
"""
A LAN Switch Interconnect that
'
s currently deployed in the network.
"""
#: A human-readable description of this LAN Switch Interconnect.
lan_switch_interconnect_description
:
str
#: The address space of the VLAN Switch Interconnect. It can be private or public.
address_space
:
LanSwitchInterconnectAddressSpace
#: The minimum amount of links the LAN Switch Interconnect should consist of.
minimum_links
:
int
#: The router side of the LAN Switch Interconnect.
router_side
:
LanSwitchInterconnectRouterSideBlock
#: The switch side of the LAN Switch Interconnect.
switch_side
:
LanSwitchInterconnectSwitchSideBlock
Loading