mergetbapi 1.4.1__tar.gz → 1.4.3__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.1 → mergetbapi-1.4.3}/PKG-INFO +1 -1
  2. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/portal/v1/__init__.py +283 -0
  3. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/xir/__init__.py +2 -0
  4. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi.egg-info/PKG-INFO +1 -1
  5. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/LICENSE.md +0 -0
  6. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/README.md +0 -0
  7. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/__init__.py +0 -0
  8. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/google/__init__.py +0 -0
  9. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/google/api/__init__.py +0 -0
  10. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/grpc/__init__.py +0 -0
  11. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/grpc/gateway/__init__.py +0 -0
  12. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/__init__.py +0 -0
  13. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/options/__init__.py +0 -0
  14. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/portal/__init__.py +0 -0
  15. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/reconcile/__init__.py +0 -0
  16. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi/validator/__init__.py +0 -0
  17. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi.egg-info/SOURCES.txt +0 -0
  18. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi.egg-info/dependency_links.txt +0 -0
  19. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi.egg-info/not-zip-safe +0 -0
  20. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi.egg-info/requires.txt +0 -0
  21. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/mergetbapi.egg-info/top_level.txt +0 -0
  22. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/setup.cfg +0 -0
  23. {mergetbapi-1.4.1 → mergetbapi-1.4.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.4.1
3
+ Version: 1.4.3
4
4
  Summary: Client interface to the MergeTB API
5
5
  Home-page: https://gitlab.com/mergetb/api
6
6
  Author: Brian Kocoloski
@@ -144,6 +144,23 @@ class GetRevisionRequestEncoding(betterproto.Enum):
144
144
  DOT = 2
145
145
 
146
146
 
147
+ class ActionReasonIdEntity(betterproto.Enum):
148
+ """What can be acted on"""
149
+
150
+ UnknownEntity = 0
151
+ User = 1
152
+ Project = 2
153
+ Organization = 3
154
+
155
+
156
+ class ActionReasonIdAction(betterproto.Enum):
157
+ """Supported actions"""
158
+
159
+ UnknownAction = 0
160
+ Activate = 1
161
+ Decline = 2
162
+
163
+
147
164
  class ArtifactChecksumType(betterproto.Enum):
148
165
  """supported checksums, just for generated maps"""
149
166
 
@@ -569,6 +586,7 @@ class InitUserResponse(betterproto.Message):
569
586
  @dataclass(eq=False, repr=False)
570
587
  class ActivateUserRequest(betterproto.Message):
571
588
  username: str = betterproto.string_field(1)
589
+ action_reason: str = betterproto.string_field(2)
572
590
 
573
591
 
574
592
  @dataclass(eq=False, repr=False)
@@ -576,6 +594,17 @@ class ActivateUserResponse(betterproto.Message):
576
594
  pass
577
595
 
578
596
 
597
+ @dataclass(eq=False, repr=False)
598
+ class DeclineUserRequest(betterproto.Message):
599
+ username: str = betterproto.string_field(1)
600
+ action_reason: str = betterproto.string_field(2)
601
+
602
+
603
+ @dataclass(eq=False, repr=False)
604
+ class DeclineUserResponse(betterproto.Message):
605
+ pass
606
+
607
+
579
608
  @dataclass(eq=False, repr=False)
580
609
  class FreezeUserRequest(betterproto.Message):
581
610
  username: str = betterproto.string_field(1)
@@ -856,6 +885,7 @@ class UpdateProjectResponse(betterproto.Message):
856
885
  @dataclass(eq=False, repr=False)
857
886
  class ActivateProjectRequest(betterproto.Message):
858
887
  project: str = betterproto.string_field(1)
888
+ action_reason: str = betterproto.string_field(2)
859
889
 
860
890
 
861
891
  @dataclass(eq=False, repr=False)
@@ -863,6 +893,21 @@ class ActivateProjectResponse(betterproto.Message):
863
893
  pass
864
894
 
865
895
 
896
+ @dataclass(eq=False, repr=False)
897
+ class DeclineProjectRequest(betterproto.Message):
898
+ """
899
+ Decline .....................................................................
900
+ """
901
+
902
+ project: str = betterproto.string_field(1)
903
+ action_reason: str = betterproto.string_field(2)
904
+
905
+
906
+ @dataclass(eq=False, repr=False)
907
+ class DeclineProjectResponse(betterproto.Message):
908
+ pass
909
+
910
+
866
911
  @dataclass(eq=False, repr=False)
867
912
  class FreezeProjectRequest(betterproto.Message):
868
913
  project: str = betterproto.string_field(1)
@@ -1101,6 +1146,7 @@ class Organization(betterproto.Message):
1101
1146
  @dataclass(eq=False, repr=False)
1102
1147
  class ActivateOrganizationRequest(betterproto.Message):
1103
1148
  organization: str = betterproto.string_field(1)
1149
+ action_reason: str = betterproto.string_field(2)
1104
1150
 
1105
1151
 
1106
1152
  @dataclass(eq=False, repr=False)
@@ -1108,6 +1154,17 @@ class ActivateOrganizationResponse(betterproto.Message):
1108
1154
  pass
1109
1155
 
1110
1156
 
1157
+ @dataclass(eq=False, repr=False)
1158
+ class DeclineOrganizationRequest(betterproto.Message):
1159
+ organization: str = betterproto.string_field(1)
1160
+ action_reason: str = betterproto.string_field(2)
1161
+
1162
+
1163
+ @dataclass(eq=False, repr=False)
1164
+ class DeclineOrganizationResponse(betterproto.Message):
1165
+ pass
1166
+
1167
+
1111
1168
  @dataclass(eq=False, repr=False)
1112
1169
  class FreezeOrganizationRequest(betterproto.Message):
1113
1170
  organization: str = betterproto.string_field(1)
@@ -1387,6 +1444,47 @@ class UpdateEntityTypeConfigurationsResponse(betterproto.Message):
1387
1444
  pass
1388
1445
 
1389
1446
 
1447
+ @dataclass(eq=False, repr=False)
1448
+ class ActionReasonId(betterproto.Message):
1449
+ """
1450
+ action reason CRUD - kind of awkward but it works.
1451
+ Could've just used strings for action and entity, but
1452
+ I like the type safety of being explicit.
1453
+ """
1454
+
1455
+ entity: "ActionReasonIdEntity" = betterproto.enum_field(1)
1456
+ name: str = betterproto.string_field(2)
1457
+ action: "ActionReasonIdAction" = betterproto.enum_field(3)
1458
+
1459
+
1460
+ @dataclass(eq=False, repr=False)
1461
+ class ActionReasonTemplate(betterproto.Message):
1462
+ id: "ActionReasonId" = betterproto.message_field(1)
1463
+ reason: str = betterproto.string_field(2)
1464
+ template: str = betterproto.string_field(3)
1465
+
1466
+
1467
+ @dataclass(eq=False, repr=False)
1468
+ class ListActionReasonsRequest(betterproto.Message):
1469
+ id: "ActionReasonId" = betterproto.message_field(1)
1470
+
1471
+
1472
+ @dataclass(eq=False, repr=False)
1473
+ class ListActionReasonsResponse(betterproto.Message):
1474
+ templates: List["ActionReasonTemplate"] = betterproto.message_field(1)
1475
+
1476
+
1477
+ @dataclass(eq=False, repr=False)
1478
+ class GetActionReasonRequest(betterproto.Message):
1479
+ id: "ActionReasonId" = betterproto.message_field(1)
1480
+ reason: str = betterproto.string_field(2)
1481
+
1482
+
1483
+ @dataclass(eq=False, repr=False)
1484
+ class GetActionReasonResponse(betterproto.Message):
1485
+ template: "ActionReasonTemplate" = betterproto.message_field(1)
1486
+
1487
+
1390
1488
  @dataclass(eq=False, repr=False)
1391
1489
  class GetPolicyRequest(betterproto.Message):
1392
1490
  pass
@@ -2012,6 +2110,12 @@ class DeploymentId(betterproto.Message):
2012
2110
  class CreateDeploymentRequest(betterproto.Message):
2013
2111
  dont_cleanup_on_fail: bool = betterproto.bool_field(1)
2014
2112
  model: str = betterproto.string_field(2)
2113
+ """
2114
+ Model/Revision/Tag could be a oneoff, but it doesn't translate well to json encoding
2115
+ """
2116
+
2117
+ revision: str = betterproto.string_field(6)
2118
+ tag: str = betterproto.string_field(7)
2015
2119
  id: "DeploymentId" = betterproto.message_field(3)
2016
2120
  xdc: str = betterproto.string_field(4)
2017
2121
  access_mode: "AccessMode" = betterproto.enum_field(5)
@@ -3502,6 +3606,23 @@ class WorkspaceStub(betterproto.ServiceStub):
3502
3606
  metadata=metadata,
3503
3607
  )
3504
3608
 
3609
+ async def decline_user(
3610
+ self,
3611
+ decline_user_request: "DeclineUserRequest",
3612
+ *,
3613
+ timeout: Optional[float] = None,
3614
+ deadline: Optional["Deadline"] = None,
3615
+ metadata: Optional["MetadataLike"] = None
3616
+ ) -> "DeclineUserResponse":
3617
+ return await self._unary_unary(
3618
+ "/portal.v1.Workspace/DeclineUser",
3619
+ decline_user_request,
3620
+ DeclineUserResponse,
3621
+ timeout=timeout,
3622
+ deadline=deadline,
3623
+ metadata=metadata,
3624
+ )
3625
+
3505
3626
  async def freeze_user(
3506
3627
  self,
3507
3628
  freeze_user_request: "FreezeUserRequest",
@@ -3791,6 +3912,23 @@ class WorkspaceStub(betterproto.ServiceStub):
3791
3912
  metadata=metadata,
3792
3913
  )
3793
3914
 
3915
+ async def decline_project(
3916
+ self,
3917
+ decline_project_request: "DeclineProjectRequest",
3918
+ *,
3919
+ timeout: Optional[float] = None,
3920
+ deadline: Optional["Deadline"] = None,
3921
+ metadata: Optional["MetadataLike"] = None
3922
+ ) -> "DeclineProjectResponse":
3923
+ return await self._unary_unary(
3924
+ "/portal.v1.Workspace/DeclineProject",
3925
+ decline_project_request,
3926
+ DeclineProjectResponse,
3927
+ timeout=timeout,
3928
+ deadline=deadline,
3929
+ metadata=metadata,
3930
+ )
3931
+
3794
3932
  async def freeze_project(
3795
3933
  self,
3796
3934
  freeze_project_request: "FreezeProjectRequest",
@@ -3910,6 +4048,23 @@ class WorkspaceStub(betterproto.ServiceStub):
3910
4048
  metadata=metadata,
3911
4049
  )
3912
4050
 
4051
+ async def decline_organization(
4052
+ self,
4053
+ decline_organization_request: "DeclineOrganizationRequest",
4054
+ *,
4055
+ timeout: Optional[float] = None,
4056
+ deadline: Optional["Deadline"] = None,
4057
+ metadata: Optional["MetadataLike"] = None
4058
+ ) -> "DeclineOrganizationResponse":
4059
+ return await self._unary_unary(
4060
+ "/portal.v1.Workspace/DeclineOrganization",
4061
+ decline_organization_request,
4062
+ DeclineOrganizationResponse,
4063
+ timeout=timeout,
4064
+ deadline=deadline,
4065
+ metadata=metadata,
4066
+ )
4067
+
3913
4068
  async def freeze_organization(
3914
4069
  self,
3915
4070
  freeze_organization_request: "FreezeOrganizationRequest",
@@ -4403,6 +4558,40 @@ class WorkspaceStub(betterproto.ServiceStub):
4403
4558
  metadata=metadata,
4404
4559
  )
4405
4560
 
4561
+ async def list_action_reasons(
4562
+ self,
4563
+ list_action_reasons_request: "ListActionReasonsRequest",
4564
+ *,
4565
+ timeout: Optional[float] = None,
4566
+ deadline: Optional["Deadline"] = None,
4567
+ metadata: Optional["MetadataLike"] = None
4568
+ ) -> "ListActionReasonsResponse":
4569
+ return await self._unary_unary(
4570
+ "/portal.v1.Workspace/ListActionReasons",
4571
+ list_action_reasons_request,
4572
+ ListActionReasonsResponse,
4573
+ timeout=timeout,
4574
+ deadline=deadline,
4575
+ metadata=metadata,
4576
+ )
4577
+
4578
+ async def get_action_reason(
4579
+ self,
4580
+ get_action_reason_request: "GetActionReasonRequest",
4581
+ *,
4582
+ timeout: Optional[float] = None,
4583
+ deadline: Optional["Deadline"] = None,
4584
+ metadata: Optional["MetadataLike"] = None
4585
+ ) -> "GetActionReasonResponse":
4586
+ return await self._unary_unary(
4587
+ "/portal.v1.Workspace/GetActionReason",
4588
+ get_action_reason_request,
4589
+ GetActionReasonResponse,
4590
+ timeout=timeout,
4591
+ deadline=deadline,
4592
+ metadata=metadata,
4593
+ )
4594
+
4406
4595
  async def get_images(
4407
4596
  self,
4408
4597
  get_images_request: "GetImagesRequest",
@@ -6070,6 +6259,11 @@ class WorkspaceBase(ServiceBase):
6070
6259
  ) -> "ActivateUserResponse":
6071
6260
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6072
6261
 
6262
+ async def decline_user(
6263
+ self, decline_user_request: "DeclineUserRequest"
6264
+ ) -> "DeclineUserResponse":
6265
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6266
+
6073
6267
  async def freeze_user(
6074
6268
  self, freeze_user_request: "FreezeUserRequest"
6075
6269
  ) -> "FreezeUserResponse":
@@ -6151,6 +6345,11 @@ class WorkspaceBase(ServiceBase):
6151
6345
  ) -> "ActivateProjectResponse":
6152
6346
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6153
6347
 
6348
+ async def decline_project(
6349
+ self, decline_project_request: "DeclineProjectRequest"
6350
+ ) -> "DeclineProjectResponse":
6351
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6352
+
6154
6353
  async def freeze_project(
6155
6354
  self, freeze_project_request: "FreezeProjectRequest"
6156
6355
  ) -> "FreezeProjectResponse":
@@ -6186,6 +6385,11 @@ class WorkspaceBase(ServiceBase):
6186
6385
  ) -> "ActivateOrganizationResponse":
6187
6386
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6188
6387
 
6388
+ async def decline_organization(
6389
+ self, decline_organization_request: "DeclineOrganizationRequest"
6390
+ ) -> "DeclineOrganizationResponse":
6391
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6392
+
6189
6393
  async def freeze_organization(
6190
6394
  self, freeze_organization_request: "FreezeOrganizationRequest"
6191
6395
  ) -> "FreezeOrganizationResponse":
@@ -6335,6 +6539,16 @@ class WorkspaceBase(ServiceBase):
6335
6539
  ) -> "UpdateEntityTypeConfigurationsResponse":
6336
6540
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6337
6541
 
6542
+ async def list_action_reasons(
6543
+ self, list_action_reasons_request: "ListActionReasonsRequest"
6544
+ ) -> "ListActionReasonsResponse":
6545
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6546
+
6547
+ async def get_action_reason(
6548
+ self, get_action_reason_request: "GetActionReasonRequest"
6549
+ ) -> "GetActionReasonResponse":
6550
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6551
+
6338
6552
  async def get_images(
6339
6553
  self, get_images_request: "GetImagesRequest"
6340
6554
  ) -> "GetImagesResponse":
@@ -6370,6 +6584,13 @@ class WorkspaceBase(ServiceBase):
6370
6584
  response = await self.activate_user(request)
6371
6585
  await stream.send_message(response)
6372
6586
 
6587
+ async def __rpc_decline_user(
6588
+ self, stream: "grpclib.server.Stream[DeclineUserRequest, DeclineUserResponse]"
6589
+ ) -> None:
6590
+ request = await stream.recv_message()
6591
+ response = await self.decline_user(request)
6592
+ await stream.send_message(response)
6593
+
6373
6594
  async def __rpc_freeze_user(
6374
6595
  self, stream: "grpclib.server.Stream[FreezeUserRequest, FreezeUserResponse]"
6375
6596
  ) -> None:
@@ -6497,6 +6718,14 @@ class WorkspaceBase(ServiceBase):
6497
6718
  response = await self.activate_project(request)
6498
6719
  await stream.send_message(response)
6499
6720
 
6721
+ async def __rpc_decline_project(
6722
+ self,
6723
+ stream: "grpclib.server.Stream[DeclineProjectRequest, DeclineProjectResponse]",
6724
+ ) -> None:
6725
+ request = await stream.recv_message()
6726
+ response = await self.decline_project(request)
6727
+ await stream.send_message(response)
6728
+
6500
6729
  async def __rpc_freeze_project(
6501
6730
  self,
6502
6731
  stream: "grpclib.server.Stream[FreezeProjectRequest, FreezeProjectResponse]",
@@ -6553,6 +6782,14 @@ class WorkspaceBase(ServiceBase):
6553
6782
  response = await self.activate_organization(request)
6554
6783
  await stream.send_message(response)
6555
6784
 
6785
+ async def __rpc_decline_organization(
6786
+ self,
6787
+ stream: "grpclib.server.Stream[DeclineOrganizationRequest, DeclineOrganizationResponse]",
6788
+ ) -> None:
6789
+ request = await stream.recv_message()
6790
+ response = await self.decline_organization(request)
6791
+ await stream.send_message(response)
6792
+
6556
6793
  async def __rpc_freeze_organization(
6557
6794
  self,
6558
6795
  stream: "grpclib.server.Stream[FreezeOrganizationRequest, FreezeOrganizationResponse]",
@@ -6783,6 +7020,22 @@ class WorkspaceBase(ServiceBase):
6783
7020
  response = await self.update_entity_type_configurations(request)
6784
7021
  await stream.send_message(response)
6785
7022
 
7023
+ async def __rpc_list_action_reasons(
7024
+ self,
7025
+ stream: "grpclib.server.Stream[ListActionReasonsRequest, ListActionReasonsResponse]",
7026
+ ) -> None:
7027
+ request = await stream.recv_message()
7028
+ response = await self.list_action_reasons(request)
7029
+ await stream.send_message(response)
7030
+
7031
+ async def __rpc_get_action_reason(
7032
+ self,
7033
+ stream: "grpclib.server.Stream[GetActionReasonRequest, GetActionReasonResponse]",
7034
+ ) -> None:
7035
+ request = await stream.recv_message()
7036
+ response = await self.get_action_reason(request)
7037
+ await stream.send_message(response)
7038
+
6786
7039
  async def __rpc_get_images(
6787
7040
  self, stream: "grpclib.server.Stream[GetImagesRequest, GetImagesResponse]"
6788
7041
  ) -> None:
@@ -6833,6 +7086,12 @@ class WorkspaceBase(ServiceBase):
6833
7086
  ActivateUserRequest,
6834
7087
  ActivateUserResponse,
6835
7088
  ),
7089
+ "/portal.v1.Workspace/DeclineUser": grpclib.const.Handler(
7090
+ self.__rpc_decline_user,
7091
+ grpclib.const.Cardinality.UNARY_UNARY,
7092
+ DeclineUserRequest,
7093
+ DeclineUserResponse,
7094
+ ),
6836
7095
  "/portal.v1.Workspace/FreezeUser": grpclib.const.Handler(
6837
7096
  self.__rpc_freeze_user,
6838
7097
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -6935,6 +7194,12 @@ class WorkspaceBase(ServiceBase):
6935
7194
  ActivateProjectRequest,
6936
7195
  ActivateProjectResponse,
6937
7196
  ),
7197
+ "/portal.v1.Workspace/DeclineProject": grpclib.const.Handler(
7198
+ self.__rpc_decline_project,
7199
+ grpclib.const.Cardinality.UNARY_UNARY,
7200
+ DeclineProjectRequest,
7201
+ DeclineProjectResponse,
7202
+ ),
6938
7203
  "/portal.v1.Workspace/FreezeProject": grpclib.const.Handler(
6939
7204
  self.__rpc_freeze_project,
6940
7205
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -6977,6 +7242,12 @@ class WorkspaceBase(ServiceBase):
6977
7242
  ActivateOrganizationRequest,
6978
7243
  ActivateOrganizationResponse,
6979
7244
  ),
7245
+ "/portal.v1.Workspace/DeclineOrganization": grpclib.const.Handler(
7246
+ self.__rpc_decline_organization,
7247
+ grpclib.const.Cardinality.UNARY_UNARY,
7248
+ DeclineOrganizationRequest,
7249
+ DeclineOrganizationResponse,
7250
+ ),
6980
7251
  "/portal.v1.Workspace/FreezeOrganization": grpclib.const.Handler(
6981
7252
  self.__rpc_freeze_organization,
6982
7253
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -7151,6 +7422,18 @@ class WorkspaceBase(ServiceBase):
7151
7422
  UpdateEntityTypeConfigurationsRequest,
7152
7423
  UpdateEntityTypeConfigurationsResponse,
7153
7424
  ),
7425
+ "/portal.v1.Workspace/ListActionReasons": grpclib.const.Handler(
7426
+ self.__rpc_list_action_reasons,
7427
+ grpclib.const.Cardinality.UNARY_UNARY,
7428
+ ListActionReasonsRequest,
7429
+ ListActionReasonsResponse,
7430
+ ),
7431
+ "/portal.v1.Workspace/GetActionReason": grpclib.const.Handler(
7432
+ self.__rpc_get_action_reason,
7433
+ grpclib.const.Cardinality.UNARY_UNARY,
7434
+ GetActionReasonRequest,
7435
+ GetActionReasonResponse,
7436
+ ),
7154
7437
  "/portal.v1.Workspace/GetImages": grpclib.const.Handler(
7155
7438
  self.__rpc_get_images,
7156
7439
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -308,6 +308,8 @@ class Capability(betterproto.Enum):
308
308
  ControllablePowerCapability = 6
309
309
  XpImagableCapability = 7
310
310
  XpConfigurableCapability = 8
311
+ BorderGatewayCapability = 9
312
+ """maybe serial console?"""
311
313
 
312
314
 
313
315
  class LinkRole(betterproto.Enum):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.4.1
3
+ Version: 1.4.3
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