Skip to content
This repository was archived by the owner on Apr 30, 2025. It is now read-only.

Commit 3cccc6f

Browse files
Jaroslav Tóthjaro0149
Jaroslav Tóth
authored andcommitted
Upgrade inventory python api to match v7.0.0 of server
1 parent 6b40245 commit 3cccc6f

File tree

5 files changed

+324
-113
lines changed

5 files changed

+324
-113
lines changed

frinx-inventory-server/python/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@
1818

1919
# 2.2.0
2020
- Updated API from device-inventory v6.1.1 GraphQL schema.
21+
22+
# 3.0.0
23+
- Updated API from device-inventory v7.0.0 GraphQL schema.

frinx-inventory-server/python/RELEASE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
| 6.1.0 | 2.1.0, 2.1.1 |
88
| 6.1.1 | 2.2.0 |
99
| 6.9.0-internal | 2.3.0 |
10+
| 7.0.0 | 3.0.0 |

frinx-inventory-server/python/frinx_api/inventory/__init__.py

Lines changed: 212 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ class SortStreamBy(ENUM):
5757

5858

5959
class GraphEdgeStatus(ENUM):
60-
OK = 'ok'
61-
UNKNOWN = 'unknown'
60+
OK = 'OK'
61+
UNKNOWN = 'UNKNOWN'
6262

6363

6464
class Signalization(ENUM):
@@ -67,10 +67,18 @@ class Signalization(ENUM):
6767

6868

6969
class TopologyLayer(ENUM):
70-
PHYSICALTOPOLOGY = 'PhysicalTopology'
71-
PTPTOPOLOGY = 'PtpTopology'
72-
ETHTOPOLOGY = 'EthTopology'
73-
MPLSTOPOLOGY = 'MplsTopology'
70+
PHYSICAL_TOPOLOGY = 'PHYSICAL_TOPOLOGY'
71+
PTP_TOPOLOGY = 'PTP_TOPOLOGY'
72+
ETH_TOPOLOGY = 'ETH_TOPOLOGY'
73+
MPLS_TOPOLOGY = 'MPLS_TOPOLOGY'
74+
75+
76+
class TopologyType(ENUM):
77+
PHYSICAL_TOPOLOGY = 'PHYSICAL_TOPOLOGY'
78+
PTP_TOPOLOGY = 'PTP_TOPOLOGY'
79+
ETH_TOPOLOGY = 'ETH_TOPOLOGY'
80+
NETWORK_TOPOLOGY = 'NETWORK_TOPOLOGY'
81+
MPLS_TOPOLOGY = 'MPLS_TOPOLOGY'
7482

7583

7684
class Node(Interface):
@@ -256,6 +264,21 @@ class UpdateGraphNodeCoordinatesInput(Input):
256264
layer: typing.Optional[TopologyLayer] = Field(default=None)
257265

258266

267+
class PolygonInput(Input):
268+
polygon: typing.Optional[list[list[None]]] = Field(default=None)
269+
270+
271+
class FilterDevicesMetadatasInput(Input):
272+
device_name: typing.Optional[String] = Field(default=None, alias='deviceName')
273+
topology_type: typing.Optional[TopologyType] = Field(default=None, alias='topologyType')
274+
polygon: typing.Optional[PolygonInput] = Field(default=None)
275+
276+
277+
class FilterNeighborInput(Input):
278+
device_name: String = Field(alias='deviceName')
279+
topology_type: TopologyType = Field(alias='topologyType')
280+
281+
259282
class CreateLabelInput(Input):
260283
name: String
261284

@@ -1240,6 +1263,9 @@ class MplsData(Payload):
12401263
input_interface: typing.Optional[Boolean] = Field(default=False, alias='inputInterface')
12411264
output_label: typing.Optional[Boolean] = Field(default=False, alias='outputLabel')
12421265
output_interface: typing.Optional[Boolean] = Field(default=False, alias='outputInterface')
1266+
oper_state: typing.Optional[Boolean] = Field(default=False, alias='operState')
1267+
ldp_prefix: typing.Optional[Boolean] = Field(default=False, alias='ldpPrefix')
1268+
mpls_operation: typing.Optional[Boolean] = Field(default=False, alias='mplsOperation')
12431269

12441270

12451271
class MplsDataPayload(BaseModel):
@@ -1248,6 +1274,9 @@ class MplsDataPayload(BaseModel):
12481274
input_interface: typing.Optional[typing.Optional[String]] = Field(default=None, alias='inputInterface')
12491275
output_label: typing.Optional[typing.Optional[Int]] = Field(default=None, alias='outputLabel')
12501276
output_interface: typing.Optional[typing.Optional[String]] = Field(default=None, alias='outputInterface')
1277+
oper_state: typing.Optional[typing.Optional[String]] = Field(default=None, alias='operState')
1278+
ldp_prefix: typing.Optional[typing.Optional[String]] = Field(default=None, alias='ldpPrefix')
1279+
mpls_operation: typing.Optional[typing.Optional[String]] = Field(default=None, alias='mplsOperation')
12511280

12521281

12531282
class LspTunnel(Payload):
@@ -1340,6 +1369,16 @@ class SynceTopologyVersionDataPayload(BaseModel):
13401369
edges: typing.Optional[typing.Optional[list[GraphVersionEdgePayload]]] = Field(default=None)
13411370

13421371

1372+
class MplsTopologyVersionData(Payload):
1373+
nodes: typing.Optional[MplsGraphNode] = Field(default=None)
1374+
edges: typing.Optional[GraphVersionEdge] = Field(default=None)
1375+
1376+
1377+
class MplsTopologyVersionDataPayload(BaseModel):
1378+
nodes: typing.Optional[typing.Optional[list[MplsGraphNodePayload]]] = Field(default=None)
1379+
edges: typing.Optional[typing.Optional[list[GraphVersionEdgePayload]]] = Field(default=None)
1380+
1381+
13431382
class NetInterface(Payload):
13441383
id: typing.Optional[Boolean] = Field(default=False)
13451384
name: typing.Optional[Boolean] = Field(default=False)
@@ -1406,6 +1445,7 @@ class NetNode(Payload):
14061445
id: typing.Optional[Boolean] = Field(default=False)
14071446
node_id: typing.Optional[Boolean] = Field(default=False, alias='nodeId')
14081447
name: typing.Optional[Boolean] = Field(default=False)
1448+
phy_device_name: typing.Optional[Boolean] = Field(default=False, alias='phyDeviceName')
14091449
interfaces: typing.Optional[NetInterface] = Field(default=None)
14101450
networks: typing.Optional[NetNetwork] = Field(default=None)
14111451
coordinates: typing.Optional[GraphNodeCoordinates] = Field(default=None)
@@ -1415,6 +1455,7 @@ class NetNodePayload(BaseModel):
14151455
id: typing.Optional[typing.Optional[ID]] = Field(default=None)
14161456
node_id: typing.Optional[typing.Optional[String]] = Field(default=None, alias='nodeId')
14171457
name: typing.Optional[typing.Optional[String]] = Field(default=None)
1458+
phy_device_name: typing.Optional[typing.Optional[String]] = Field(default=None, alias='phyDeviceName')
14181459
interfaces: typing.Optional[typing.Optional[list[NetInterfacePayload]]] = Field(default=None)
14191460
networks: typing.Optional[typing.Optional[list[NetNetworkPayload]]] = Field(default=None)
14201461
coordinates: typing.Optional[GraphNodeCoordinatesPayload] = Field(default=None)
@@ -1488,6 +1529,24 @@ class DeviceMetadataPayload(BaseModel):
14881529
nodes: typing.Optional[typing.Optional[list[GeoMapDevicePayload]]] = Field(default=None)
14891530

14901531

1532+
class Neighbor(Payload):
1533+
device_name: typing.Optional[Boolean] = Field(default=False, alias='deviceName')
1534+
device_id: typing.Optional[Boolean] = Field(default=False, alias='deviceId')
1535+
1536+
1537+
class NeighborPayload(BaseModel):
1538+
device_name: typing.Optional[typing.Optional[String]] = Field(default=None, alias='deviceName')
1539+
device_id: typing.Optional[typing.Optional[String]] = Field(default=None, alias='deviceId')
1540+
1541+
1542+
class DeviceNeighbors(Payload):
1543+
neighbors: typing.Optional[Neighbor] = Field(default=None)
1544+
1545+
1546+
class DeviceNeighborsPayload(BaseModel):
1547+
neighbors: typing.Optional[typing.Optional[list[NeighborPayload]]] = Field(default=None)
1548+
1549+
14911550
class MplsTopology(Payload):
14921551
edges: typing.Optional[GraphEdge] = Field(default=None)
14931552
nodes: typing.Optional[MplsGraphNode] = Field(default=None)
@@ -1498,6 +1557,50 @@ class MplsTopologyPayload(BaseModel):
14981557
nodes: typing.Optional[typing.Optional[list[MplsGraphNodePayload]]] = Field(default=None)
14991558

15001559

1560+
class MplsLspCountItem(Payload):
1561+
target: typing.Optional[Boolean] = Field(default=False)
1562+
incoming_lsps: typing.Optional[Boolean] = Field(default=False, alias='incomingLsps')
1563+
outcoming_lsps: typing.Optional[Boolean] = Field(default=False, alias='outcomingLsps')
1564+
1565+
1566+
class MplsLspCountItemPayload(BaseModel):
1567+
target: typing.Optional[typing.Optional[String]] = Field(default=None)
1568+
incoming_lsps: typing.Optional[typing.Optional[Int]] = Field(default=None, alias='incomingLsps')
1569+
outcoming_lsps: typing.Optional[typing.Optional[Int]] = Field(default=None, alias='outcomingLsps')
1570+
1571+
1572+
class MplsLspCount(Payload):
1573+
counts: typing.Optional[MplsLspCountItem] = Field(default=None)
1574+
1575+
1576+
class MplsLspCountPayload(BaseModel):
1577+
counts: typing.Optional[typing.Optional[list[MplsLspCountItemPayload]]] = Field(default=None)
1578+
1579+
1580+
class LspPathMetadata(Payload):
1581+
signalization: typing.Optional[Boolean] = Field(default=False)
1582+
from_device: typing.Optional[Boolean] = Field(default=False, alias='fromDevice')
1583+
to_device: typing.Optional[Boolean] = Field(default=False, alias='toDevice')
1584+
uptime: typing.Optional[Boolean] = Field(default=False)
1585+
1586+
1587+
class LspPathMetadataPayload(BaseModel):
1588+
signalization: typing.Optional[typing.Optional[String]] = Field(default=None)
1589+
from_device: typing.Optional[typing.Optional[String]] = Field(default=None, alias='fromDevice')
1590+
to_device: typing.Optional[typing.Optional[String]] = Field(default=None, alias='toDevice')
1591+
uptime: typing.Optional[typing.Optional[Int]] = Field(default=None)
1592+
1593+
1594+
class LspPath(Payload):
1595+
path: typing.Optional[Boolean] = Field(default=False)
1596+
metadata: typing.Optional[LspPathMetadata] = Field(default=None)
1597+
1598+
1599+
class LspPathPayload(BaseModel):
1600+
path: typing.Optional[typing.Optional[list[typing.Optional[String]]]] = Field(default=None)
1601+
metadata: typing.Optional[LspPathMetadataPayload] = Field(default=None)
1602+
1603+
15011604
class DeviceStatus(Payload):
15021605
status: typing.Optional[Boolean] = Field(default=False)
15031606
device_name: typing.Optional[Boolean] = Field(default=False, alias='deviceName')
@@ -1703,6 +1806,12 @@ class SynceTopologyVersionDataQuery(Query):
17031806
payload: SynceTopologyVersionData
17041807

17051808

1809+
class MplsTopologyVersionDataQuery(Query):
1810+
_name: str = PrivateAttr('mplsTopologyVersionData')
1811+
version: String = Field(json_schema_extra={'type': 'String!'})
1812+
payload: MplsTopologyVersionData
1813+
1814+
17061815
class NetTopologyQuery(Query):
17071816
_name: str = PrivateAttr('netTopology')
17081817

@@ -1742,12 +1851,33 @@ class SyncePathToGrandMasterQuery(Query):
17421851

17431852
class DeviceMetadataQuery(Query):
17441853
_name: str = PrivateAttr('deviceMetadata')
1854+
filter: typing.Optional[FilterDevicesMetadatasInput] = Field(default=None, json_schema_extra={'type': 'FilterDevicesMetadatasInput'})
1855+
payload: DeviceMetadata
1856+
1857+
1858+
class DeviceNeighborQuery(Query):
1859+
_name: str = PrivateAttr('deviceNeighbor')
1860+
filter: typing.Optional[FilterNeighborInput] = Field(default=None, json_schema_extra={'type': 'FilterNeighborInput'})
1861+
payload: DeviceNeighbors
17451862

17461863

17471864
class MplsTopologyQuery(Query):
17481865
_name: str = PrivateAttr('mplsTopology')
17491866

17501867

1868+
class MplsLspCountQuery(Query):
1869+
_name: str = PrivateAttr('mplsLspCount')
1870+
device_id: String = Field(alias='deviceId', json_schema_extra={'type': 'String!'})
1871+
payload: MplsLspCount
1872+
1873+
1874+
class LspPathQuery(Query):
1875+
_name: str = PrivateAttr('lspPath')
1876+
device_id: String = Field(alias='deviceId', json_schema_extra={'type': 'String!'})
1877+
lsp_id: String = Field(alias='lspId', json_schema_extra={'type': 'String!'})
1878+
payload: LspPath
1879+
1880+
17511881
class NodeQueryResponse(BaseModel):
17521882
data: typing.Optional[Node] = Field(default=None)
17531883
errors: typing.Optional[typing.Any] = Field(default=None)
@@ -1879,6 +2009,15 @@ class SynceTopologyVersionDataData(BaseModel):
18792009
synce_topology_version_data: SynceTopologyVersionDataPayload = Field(alias='synceTopologyVersionData')
18802010

18812011

2012+
class MplsTopologyVersionDataQueryResponse(BaseModel):
2013+
data: typing.Optional[MplsTopologyVersionDataData] = Field(default=None)
2014+
errors: typing.Optional[typing.Any] = Field(default=None)
2015+
2016+
2017+
class MplsTopologyVersionDataData(BaseModel):
2018+
mpls_topology_version_data: MplsTopologyVersionDataPayload = Field(alias='mplsTopologyVersionData')
2019+
2020+
18822021
class NetTopologyVersionDataQueryResponse(BaseModel):
18832022
data: typing.Optional[NetTopologyVersionDataData] = Field(default=None)
18842023
errors: typing.Optional[typing.Any] = Field(default=None)
@@ -1915,6 +2054,42 @@ class SyncePathToGrandMasterData(BaseModel):
19152054
synce_path_to_grand_master: typing.Optional[list[typing.Optional[String]]] = Field(alias='syncePathToGrandMaster')
19162055

19172056

2057+
class DeviceMetadataQueryResponse(BaseModel):
2058+
data: typing.Optional[DeviceMetadataData] = Field(default=None)
2059+
errors: typing.Optional[typing.Any] = Field(default=None)
2060+
2061+
2062+
class DeviceMetadataData(BaseModel):
2063+
device_metadata: typing.Optional[DeviceMetadataPayload] = Field(alias='deviceMetadata')
2064+
2065+
2066+
class DeviceNeighborQueryResponse(BaseModel):
2067+
data: typing.Optional[DeviceNeighborData] = Field(default=None)
2068+
errors: typing.Optional[typing.Any] = Field(default=None)
2069+
2070+
2071+
class DeviceNeighborData(BaseModel):
2072+
device_neighbor: typing.Optional[DeviceNeighborsPayload] = Field(alias='deviceNeighbor')
2073+
2074+
2075+
class MplsLspCountQueryResponse(BaseModel):
2076+
data: typing.Optional[MplsLspCountData] = Field(default=None)
2077+
errors: typing.Optional[typing.Any] = Field(default=None)
2078+
2079+
2080+
class MplsLspCountData(BaseModel):
2081+
mpls_lsp_count: typing.Optional[MplsLspCountPayload] = Field(alias='mplsLspCount')
2082+
2083+
2084+
class LspPathQueryResponse(BaseModel):
2085+
data: typing.Optional[LspPathData] = Field(default=None)
2086+
errors: typing.Optional[typing.Any] = Field(default=None)
2087+
2088+
2089+
class LspPathData(BaseModel):
2090+
lsp_path: typing.Optional[LspPathPayload] = Field(alias='lspPath')
2091+
2092+
19182093
class ReconnectKafkaMutation(Mutation):
19192094
_name: str = PrivateAttr('reconnectKafka')
19202095

@@ -2567,6 +2742,9 @@ class DevicesUsageData(BaseModel):
25672742
FilterTopologyInput.model_rebuild()
25682743
GraphNodeCoordinatesInput.model_rebuild()
25692744
UpdateGraphNodeCoordinatesInput.model_rebuild()
2745+
PolygonInput.model_rebuild()
2746+
FilterDevicesMetadatasInput.model_rebuild()
2747+
FilterNeighborInput.model_rebuild()
25702748
CreateLabelInput.model_rebuild()
25712749
PageInfo.model_rebuild()
25722750
PageInfoPayload.model_rebuild()
@@ -2756,6 +2934,8 @@ class DevicesUsageData(BaseModel):
27562934
PtpTopologyVersionDataPayload.model_rebuild()
27572935
SynceTopologyVersionData.model_rebuild()
27582936
SynceTopologyVersionDataPayload.model_rebuild()
2937+
MplsTopologyVersionData.model_rebuild()
2938+
MplsTopologyVersionDataPayload.model_rebuild()
27592939
NetInterface.model_rebuild()
27602940
NetInterfacePayload.model_rebuild()
27612941
TopologyCommonNodes.model_rebuild()
@@ -2786,8 +2966,20 @@ class DevicesUsageData(BaseModel):
27862966
SynceTopologyPayload.model_rebuild()
27872967
DeviceMetadata.model_rebuild()
27882968
DeviceMetadataPayload.model_rebuild()
2969+
Neighbor.model_rebuild()
2970+
NeighborPayload.model_rebuild()
2971+
DeviceNeighbors.model_rebuild()
2972+
DeviceNeighborsPayload.model_rebuild()
27892973
MplsTopology.model_rebuild()
27902974
MplsTopologyPayload.model_rebuild()
2975+
MplsLspCountItem.model_rebuild()
2976+
MplsLspCountItemPayload.model_rebuild()
2977+
MplsLspCount.model_rebuild()
2978+
MplsLspCountPayload.model_rebuild()
2979+
LspPathMetadata.model_rebuild()
2980+
LspPathMetadataPayload.model_rebuild()
2981+
LspPath.model_rebuild()
2982+
LspPathPayload.model_rebuild()
27912983
DeviceStatus.model_rebuild()
27922984
DeviceStatusPayload.model_rebuild()
27932985
DevicesConnection.model_rebuild()
@@ -2820,6 +3012,7 @@ class DevicesUsageData(BaseModel):
28203012
PhyTopologyVersionDataQuery.model_rebuild()
28213013
PtpTopologyVersionDataQuery.model_rebuild()
28223014
SynceTopologyVersionDataQuery.model_rebuild()
3015+
MplsTopologyVersionDataQuery.model_rebuild()
28233016
NetTopologyQuery.model_rebuild()
28243017
NetTopologyVersionDataQuery.model_rebuild()
28253018
ShortestPathQuery.model_rebuild()
@@ -2828,7 +3021,10 @@ class DevicesUsageData(BaseModel):
28283021
SynceTopologyQuery.model_rebuild()
28293022
SyncePathToGrandMasterQuery.model_rebuild()
28303023
DeviceMetadataQuery.model_rebuild()
3024+
DeviceNeighborQuery.model_rebuild()
28313025
MplsTopologyQuery.model_rebuild()
3026+
MplsLspCountQuery.model_rebuild()
3027+
LspPathQuery.model_rebuild()
28323028
NodeQueryResponse.model_rebuild()
28333029
DevicesQueryResponse.model_rebuild()
28343030
DevicesData.model_rebuild()
@@ -2858,6 +3054,8 @@ class DevicesUsageData(BaseModel):
28583054
PtpTopologyVersionDataData.model_rebuild()
28593055
SynceTopologyVersionDataQueryResponse.model_rebuild()
28603056
SynceTopologyVersionDataData.model_rebuild()
3057+
MplsTopologyVersionDataQueryResponse.model_rebuild()
3058+
MplsTopologyVersionDataData.model_rebuild()
28613059
NetTopologyVersionDataQueryResponse.model_rebuild()
28623060
NetTopologyVersionDataData.model_rebuild()
28633061
ShortestPathQueryResponse.model_rebuild()
@@ -2866,6 +3064,14 @@ class DevicesUsageData(BaseModel):
28663064
PtpPathToGrandMasterData.model_rebuild()
28673065
SyncePathToGrandMasterQueryResponse.model_rebuild()
28683066
SyncePathToGrandMasterData.model_rebuild()
3067+
DeviceMetadataQueryResponse.model_rebuild()
3068+
DeviceMetadataData.model_rebuild()
3069+
DeviceNeighborQueryResponse.model_rebuild()
3070+
DeviceNeighborData.model_rebuild()
3071+
MplsLspCountQueryResponse.model_rebuild()
3072+
MplsLspCountData.model_rebuild()
3073+
LspPathQueryResponse.model_rebuild()
3074+
LspPathData.model_rebuild()
28693075
ReconnectKafkaMutation.model_rebuild()
28703076
AddDeviceMutation.model_rebuild()
28713077
UpdateDeviceMutation.model_rebuild()

0 commit comments

Comments
 (0)