mergetbapi 1.3.26__tar.gz → 1.3.28__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.26 → mergetbapi-1.3.28}/PKG-INFO +1 -1
  2. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/portal/v1/__init__.py +686 -62
  3. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/xir/__init__.py +5 -0
  4. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi.egg-info/PKG-INFO +1 -1
  5. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/LICENSE.md +0 -0
  6. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/README.md +0 -0
  7. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/__init__.py +0 -0
  8. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/google/__init__.py +0 -0
  9. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/google/api/__init__.py +0 -0
  10. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/grpc/__init__.py +0 -0
  11. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/grpc/gateway/__init__.py +0 -0
  12. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/__init__.py +0 -0
  13. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/grpc/gateway/protoc_gen_openapiv2/options/__init__.py +0 -0
  14. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/portal/__init__.py +0 -0
  15. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/reconcile/__init__.py +0 -0
  16. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi/validator/__init__.py +0 -0
  17. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi.egg-info/SOURCES.txt +0 -0
  18. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi.egg-info/dependency_links.txt +0 -0
  19. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi.egg-info/not-zip-safe +0 -0
  20. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi.egg-info/requires.txt +0 -0
  21. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/mergetbapi.egg-info/top_level.txt +0 -0
  22. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/setup.cfg +0 -0
  23. {mergetbapi-1.3.26 → mergetbapi-1.3.28}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.3.26
3
+ Version: 1.3.28
4
4
  Summary: Client interface to the MergeTB API
5
5
  Home-page: https://gitlab.com/mergetb/api
6
6
  Author: Brian Kocoloski
@@ -1,5 +1,5 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # sources: portal/v1/alloc_types.proto, portal/v1/artifact_types.proto, portal/v1/commission_types.proto, portal/v1/communications_types.proto, portal/v1/cred_types.proto, portal/v1/identity_types.proto, portal/v1/internal.proto, portal/v1/materialize_types.proto, portal/v1/model_types.proto, portal/v1/patch_types.proto, portal/v1/realize_types.proto, portal/v1/status_types.proto, portal/v1/wg_types.proto, portal/v1/workspace_types.proto, portal/v1/xdc_types.proto, proto/portal/v1/portal.proto
2
+ # sources: portal/v1/alloc_types.proto, portal/v1/artifact_types.proto, portal/v1/commission_types.proto, portal/v1/communications_types.proto, portal/v1/cred_types.proto, portal/v1/identity_types.proto, portal/v1/internal.proto, portal/v1/kv_types.proto, portal/v1/materialize_types.proto, portal/v1/model_types.proto, portal/v1/patch_types.proto, portal/v1/realize_types.proto, portal/v1/status_types.proto, portal/v1/wg_types.proto, portal/v1/workspace_types.proto, portal/v1/xdc_types.proto, proto/portal/v1/portal.proto
3
3
  # plugin: python-betterproto
4
4
  # This file has been @generated
5
5
  import warnings
@@ -105,6 +105,22 @@ class UserState(betterproto.Enum):
105
105
  """
106
106
 
107
107
 
108
+ class ImageStatus(betterproto.Enum):
109
+ """
110
+ Images =====================================================================
111
+ """
112
+
113
+ ImageNotSet = 0
114
+ ImageNotReady = 1
115
+ ImageReady = 2
116
+
117
+
118
+ class CreateImageMode(betterproto.Enum):
119
+ CreateImageModeNotSet = 0
120
+ DiskOnly = 1
121
+ AllState = 2
122
+
123
+
108
124
  class MemberRole(betterproto.Enum):
109
125
  Member = 0
110
126
  Maintainer = 1
@@ -164,11 +180,6 @@ class RealizeResponseCode(betterproto.Enum):
164
180
  InternalError = 3
165
181
 
166
182
 
167
- class SaveDiskMaterializationMode(betterproto.Enum):
168
- DiskOnly = 0
169
- AllState = 1
170
-
171
-
172
183
  class RebootMaterializationMode(betterproto.Enum):
173
184
  Reboot = 0
174
185
  Cycle = 1
@@ -180,6 +191,12 @@ class XdcType(betterproto.Enum):
180
191
  personal = 1
181
192
 
182
193
 
194
+ class KvAgreementFlag(betterproto.Enum):
195
+ Unset = 0
196
+ Accepted = 1
197
+ Declined = 2
198
+
199
+
183
200
  @dataclass(eq=False, repr=False)
184
201
  class PatchStrategy(betterproto.Message):
185
202
  strategy: "PatchStrategyStrategy" = betterproto.enum_field(1)
@@ -1312,6 +1329,95 @@ class GetPolicyResponse(betterproto.Message):
1312
1329
  policy: str = betterproto.string_field(1)
1313
1330
 
1314
1331
 
1332
+ @dataclass(eq=False, repr=False)
1333
+ class Image(betterproto.Message):
1334
+ name: str = betterproto.string_field(1)
1335
+ """Image attributes"""
1336
+
1337
+ size: str = betterproto.string_field(2)
1338
+ os: str = betterproto.string_field(3)
1339
+ description: str = betterproto.string_field(4)
1340
+ image_mode: "CreateImageMode" = betterproto.enum_field(5)
1341
+ creator: str = betterproto.string_field(6)
1342
+ facilities: List[str] = betterproto.string_field(7)
1343
+ status: "ImageStatus" = betterproto.enum_field(8)
1344
+ access_mode: "AccessMode" = betterproto.enum_field(9)
1345
+ created: datetime = betterproto.message_field(10)
1346
+
1347
+
1348
+ @dataclass(eq=False, repr=False)
1349
+ class GetImagesRequest(betterproto.Message):
1350
+ filter: "FilterMode" = betterproto.enum_field(1)
1351
+
1352
+
1353
+ @dataclass(eq=False, repr=False)
1354
+ class GetImagesResponse(betterproto.Message):
1355
+ images: List["Image"] = betterproto.message_field(1)
1356
+
1357
+
1358
+ @dataclass(eq=False, repr=False)
1359
+ class GetImageRequest(betterproto.Message):
1360
+ imagename: str = betterproto.string_field(1)
1361
+
1362
+
1363
+ @dataclass(eq=False, repr=False)
1364
+ class GetImageResponse(betterproto.Message):
1365
+ image: "Image" = betterproto.message_field(1)
1366
+
1367
+
1368
+ @dataclass(eq=False, repr=False)
1369
+ class UpdateImageRequest(betterproto.Message):
1370
+ """Only some fields of an Image may be updated."""
1371
+
1372
+ imagename: str = betterproto.string_field(1)
1373
+ size: str = betterproto.string_field(2)
1374
+ os: str = betterproto.string_field(3)
1375
+ description: str = betterproto.string_field(4)
1376
+ facilities: List[str] = betterproto.string_field(5)
1377
+ status: "ImageStatus" = betterproto.enum_field(6)
1378
+ access_mode: "AccessModeUpdate" = betterproto.message_field(7)
1379
+
1380
+
1381
+ @dataclass(eq=False, repr=False)
1382
+ class UpdateImageResponse(betterproto.Message):
1383
+ pass
1384
+
1385
+
1386
+ @dataclass(eq=False, repr=False)
1387
+ class DeleteImageRequest(betterproto.Message):
1388
+ imagename: str = betterproto.string_field(1)
1389
+
1390
+
1391
+ @dataclass(eq=False, repr=False)
1392
+ class DeleteImageResponse(betterproto.Message):
1393
+ pass
1394
+
1395
+
1396
+ @dataclass(eq=False, repr=False)
1397
+ class CreateImageRequest(betterproto.Message):
1398
+ image_mode: "CreateImageMode" = betterproto.enum_field(1)
1399
+ project: str = betterproto.string_field(2)
1400
+ experiment: str = betterproto.string_field(3)
1401
+ realization: str = betterproto.string_field(4)
1402
+ hostname: str = betterproto.string_field(5)
1403
+ """
1404
+ hostname is the facility's experimental node name as defined
1405
+ in the user-defined experiment model.
1406
+ """
1407
+
1408
+ imagename: str = betterproto.string_field(6)
1409
+ """What to call the image - must be unique across all facilities."""
1410
+
1411
+ access_mode: "AccessMode" = betterproto.enum_field(7)
1412
+ os: str = betterproto.string_field(8)
1413
+ description: str = betterproto.string_field(9)
1414
+
1415
+
1416
+ @dataclass(eq=False, repr=False)
1417
+ class CreateImageResponse(betterproto.Message):
1418
+ pass
1419
+
1420
+
1315
1421
  @dataclass(eq=False, repr=False)
1316
1422
  class HealthRequest(betterproto.Message):
1317
1423
  """
@@ -1458,6 +1564,17 @@ class ArtifactQuotaListResponse(betterproto.Message):
1458
1564
  quotas: List["ArtifactQuota"] = betterproto.message_field(1)
1459
1565
 
1460
1566
 
1567
+ @dataclass(eq=False, repr=False)
1568
+ class MergefsArtifactDeployRequest(betterproto.Message):
1569
+ request: "ArtifactFsDeployRequest" = betterproto.message_field(1)
1570
+ username: str = betterproto.string_field(2)
1571
+
1572
+
1573
+ @dataclass(eq=False, repr=False)
1574
+ class MergefsArtifactDeployResponse(betterproto.Message):
1575
+ pass
1576
+
1577
+
1461
1578
  @dataclass(eq=False, repr=False)
1462
1579
  class Facility(betterproto.Message):
1463
1580
  name: str = betterproto.string_field(1)
@@ -1470,6 +1587,8 @@ class Facility(betterproto.Message):
1470
1587
  certificate: str = betterproto.string_field(6)
1471
1588
  cacertificate: str = betterproto.string_field(7)
1472
1589
  ver: int = betterproto.int64_field(8)
1590
+ properties: "__xir__.FacilityProperties" = betterproto.message_field(9)
1591
+ """Expose the facility properties from the model."""
1473
1592
 
1474
1593
 
1475
1594
  @dataclass(eq=False, repr=False)
@@ -1504,6 +1623,7 @@ class GetFacilitiesResponse(betterproto.Message):
1504
1623
  class GetFacilityRequest(betterproto.Message):
1505
1624
  name: str = betterproto.string_field(1)
1506
1625
  with_model: bool = betterproto.bool_field(2)
1626
+ with_images: bool = betterproto.bool_field(3)
1507
1627
 
1508
1628
 
1509
1629
  @dataclass(eq=False, repr=False)
@@ -1512,6 +1632,8 @@ class GetFacilityResponse(betterproto.Message):
1512
1632
  model: "__xir__.Facility" = betterproto.message_field(2)
1513
1633
  """@gotags: mask:"zero"""
1514
1634
 
1635
+ images: List[str] = betterproto.string_field(3)
1636
+
1515
1637
 
1516
1638
  @dataclass(eq=False, repr=False)
1517
1639
  class UpdateFacilityRequest(betterproto.Message):
@@ -2472,26 +2594,6 @@ class Actuator(betterproto.Message):
2472
2594
  model: "__xir__.Actuator" = betterproto.message_field(2)
2473
2595
 
2474
2596
 
2475
- @dataclass(eq=False, repr=False)
2476
- class SaveDiskMaterializationRequest(betterproto.Message):
2477
- mode: "SaveDiskMaterializationMode" = betterproto.enum_field(1)
2478
- project: str = betterproto.string_field(2)
2479
- experiment: str = betterproto.string_field(3)
2480
- realization: str = betterproto.string_field(4)
2481
- hostnames: List[str] = betterproto.string_field(5)
2482
- """
2483
- hostnames are the facility's experimental node's name as defined
2484
- in the user-defined experiment model.
2485
- """
2486
-
2487
- ver: int = betterproto.int64_field(6)
2488
-
2489
-
2490
- @dataclass(eq=False, repr=False)
2491
- class SaveDiskMaterializationResponse(betterproto.Message):
2492
- image_names: List[str] = betterproto.string_field(1)
2493
-
2494
-
2495
2597
  @dataclass(eq=False, repr=False)
2496
2598
  class RebootMaterializationRequest(betterproto.Message):
2497
2599
  mode: "RebootMaterializationMode" = betterproto.enum_field(1)
@@ -2973,6 +3075,122 @@ class GetWgEnclaveResponse(betterproto.Message):
2973
3075
  enclave: "WgEnclave" = betterproto.message_field(1)
2974
3076
 
2975
3077
 
3078
+ @dataclass(eq=False, repr=False)
3079
+ class KvArtifactCounter(betterproto.Message):
3080
+ count: int = betterproto.int64_field(1)
3081
+ last_update_by: str = betterproto.string_field(2)
3082
+
3083
+
3084
+ @dataclass(eq=False, repr=False)
3085
+ class KvUserArtifactFavorites(betterproto.Message):
3086
+ artifacts: List["ArtifactId"] = betterproto.message_field(1)
3087
+
3088
+
3089
+ @dataclass(eq=False, repr=False)
3090
+ class KvXdcId(betterproto.Message):
3091
+ """xxx move this to xdc_types.proto?"""
3092
+
3093
+ project: str = betterproto.string_field(1)
3094
+ xdc: str = betterproto.string_field(2)
3095
+
3096
+
3097
+ @dataclass(eq=False, repr=False)
3098
+ class KvUserXdcFavorites(betterproto.Message):
3099
+ xdcs: List["KvXdcId"] = betterproto.message_field(1)
3100
+
3101
+
3102
+ @dataclass(eq=False, repr=False)
3103
+ class KvUserStudyParticipationFlag(betterproto.Message):
3104
+ state: "KvAgreementFlag" = betterproto.enum_field(1)
3105
+
3106
+
3107
+ @dataclass(eq=False, repr=False)
3108
+ class KvUserKey(betterproto.Message):
3109
+ username: str = betterproto.string_field(1)
3110
+
3111
+
3112
+ @dataclass(eq=False, repr=False)
3113
+ class KvArtifactKey(betterproto.Message):
3114
+ artifact: "ArtifactId" = betterproto.message_field(1)
3115
+
3116
+
3117
+ @dataclass(eq=False, repr=False)
3118
+ class KvUserVal(betterproto.Message):
3119
+ artifact_favs: "KvUserArtifactFavorites" = betterproto.message_field(1)
3120
+ xdc_favs: "KvUserXdcFavorites" = betterproto.message_field(2)
3121
+ discern_study_participation: "KvUserStudyParticipationFlag" = (
3122
+ betterproto.message_field(3)
3123
+ )
3124
+
3125
+
3126
+ @dataclass(eq=False, repr=False)
3127
+ class KvArtifactVal(betterproto.Message):
3128
+ art_counter_views: "KvArtifactCounter" = betterproto.message_field(1)
3129
+ art_counter_deploys: "KvArtifactCounter" = betterproto.message_field(2)
3130
+
3131
+
3132
+ @dataclass(eq=False, repr=False)
3133
+ class KvUserReadRequest(betterproto.Message):
3134
+ key: "KvUserKey" = betterproto.message_field(1)
3135
+
3136
+
3137
+ @dataclass(eq=False, repr=False)
3138
+ class KvUserReadResponse(betterproto.Message):
3139
+ val: "KvUserVal" = betterproto.message_field(1)
3140
+
3141
+
3142
+ @dataclass(eq=False, repr=False)
3143
+ class KvUserUpdateRequest(betterproto.Message):
3144
+ key: "KvUserKey" = betterproto.message_field(1)
3145
+ val: "KvUserVal" = betterproto.message_field(2)
3146
+
3147
+
3148
+ @dataclass(eq=False, repr=False)
3149
+ class KvUserUpdateResponse(betterproto.Message):
3150
+ pass
3151
+
3152
+
3153
+ @dataclass(eq=False, repr=False)
3154
+ class KvUserDeleteRequest(betterproto.Message):
3155
+ key: "KvUserKey" = betterproto.message_field(1)
3156
+
3157
+
3158
+ @dataclass(eq=False, repr=False)
3159
+ class KvUserDeleteResponse(betterproto.Message):
3160
+ pass
3161
+
3162
+
3163
+ @dataclass(eq=False, repr=False)
3164
+ class KvArtifactReadRequest(betterproto.Message):
3165
+ key: "KvArtifactKey" = betterproto.message_field(1)
3166
+
3167
+
3168
+ @dataclass(eq=False, repr=False)
3169
+ class KvArtifactReadResponse(betterproto.Message):
3170
+ val: "KvArtifactVal" = betterproto.message_field(1)
3171
+
3172
+
3173
+ @dataclass(eq=False, repr=False)
3174
+ class KvArtifactUpdateRequest(betterproto.Message):
3175
+ key: "KvArtifactKey" = betterproto.message_field(1)
3176
+ val: "KvArtifactVal" = betterproto.message_field(2)
3177
+
3178
+
3179
+ @dataclass(eq=False, repr=False)
3180
+ class KvArtifactUpdateResponse(betterproto.Message):
3181
+ pass
3182
+
3183
+
3184
+ @dataclass(eq=False, repr=False)
3185
+ class KvArtifactDeleteRequest(betterproto.Message):
3186
+ key: "KvArtifactKey" = betterproto.message_field(1)
3187
+
3188
+
3189
+ @dataclass(eq=False, repr=False)
3190
+ class KvArtifactDeleteResponse(betterproto.Message):
3191
+ pass
3192
+
3193
+
2976
3194
  class WorkspaceStub(betterproto.ServiceStub):
2977
3195
  async def activate_user(
2978
3196
  self,
@@ -3858,6 +4076,91 @@ class WorkspaceStub(betterproto.ServiceStub):
3858
4076
  metadata=metadata,
3859
4077
  )
3860
4078
 
4079
+ async def get_images(
4080
+ self,
4081
+ get_images_request: "GetImagesRequest",
4082
+ *,
4083
+ timeout: Optional[float] = None,
4084
+ deadline: Optional["Deadline"] = None,
4085
+ metadata: Optional["MetadataLike"] = None
4086
+ ) -> "GetImagesResponse":
4087
+ return await self._unary_unary(
4088
+ "/portal.v1.Workspace/GetImages",
4089
+ get_images_request,
4090
+ GetImagesResponse,
4091
+ timeout=timeout,
4092
+ deadline=deadline,
4093
+ metadata=metadata,
4094
+ )
4095
+
4096
+ async def get_image(
4097
+ self,
4098
+ get_image_request: "GetImageRequest",
4099
+ *,
4100
+ timeout: Optional[float] = None,
4101
+ deadline: Optional["Deadline"] = None,
4102
+ metadata: Optional["MetadataLike"] = None
4103
+ ) -> "GetImageResponse":
4104
+ return await self._unary_unary(
4105
+ "/portal.v1.Workspace/GetImage",
4106
+ get_image_request,
4107
+ GetImageResponse,
4108
+ timeout=timeout,
4109
+ deadline=deadline,
4110
+ metadata=metadata,
4111
+ )
4112
+
4113
+ async def update_image(
4114
+ self,
4115
+ update_image_request: "UpdateImageRequest",
4116
+ *,
4117
+ timeout: Optional[float] = None,
4118
+ deadline: Optional["Deadline"] = None,
4119
+ metadata: Optional["MetadataLike"] = None
4120
+ ) -> "UpdateImageResponse":
4121
+ return await self._unary_unary(
4122
+ "/portal.v1.Workspace/UpdateImage",
4123
+ update_image_request,
4124
+ UpdateImageResponse,
4125
+ timeout=timeout,
4126
+ deadline=deadline,
4127
+ metadata=metadata,
4128
+ )
4129
+
4130
+ async def delete_image(
4131
+ self,
4132
+ delete_image_request: "DeleteImageRequest",
4133
+ *,
4134
+ timeout: Optional[float] = None,
4135
+ deadline: Optional["Deadline"] = None,
4136
+ metadata: Optional["MetadataLike"] = None
4137
+ ) -> "DeleteImageResponse":
4138
+ return await self._unary_unary(
4139
+ "/portal.v1.Workspace/DeleteImage",
4140
+ delete_image_request,
4141
+ DeleteImageResponse,
4142
+ timeout=timeout,
4143
+ deadline=deadline,
4144
+ metadata=metadata,
4145
+ )
4146
+
4147
+ async def create_image(
4148
+ self,
4149
+ create_image_request: "CreateImageRequest",
4150
+ *,
4151
+ timeout: Optional[float] = None,
4152
+ deadline: Optional["Deadline"] = None,
4153
+ metadata: Optional["MetadataLike"] = None
4154
+ ) -> "CreateImageResponse":
4155
+ return await self._unary_unary(
4156
+ "/portal.v1.Workspace/CreateImage",
4157
+ create_image_request,
4158
+ CreateImageResponse,
4159
+ timeout=timeout,
4160
+ deadline=deadline,
4161
+ metadata=metadata,
4162
+ )
4163
+
3861
4164
  async def health(
3862
4165
  self,
3863
4166
  health_request: "HealthRequest",
@@ -4129,23 +4432,6 @@ class MaterializeStub(betterproto.ServiceStub):
4129
4432
  metadata=metadata,
4130
4433
  )
4131
4434
 
4132
- async def save_disk_materialization(
4133
- self,
4134
- save_disk_materialization_request: "SaveDiskMaterializationRequest",
4135
- *,
4136
- timeout: Optional[float] = None,
4137
- deadline: Optional["Deadline"] = None,
4138
- metadata: Optional["MetadataLike"] = None
4139
- ) -> "SaveDiskMaterializationResponse":
4140
- return await self._unary_unary(
4141
- "/portal.v1.Materialize/SaveDiskMaterialization",
4142
- save_disk_materialization_request,
4143
- SaveDiskMaterializationResponse,
4144
- timeout=timeout,
4145
- deadline=deadline,
4146
- metadata=metadata,
4147
- )
4148
-
4149
4435
  async def new_ingress(
4150
4436
  self,
4151
4437
  new_ingress_request: "NewIngressRequest",
@@ -5206,6 +5492,129 @@ class ArtifactStub(betterproto.ServiceStub):
5206
5492
  )
5207
5493
 
5208
5494
 
5495
+ class MergefsStub(betterproto.ServiceStub):
5496
+ async def artifact_deploy(
5497
+ self,
5498
+ mergefs_artifact_deploy_request: "MergefsArtifactDeployRequest",
5499
+ *,
5500
+ timeout: Optional[float] = None,
5501
+ deadline: Optional["Deadline"] = None,
5502
+ metadata: Optional["MetadataLike"] = None
5503
+ ) -> "MergefsArtifactDeployResponse":
5504
+ return await self._unary_unary(
5505
+ "/portal.v1.Mergefs/ArtifactDeploy",
5506
+ mergefs_artifact_deploy_request,
5507
+ MergefsArtifactDeployResponse,
5508
+ timeout=timeout,
5509
+ deadline=deadline,
5510
+ metadata=metadata,
5511
+ )
5512
+
5513
+
5514
+ class KeyValueStub(betterproto.ServiceStub):
5515
+ async def read_user_key(
5516
+ self,
5517
+ kv_user_read_request: "KvUserReadRequest",
5518
+ *,
5519
+ timeout: Optional[float] = None,
5520
+ deadline: Optional["Deadline"] = None,
5521
+ metadata: Optional["MetadataLike"] = None
5522
+ ) -> "KvUserReadResponse":
5523
+ return await self._unary_unary(
5524
+ "/portal.v1.KeyValue/ReadUserKey",
5525
+ kv_user_read_request,
5526
+ KvUserReadResponse,
5527
+ timeout=timeout,
5528
+ deadline=deadline,
5529
+ metadata=metadata,
5530
+ )
5531
+
5532
+ async def write_user_key(
5533
+ self,
5534
+ kv_user_update_request: "KvUserUpdateRequest",
5535
+ *,
5536
+ timeout: Optional[float] = None,
5537
+ deadline: Optional["Deadline"] = None,
5538
+ metadata: Optional["MetadataLike"] = None
5539
+ ) -> "KvUserUpdateResponse":
5540
+ return await self._unary_unary(
5541
+ "/portal.v1.KeyValue/WriteUserKey",
5542
+ kv_user_update_request,
5543
+ KvUserUpdateResponse,
5544
+ timeout=timeout,
5545
+ deadline=deadline,
5546
+ metadata=metadata,
5547
+ )
5548
+
5549
+ async def delete_user_key(
5550
+ self,
5551
+ kv_user_delete_request: "KvUserDeleteRequest",
5552
+ *,
5553
+ timeout: Optional[float] = None,
5554
+ deadline: Optional["Deadline"] = None,
5555
+ metadata: Optional["MetadataLike"] = None
5556
+ ) -> "KvUserDeleteResponse":
5557
+ return await self._unary_unary(
5558
+ "/portal.v1.KeyValue/DeleteUserKey",
5559
+ kv_user_delete_request,
5560
+ KvUserDeleteResponse,
5561
+ timeout=timeout,
5562
+ deadline=deadline,
5563
+ metadata=metadata,
5564
+ )
5565
+
5566
+ async def read_artifact_key(
5567
+ self,
5568
+ kv_artifact_read_request: "KvArtifactReadRequest",
5569
+ *,
5570
+ timeout: Optional[float] = None,
5571
+ deadline: Optional["Deadline"] = None,
5572
+ metadata: Optional["MetadataLike"] = None
5573
+ ) -> "KvArtifactReadResponse":
5574
+ return await self._unary_unary(
5575
+ "/portal.v1.KeyValue/ReadArtifactKey",
5576
+ kv_artifact_read_request,
5577
+ KvArtifactReadResponse,
5578
+ timeout=timeout,
5579
+ deadline=deadline,
5580
+ metadata=metadata,
5581
+ )
5582
+
5583
+ async def write_artifact_key(
5584
+ self,
5585
+ kv_artifact_update_request: "KvArtifactUpdateRequest",
5586
+ *,
5587
+ timeout: Optional[float] = None,
5588
+ deadline: Optional["Deadline"] = None,
5589
+ metadata: Optional["MetadataLike"] = None
5590
+ ) -> "KvArtifactUpdateResponse":
5591
+ return await self._unary_unary(
5592
+ "/portal.v1.KeyValue/WriteArtifactKey",
5593
+ kv_artifact_update_request,
5594
+ KvArtifactUpdateResponse,
5595
+ timeout=timeout,
5596
+ deadline=deadline,
5597
+ metadata=metadata,
5598
+ )
5599
+
5600
+ async def delete_artifact_key(
5601
+ self,
5602
+ kv_artifact_delete_request: "KvArtifactDeleteRequest",
5603
+ *,
5604
+ timeout: Optional[float] = None,
5605
+ deadline: Optional["Deadline"] = None,
5606
+ metadata: Optional["MetadataLike"] = None
5607
+ ) -> "KvArtifactDeleteResponse":
5608
+ return await self._unary_unary(
5609
+ "/portal.v1.KeyValue/DeleteArtifactKey",
5610
+ kv_artifact_delete_request,
5611
+ KvArtifactDeleteResponse,
5612
+ timeout=timeout,
5613
+ deadline=deadline,
5614
+ metadata=metadata,
5615
+ )
5616
+
5617
+
5209
5618
  class WorkspaceBase(ServiceBase):
5210
5619
 
5211
5620
  async def activate_user(
@@ -5468,6 +5877,31 @@ class WorkspaceBase(ServiceBase):
5468
5877
  ) -> "UpdateEntityTypeConfigurationsResponse":
5469
5878
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
5470
5879
 
5880
+ async def get_images(
5881
+ self, get_images_request: "GetImagesRequest"
5882
+ ) -> "GetImagesResponse":
5883
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
5884
+
5885
+ async def get_image(
5886
+ self, get_image_request: "GetImageRequest"
5887
+ ) -> "GetImageResponse":
5888
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
5889
+
5890
+ async def update_image(
5891
+ self, update_image_request: "UpdateImageRequest"
5892
+ ) -> "UpdateImageResponse":
5893
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
5894
+
5895
+ async def delete_image(
5896
+ self, delete_image_request: "DeleteImageRequest"
5897
+ ) -> "DeleteImageResponse":
5898
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
5899
+
5900
+ async def create_image(
5901
+ self, create_image_request: "CreateImageRequest"
5902
+ ) -> "CreateImageResponse":
5903
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
5904
+
5471
5905
  async def health(self, health_request: "HealthRequest") -> "HealthResponse":
5472
5906
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
5473
5907
 
@@ -5875,6 +6309,41 @@ class WorkspaceBase(ServiceBase):
5875
6309
  response = await self.update_entity_type_configurations(request)
5876
6310
  await stream.send_message(response)
5877
6311
 
6312
+ async def __rpc_get_images(
6313
+ self, stream: "grpclib.server.Stream[GetImagesRequest, GetImagesResponse]"
6314
+ ) -> None:
6315
+ request = await stream.recv_message()
6316
+ response = await self.get_images(request)
6317
+ await stream.send_message(response)
6318
+
6319
+ async def __rpc_get_image(
6320
+ self, stream: "grpclib.server.Stream[GetImageRequest, GetImageResponse]"
6321
+ ) -> None:
6322
+ request = await stream.recv_message()
6323
+ response = await self.get_image(request)
6324
+ await stream.send_message(response)
6325
+
6326
+ async def __rpc_update_image(
6327
+ self, stream: "grpclib.server.Stream[UpdateImageRequest, UpdateImageResponse]"
6328
+ ) -> None:
6329
+ request = await stream.recv_message()
6330
+ response = await self.update_image(request)
6331
+ await stream.send_message(response)
6332
+
6333
+ async def __rpc_delete_image(
6334
+ self, stream: "grpclib.server.Stream[DeleteImageRequest, DeleteImageResponse]"
6335
+ ) -> None:
6336
+ request = await stream.recv_message()
6337
+ response = await self.delete_image(request)
6338
+ await stream.send_message(response)
6339
+
6340
+ async def __rpc_create_image(
6341
+ self, stream: "grpclib.server.Stream[CreateImageRequest, CreateImageResponse]"
6342
+ ) -> None:
6343
+ request = await stream.recv_message()
6344
+ response = await self.create_image(request)
6345
+ await stream.send_message(response)
6346
+
5878
6347
  async def __rpc_health(
5879
6348
  self, stream: "grpclib.server.Stream[HealthRequest, HealthResponse]"
5880
6349
  ) -> None:
@@ -6196,6 +6665,36 @@ class WorkspaceBase(ServiceBase):
6196
6665
  UpdateEntityTypeConfigurationsRequest,
6197
6666
  UpdateEntityTypeConfigurationsResponse,
6198
6667
  ),
6668
+ "/portal.v1.Workspace/GetImages": grpclib.const.Handler(
6669
+ self.__rpc_get_images,
6670
+ grpclib.const.Cardinality.UNARY_UNARY,
6671
+ GetImagesRequest,
6672
+ GetImagesResponse,
6673
+ ),
6674
+ "/portal.v1.Workspace/GetImage": grpclib.const.Handler(
6675
+ self.__rpc_get_image,
6676
+ grpclib.const.Cardinality.UNARY_UNARY,
6677
+ GetImageRequest,
6678
+ GetImageResponse,
6679
+ ),
6680
+ "/portal.v1.Workspace/UpdateImage": grpclib.const.Handler(
6681
+ self.__rpc_update_image,
6682
+ grpclib.const.Cardinality.UNARY_UNARY,
6683
+ UpdateImageRequest,
6684
+ UpdateImageResponse,
6685
+ ),
6686
+ "/portal.v1.Workspace/DeleteImage": grpclib.const.Handler(
6687
+ self.__rpc_delete_image,
6688
+ grpclib.const.Cardinality.UNARY_UNARY,
6689
+ DeleteImageRequest,
6690
+ DeleteImageResponse,
6691
+ ),
6692
+ "/portal.v1.Workspace/CreateImage": grpclib.const.Handler(
6693
+ self.__rpc_create_image,
6694
+ grpclib.const.Cardinality.UNARY_UNARY,
6695
+ CreateImageRequest,
6696
+ CreateImageResponse,
6697
+ ),
6199
6698
  "/portal.v1.Workspace/Health": grpclib.const.Handler(
6200
6699
  self.__rpc_health,
6201
6700
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -6363,11 +6862,6 @@ class MaterializeBase(ServiceBase):
6363
6862
  ) -> "RebootMaterializationResponse":
6364
6863
  raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6365
6864
 
6366
- async def save_disk_materialization(
6367
- self, save_disk_materialization_request: "SaveDiskMaterializationRequest"
6368
- ) -> "SaveDiskMaterializationResponse":
6369
- raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
6370
-
6371
6865
  async def new_ingress(
6372
6866
  self, new_ingress_request: "NewIngressRequest"
6373
6867
  ) -> "NewIngressResponse":
@@ -6441,14 +6935,6 @@ class MaterializeBase(ServiceBase):
6441
6935
  response = await self.reboot_materialization(request)
6442
6936
  await stream.send_message(response)
6443
6937
 
6444
- async def __rpc_save_disk_materialization(
6445
- self,
6446
- stream: "grpclib.server.Stream[SaveDiskMaterializationRequest, SaveDiskMaterializationResponse]",
6447
- ) -> None:
6448
- request = await stream.recv_message()
6449
- response = await self.save_disk_materialization(request)
6450
- await stream.send_message(response)
6451
-
6452
6938
  async def __rpc_new_ingress(
6453
6939
  self, stream: "grpclib.server.Stream[NewIngressRequest, NewIngressResponse]"
6454
6940
  ) -> None:
@@ -6514,12 +7000,6 @@ class MaterializeBase(ServiceBase):
6514
7000
  RebootMaterializationRequest,
6515
7001
  RebootMaterializationResponse,
6516
7002
  ),
6517
- "/portal.v1.Materialize/SaveDiskMaterialization": grpclib.const.Handler(
6518
- self.__rpc_save_disk_materialization,
6519
- grpclib.const.Cardinality.UNARY_UNARY,
6520
- SaveDiskMaterializationRequest,
6521
- SaveDiskMaterializationResponse,
6522
- ),
6523
7003
  "/portal.v1.Materialize/NewIngress": grpclib.const.Handler(
6524
7004
  self.__rpc_new_ingress,
6525
7005
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -7674,3 +8154,147 @@ class ArtifactBase(ServiceBase):
7674
8154
  ArtifactQuotaListResponse,
7675
8155
  ),
7676
8156
  }
8157
+
8158
+
8159
+ class MergefsBase(ServiceBase):
8160
+
8161
+ async def artifact_deploy(
8162
+ self, mergefs_artifact_deploy_request: "MergefsArtifactDeployRequest"
8163
+ ) -> "MergefsArtifactDeployResponse":
8164
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8165
+
8166
+ async def __rpc_artifact_deploy(
8167
+ self,
8168
+ stream: "grpclib.server.Stream[MergefsArtifactDeployRequest, MergefsArtifactDeployResponse]",
8169
+ ) -> None:
8170
+ request = await stream.recv_message()
8171
+ response = await self.artifact_deploy(request)
8172
+ await stream.send_message(response)
8173
+
8174
+ def __mapping__(self) -> Dict[str, grpclib.const.Handler]:
8175
+ return {
8176
+ "/portal.v1.Mergefs/ArtifactDeploy": grpclib.const.Handler(
8177
+ self.__rpc_artifact_deploy,
8178
+ grpclib.const.Cardinality.UNARY_UNARY,
8179
+ MergefsArtifactDeployRequest,
8180
+ MergefsArtifactDeployResponse,
8181
+ ),
8182
+ }
8183
+
8184
+
8185
+ class KeyValueBase(ServiceBase):
8186
+
8187
+ async def read_user_key(
8188
+ self, kv_user_read_request: "KvUserReadRequest"
8189
+ ) -> "KvUserReadResponse":
8190
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8191
+
8192
+ async def write_user_key(
8193
+ self, kv_user_update_request: "KvUserUpdateRequest"
8194
+ ) -> "KvUserUpdateResponse":
8195
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8196
+
8197
+ async def delete_user_key(
8198
+ self, kv_user_delete_request: "KvUserDeleteRequest"
8199
+ ) -> "KvUserDeleteResponse":
8200
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8201
+
8202
+ async def read_artifact_key(
8203
+ self, kv_artifact_read_request: "KvArtifactReadRequest"
8204
+ ) -> "KvArtifactReadResponse":
8205
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8206
+
8207
+ async def write_artifact_key(
8208
+ self, kv_artifact_update_request: "KvArtifactUpdateRequest"
8209
+ ) -> "KvArtifactUpdateResponse":
8210
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8211
+
8212
+ async def delete_artifact_key(
8213
+ self, kv_artifact_delete_request: "KvArtifactDeleteRequest"
8214
+ ) -> "KvArtifactDeleteResponse":
8215
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
8216
+
8217
+ async def __rpc_read_user_key(
8218
+ self, stream: "grpclib.server.Stream[KvUserReadRequest, KvUserReadResponse]"
8219
+ ) -> None:
8220
+ request = await stream.recv_message()
8221
+ response = await self.read_user_key(request)
8222
+ await stream.send_message(response)
8223
+
8224
+ async def __rpc_write_user_key(
8225
+ self, stream: "grpclib.server.Stream[KvUserUpdateRequest, KvUserUpdateResponse]"
8226
+ ) -> None:
8227
+ request = await stream.recv_message()
8228
+ response = await self.write_user_key(request)
8229
+ await stream.send_message(response)
8230
+
8231
+ async def __rpc_delete_user_key(
8232
+ self, stream: "grpclib.server.Stream[KvUserDeleteRequest, KvUserDeleteResponse]"
8233
+ ) -> None:
8234
+ request = await stream.recv_message()
8235
+ response = await self.delete_user_key(request)
8236
+ await stream.send_message(response)
8237
+
8238
+ async def __rpc_read_artifact_key(
8239
+ self,
8240
+ stream: "grpclib.server.Stream[KvArtifactReadRequest, KvArtifactReadResponse]",
8241
+ ) -> None:
8242
+ request = await stream.recv_message()
8243
+ response = await self.read_artifact_key(request)
8244
+ await stream.send_message(response)
8245
+
8246
+ async def __rpc_write_artifact_key(
8247
+ self,
8248
+ stream: "grpclib.server.Stream[KvArtifactUpdateRequest, KvArtifactUpdateResponse]",
8249
+ ) -> None:
8250
+ request = await stream.recv_message()
8251
+ response = await self.write_artifact_key(request)
8252
+ await stream.send_message(response)
8253
+
8254
+ async def __rpc_delete_artifact_key(
8255
+ self,
8256
+ stream: "grpclib.server.Stream[KvArtifactDeleteRequest, KvArtifactDeleteResponse]",
8257
+ ) -> None:
8258
+ request = await stream.recv_message()
8259
+ response = await self.delete_artifact_key(request)
8260
+ await stream.send_message(response)
8261
+
8262
+ def __mapping__(self) -> Dict[str, grpclib.const.Handler]:
8263
+ return {
8264
+ "/portal.v1.KeyValue/ReadUserKey": grpclib.const.Handler(
8265
+ self.__rpc_read_user_key,
8266
+ grpclib.const.Cardinality.UNARY_UNARY,
8267
+ KvUserReadRequest,
8268
+ KvUserReadResponse,
8269
+ ),
8270
+ "/portal.v1.KeyValue/WriteUserKey": grpclib.const.Handler(
8271
+ self.__rpc_write_user_key,
8272
+ grpclib.const.Cardinality.UNARY_UNARY,
8273
+ KvUserUpdateRequest,
8274
+ KvUserUpdateResponse,
8275
+ ),
8276
+ "/portal.v1.KeyValue/DeleteUserKey": grpclib.const.Handler(
8277
+ self.__rpc_delete_user_key,
8278
+ grpclib.const.Cardinality.UNARY_UNARY,
8279
+ KvUserDeleteRequest,
8280
+ KvUserDeleteResponse,
8281
+ ),
8282
+ "/portal.v1.KeyValue/ReadArtifactKey": grpclib.const.Handler(
8283
+ self.__rpc_read_artifact_key,
8284
+ grpclib.const.Cardinality.UNARY_UNARY,
8285
+ KvArtifactReadRequest,
8286
+ KvArtifactReadResponse,
8287
+ ),
8288
+ "/portal.v1.KeyValue/WriteArtifactKey": grpclib.const.Handler(
8289
+ self.__rpc_write_artifact_key,
8290
+ grpclib.const.Cardinality.UNARY_UNARY,
8291
+ KvArtifactUpdateRequest,
8292
+ KvArtifactUpdateResponse,
8293
+ ),
8294
+ "/portal.v1.KeyValue/DeleteArtifactKey": grpclib.const.Handler(
8295
+ self.__rpc_delete_artifact_key,
8296
+ grpclib.const.Cardinality.UNARY_UNARY,
8297
+ KvArtifactDeleteRequest,
8298
+ KvArtifactDeleteResponse,
8299
+ ),
8300
+ }
@@ -841,6 +841,11 @@ class FacilityProperties(betterproto.Message):
841
841
  what the default rlz tag constraint should be when using the facility
842
842
  """
843
843
 
844
+ custom_image_support: bool = betterproto.bool_field(3)
845
+ """Non-key-value properties"""
846
+
847
+ standard_images: List[str] = betterproto.string_field(4)
848
+
844
849
 
845
850
  @dataclass(eq=False, repr=False)
846
851
  class Proc(betterproto.Message):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mergetbapi
3
- Version: 1.3.26
3
+ Version: 1.3.28
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