mergetbapi 1.4.2__tar.gz → 1.5.0__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.4.2 → mergetbapi-1.5.0}/PKG-INFO +1 -1
  2. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/portal/v1/__init__.py +102 -72
  3. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/xir/__init__.py +20 -0
  4. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi.egg-info/PKG-INFO +1 -1
  5. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/LICENSE.md +0 -0
  6. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/README.md +0 -0
  7. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/__init__.py +0 -0
  8. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/google/__init__.py +0 -0
  9. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/google/api/__init__.py +0 -0
  10. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/grpc/__init__.py +0 -0
  11. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/grpc/gateway/__init__.py +0 -0
  12. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/__init__.py +0 -0
  13. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/options/__init__.py +0 -0
  14. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/portal/__init__.py +0 -0
  15. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/reconcile/__init__.py +0 -0
  16. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi/validator/__init__.py +0 -0
  17. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi.egg-info/SOURCES.txt +0 -0
  18. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi.egg-info/dependency_links.txt +0 -0
  19. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi.egg-info/not-zip-safe +0 -0
  20. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi.egg-info/requires.txt +0 -0
  21. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/mergetbapi.egg-info/top_level.txt +0 -0
  22. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/setup.cfg +0 -0
  23. {mergetbapi-1.4.2 → mergetbapi-1.5.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.4.2
3
+ Version: 1.5.0
4
4
  Summary: Client interface to the MergeTB API
5
5
  Home-page: https://gitlab.com/mergetb/api
6
6
  Author: Brian Kocoloski
@@ -179,6 +179,7 @@ class BgpPeerRole(betterproto.Enum):
179
179
  Regular = 1
180
180
  BorderGateway = 2
181
181
  RouteReflector = 3
182
+ LocalBorderGateway = 4
182
183
 
183
184
 
184
185
  class DiagnosticLevel(betterproto.Enum):
@@ -2110,6 +2111,12 @@ class DeploymentId(betterproto.Message):
2110
2111
  class CreateDeploymentRequest(betterproto.Message):
2111
2112
  dont_cleanup_on_fail: bool = betterproto.bool_field(1)
2112
2113
  model: str = betterproto.string_field(2)
2114
+ """
2115
+ Model/Revision/Tag could be a oneoff, but it doesn't translate well to json encoding
2116
+ """
2117
+
2118
+ revision: str = betterproto.string_field(6)
2119
+ tag: str = betterproto.string_field(7)
2113
2120
  id: "DeploymentId" = betterproto.message_field(3)
2114
2121
  xdc: str = betterproto.string_field(4)
2115
2122
  access_mode: "AccessMode" = betterproto.enum_field(5)
@@ -2371,6 +2378,78 @@ class Vlist(betterproto.Message):
2371
2378
  values: List[int] = betterproto.uint32_field(1)
2372
2379
 
2373
2380
 
2381
+ @dataclass(eq=False, repr=False)
2382
+ class WgEnclave(betterproto.Message):
2383
+ enclaveid: str = betterproto.string_field(1)
2384
+ gateways: Dict[str, "WgIfConfig"] = betterproto.map_field(
2385
+ 2, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
2386
+ )
2387
+ clients: Dict[str, "WgIfConfig"] = betterproto.map_field(
2388
+ 3, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
2389
+ )
2390
+ ver: int = betterproto.int64_field(4)
2391
+ gateway_ips: Dict[str, str] = betterproto.map_field(
2392
+ 5, betterproto.TYPE_STRING, betterproto.TYPE_STRING
2393
+ )
2394
+ client_ips: Dict[str, str] = betterproto.map_field(
2395
+ 6, betterproto.TYPE_STRING, betterproto.TYPE_STRING
2396
+ )
2397
+ created: datetime = betterproto.message_field(7)
2398
+
2399
+
2400
+ @dataclass(eq=False, repr=False)
2401
+ class WgIfConfig(betterproto.Message):
2402
+ endpoint: str = betterproto.string_field(1)
2403
+ key: str = betterproto.string_field(2)
2404
+ allowedips: List[str] = betterproto.string_field(3)
2405
+ accessaddr: str = betterproto.string_field(4)
2406
+
2407
+
2408
+ @dataclass(eq=False, repr=False)
2409
+ class AddWgIfConfigRequest(betterproto.Message):
2410
+ enclaveid: str = betterproto.string_field(1)
2411
+ config: "WgIfConfig" = betterproto.message_field(2)
2412
+ gateway: bool = betterproto.bool_field(3)
2413
+
2414
+
2415
+ @dataclass(eq=False, repr=False)
2416
+ class AddWgIfConfigResponse(betterproto.Message):
2417
+ pass
2418
+
2419
+
2420
+ @dataclass(eq=False, repr=False)
2421
+ class DelWgIfConfigRequest(betterproto.Message):
2422
+ enclaveid: str = betterproto.string_field(1)
2423
+ key: str = betterproto.string_field(2)
2424
+
2425
+
2426
+ @dataclass(eq=False, repr=False)
2427
+ class DelWgIfConfigResponse(betterproto.Message):
2428
+ pass
2429
+
2430
+
2431
+ @dataclass(eq=False, repr=False)
2432
+ class GetWgIfConfigRequest(betterproto.Message):
2433
+ enclaveid: str = betterproto.string_field(1)
2434
+ key: str = betterproto.string_field(2)
2435
+
2436
+
2437
+ @dataclass(eq=False, repr=False)
2438
+ class GetWgIfConfigResponse(betterproto.Message):
2439
+ enclaveid: str = betterproto.string_field(1)
2440
+ endpoint: str = betterproto.string_field(2)
2441
+
2442
+
2443
+ @dataclass(eq=False, repr=False)
2444
+ class GetWgEnclaveRequest(betterproto.Message):
2445
+ enclaveid: str = betterproto.string_field(1)
2446
+
2447
+
2448
+ @dataclass(eq=False, repr=False)
2449
+ class GetWgEnclaveResponse(betterproto.Message):
2450
+ enclave: "WgEnclave" = betterproto.message_field(1)
2451
+
2452
+
2374
2453
  @dataclass(eq=False, repr=False)
2375
2454
  class Realization(betterproto.Message):
2376
2455
  complete: bool = betterproto.bool_field(1)
@@ -2566,6 +2645,8 @@ class Waypoint(betterproto.Message):
2566
2645
  tap: "VlanTapPort" = betterproto.message_field(6, group="interface")
2567
2646
  vtep: "Vtep" = betterproto.message_field(7, group="interface")
2568
2647
  bgp_peer: "BgpPeer" = betterproto.message_field(8, group="interface")
2648
+ wireguard: "WireguardLink" = betterproto.message_field(10, group="interface")
2649
+ gre: "GreLink" = betterproto.message_field(11, group="interface")
2569
2650
  mtu: int = betterproto.uint32_field(9)
2570
2651
 
2571
2652
 
@@ -2646,6 +2727,7 @@ class BgpPeer(betterproto.Message):
2646
2727
  router_id: str = betterproto.string_field(5)
2647
2728
  transit_ip: str = betterproto.string_field(6)
2648
2729
  role: "BgpPeerRole" = betterproto.enum_field(7)
2730
+ transit_hostname: str = betterproto.string_field(8)
2649
2731
 
2650
2732
 
2651
2733
  @dataclass(eq=False, repr=False)
@@ -2688,6 +2770,26 @@ class VlanVfPort(betterproto.Message):
2688
2770
  vid: int = betterproto.uint32_field(3)
2689
2771
 
2690
2772
 
2773
+ @dataclass(eq=False, repr=False)
2774
+ class WireguardLink(betterproto.Message):
2775
+ name: str = betterproto.string_field(1)
2776
+ interface: "WgIfConfig" = betterproto.message_field(2)
2777
+ peers: List["WgIfConfig"] = betterproto.message_field(3)
2778
+
2779
+
2780
+ @dataclass(eq=False, repr=False)
2781
+ class GreLink(betterproto.Message):
2782
+ name: str = betterproto.string_field(1)
2783
+ underlay_local_ip: str = betterproto.string_field(2)
2784
+ """underlay: the physical/transit network path"""
2785
+
2786
+ underlay_remote_ip: str = betterproto.string_field(3)
2787
+ overlay_local_ip: str = betterproto.string_field(4)
2788
+ """overlay: the virtual tunnel path"""
2789
+
2790
+ overlay_remote_ip: str = betterproto.string_field(5)
2791
+
2792
+
2691
2793
  @dataclass(eq=False, repr=False)
2692
2794
  class Diagnostic(betterproto.Message):
2693
2795
  message: str = betterproto.string_field(1)
@@ -3425,78 +3527,6 @@ class JupyterCfg(betterproto.Message):
3425
3527
  ver: int = betterproto.int64_field(5)
3426
3528
 
3427
3529
 
3428
- @dataclass(eq=False, repr=False)
3429
- class WgEnclave(betterproto.Message):
3430
- enclaveid: str = betterproto.string_field(1)
3431
- gateways: Dict[str, "WgIfConfig"] = betterproto.map_field(
3432
- 2, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
3433
- )
3434
- clients: Dict[str, "WgIfConfig"] = betterproto.map_field(
3435
- 3, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
3436
- )
3437
- ver: int = betterproto.int64_field(4)
3438
- gateway_ips: Dict[str, str] = betterproto.map_field(
3439
- 5, betterproto.TYPE_STRING, betterproto.TYPE_STRING
3440
- )
3441
- client_ips: Dict[str, str] = betterproto.map_field(
3442
- 6, betterproto.TYPE_STRING, betterproto.TYPE_STRING
3443
- )
3444
- created: datetime = betterproto.message_field(7)
3445
-
3446
-
3447
- @dataclass(eq=False, repr=False)
3448
- class WgIfConfig(betterproto.Message):
3449
- endpoint: str = betterproto.string_field(1)
3450
- key: str = betterproto.string_field(2)
3451
- allowedips: List[str] = betterproto.string_field(3)
3452
- accessaddr: str = betterproto.string_field(4)
3453
-
3454
-
3455
- @dataclass(eq=False, repr=False)
3456
- class AddWgIfConfigRequest(betterproto.Message):
3457
- enclaveid: str = betterproto.string_field(1)
3458
- config: "WgIfConfig" = betterproto.message_field(2)
3459
- gateway: bool = betterproto.bool_field(3)
3460
-
3461
-
3462
- @dataclass(eq=False, repr=False)
3463
- class AddWgIfConfigResponse(betterproto.Message):
3464
- pass
3465
-
3466
-
3467
- @dataclass(eq=False, repr=False)
3468
- class DelWgIfConfigRequest(betterproto.Message):
3469
- enclaveid: str = betterproto.string_field(1)
3470
- key: str = betterproto.string_field(2)
3471
-
3472
-
3473
- @dataclass(eq=False, repr=False)
3474
- class DelWgIfConfigResponse(betterproto.Message):
3475
- pass
3476
-
3477
-
3478
- @dataclass(eq=False, repr=False)
3479
- class GetWgIfConfigRequest(betterproto.Message):
3480
- enclaveid: str = betterproto.string_field(1)
3481
- key: str = betterproto.string_field(2)
3482
-
3483
-
3484
- @dataclass(eq=False, repr=False)
3485
- class GetWgIfConfigResponse(betterproto.Message):
3486
- enclaveid: str = betterproto.string_field(1)
3487
- endpoint: str = betterproto.string_field(2)
3488
-
3489
-
3490
- @dataclass(eq=False, repr=False)
3491
- class GetWgEnclaveRequest(betterproto.Message):
3492
- enclaveid: str = betterproto.string_field(1)
3493
-
3494
-
3495
- @dataclass(eq=False, repr=False)
3496
- class GetWgEnclaveResponse(betterproto.Message):
3497
- enclave: "WgEnclave" = betterproto.message_field(1)
3498
-
3499
-
3500
3530
  @dataclass(eq=False, repr=False)
3501
3531
  class KvUser(betterproto.Message):
3502
3532
  username: str = betterproto.string_field(1)
@@ -325,6 +325,8 @@ class LinkRole(betterproto.Enum):
325
325
  InternalLink = 9
326
326
  BorderGatewayLink = 10
327
327
  WireguardLink = 11
328
+ IPMILink = 12
329
+ BGPUnderlayLink = 13
328
330
 
329
331
 
330
332
  class DiskRole(betterproto.Enum):
@@ -469,6 +471,7 @@ class Ref(betterproto.Message):
469
471
  element: str = betterproto.string_field(1)
470
472
  index: int = betterproto.uint32_field(2)
471
473
  subref: "Subref" = betterproto.message_field(3)
474
+ facility: str = betterproto.string_field(4)
472
475
 
473
476
 
474
477
  @dataclass(eq=False, repr=False)
@@ -565,6 +568,13 @@ class ProductInfo(betterproto.Message):
565
568
  cost: float = betterproto.float_field(5)
566
569
 
567
570
 
571
+ @dataclass(eq=False, repr=False)
572
+ class WireguardConfig(betterproto.Message):
573
+ port: int = betterproto.int32_field(1)
574
+ pub: str = betterproto.string_field(2)
575
+ prv: str = betterproto.string_field(3)
576
+
577
+
568
578
  @dataclass(eq=False, repr=False)
569
579
  class Resource(betterproto.Message):
570
580
  id: str = betterproto.string_field(1)
@@ -590,6 +600,7 @@ class Resource(betterproto.Message):
590
600
  realization_tags: List[str] = betterproto.string_field(19)
591
601
  capabilities: List["Capability"] = betterproto.enum_field(20)
592
602
  bgp_id: int = betterproto.uint32_field(21)
603
+ fqdn: str = betterproto.string_field(22)
593
604
 
594
605
 
595
606
  @dataclass(eq=False, repr=False)
@@ -675,6 +686,7 @@ class OsConfig(betterproto.Message):
675
686
  append: str = betterproto.string_field(5)
676
687
  rootdev: str = betterproto.string_field(6)
677
688
  default_image: str = betterproto.string_field(7)
689
+ multifac_wg_config: "WireguardConfig" = betterproto.message_field(8)
678
690
 
679
691
 
680
692
  @dataclass(eq=False, repr=False)
@@ -775,6 +787,7 @@ class Port(betterproto.Message):
775
787
  sriov: "Sriov" = betterproto.message_field(14)
776
788
  roles: List["LinkRole"] = betterproto.enum_field(15)
777
789
  bridge: str = betterproto.string_field(16)
790
+ facility: str = betterproto.string_field(17)
778
791
 
779
792
  def __post_init__(self) -> None:
780
793
  super().__post_init__()
@@ -834,6 +847,11 @@ class Cable(betterproto.Message):
834
847
  product_info: "ProductInfo" = betterproto.message_field(5)
835
848
  remote_facility: str = betterproto.string_field(6)
836
849
 
850
+ def __post_init__(self) -> None:
851
+ super().__post_init__()
852
+ if self.is_set("remote_facility"):
853
+ warnings.warn("Cable.remote_facility is deprecated", DeprecationWarning)
854
+
837
855
 
838
856
  @dataclass(eq=False, repr=False)
839
857
  class End(betterproto.Message):
@@ -849,6 +867,7 @@ class Connector(betterproto.Message):
849
867
  capacity: int = betterproto.uint64_field(5)
850
868
  port: "Ref" = betterproto.message_field(6)
851
869
  breakout: "Breakout" = betterproto.message_field(7)
870
+ facility: str = betterproto.string_field(8)
852
871
 
853
872
 
854
873
  @dataclass(eq=False, repr=False)
@@ -874,6 +893,7 @@ class FacilityProperties(betterproto.Message):
874
893
  standard_images: List[str] = betterproto.string_field(4)
875
894
  facility_bgp_ids: List[int] = betterproto.uint32_field(5)
876
895
  xir_version: str = betterproto.string_field(6)
896
+ facility_local_network: str = betterproto.string_field(7)
877
897
 
878
898
 
879
899
  @dataclass(eq=False, repr=False)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.4.2
3
+ Version: 1.5.0
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