mergetbapi 1.3.52__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/PKG-INFO +1 -1
  2. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/portal/v1/__init__.py +131 -61
  3. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/xir/__init__.py +22 -5
  4. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi.egg-info/PKG-INFO +1 -1
  5. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/LICENSE.md +0 -0
  6. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/README.md +0 -0
  7. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/__init__.py +0 -0
  8. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/google/__init__.py +0 -0
  9. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/google/api/__init__.py +0 -0
  10. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/grpc/__init__.py +0 -0
  11. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/grpc/gateway/__init__.py +0 -0
  12. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/__init__.py +0 -0
  13. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/options/__init__.py +0 -0
  14. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/portal/__init__.py +0 -0
  15. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/reconcile/__init__.py +0 -0
  16. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi/validator/__init__.py +0 -0
  17. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi.egg-info/SOURCES.txt +0 -0
  18. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi.egg-info/dependency_links.txt +0 -0
  19. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi.egg-info/not-zip-safe +0 -0
  20. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi.egg-info/requires.txt +0 -0
  21. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/mergetbapi.egg-info/top_level.txt +0 -0
  22. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/setup.cfg +0 -0
  23. {mergetbapi-1.3.52 → mergetbapi-1.4.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.3.52
3
+ Version: 1.4.1
4
4
  Summary: Client interface to the MergeTB API
5
5
  Home-page: https://gitlab.com/mergetb/api
6
6
  Author: Brian Kocoloski
@@ -157,6 +157,13 @@ class ArtifactGetDetail(betterproto.Enum):
157
157
  MetaOnly = 2
158
158
 
159
159
 
160
+ class BgpPeerRole(betterproto.Enum):
161
+ Unspecified = 0
162
+ Regular = 1
163
+ BorderGateway = 2
164
+ RouteReflector = 3
165
+
166
+
160
167
  class DiagnosticLevel(betterproto.Enum):
161
168
  DiagUnspec = 0
162
169
  Error = 1
@@ -645,7 +652,7 @@ class UpdateUserRequest(betterproto.Message):
645
652
  usstate: str = betterproto.string_field(14)
646
653
  toggle_email_valid: bool = betterproto.bool_field(15)
647
654
  """
648
- Set the user email as validated or not. If true will toggle the state.
655
+ Set the user email as validated or not. If true will toggle the state.
649
656
  (Only useful if your portal supports email validation.)
650
657
  """
651
658
 
@@ -2007,6 +2014,8 @@ class CreateDeploymentRequest(betterproto.Message):
2007
2014
  model: str = betterproto.string_field(2)
2008
2015
  id: "DeploymentId" = betterproto.message_field(3)
2009
2016
  xdc: str = betterproto.string_field(4)
2017
+ access_mode: "AccessMode" = betterproto.enum_field(5)
2018
+ """xdc name will be <Xdc>.<User's personal project>"""
2010
2019
 
2011
2020
 
2012
2021
  @dataclass(eq=False, repr=False)
@@ -2015,12 +2024,14 @@ class CreateDeploymentResponse(betterproto.Message):
2015
2024
 
2016
2025
 
2017
2026
  @dataclass(eq=False, repr=False)
2018
- class CancelDeploymentRequest(betterproto.Message):
2027
+ class DeleteDeploymentRequest(betterproto.Message):
2019
2028
  id: "DeploymentId" = betterproto.message_field(1)
2029
+ delete_experiment: bool = betterproto.bool_field(2)
2030
+ delete_xdc: bool = betterproto.bool_field(3)
2020
2031
 
2021
2032
 
2022
2033
  @dataclass(eq=False, repr=False)
2023
- class CancelDeploymentResponse(betterproto.Message):
2034
+ class DeleteDeploymentResponse(betterproto.Message):
2024
2035
  pass
2025
2036
 
2026
2037
 
@@ -2029,27 +2040,30 @@ class DeploymentInfo(betterproto.Message):
2029
2040
  id: "DeploymentId" = betterproto.message_field(1)
2030
2041
  xdc: str = betterproto.string_field(2)
2031
2042
  status: str = betterproto.string_field(3)
2043
+ creator: str = betterproto.string_field(4)
2044
+ access_mode: "AccessMode" = betterproto.enum_field(5)
2032
2045
 
2033
2046
 
2034
2047
  @dataclass(eq=False, repr=False)
2035
- class ListDeploymentsRequest(betterproto.Message):
2036
- pass
2048
+ class GetDeploymentsRequest(betterproto.Message):
2049
+ filter: "FilterMode" = betterproto.enum_field(1)
2037
2050
 
2038
2051
 
2039
2052
  @dataclass(eq=False, repr=False)
2040
- class ListDeploymentsResponse(betterproto.Message):
2053
+ class GetDeploymentsResponse(betterproto.Message):
2041
2054
  deployments: List["DeploymentInfo"] = betterproto.message_field(1)
2042
2055
 
2043
2056
 
2044
2057
  @dataclass(eq=False, repr=False)
2045
- class GetDeploymentStatusRequest(betterproto.Message):
2058
+ class GetDeploymentRequest(betterproto.Message):
2046
2059
  id: "DeploymentId" = betterproto.message_field(1)
2047
2060
  status_ms: int = betterproto.int32_field(2)
2048
2061
 
2049
2062
 
2050
2063
  @dataclass(eq=False, repr=False)
2051
- class GetDeploymentStatusResponse(betterproto.Message):
2052
- status: "TaskTree" = betterproto.message_field(1)
2064
+ class GetDeploymentResponse(betterproto.Message):
2065
+ info: "DeploymentInfo" = betterproto.message_field(1)
2066
+ status: "TaskTree" = betterproto.message_field(2)
2053
2067
 
2054
2068
 
2055
2069
  @dataclass(eq=False, repr=False)
@@ -2290,6 +2304,7 @@ class Realization(betterproto.Message):
2290
2304
  link_emulation: "LinkEmulationParams" = betterproto.message_field(15)
2291
2305
  created: datetime = betterproto.message_field(16)
2292
2306
  expires: datetime = betterproto.message_field(17)
2307
+ embed_version: str = betterproto.string_field(18)
2293
2308
 
2294
2309
 
2295
2310
  @dataclass(eq=False, repr=False)
@@ -2316,21 +2331,48 @@ class RealizationSummary(betterproto.Message):
2316
2331
  @dataclass(eq=False, repr=False)
2317
2332
  class InfrapodConfig(betterproto.Message):
2318
2333
  phy: str = betterproto.string_field(1)
2319
- addr: str = betterproto.string_field(2)
2334
+ local_addr: str = betterproto.string_field(2)
2320
2335
  subnet: str = betterproto.string_field(3)
2321
2336
  gw: str = betterproto.string_field(4)
2322
2337
  vid: int = betterproto.uint32_field(5)
2323
2338
  mgmt_phy: str = betterproto.string_field(6)
2324
2339
  vni: int = betterproto.uint32_field(7)
2325
- endpoint: "Endpoint" = betterproto.message_field(8)
2340
+ local_endpoint: "Endpoint" = betterproto.message_field(8)
2341
+ ifr_net_endpoint: "Endpoint" = betterproto.message_field(9)
2342
+ ifr_net_addr: str = betterproto.string_field(10)
2343
+
2344
+ def __post_init__(self) -> None:
2345
+ super().__post_init__()
2346
+ if self.is_set("phy"):
2347
+ warnings.warn("InfrapodConfig.phy is deprecated", DeprecationWarning)
2348
+ if self.is_set("subnet"):
2349
+ warnings.warn("InfrapodConfig.subnet is deprecated", DeprecationWarning)
2350
+ if self.is_set("gw"):
2351
+ warnings.warn("InfrapodConfig.gw is deprecated", DeprecationWarning)
2352
+ if self.is_set("vid"):
2353
+ warnings.warn("InfrapodConfig.vid is deprecated", DeprecationWarning)
2354
+ if self.is_set("mgmt_phy"):
2355
+ warnings.warn("InfrapodConfig.mgmt_phy is deprecated", DeprecationWarning)
2356
+ if self.is_set("vni"):
2357
+ warnings.warn("InfrapodConfig.vni is deprecated", DeprecationWarning)
2326
2358
 
2327
2359
 
2328
2360
  @dataclass(eq=False, repr=False)
2329
2361
  class InfranetEmbedding(betterproto.Message):
2330
2362
  infrapod_server: str = betterproto.string_field(1)
2331
- """hostname of infrapod server"""
2332
-
2333
2363
  infrapod_site: str = betterproto.string_field(2)
2364
+ configs: List["InfrapodConfig"] = betterproto.message_field(3)
2365
+
2366
+ def __post_init__(self) -> None:
2367
+ super().__post_init__()
2368
+ if self.is_set("infrapod_server"):
2369
+ warnings.warn(
2370
+ "InfranetEmbedding.infrapod_server is deprecated", DeprecationWarning
2371
+ )
2372
+ if self.is_set("infrapod_site"):
2373
+ warnings.warn(
2374
+ "InfranetEmbedding.infrapod_site is deprecated", DeprecationWarning
2375
+ )
2334
2376
 
2335
2377
 
2336
2378
  @dataclass(eq=False, repr=False)
@@ -2503,6 +2545,9 @@ class BgpPeer(betterproto.Message):
2503
2545
  local_asn: int = betterproto.uint32_field(2)
2504
2546
  remote_asn: int = betterproto.uint32_field(3)
2505
2547
  network: str = betterproto.string_field(4)
2548
+ router_id: str = betterproto.string_field(5)
2549
+ transit_ip: str = betterproto.string_field(6)
2550
+ role: "BgpPeerRole" = betterproto.enum_field(7)
2506
2551
 
2507
2552
 
2508
2553
  @dataclass(eq=False, repr=False)
@@ -2570,6 +2615,7 @@ class LinkEmulation(betterproto.Message):
2570
2615
  interfaces: List[str] = betterproto.string_field(5)
2571
2616
  nodes: List[str] = betterproto.string_field(6)
2572
2617
  server: str = betterproto.string_field(7)
2618
+ facility: str = betterproto.string_field(8)
2573
2619
 
2574
2620
 
2575
2621
  @dataclass(eq=False, repr=False)
@@ -2735,6 +2781,27 @@ class MzParameters(betterproto.Message):
2735
2781
  infranet_vni: int = betterproto.uint32_field(6)
2736
2782
  resolve_expnet: bool = betterproto.bool_field(7)
2737
2783
 
2784
+ def __post_init__(self) -> None:
2785
+ super().__post_init__()
2786
+ if self.is_set("infrapod_server"):
2787
+ warnings.warn(
2788
+ "MzParameters.infrapod_server is deprecated", DeprecationWarning
2789
+ )
2790
+ if self.is_set("infrapod_phy"):
2791
+ warnings.warn("MzParameters.infrapod_phy is deprecated", DeprecationWarning)
2792
+ if self.is_set("infranet_addr"):
2793
+ warnings.warn(
2794
+ "MzParameters.infranet_addr is deprecated", DeprecationWarning
2795
+ )
2796
+ if self.is_set("infranet_subnet"):
2797
+ warnings.warn(
2798
+ "MzParameters.infranet_subnet is deprecated", DeprecationWarning
2799
+ )
2800
+ if self.is_set("infranet_gw"):
2801
+ warnings.warn("MzParameters.infranet_gw is deprecated", DeprecationWarning)
2802
+ if self.is_set("infranet_vni"):
2803
+ warnings.warn("MzParameters.infranet_vni is deprecated", DeprecationWarning)
2804
+
2738
2805
 
2739
2806
  @dataclass(eq=False, repr=False)
2740
2807
  class Materialization(betterproto.Message):
@@ -2757,6 +2824,8 @@ class Materialization(betterproto.Message):
2757
2824
  """Moa"""
2758
2825
 
2759
2826
  created: datetime = betterproto.message_field(13)
2827
+ infranet: "InfranetEmbedding" = betterproto.message_field(14)
2828
+ embed_version: str = betterproto.string_field(15)
2760
2829
 
2761
2830
 
2762
2831
  @dataclass(eq=False, repr=False)
@@ -3179,6 +3248,7 @@ class AttachXdcRequest(betterproto.Message):
3179
3248
  experiment: str = betterproto.string_field(3)
3180
3249
  realization: str = betterproto.string_field(4)
3181
3250
  realization_project: str = betterproto.string_field(5)
3251
+ force: bool = betterproto.bool_field(6)
3182
3252
 
3183
3253
 
3184
3254
  @dataclass(eq=False, repr=False)
@@ -5941,52 +6011,52 @@ class DeployStub(betterproto.ServiceStub):
5941
6011
  metadata=metadata,
5942
6012
  )
5943
6013
 
5944
- async def get_deployment_status(
6014
+ async def delete_deployment(
5945
6015
  self,
5946
- get_deployment_status_request: "GetDeploymentStatusRequest",
6016
+ delete_deployment_request: "DeleteDeploymentRequest",
5947
6017
  *,
5948
6018
  timeout: Optional[float] = None,
5949
6019
  deadline: Optional["Deadline"] = None,
5950
6020
  metadata: Optional["MetadataLike"] = None
5951
- ) -> "GetDeploymentStatusResponse":
6021
+ ) -> "DeleteDeploymentResponse":
5952
6022
  return await self._unary_unary(
5953
- "/portal.v1.Deploy/GetDeploymentStatus",
5954
- get_deployment_status_request,
5955
- GetDeploymentStatusResponse,
6023
+ "/portal.v1.Deploy/DeleteDeployment",
6024
+ delete_deployment_request,
6025
+ DeleteDeploymentResponse,
5956
6026
  timeout=timeout,
5957
6027
  deadline=deadline,
5958
6028
  metadata=metadata,
5959
6029
  )
5960
6030
 
5961
- async def cancel_deployment(
6031
+ async def get_deployments(
5962
6032
  self,
5963
- cancel_deployment_request: "CancelDeploymentRequest",
6033
+ get_deployments_request: "GetDeploymentsRequest",
5964
6034
  *,
5965
6035
  timeout: Optional[float] = None,
5966
6036
  deadline: Optional["Deadline"] = None,
5967
6037
  metadata: Optional["MetadataLike"] = None
5968
- ) -> "CancelDeploymentResponse":
6038
+ ) -> "GetDeploymentsResponse":
5969
6039
  return await self._unary_unary(
5970
- "/portal.v1.Deploy/CancelDeployment",
5971
- cancel_deployment_request,
5972
- CancelDeploymentResponse,
6040
+ "/portal.v1.Deploy/GetDeployments",
6041
+ get_deployments_request,
6042
+ GetDeploymentsResponse,
5973
6043
  timeout=timeout,
5974
6044
  deadline=deadline,
5975
6045
  metadata=metadata,
5976
6046
  )
5977
6047
 
5978
- async def list_deployments(
6048
+ async def get_deployment(
5979
6049
  self,
5980
- list_deployments_request: "ListDeploymentsRequest",
6050
+ get_deployment_request: "GetDeploymentRequest",
5981
6051
  *,
5982
6052
  timeout: Optional[float] = None,
5983
6053
  deadline: Optional["Deadline"] = None,
5984
6054
  metadata: Optional["MetadataLike"] = None
5985
- ) -> "ListDeploymentsResponse":
6055
+ ) -> "GetDeploymentResponse":
5986
6056
  return await self._unary_unary(
5987
- "/portal.v1.Deploy/ListDeployments",
5988
- list_deployments_request,
5989
- ListDeploymentsResponse,
6057
+ "/portal.v1.Deploy/GetDeployment",
6058
+ get_deployment_request,
6059
+ GetDeploymentResponse,
5990
6060
  timeout=timeout,
5991
6061
  deadline=deadline,
5992
6062
  metadata=metadata,
@@ -8774,19 +8844,19 @@ class DeployBase(ServiceBase):
8774
8844
  ) -> "CreateDeploymentResponse":
8775
8845
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8776
8846
 
8777
- async def get_deployment_status(
8778
- self, get_deployment_status_request: "GetDeploymentStatusRequest"
8779
- ) -> "GetDeploymentStatusResponse":
8847
+ async def delete_deployment(
8848
+ self, delete_deployment_request: "DeleteDeploymentRequest"
8849
+ ) -> "DeleteDeploymentResponse":
8780
8850
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8781
8851
 
8782
- async def cancel_deployment(
8783
- self, cancel_deployment_request: "CancelDeploymentRequest"
8784
- ) -> "CancelDeploymentResponse":
8852
+ async def get_deployments(
8853
+ self, get_deployments_request: "GetDeploymentsRequest"
8854
+ ) -> "GetDeploymentsResponse":
8785
8855
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8786
8856
 
8787
- async def list_deployments(
8788
- self, list_deployments_request: "ListDeploymentsRequest"
8789
- ) -> "ListDeploymentsResponse":
8857
+ async def get_deployment(
8858
+ self, get_deployment_request: "GetDeploymentRequest"
8859
+ ) -> "GetDeploymentResponse":
8790
8860
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8791
8861
 
8792
8862
  async def __rpc_create_deployment(
@@ -8797,28 +8867,28 @@ class DeployBase(ServiceBase):
8797
8867
  response = await self.create_deployment(request)
8798
8868
  await stream.send_message(response)
8799
8869
 
8800
- async def __rpc_get_deployment_status(
8870
+ async def __rpc_delete_deployment(
8801
8871
  self,
8802
- stream: "grpclib.server.Stream[GetDeploymentStatusRequest, GetDeploymentStatusResponse]",
8872
+ stream: "grpclib.server.Stream[DeleteDeploymentRequest, DeleteDeploymentResponse]",
8803
8873
  ) -> None:
8804
8874
  request = await stream.recv_message()
8805
- response = await self.get_deployment_status(request)
8875
+ response = await self.delete_deployment(request)
8806
8876
  await stream.send_message(response)
8807
8877
 
8808
- async def __rpc_cancel_deployment(
8878
+ async def __rpc_get_deployments(
8809
8879
  self,
8810
- stream: "grpclib.server.Stream[CancelDeploymentRequest, CancelDeploymentResponse]",
8880
+ stream: "grpclib.server.Stream[GetDeploymentsRequest, GetDeploymentsResponse]",
8811
8881
  ) -> None:
8812
8882
  request = await stream.recv_message()
8813
- response = await self.cancel_deployment(request)
8883
+ response = await self.get_deployments(request)
8814
8884
  await stream.send_message(response)
8815
8885
 
8816
- async def __rpc_list_deployments(
8886
+ async def __rpc_get_deployment(
8817
8887
  self,
8818
- stream: "grpclib.server.Stream[ListDeploymentsRequest, ListDeploymentsResponse]",
8888
+ stream: "grpclib.server.Stream[GetDeploymentRequest, GetDeploymentResponse]",
8819
8889
  ) -> None:
8820
8890
  request = await stream.recv_message()
8821
- response = await self.list_deployments(request)
8891
+ response = await self.get_deployment(request)
8822
8892
  await stream.send_message(response)
8823
8893
 
8824
8894
  def __mapping__(self) -> Dict[str, grpclib.const.Handler]:
@@ -8829,22 +8899,22 @@ class DeployBase(ServiceBase):
8829
8899
  CreateDeploymentRequest,
8830
8900
  CreateDeploymentResponse,
8831
8901
  ),
8832
- "/portal.v1.Deploy/GetDeploymentStatus": grpclib.const.Handler(
8833
- self.__rpc_get_deployment_status,
8902
+ "/portal.v1.Deploy/DeleteDeployment": grpclib.const.Handler(
8903
+ self.__rpc_delete_deployment,
8834
8904
  grpclib.const.Cardinality.UNARY_UNARY,
8835
- GetDeploymentStatusRequest,
8836
- GetDeploymentStatusResponse,
8905
+ DeleteDeploymentRequest,
8906
+ DeleteDeploymentResponse,
8837
8907
  ),
8838
- "/portal.v1.Deploy/CancelDeployment": grpclib.const.Handler(
8839
- self.__rpc_cancel_deployment,
8908
+ "/portal.v1.Deploy/GetDeployments": grpclib.const.Handler(
8909
+ self.__rpc_get_deployments,
8840
8910
  grpclib.const.Cardinality.UNARY_UNARY,
8841
- CancelDeploymentRequest,
8842
- CancelDeploymentResponse,
8911
+ GetDeploymentsRequest,
8912
+ GetDeploymentsResponse,
8843
8913
  ),
8844
- "/portal.v1.Deploy/ListDeployments": grpclib.const.Handler(
8845
- self.__rpc_list_deployments,
8914
+ "/portal.v1.Deploy/GetDeployment": grpclib.const.Handler(
8915
+ self.__rpc_get_deployment,
8846
8916
  grpclib.const.Cardinality.UNARY_UNARY,
8847
- ListDeploymentsRequest,
8848
- ListDeploymentsResponse,
8917
+ GetDeploymentRequest,
8918
+ GetDeploymentResponse,
8849
8919
  ),
8850
8920
  }
@@ -1,8 +1,8 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # sources: mergetb/xir/v0.3/core.proto
2
+ # sources: mergetb/xir/pb/core.proto
3
3
  # plugin: python-betterproto
4
4
  # This file has been @generated
5
-
5
+ import warnings
6
6
  from dataclasses import dataclass
7
7
  from typing import (
8
8
  Dict,
@@ -41,6 +41,7 @@ class Isa(betterproto.Enum):
41
41
  class MemoryType(betterproto.Enum):
42
42
  DDR3 = 0
43
43
  DDR4 = 1
44
+ DDR5 = 2
44
45
 
45
46
 
46
47
  class NicModel(betterproto.Enum):
@@ -310,7 +311,7 @@ class Capability(betterproto.Enum):
310
311
 
311
312
 
312
313
  class LinkRole(betterproto.Enum):
313
- LinkRole_Unspecified = 0
314
+ Unspecified = 0
314
315
  InfraLink = 1
315
316
  XpLink = 2
316
317
  Tor = 3
@@ -319,6 +320,9 @@ class LinkRole(betterproto.Enum):
319
320
  GatewayLink = 6
320
321
  SimLink = 7
321
322
  HarborEndpoint = 8
323
+ InternalLink = 9
324
+ BorderGatewayLink = 10
325
+ WireguardLink = 11
322
326
 
323
327
 
324
328
  class DiskRole(betterproto.Enum):
@@ -437,6 +441,7 @@ class Node(betterproto.Message):
437
441
 
438
442
  host: "StringConstraint" = betterproto.message_field(14)
439
443
  tags: "SetConstraint" = betterproto.message_field(15)
444
+ facility: "StringConstraint" = betterproto.message_field(16)
440
445
 
441
446
 
442
447
  @dataclass(eq=False, repr=False)
@@ -571,7 +576,7 @@ class Resource(betterproto.Message):
571
576
  firmware: "Firmware" = betterproto.message_field(9)
572
577
  os: "OsConfig" = betterproto.message_field(10)
573
578
  product_info: "ProductInfo" = betterproto.message_field(11)
574
- tpa: int = betterproto.uint64_field(12)
579
+ rlz_ordering: int = betterproto.uint64_field(12)
575
580
  ipmi: "Bmc" = betterproto.message_field(13, group="power_control")
576
581
  relayboard: "RelayBoard" = betterproto.message_field(14, group="power_control")
577
582
  pdu: "PowerDistributionUnit" = betterproto.message_field(15, group="power_control")
@@ -582,6 +587,7 @@ class Resource(betterproto.Message):
582
587
  )
583
588
  realization_tags: List[str] = betterproto.string_field(19)
584
589
  capabilities: List["Capability"] = betterproto.enum_field(20)
590
+ bgp_id: int = betterproto.uint32_field(21)
585
591
 
586
592
 
587
593
  @dataclass(eq=False, repr=False)
@@ -695,6 +701,7 @@ class BgpRouterConfig(betterproto.Message):
695
701
  asn: int = betterproto.uint32_field(2)
696
702
  interfaces: List["InterfaceConfig"] = betterproto.message_field(3)
697
703
  evpn: "EvpnConfig" = betterproto.message_field(4)
704
+ router_id: str = betterproto.string_field(5)
698
705
 
699
706
 
700
707
  @dataclass(eq=False, repr=False)
@@ -758,12 +765,19 @@ class Port(betterproto.Message):
758
765
  form_factor: "ConnectorKind" = betterproto.enum_field(6)
759
766
  connector: "Ref" = betterproto.message_field(7)
760
767
  role: "LinkRole" = betterproto.enum_field(8)
761
- tpa: int = betterproto.uint64_field(9)
768
+ rlz_ordering: int = betterproto.uint64_field(9)
762
769
  queues: int = betterproto.uint64_field(10)
763
770
  breakout: "Breakout" = betterproto.message_field(11)
764
771
  bond: "PortBond" = betterproto.message_field(12)
765
772
  name: str = betterproto.string_field(13)
766
773
  sriov: "Sriov" = betterproto.message_field(14)
774
+ roles: List["LinkRole"] = betterproto.enum_field(15)
775
+ bridge: str = betterproto.string_field(16)
776
+
777
+ def __post_init__(self) -> None:
778
+ super().__post_init__()
779
+ if self.is_set("role"):
780
+ warnings.warn("Port.role is deprecated", DeprecationWarning)
767
781
 
768
782
 
769
783
  @dataclass(eq=False, repr=False)
@@ -816,6 +830,7 @@ class Cable(betterproto.Message):
816
830
  kind: "CableKind" = betterproto.enum_field(3)
817
831
  ends: List["End"] = betterproto.message_field(4)
818
832
  product_info: "ProductInfo" = betterproto.message_field(5)
833
+ remote_facility: str = betterproto.string_field(6)
819
834
 
820
835
 
821
836
  @dataclass(eq=False, repr=False)
@@ -855,6 +870,8 @@ class FacilityProperties(betterproto.Message):
855
870
  """Non-key-value properties"""
856
871
 
857
872
  standard_images: List[str] = betterproto.string_field(4)
873
+ facility_bgp_ids: List[int] = betterproto.uint32_field(5)
874
+ xir_version: str = betterproto.string_field(6)
858
875
 
859
876
 
860
877
  @dataclass(eq=False, repr=False)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.3.52
3
+ Version: 1.4.1
4
4
  Summary: Client interface to the MergeTB API
5
5
  Home-page: https://gitlab.com/mergetb/api
6
6
  Author: Brian Kocoloski
File without changes
File without changes
File without changes
File without changes