malevich-coretools 0.3.68__tar.gz → 0.3.70__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.

Potentially problematic release.


This version of malevich-coretools might be problematic. Click here for more details.

Files changed (40) hide show
  1. {malevich_coretools-0.3.68/malevich_coretools.egg-info → malevich_coretools-0.3.70}/PKG-INFO +1 -1
  2. malevich_coretools-0.3.70/VERSION +1 -0
  3. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/abstract/abstract.py +12 -0
  4. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/abstract/pipeline.py +2 -0
  5. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/funcs/funcs.py +97 -6
  6. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/secondary/const.py +8 -1
  7. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/utils.py +528 -4
  8. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70/malevich_coretools.egg-info}/PKG-INFO +1 -1
  9. malevich_coretools-0.3.68/VERSION +0 -1
  10. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/LICENSE +0 -0
  11. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/MANIFEST.in +0 -0
  12. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/README.md +0 -0
  13. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/__init__.py +0 -0
  14. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/abstract/__init__.py +0 -0
  15. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/abstract/operations.py +0 -0
  16. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/abstract/statuses.py +0 -0
  17. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/admin/__init__.py +0 -0
  18. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/admin/utils.py +0 -0
  19. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/batch/__init__.py +0 -0
  20. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/batch/utils.py +0 -0
  21. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/dm_utils.py +0 -0
  22. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/funcs/__init__.py +0 -0
  23. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/funcs/checks.py +0 -0
  24. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/funcs/dm_funcs.py +0 -0
  25. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/funcs/helpers.py +0 -0
  26. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/secondary/__init__.py +0 -0
  27. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/secondary/config.py +0 -0
  28. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/secondary/helpers.py +0 -0
  29. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/secondary/kafka_utils.py +0 -0
  30. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/tools/__init__.py +0 -0
  31. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/tools/abstract.py +0 -0
  32. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools/tools/vast.py +0 -0
  33. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools.egg-info/SOURCES.txt +0 -0
  34. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools.egg-info/dependency_links.txt +0 -0
  35. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools.egg-info/requires.txt +0 -0
  36. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/malevich_coretools.egg-info/top_level.txt +0 -0
  37. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/pyproject.toml +0 -0
  38. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/requirements.txt +0 -0
  39. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/setup.cfg +0 -0
  40. {malevich_coretools-0.3.68 → malevich_coretools-0.3.70}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: malevich-coretools
3
- Version: 0.3.68
3
+ Version: 0.3.70
4
4
  Author: Andrew Pogrebnoj
5
5
  Author-email: andrew@onjulius.co
6
6
  License-File: LICENSE
@@ -0,0 +1 @@
1
+ 0.3.70
@@ -133,6 +133,14 @@ class KeysValues(Operation):
133
133
  data: Dict[str, str]
134
134
 
135
135
 
136
+ class Keys(BaseModel):
137
+ data: Dict[str, str]
138
+
139
+
140
+ class Statuses(BaseModel):
141
+ data: Dict[str, str] # key - runId, value - one of: IN_PROGRESS, SUCCESS, FAILED
142
+
143
+
136
144
  class ScaleInfo(BaseModel):
137
145
  taskId: Optional[Alias.Id] = None
138
146
  appId: Alias.Id
@@ -254,6 +262,10 @@ class ResultIds(BaseModel):
254
262
  ids: List[Alias.Id]
255
263
 
256
264
 
265
+ class ResultNames(BaseModel):
266
+ names: List[str]
267
+
268
+
257
269
  class FilesDirs(BaseModel):
258
270
  files: Dict[str, int]
259
271
  directories: List[str]
@@ -101,6 +101,8 @@ class AppEntity(BaseModel):
101
101
  image: JsonImage
102
102
  platform: str = "base"
103
103
  platformSettings: Optional[str] = None
104
+ requestedKeys: Optional[list[str]] = None # user secret keys
105
+ optionalKeys: Optional[list[str]] = None # user secret keys
104
106
 
105
107
  def internal(self) -> None:
106
108
  assert self.conditions is None or self.conditionsStructure is None, "should be set not more, than one of (conditions, conditionsStructure)"
@@ -531,6 +531,39 @@ def get_ping(*args, **kwargs) -> Alias.Info:
531
531
  async def get_ping_async(*args, **kwargs) -> Alias.Info:
532
532
  return await send_to_core_get_async(PING, *args, **kwargs, is_text=True)
533
533
 
534
+
535
+ def get_secret_keys(*args, **kwargs) -> ResultNames:
536
+ return model_from_json(send_to_core_get(SECRET_KEYS_MAIN, *args, **kwargs), ResultNames)
537
+
538
+
539
+ async def get_secret_keys_async(*args, **kwargs) -> ResultNames:
540
+ return model_from_json(await send_to_core_get_async(SECRET_KEYS_MAIN, *args, **kwargs), ResultNames)
541
+
542
+
543
+ def post_secret_keys_name(name: str, wait: bool, *args, **kwargs) -> Alias.Info:
544
+ return send_to_core_modify(SECRET_KEYS_NAME(name, wait), *args, **kwargs)
545
+
546
+
547
+ async def post_secret_keys_name_async(name: str, wait: bool, *args, **kwargs) -> Alias.Info:
548
+ return await send_to_core_modify_async(SECRET_KEYS_NAME(name, wait), *args, **kwargs)
549
+
550
+
551
+ def delete_secret_keys_name(name: str, wait: bool, *args, **kwargs) -> Alias.Info:
552
+ return send_to_core_modify(SECRET_KEYS_NAME(name, wait), *args, **kwargs, is_post=False)
553
+
554
+
555
+ async def delete_secret_keys_name_async(name: str, wait: bool, *args, **kwargs) -> Alias.Info:
556
+ return await send_to_core_modify_async(SECRET_KEYS_NAME(name, wait), *args, **kwargs, is_post=False)
557
+
558
+
559
+ def delete_secret_keys(wait: bool, *args, **kwargs) -> Alias.Info:
560
+ return send_to_core_modify(SECRET_KEYS_ALL(wait), *args, **kwargs, is_post=False)
561
+
562
+
563
+ async def delete_secret_keys_async(wait: bool, *args, **kwargs) -> Alias.Info:
564
+ return await send_to_core_modify_async(SECRET_KEYS_ALL(wait), *args, **kwargs, is_post=False)
565
+
566
+
534
567
  # UserShareController
535
568
 
536
569
 
@@ -681,6 +714,47 @@ async def delete_register_login_async(login: str, wait: bool, *args, **kwargs) -
681
714
  Config.logger.info(info)
682
715
  return info
683
716
 
717
+
718
+ def get_register_keys(*args, **kwargs) -> Keys:
719
+ return model_from_json(send_to_core_get(REGISTER_KEYS(None), *args, **kwargs), Keys)
720
+
721
+
722
+ async def get_register_keys_async(*args, **kwargs) -> Keys:
723
+ return model_from_json(await send_to_core_get_async(REGISTER_KEYS(None), *args, **kwargs), Keys)
724
+
725
+
726
+ def get_register_keys_name(name: str, *args, **kwargs) -> str:
727
+ return send_to_core_get(REGISTER_KEYS_NAME(name, None), *args, **kwargs, is_text=True)
728
+
729
+
730
+ async def get_register_keys_name_async(name: str, *args, **kwargs) -> str:
731
+ return await send_to_core_get_async(REGISTER_KEYS_NAME(name, None), *args, **kwargs, is_text=True)
732
+
733
+
734
+ def post_register_keys(data: Keys, wait: bool, *args, **kwargs) -> Alias.Info:
735
+ return send_to_core_modify(REGISTER_KEYS(wait), data, *args, **kwargs)
736
+
737
+
738
+ async def post_register_keys_async(data: Keys, wait: bool, *args, **kwargs) -> Alias.Info:
739
+ return await send_to_core_modify_async(REGISTER_KEYS(wait), data, *args, **kwargs)
740
+
741
+
742
+ def delete_register_keys_name(name: str, wait: bool, *args, **kwargs) -> Alias.Info:
743
+ return send_to_core_modify(REGISTER_KEYS_NAME(name, wait), *args, **kwargs, is_post=False)
744
+
745
+
746
+ async def delete_register_keys_name_async(name: str, wait: bool, *args, **kwargs) -> Alias.Info:
747
+ return await send_to_core_modify_async(REGISTER_KEYS_NAME(name, wait), *args, **kwargs, is_post=False)
748
+
749
+
750
+ def delete_register_keys(wait: bool, *args, **kwargs) -> Alias.Info:
751
+ return send_to_core_modify(REGISTER_KEYS(wait), *args, **kwargs, is_post=False)
752
+
753
+
754
+ async def delete_register_keys_async(wait: bool, *args, **kwargs) -> Alias.Info:
755
+ return await send_to_core_modify_async(REGISTER_KEYS(wait), *args, **kwargs, is_post=False)
756
+
757
+
684
758
  # UserAppsController
685
759
 
686
760
 
@@ -1070,20 +1144,20 @@ async def get_run_condition_async(id: str, *args, **kwargs) -> Condition:
1070
1144
  return model_from_json(await send_to_core_get_async(TEMP_RUN_CONDITION(id), *args, **kwargs), Condition)
1071
1145
 
1072
1146
 
1073
- def get_run_activeRuns(*args, **kwargs) -> ResultIds:
1074
- return model_from_json(send_to_core_get(TEMP_RUN_ACTIVE_RUNS, *args, **kwargs), ResultIds)
1147
+ def get_run_activeRuns(id: Optional[str], *args, **kwargs) -> ResultIds:
1148
+ return model_from_json(send_to_core_get(TEMP_RUN_ACTIVE_RUNS(id), *args, **kwargs), ResultIds)
1075
1149
 
1076
1150
 
1077
- async def get_run_activeRuns_async(*args, **kwargs) -> ResultIds:
1078
- return model_from_json(await send_to_core_get_async(TEMP_RUN_ACTIVE_RUNS, *args, **kwargs), ResultIds)
1151
+ async def get_run_activeRuns_async(id: Optional[str], *args, **kwargs) -> ResultIds:
1152
+ return model_from_json(await send_to_core_get_async(TEMP_RUN_ACTIVE_RUNS(id), *args, **kwargs), ResultIds)
1079
1153
 
1080
1154
 
1081
1155
  def post_run_activeRuns(data: RunsFilter, *args, **kwargs) -> Union[ResultIds, ResultTags]:
1082
- return model_from_json(send_to_core_modify(TEMP_RUN_ACTIVE_RUNS, data, *args, **kwargs), ResultTags if data.withTags else ResultIds)
1156
+ return model_from_json(send_to_core_modify(TEMP_RUN_ACTIVE_RUNS(None), data, *args, **kwargs), ResultTags if data.withTags else ResultIds)
1083
1157
 
1084
1158
 
1085
1159
  async def post_run_activeRuns_async(data: RunsFilter, *args, **kwargs) -> Union[ResultIds, ResultTags]:
1086
- return model_from_json(await send_to_core_modify_async(TEMP_RUN_ACTIVE_RUNS, data, *args, **kwargs), ResultTags if data.withTags else ResultIds)
1160
+ return model_from_json(await send_to_core_modify_async(TEMP_RUN_ACTIVE_RUNS(None), data, *args, **kwargs), ResultTags if data.withTags else ResultIds)
1087
1161
 
1088
1162
 
1089
1163
  def get_run_mainTaskCfg(id: str, *args, **kwargs) -> MainTaskCfg:
@@ -1109,6 +1183,23 @@ def get_run_operationsIds(task_id: str, cfg_id: Optional[str]=None, *args, **kwa
1109
1183
  async def get_run_operationsIds_async(task_id: str, cfg_id: Optional[str]=None, *args, **kwargs) -> ResultIds:
1110
1184
  return model_from_json(await send_to_core_get_async(TEMP_RUN_OPERATIONS_IDS(task_id, cfg_id), *args, **kwargs), ResultIds)
1111
1185
 
1186
+
1187
+ def get_run_statuses(id: str, *args, **kwargs) -> Statuses:
1188
+ return model_from_json(send_to_core_get(TEMP_RUN_STATUSES(id), *args, **kwargs), Statuses)
1189
+
1190
+
1191
+ async def get_run_statuses_async(id: str, *args, **kwargs) -> Statuses:
1192
+ return model_from_json(await send_to_core_get_async(TEMP_RUN_STATUSES(id), *args, **kwargs), Statuses)
1193
+
1194
+
1195
+ def get_run_status(id: str, run_id: str, *args, **kwargs) -> str:
1196
+ return send_to_core_get(TEMP_RUN_STATUS(id, run_id), *args, **kwargs, is_text=True)
1197
+
1198
+
1199
+ async def get_run_status_async(id: str, run_id: str, *args, **kwargs) -> str:
1200
+ return await send_to_core_get_async(TEMP_RUN_STATUS(id, run_id), *args, **kwargs, is_text=True)
1201
+
1202
+
1112
1203
  # AdminController
1113
1204
 
1114
1205
 
@@ -97,6 +97,9 @@ PING = "ping"
97
97
  # MAPPING = lambda wait: with_wait(f"{COMMON_MAIN}/mapping", wait)
98
98
  # MAPPING_ID = lambda id, wait: with_wait(f"{COMMON_MAIN}/mapping/{urllib.parse.quote(str(id), safe='')}", wait)
99
99
  # COMMON_ALL = lambda wait: with_wait(f"{COMMON_MAIN}/all", wait)
100
+ SECRET_KEYS_MAIN = f"{API_VERSION}/secretKeys"
101
+ SECRET_KEYS_NAME = lambda name, wait: with_wait(f"{SECRET_KEYS_MAIN}/name/{urllib.parse.quote(str(name), safe='')}", wait)
102
+ SECRET_KEYS_ALL = lambda wait: with_wait(f"{SECRET_KEYS_MAIN}/all", wait)
100
103
 
101
104
  ## UserShareController
102
105
  SHARE_MAIN = f"{API_VERSION}/share"
@@ -112,6 +115,8 @@ REGISTER_MAIN = f"{API_VERSION}/register"
112
115
  REGISTER = REGISTER_MAIN
113
116
  REGISTER_LOGIN = lambda login, wait: with_wait(f"{REGISTER_MAIN}/login/{urllib.parse.quote(str(login), safe='')}", wait)
114
117
  REGISTER_ALL = f"{REGISTER_MAIN}/all"
118
+ REGISTER_KEYS = lambda wait: with_wait(f"{REGISTER_MAIN}/keys", wait)
119
+ REGISTER_KEYS_NAME = lambda name, wait: with_wait(f"{REGISTER_MAIN}/keys/{urllib.parse.quote(str(name), safe='')}", wait)
115
120
 
116
121
  ## UserAppsController
117
122
  USER_APPS_MAIN = f"{API_VERSION}/userApps"
@@ -159,10 +164,12 @@ OPERATION_RESULTS_ID = lambda id, wait: with_wait(f"{OPERATION_RESULTS_MAIN}/{ur
159
164
  ## TempRunController
160
165
  TEMP_RUN_MAIN = f"{API_VERSION}/run"
161
166
  TEMP_RUN_CONDITION = lambda operationId: f"{TEMP_RUN_MAIN}/condition/{urllib.parse.quote(str(operationId), safe='')}"
162
- TEMP_RUN_ACTIVE_RUNS = f"{TEMP_RUN_MAIN}/activeRuns"
167
+ TEMP_RUN_ACTIVE_RUNS = lambda operationId: with_key_values(f"{TEMP_RUN_MAIN}/activeRuns", {"operationId": operationId})
163
168
  TEMP_RUN_MAIN_TASK_CFG = lambda operationId: f"{TEMP_RUN_MAIN}/mainTaskCfg/{urllib.parse.quote(str(operationId), safe='')}"
164
169
  TEMP_RUN_MAIN_PIPELINE_CFG = lambda operationId: f"{TEMP_RUN_MAIN}/mainPipelineCfg/{urllib.parse.quote(str(operationId), safe='')}"
165
170
  TEMP_RUN_OPERATIONS_IDS = lambda taskId, cfgId: f"{TEMP_RUN_MAIN}/operationsIds/{urllib.parse.quote(str(taskId), safe='')}" if cfgId is None else f"{TEMP_RUN_MAIN}/operationsIds/{urllib.parse.quote(str(taskId), safe='')}/{urllib.parse.quote(str(cfgId), safe='')}"
171
+ TEMP_RUN_STATUSES = lambda operationId: f"{TEMP_RUN_MAIN}/statuses/{urllib.parse.quote(str(operationId), safe='')}"
172
+ TEMP_RUN_STATUS = lambda operationId, runId: f"{TEMP_RUN_MAIN}/statuses/{urllib.parse.quote(str(operationId), safe='')}/{urllib.parse.quote(str(runId), safe='')}"
166
173
 
167
174
  ## AdminController
168
175
  ADMIN_MAIN = f"{API_VERSION}/admin"
@@ -3133,6 +3133,202 @@ def ping(
3133
3133
  return f.get_ping_async(with_auth=False, conn_url=conn_url)
3134
3134
  return f.get_ping(with_auth=False, conn_url=conn_url)
3135
3135
 
3136
+
3137
+ @overload
3138
+ def get_secret_keys(
3139
+ *,
3140
+ auth: Optional[AUTH] = None,
3141
+ conn_url: Optional[str] = None,
3142
+ batcher: Optional[Batcher] = None,
3143
+ is_async: Literal[False] = False,
3144
+ ) -> Coroutine[Any, Any, ResultNames]:
3145
+ pass
3146
+
3147
+
3148
+ @overload
3149
+ def get_secret_keys(
3150
+ *,
3151
+ auth: Optional[AUTH] = None,
3152
+ conn_url: Optional[str] = None,
3153
+ batcher: Optional[Batcher] = None,
3154
+ is_async: Literal[False] = False,
3155
+ ) -> ResultNames:
3156
+ pass
3157
+
3158
+
3159
+ def get_secret_keys(
3160
+ *,
3161
+ auth: Optional[AUTH] = None,
3162
+ conn_url: Optional[str] = None,
3163
+ batcher: Optional[Batcher] = None,
3164
+ is_async: bool = False,
3165
+ ) -> Union[ResultNames, Coroutine[Any, Any, ResultNames]]:
3166
+ if batcher is None:
3167
+ batcher = Config.BATCHER
3168
+ if batcher is not None:
3169
+ return batcher.add("getSecretKeys", result_model=ResultNames)
3170
+ if is_async:
3171
+ return f.get_secret_keys_async(auth=auth, conn_url=conn_url)
3172
+ return f.get_secret_keys(auth=auth, conn_url=conn_url)
3173
+
3174
+
3175
+ @overload
3176
+ def create_secret_key(
3177
+ name: str,
3178
+ wait: bool = True,
3179
+ *,
3180
+ auth: Optional[AUTH] = None,
3181
+ conn_url: Optional[str] = None,
3182
+ batcher: Optional[Batcher] = None,
3183
+ is_async: Literal[False] = False,
3184
+ ) -> Alias.Info:
3185
+ pass
3186
+
3187
+
3188
+ @overload
3189
+ def create_secret_key(
3190
+ name: str,
3191
+ wait: bool = True,
3192
+ *,
3193
+ auth: Optional[AUTH] = None,
3194
+ conn_url: Optional[str] = None,
3195
+ batcher: Optional[Batcher] = None,
3196
+ is_async: Literal[True],
3197
+ ) -> Coroutine[Any, Any, Alias.Info]:
3198
+ pass
3199
+
3200
+
3201
+ def create_secret_key(
3202
+ name: str,
3203
+ wait: bool = True,
3204
+ *,
3205
+ auth: Optional[AUTH] = None,
3206
+ conn_url: Optional[str] = None,
3207
+ batcher: Optional[Batcher] = None,
3208
+ is_async: bool = False,
3209
+ ) -> Union[Alias.Info, Coroutine[Any, Any, Alias.Info]]:
3210
+ if batcher is None:
3211
+ batcher = Config.BATCHER
3212
+ if batcher is not None:
3213
+ return batcher.add("postSecretKeysByName", vars={"name": name})
3214
+ if is_async:
3215
+ return f.post_secret_keys_name_async(
3216
+ name,
3217
+ wait=wait,
3218
+ auth=auth,
3219
+ conn_url=conn_url,
3220
+ )
3221
+ return f.post_secret_keys_name(
3222
+ name,
3223
+ wait=wait,
3224
+ auth=auth,
3225
+ conn_url=conn_url,
3226
+ )
3227
+
3228
+
3229
+ @overload
3230
+ def delete_secret_key(
3231
+ name: str,
3232
+ wait: bool = True,
3233
+ *,
3234
+ auth: Optional[AUTH] = None,
3235
+ conn_url: Optional[str] = None,
3236
+ batcher: Optional[Batcher] = None,
3237
+ is_async: Literal[False] = False,
3238
+ ) -> Alias.Info:
3239
+ pass
3240
+
3241
+
3242
+ @overload
3243
+ def delete_secret_key(
3244
+ name: str,
3245
+ wait: bool = True,
3246
+ *,
3247
+ auth: Optional[AUTH] = None,
3248
+ conn_url: Optional[str] = None,
3249
+ batcher: Optional[Batcher] = None,
3250
+ is_async: Literal[True],
3251
+ ) -> Coroutine[Any, Any, Alias.Info]:
3252
+ pass
3253
+
3254
+
3255
+ def delete_secret_key(
3256
+ name: str,
3257
+ wait: bool = True,
3258
+ *,
3259
+ auth: Optional[AUTH] = None,
3260
+ conn_url: Optional[str] = None,
3261
+ batcher: Optional[Batcher] = None,
3262
+ is_async: bool = False,
3263
+ ) -> Union[Alias.Info, Coroutine[Any, Any, Alias.Info]]:
3264
+ if batcher is None:
3265
+ batcher = Config.BATCHER
3266
+ if batcher is not None:
3267
+ return batcher.add("deleteSecretKeysByName", vars={"name": name})
3268
+ if is_async:
3269
+ return f.delete_secret_keys_name_async(
3270
+ name,
3271
+ wait=wait,
3272
+ auth=auth,
3273
+ conn_url=conn_url,
3274
+ )
3275
+ return f.delete_secret_keys_name(
3276
+ name,
3277
+ wait=wait,
3278
+ auth=auth,
3279
+ conn_url=conn_url,
3280
+ )
3281
+
3282
+
3283
+ @overload
3284
+ def delete_secret_keys(
3285
+ wait: bool = True,
3286
+ *,
3287
+ auth: Optional[AUTH] = None,
3288
+ conn_url: Optional[str] = None,
3289
+ batcher: Optional[Batcher] = None,
3290
+ is_async: Literal[False] = False,
3291
+ ) -> Alias.Info:
3292
+ pass
3293
+
3294
+
3295
+ @overload
3296
+ def delete_secret_keys(
3297
+ wait: bool = True,
3298
+ *,
3299
+ auth: Optional[AUTH] = None,
3300
+ conn_url: Optional[str] = None,
3301
+ batcher: Optional[Batcher] = None,
3302
+ is_async: Literal[True],
3303
+ ) -> Coroutine[Any, Any, Alias.Info]:
3304
+ pass
3305
+
3306
+
3307
+ def delete_secret_keys(
3308
+ wait: bool = True,
3309
+ *,
3310
+ auth: Optional[AUTH] = None,
3311
+ conn_url: Optional[str] = None,
3312
+ batcher: Optional[Batcher] = None,
3313
+ is_async: bool = False,
3314
+ ) -> Union[Alias.Info, Coroutine[Any, Any, Alias.Info]]:
3315
+ if batcher is None:
3316
+ batcher = Config.BATCHER
3317
+ if batcher is not None:
3318
+ return batcher.add("deleteSecretKeys")
3319
+ if is_async:
3320
+ return f.delete_secret_keys_async(
3321
+ wait=wait,
3322
+ auth=auth,
3323
+ conn_url=conn_url,
3324
+ )
3325
+ return f.delete_secret_keys(
3326
+ wait=wait,
3327
+ auth=auth,
3328
+ conn_url=conn_url,
3329
+ )
3330
+
3331
+
3136
3332
  # UserShare
3137
3333
 
3138
3334
 
@@ -3891,6 +4087,243 @@ def delete_user(
3891
4087
  return f.delete_register(auth=auth, conn_url=conn_url)
3892
4088
 
3893
4089
 
4090
+ @overload
4091
+ def get_user_keys(
4092
+ *,
4093
+ auth: Optional[AUTH] = None,
4094
+ conn_url: Optional[str] = None,
4095
+ batcher: Optional[Batcher] = None,
4096
+ is_async: Literal[False] = False,
4097
+ ) -> Keys:
4098
+ pass
4099
+
4100
+
4101
+ @overload
4102
+ def get_user_keys(
4103
+ *,
4104
+ auth: Optional[AUTH] = None,
4105
+ conn_url: Optional[str] = None,
4106
+ batcher: Optional[Batcher] = None,
4107
+ is_async: Literal[True],
4108
+ ) -> Coroutine[Any, Any, Keys]:
4109
+ pass
4110
+
4111
+
4112
+ def get_user_keys(
4113
+ *,
4114
+ auth: Optional[AUTH] = None,
4115
+ conn_url: Optional[str] = None,
4116
+ batcher: Optional[Batcher] = None,
4117
+ is_async: bool = False,
4118
+ ) -> Union[Keys, Coroutine[Any, Any, Keys]]:
4119
+ if batcher is None:
4120
+ batcher = Config.BATCHER
4121
+ if batcher is not None:
4122
+ return batcher.add("getKeys", result_model=Keys)
4123
+ if is_async:
4124
+ return f.get_register_keys_async(auth=auth, conn_url=conn_url)
4125
+ return f.get_register_keys(auth=auth, conn_url=conn_url)
4126
+
4127
+
4128
+ @overload
4129
+ def get_user_key(
4130
+ name: str,
4131
+ *,
4132
+ auth: Optional[AUTH] = None,
4133
+ conn_url: Optional[str] = None,
4134
+ batcher: Optional[Batcher] = None,
4135
+ is_async: Literal[False] = False,
4136
+ ) -> str:
4137
+ pass
4138
+
4139
+
4140
+ @overload
4141
+ def get_user_key(
4142
+ name: str,
4143
+ *,
4144
+ auth: Optional[AUTH] = None,
4145
+ conn_url: Optional[str] = None,
4146
+ batcher: Optional[Batcher] = None,
4147
+ is_async: Literal[True],
4148
+ ) -> Coroutine[Any, Any, str]:
4149
+ pass
4150
+
4151
+
4152
+ def get_user_key(
4153
+ name: str,
4154
+ *,
4155
+ auth: Optional[AUTH] = None,
4156
+ conn_url: Optional[str] = None,
4157
+ batcher: Optional[Batcher] = None,
4158
+ is_async: bool = False,
4159
+ ) -> Union[str, Coroutine[Any, Any, str]]:
4160
+ if batcher is None:
4161
+ batcher = Config.BATCHER
4162
+ if batcher is not None:
4163
+ return batcher.add("getKeysByName", vars={"name": name})
4164
+ if is_async:
4165
+ return f.get_register_keys_name_async(name, auth=auth, conn_url=conn_url)
4166
+ return f.get_register_keys_name(name, auth=auth, conn_url=conn_url)
4167
+
4168
+
4169
+ @overload
4170
+ def update_user_keys(
4171
+ keys: Dict[str, str],
4172
+ wait: bool = True,
4173
+ *,
4174
+ auth: Optional[AUTH] = None,
4175
+ conn_url: Optional[str] = None,
4176
+ batcher: Optional[Batcher] = None,
4177
+ is_async: Literal[False] = False,
4178
+ ) -> Alias.Info:
4179
+ pass
4180
+
4181
+
4182
+ @overload
4183
+ def update_user_keys(
4184
+ keys: Dict[str, str],
4185
+ wait: bool = True,
4186
+ *,
4187
+ auth: Optional[AUTH] = None,
4188
+ conn_url: Optional[str] = None,
4189
+ batcher: Optional[Batcher] = None,
4190
+ is_async: Literal[True],
4191
+ ) -> Coroutine[Any, Any, Alias.Info]:
4192
+ pass
4193
+
4194
+
4195
+ def update_user_keys(
4196
+ keys: Dict[str, str],
4197
+ wait: bool = True,
4198
+ *,
4199
+ auth: Optional[AUTH] = None,
4200
+ conn_url: Optional[str] = None,
4201
+ batcher: Optional[Batcher] = None,
4202
+ is_async: bool = False,
4203
+ ) -> Union[Alias.Info, Coroutine[Any, Any, Alias.Info]]:
4204
+ if batcher is None:
4205
+ batcher = Config.BATCHER
4206
+ data = Keys(data=keys)
4207
+ if batcher is not None:
4208
+ return batcher.add("postKeys", data=data)
4209
+ if is_async:
4210
+ return f.post_register_keys_async(
4211
+ data,
4212
+ wait=wait,
4213
+ auth=auth,
4214
+ conn_url=conn_url,
4215
+ )
4216
+ return f.post_register_keys(
4217
+ data,
4218
+ wait=wait,
4219
+ auth=auth,
4220
+ conn_url=conn_url,
4221
+ )
4222
+
4223
+
4224
+ @overload
4225
+ def delete_user_key(
4226
+ name: str,
4227
+ wait: bool = True,
4228
+ *,
4229
+ auth: Optional[AUTH] = None,
4230
+ conn_url: Optional[str] = None,
4231
+ batcher: Optional[Batcher] = None,
4232
+ is_async: Literal[False] = False,
4233
+ ) -> Alias.Info:
4234
+ pass
4235
+
4236
+
4237
+ @overload
4238
+ def delete_user_key(
4239
+ name: str,
4240
+ wait: bool = True,
4241
+ *,
4242
+ auth: Optional[AUTH] = None,
4243
+ conn_url: Optional[str] = None,
4244
+ batcher: Optional[Batcher] = None,
4245
+ is_async: Literal[True],
4246
+ ) -> Coroutine[Any, Any, Alias.Info]:
4247
+ pass
4248
+
4249
+
4250
+ def delete_user_key(
4251
+ name: str,
4252
+ wait: bool = True,
4253
+ *,
4254
+ auth: Optional[AUTH] = None,
4255
+ conn_url: Optional[str] = None,
4256
+ batcher: Optional[Batcher] = None,
4257
+ is_async: bool = False,
4258
+ ) -> Union[Alias.Info, Coroutine[Any, Any, Alias.Info]]:
4259
+ if batcher is None:
4260
+ batcher = Config.BATCHER
4261
+ if batcher is not None:
4262
+ return batcher.add("deleteKeysByName", vars={"name": name})
4263
+ if is_async:
4264
+ return f.delete_register_keys_name_async(
4265
+ name,
4266
+ wait=wait,
4267
+ auth=auth,
4268
+ conn_url=conn_url,
4269
+ )
4270
+ return f.delete_register_keys_name(
4271
+ name,
4272
+ wait=wait,
4273
+ auth=auth,
4274
+ conn_url=conn_url,
4275
+ )
4276
+
4277
+
4278
+ @overload
4279
+ def delete_user_keys(
4280
+ wait: bool = True,
4281
+ *,
4282
+ auth: Optional[AUTH] = None,
4283
+ conn_url: Optional[str] = None,
4284
+ batcher: Optional[Batcher] = None,
4285
+ is_async: Literal[False] = False,
4286
+ ) -> Alias.Info:
4287
+ pass
4288
+
4289
+
4290
+ @overload
4291
+ def delete_user_keys(
4292
+ wait: bool = True,
4293
+ *,
4294
+ auth: Optional[AUTH] = None,
4295
+ conn_url: Optional[str] = None,
4296
+ batcher: Optional[Batcher] = None,
4297
+ is_async: Literal[True],
4298
+ ) -> Coroutine[Any, Any, Alias.Info]:
4299
+ pass
4300
+
4301
+
4302
+ def delete_user_keys(
4303
+ wait: bool = True,
4304
+ *,
4305
+ auth: Optional[AUTH] = None,
4306
+ conn_url: Optional[str] = None,
4307
+ batcher: Optional[Batcher] = None,
4308
+ is_async: bool = False,
4309
+ ) -> Union[Alias.Info, Coroutine[Any, Any, Alias.Info]]:
4310
+ if batcher is None:
4311
+ batcher = Config.BATCHER
4312
+ if batcher is not None:
4313
+ return batcher.add("deleteKeys")
4314
+ if is_async:
4315
+ return f.delete_register_keys_async(
4316
+ wait=wait,
4317
+ auth=auth,
4318
+ conn_url=conn_url,
4319
+ )
4320
+ return f.delete_register_keys(
4321
+ wait=wait,
4322
+ auth=auth,
4323
+ conn_url=conn_url,
4324
+ )
4325
+
4326
+
3894
4327
  # UserApps
3895
4328
 
3896
4329
 
@@ -6148,6 +6581,7 @@ def get_run_condition(
6148
6581
  def get_run_active_runs(
6149
6582
  tags: Optional[Dict[str, str]] = None,
6150
6583
  with_tags: bool = False,
6584
+ id: Optional[str] = None,
6151
6585
  *,
6152
6586
  auth: Optional[AUTH] = None,
6153
6587
  conn_url: Optional[str] = None,
@@ -6161,6 +6595,7 @@ def get_run_active_runs(
6161
6595
  def get_run_active_runs(
6162
6596
  tags: Optional[Dict[str, str]] = None,
6163
6597
  with_tags: bool = False,
6598
+ id: Optional[str] = None,
6164
6599
  *,
6165
6600
  auth: Optional[AUTH] = None,
6166
6601
  conn_url: Optional[str] = None,
@@ -6173,16 +6608,18 @@ def get_run_active_runs(
6173
6608
  def get_run_active_runs(
6174
6609
  tags: Optional[Dict[str, str]] = None,
6175
6610
  with_tags: bool = False,
6611
+ id: Optional[str] = None,
6176
6612
  *,
6177
6613
  auth: Optional[AUTH] = None,
6178
6614
  conn_url: Optional[str] = None,
6179
6615
  batcher: Optional[Batcher] = None,
6180
6616
  is_async: bool = False,
6181
6617
  ) -> Union[ResultIds, ResultTags, Coroutine[Any, Any, ResultIds], Coroutine[Any, Any, ResultTags]]:
6182
- """return list running operationIds, filter by tags if set, return id -> tags if with_tags"""
6618
+ """return list running operationIds, filter by tags if set, return id -> tags if with_tags; if operation `id` set - return runIds"""
6183
6619
  if batcher is None:
6184
6620
  batcher = Config.BATCHER
6185
6621
  if tags is not None or with_tags:
6622
+ assert id is None, "id should be None in this case"
6186
6623
  data = RunsFilter(data=tags, withTags=with_tags)
6187
6624
  if batcher is not None:
6188
6625
  return batcher.add("postActiveRuns", data=data, result_model=ResultTags if with_tags else ResultIds)
@@ -6191,10 +6628,10 @@ def get_run_active_runs(
6191
6628
  return f.post_run_activeRuns(data, auth=auth, conn_url=conn_url)
6192
6629
  else:
6193
6630
  if batcher is not None:
6194
- return batcher.add("getActiveRuns", result_model=ResultIds)
6631
+ return batcher.add("getActiveRuns", vars={"operationId": id}, result_model=ResultIds)
6195
6632
  if is_async:
6196
- return f.get_run_activeRuns_async(auth=auth, conn_url=conn_url)
6197
- return f.get_run_activeRuns(auth=auth, conn_url=conn_url)
6633
+ return f.get_run_activeRuns_async(id, auth=auth, conn_url=conn_url)
6634
+ return f.get_run_activeRuns(id, auth=auth, conn_url=conn_url)
6198
6635
 
6199
6636
 
6200
6637
  @overload
@@ -6329,6 +6766,93 @@ def get_task_runs(
6329
6766
  return f.get_run_operationsIds(task_id, cfg_id, auth=auth, conn_url=conn_url)
6330
6767
 
6331
6768
 
6769
+ @overload
6770
+ def get_run_statuses(
6771
+ id: str,
6772
+ *,
6773
+ auth: Optional[AUTH] = None,
6774
+ conn_url: Optional[str] = None,
6775
+ batcher: Optional[Batcher] = None,
6776
+ is_async: Literal[False] = False,
6777
+ ) -> Statuses:
6778
+ pass
6779
+
6780
+
6781
+ @overload
6782
+ def get_run_statuses(
6783
+ id: str,
6784
+ *,
6785
+ auth: Optional[AUTH] = None,
6786
+ conn_url: Optional[str] = None,
6787
+ batcher: Optional[Batcher] = None,
6788
+ is_async: Literal[True],
6789
+ ) -> Coroutine[Any, Any, Statuses]:
6790
+ pass
6791
+
6792
+
6793
+ def get_run_statuses(
6794
+ id: str,
6795
+ *,
6796
+ auth: Optional[AUTH] = None,
6797
+ conn_url: Optional[str] = None,
6798
+ batcher: Optional[Batcher] = None,
6799
+ is_async: bool = False,
6800
+ ) -> Union[Statuses, Coroutine[Any, Any, Statuses]]:
6801
+ """return runs statuses by operation `id`"""
6802
+ if batcher is None:
6803
+ batcher = Config.BATCHER
6804
+ if batcher is not None:
6805
+ return batcher.add("getStatuses", vars={"operationId": id}, result_model=Statuses)
6806
+ if is_async:
6807
+ return f.get_run_statuses_async(id, auth=auth, conn_url=conn_url)
6808
+ return f.get_run_statuses(id, auth=auth, conn_url=conn_url)
6809
+
6810
+
6811
+ @overload
6812
+ def get_run_status(
6813
+ id: str,
6814
+ run_id: str,
6815
+ *,
6816
+ auth: Optional[AUTH] = None,
6817
+ conn_url: Optional[str] = None,
6818
+ batcher: Optional[Batcher] = None,
6819
+ is_async: Literal[False] = False,
6820
+ ) -> str:
6821
+ pass
6822
+
6823
+
6824
+ @overload
6825
+ def get_run_status(
6826
+ id: str,
6827
+ run_id: str,
6828
+ *,
6829
+ auth: Optional[AUTH] = None,
6830
+ conn_url: Optional[str] = None,
6831
+ batcher: Optional[Batcher] = None,
6832
+ is_async: Literal[True],
6833
+ ) -> Coroutine[Any, Any, str]:
6834
+ pass
6835
+
6836
+
6837
+ def get_run_status(
6838
+ id: str,
6839
+ run_id: str,
6840
+ *,
6841
+ auth: Optional[AUTH] = None,
6842
+ conn_url: Optional[str] = None,
6843
+ batcher: Optional[Batcher] = None,
6844
+ is_async: bool = False,
6845
+ ) -> Union[str, Coroutine[Any, Any, str]]:
6846
+ """return run status by operation `id` and `run_id`: one of: IN_PROGRESS, SUCCESS, FAILED"""
6847
+ if batcher is None:
6848
+ batcher = Config.BATCHER
6849
+ if batcher is not None:
6850
+ return batcher.add("getStatusesOne", vars={"operationId": id, "runId": run_id})
6851
+ if is_async:
6852
+ return f.get_run_status_async(id, run_id, auth=auth, conn_url=conn_url)
6853
+ return f.get_run_status(id, run_id, auth=auth, conn_url=conn_url)
6854
+
6855
+
6332
6856
  # Manager
6333
6857
 
6334
6858
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: malevich-coretools
3
- Version: 0.3.68
3
+ Version: 0.3.70
4
4
  Author: Andrew Pogrebnoj
5
5
  Author-email: andrew@onjulius.co
6
6
  License-File: LICENSE
@@ -1 +0,0 @@
1
- 0.3.68