gamsapi 52.2.0__cp313-cp313-win_amd64.whl → 52.4.0__cp313-cp313-win_amd64.whl

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 (294) hide show
  1. gams/__init__.py +2 -2
  2. gams/_version.py +1 -1
  3. gams/connect/__init__.py +2 -2
  4. gams/connect/agents/__init__.py +2 -2
  5. gams/connect/agents/_excel/__init__.py +2 -2
  6. gams/connect/agents/_excel/excelagent.py +2 -2
  7. gams/connect/agents/_excel/workbook.py +2 -2
  8. gams/connect/agents/_sqlconnectors/__init__.py +2 -2
  9. gams/connect/agents/_sqlconnectors/_accesshandler.py +2 -2
  10. gams/connect/agents/_sqlconnectors/_databasehandler.py +2 -2
  11. gams/connect/agents/_sqlconnectors/_mysqlhandler.py +2 -2
  12. gams/connect/agents/_sqlconnectors/_postgreshandler.py +2 -2
  13. gams/connect/agents/_sqlconnectors/_pyodbchandler.py +2 -2
  14. gams/connect/agents/_sqlconnectors/_sqlalchemyhandler.py +2 -2
  15. gams/connect/agents/_sqlconnectors/_sqlitehandler.py +2 -2
  16. gams/connect/agents/_sqlconnectors/_sqlserverhandler.py +2 -2
  17. gams/connect/agents/concatenate.py +2 -2
  18. gams/connect/agents/connectagent.py +2 -2
  19. gams/connect/agents/csvreader.py +2 -2
  20. gams/connect/agents/csvwriter.py +2 -2
  21. gams/connect/agents/domainwriter.py +2 -2
  22. gams/connect/agents/excelreader.py +2 -2
  23. gams/connect/agents/excelwriter.py +2 -2
  24. gams/connect/agents/filter.py +2 -2
  25. gams/connect/agents/gamsreader.py +2 -2
  26. gams/connect/agents/gamswriter.py +2 -2
  27. gams/connect/agents/gdxreader.py +2 -2
  28. gams/connect/agents/gdxwriter.py +2 -2
  29. gams/connect/agents/labelmanipulator.py +2 -2
  30. gams/connect/agents/projection.py +2 -2
  31. gams/connect/agents/pythoncode.py +2 -2
  32. gams/connect/agents/rawcsvreader.py +2 -2
  33. gams/connect/agents/rawexcelreader.py +2 -2
  34. gams/connect/agents/sqlreader.py +2 -2
  35. gams/connect/agents/sqlwriter.py +2 -2
  36. gams/connect/connectdatabase.py +2 -2
  37. gams/connect/connectvalidator.py +2 -2
  38. gams/connect/errors.py +2 -2
  39. gams/control/__init__.py +2 -2
  40. gams/control/database.py +2 -2
  41. gams/control/execution.py +2 -2
  42. gams/control/options.py +2 -2
  43. gams/control/workspace.py +2 -2
  44. gams/core/__init__.py +2 -2
  45. gams/core/cfg/__init__.py +2 -2
  46. gams/core/cfg/_cfgmcc.cp313-win_amd64.pyd +0 -0
  47. gams/core/dct/__init__.py +2 -2
  48. gams/core/dct/_dctmcc.cp313-win_amd64.pyd +0 -0
  49. gams/core/embedded/__init__.py +2 -2
  50. gams/core/embedded/gamsemb.py +2 -2
  51. gams/core/emp/__init__.py +2 -2
  52. gams/core/emp/emplexer.py +2 -2
  53. gams/core/emp/empyacc.py +2 -2
  54. gams/core/gdx/__init__.py +2 -2
  55. gams/core/gdx/_gdxcc.cp313-win_amd64.pyd +0 -0
  56. gams/core/gev/__init__.py +2 -2
  57. gams/core/gev/_gevmcc.cp313-win_amd64.pyd +0 -0
  58. gams/core/gmd/__init__.py +2 -2
  59. gams/core/gmd/_gmdcc.cp313-win_amd64.pyd +0 -0
  60. gams/core/gmo/__init__.py +2 -2
  61. gams/core/gmo/_gmomcc.cp313-win_amd64.pyd +0 -0
  62. gams/core/idx/__init__.py +2 -2
  63. gams/core/idx/_idxcc.cp313-win_amd64.pyd +0 -0
  64. gams/core/numpy/__init__.py +2 -2
  65. gams/core/numpy/_gams2numpy.cp313-win_amd64.pyd +0 -0
  66. gams/core/numpy/gams2numpy.py +2 -2
  67. gams/core/opt/__init__.py +2 -2
  68. gams/core/opt/_optcc.cp313-win_amd64.pyd +0 -0
  69. gams/engine/__init__.py +193 -16
  70. gams/engine/api/__init__.py +13 -3
  71. gams/engine/api/auth_api.py +7545 -3618
  72. gams/engine/api/cleanup_api.py +712 -320
  73. gams/engine/api/default_api.py +838 -369
  74. gams/engine/api/hypercube_api.py +2576 -1198
  75. gams/engine/api/jobs_api.py +5170 -2458
  76. gams/engine/api/licenses_api.py +2170 -1014
  77. gams/engine/api/namespaces_api.py +7663 -3557
  78. gams/engine/api/usage_api.py +5575 -1867
  79. gams/engine/api/users_api.py +5880 -2382
  80. gams/engine/api_client.py +579 -641
  81. gams/engine/api_response.py +21 -0
  82. gams/engine/configuration.py +233 -102
  83. gams/engine/exceptions.py +86 -29
  84. gams/engine/models/__init__.py +83 -68
  85. gams/engine/models/bad_input.py +89 -0
  86. gams/engine/models/cleanable_job_result.py +104 -0
  87. gams/engine/models/cleanable_job_result_page.py +113 -0
  88. gams/engine/models/engine_license.py +107 -0
  89. gams/engine/models/files_not_found.py +93 -0
  90. gams/engine/models/forwarded_token_response.py +112 -0
  91. gams/engine/models/generic_key_value_pair.py +89 -0
  92. gams/engine/models/hypercube.py +160 -0
  93. gams/engine/models/hypercube_page.py +111 -0
  94. gams/engine/models/hypercube_summary.py +91 -0
  95. gams/engine/models/hypercube_token.py +97 -0
  96. gams/engine/models/identity_provider.py +107 -0
  97. gams/engine/models/identity_provider_ldap.py +121 -0
  98. gams/engine/models/identity_provider_oauth2.py +146 -0
  99. gams/engine/models/identity_provider_oauth2_scope.py +89 -0
  100. gams/engine/models/identity_provider_oauth2_with_secret.py +152 -0
  101. gams/engine/models/identity_provider_oidc.py +133 -0
  102. gams/engine/models/identity_provider_oidc_with_secret.py +143 -0
  103. gams/engine/models/inex.py +91 -0
  104. gams/engine/models/invitation.py +136 -0
  105. gams/engine/models/invitation_quota.py +106 -0
  106. gams/engine/models/invitation_token.py +87 -0
  107. gams/engine/models/job.py +165 -0
  108. gams/engine/models/job_no_text_entry.py +138 -0
  109. gams/engine/models/job_no_text_entry_page.py +111 -0
  110. gams/engine/models/license.py +91 -0
  111. gams/engine/models/log_piece.py +96 -0
  112. gams/engine/models/message.py +87 -0
  113. gams/engine/models/message_and_token.py +99 -0
  114. gams/engine/models/message_with_webhook_id.py +89 -0
  115. gams/engine/models/model_auth_token.py +87 -0
  116. gams/engine/models/model_configuration.py +125 -0
  117. gams/engine/models/model_default_instance.py +99 -0
  118. gams/engine/models/model_default_user_instance.py +98 -0
  119. gams/engine/models/model_hypercube_job.py +106 -0
  120. gams/engine/models/model_hypercube_usage.py +130 -0
  121. gams/engine/models/model_instance_info.py +116 -0
  122. gams/engine/models/model_instance_info_full.py +123 -0
  123. gams/engine/models/model_instance_pool_info.py +112 -0
  124. gams/engine/models/model_job_labels.py +179 -0
  125. gams/engine/models/model_job_usage.py +133 -0
  126. gams/engine/models/model_pool_usage.py +124 -0
  127. gams/engine/models/model_usage.py +115 -0
  128. gams/engine/models/model_user.py +96 -0
  129. gams/engine/models/model_userinstance_info.py +119 -0
  130. gams/engine/models/model_userinstancepool_info.py +95 -0
  131. gams/engine/models/model_version.py +91 -0
  132. gams/engine/models/models.py +120 -0
  133. gams/engine/models/namespace.py +104 -0
  134. gams/engine/models/namespace_quota.py +96 -0
  135. gams/engine/models/namespace_with_permission.py +96 -0
  136. gams/engine/models/not_found.py +91 -0
  137. gams/engine/models/password_policy.py +97 -0
  138. gams/engine/models/perm_and_username.py +89 -0
  139. gams/engine/models/quota.py +117 -0
  140. gams/engine/models/quota_exceeded.py +97 -0
  141. gams/engine/models/status_code_meaning.py +89 -0
  142. gams/engine/models/stream_entry.py +89 -0
  143. gams/engine/models/system_wide_license.py +92 -0
  144. gams/engine/models/text_entries.py +87 -0
  145. gams/engine/models/text_entry.py +101 -0
  146. gams/engine/models/time_span.py +95 -0
  147. gams/engine/models/time_span_pool_worker.py +99 -0
  148. gams/engine/models/token_forward_error.py +87 -0
  149. gams/engine/models/user.py +127 -0
  150. gams/engine/models/user_group_member.py +96 -0
  151. gams/engine/models/user_groups.py +108 -0
  152. gams/engine/models/vapid_info.py +87 -0
  153. gams/engine/models/webhook.py +138 -0
  154. gams/engine/models/webhook_parameterized_event.py +99 -0
  155. gams/engine/py.typed +0 -0
  156. gams/engine/rest.py +141 -229
  157. gams/magic/__init__.py +2 -2
  158. gams/magic/gams_magic.py +2 -2
  159. gams/magic/interactive.py +2 -2
  160. gams/tools/__init__.py +2 -2
  161. gams/tools/errors.py +2 -2
  162. gams/tools/toolcollection/__init__.py +2 -2
  163. gams/tools/toolcollection/alg/__init__.py +2 -2
  164. gams/tools/toolcollection/alg/rank.py +2 -2
  165. gams/tools/toolcollection/data/__init__.py +2 -2
  166. gams/tools/toolcollection/data/csvread.py +2 -2
  167. gams/tools/toolcollection/data/exceldump.py +2 -2
  168. gams/tools/toolcollection/data/sqlitewrite.py +2 -2
  169. gams/tools/toolcollection/gdxservice/__init__.py +2 -2
  170. gams/tools/toolcollection/gdxservice/gdxencoding.py +2 -2
  171. gams/tools/toolcollection/gdxservice/gdxrename.py +2 -2
  172. gams/tools/toolcollection/linalg/__init__.py +2 -2
  173. gams/tools/toolcollection/linalg/cholesky.py +2 -2
  174. gams/tools/toolcollection/linalg/eigenvalue.py +2 -2
  175. gams/tools/toolcollection/linalg/eigenvector.py +2 -2
  176. gams/tools/toolcollection/linalg/invert.py +2 -2
  177. gams/tools/toolcollection/linalg/ols.py +2 -2
  178. gams/tools/toolcollection/tooltemplate.py +2 -2
  179. gams/tools/toolcollection/win32/__init__.py +2 -2
  180. gams/tools/toolcollection/win32/excelmerge.py +2 -2
  181. gams/tools/toolcollection/win32/exceltalk.py +2 -2
  182. gams/tools/toolcollection/win32/msappavail.py +2 -2
  183. gams/tools/toolcollection/win32/shellexecute.py +2 -2
  184. gams/tools/tools.py +2 -2
  185. gams/transfer/__init__.py +2 -2
  186. gams/transfer/_abcs/__init__.py +2 -2
  187. gams/transfer/_abcs/container_abcs.py +2 -2
  188. gams/transfer/_internals/__init__.py +2 -2
  189. gams/transfer/_internals/algorithms.py +2 -2
  190. gams/transfer/_internals/casepreservingdict.py +2 -2
  191. gams/transfer/_internals/constants.py +2 -2
  192. gams/transfer/_internals/domainviolation.py +2 -2
  193. gams/transfer/_internals/specialvalues.py +2 -2
  194. gams/transfer/containers/__init__.py +2 -2
  195. gams/transfer/containers/_container.py +2 -2
  196. gams/transfer/containers/_io/__init__.py +2 -2
  197. gams/transfer/containers/_io/containers.py +2 -2
  198. gams/transfer/containers/_io/gdx.py +2 -2
  199. gams/transfer/containers/_io/gmd.py +2 -2
  200. gams/transfer/containers/_mixins/__init__.py +2 -2
  201. gams/transfer/containers/_mixins/ccc.py +2 -2
  202. gams/transfer/syms/__init__.py +2 -2
  203. gams/transfer/syms/_methods/__init__.py +2 -2
  204. gams/transfer/syms/_methods/tables.py +2 -2
  205. gams/transfer/syms/_methods/toDict.py +2 -2
  206. gams/transfer/syms/_methods/toList.py +2 -2
  207. gams/transfer/syms/_methods/toValue.py +2 -2
  208. gams/transfer/syms/_mixins/__init__.py +2 -2
  209. gams/transfer/syms/_mixins/equals.py +2 -2
  210. gams/transfer/syms/_mixins/generateRecords.py +2 -2
  211. gams/transfer/syms/_mixins/pivot.py +2 -2
  212. gams/transfer/syms/_mixins/pve.py +2 -2
  213. gams/transfer/syms/_mixins/sa.py +2 -2
  214. gams/transfer/syms/_mixins/sapve.py +2 -2
  215. gams/transfer/syms/_mixins/saua.py +2 -2
  216. gams/transfer/syms/_mixins/sauapve.py +2 -2
  217. gams/transfer/syms/_mixins/spve.py +2 -2
  218. gams/transfer/syms/_mixins/ve.py +2 -2
  219. gams/transfer/syms/container_syms/__init__.py +2 -2
  220. gams/transfer/syms/container_syms/_alias.py +2 -2
  221. gams/transfer/syms/container_syms/_equation.py +2 -2
  222. gams/transfer/syms/container_syms/_parameter.py +2 -2
  223. gams/transfer/syms/container_syms/_set.py +2 -2
  224. gams/transfer/syms/container_syms/_universe_alias.py +2 -2
  225. gams/transfer/syms/container_syms/_variable.py +2 -2
  226. {gamsapi-52.2.0.dist-info → gamsapi-52.4.0.dist-info}/METADATA +12 -10
  227. gamsapi-52.4.0.dist-info/RECORD +257 -0
  228. {gamsapi-52.2.0.dist-info → gamsapi-52.4.0.dist-info}/licenses/LICENSE +2 -2
  229. gams/engine/apis/__init__.py +0 -25
  230. gams/engine/model/__init__.py +0 -5
  231. gams/engine/model/bad_input.py +0 -259
  232. gams/engine/model/cleanable_job_result.py +0 -285
  233. gams/engine/model/cleanable_job_result_page.py +0 -277
  234. gams/engine/model/engine_license.py +0 -263
  235. gams/engine/model/files_not_found.py +0 -267
  236. gams/engine/model/forwarded_token_response.py +0 -275
  237. gams/engine/model/generic_key_value_pair.py +0 -259
  238. gams/engine/model/hypercube.py +0 -331
  239. gams/engine/model/hypercube_page.py +0 -273
  240. gams/engine/model/hypercube_summary.py +0 -263
  241. gams/engine/model/hypercube_token.py +0 -265
  242. gams/engine/model/identity_provider.py +0 -287
  243. gams/engine/model/identity_provider_ldap.py +0 -303
  244. gams/engine/model/identity_provider_oauth2.py +0 -309
  245. gams/engine/model/identity_provider_oauth2_scope.py +0 -259
  246. gams/engine/model/identity_provider_oauth2_with_secret.py +0 -321
  247. gams/engine/model/identity_provider_oidc.py +0 -299
  248. gams/engine/model/identity_provider_oidc_with_secret.py +0 -319
  249. gams/engine/model/inex.py +0 -259
  250. gams/engine/model/invitation.py +0 -309
  251. gams/engine/model/invitation_quota.py +0 -263
  252. gams/engine/model/invitation_token.py +0 -255
  253. gams/engine/model/job.py +0 -337
  254. gams/engine/model/job_no_text_entry.py +0 -313
  255. gams/engine/model/job_no_text_entry_page.py +0 -273
  256. gams/engine/model/license.py +0 -263
  257. gams/engine/model/log_piece.py +0 -263
  258. gams/engine/model/message.py +0 -255
  259. gams/engine/model/message_and_token.py +0 -269
  260. gams/engine/model/model_auth_token.py +0 -255
  261. gams/engine/model/model_configuration.py +0 -268
  262. gams/engine/model/model_hypercube_job.py +0 -273
  263. gams/engine/model/model_hypercube_usage.py +0 -303
  264. gams/engine/model/model_instance_info.py +0 -285
  265. gams/engine/model/model_instance_info_full.py +0 -289
  266. gams/engine/model/model_job_labels.py +0 -295
  267. gams/engine/model/model_job_usage.py +0 -299
  268. gams/engine/model/model_usage.py +0 -267
  269. gams/engine/model/model_userinstance_info.py +0 -273
  270. gams/engine/model/model_version.py +0 -263
  271. gams/engine/model/models.py +0 -297
  272. gams/engine/model/namespace.py +0 -269
  273. gams/engine/model/namespace_quota.py +0 -263
  274. gams/engine/model/namespace_with_permission.py +0 -263
  275. gams/engine/model/not_found.py +0 -263
  276. gams/engine/model/perm_and_username.py +0 -259
  277. gams/engine/model/quota.py +0 -275
  278. gams/engine/model/quota_exceeded.py +0 -265
  279. gams/engine/model/result_user.py +0 -263
  280. gams/engine/model/status_code_meaning.py +0 -259
  281. gams/engine/model/stream_entry.py +0 -259
  282. gams/engine/model/system_wide_license.py +0 -255
  283. gams/engine/model/text_entries.py +0 -255
  284. gams/engine/model/text_entry.py +0 -263
  285. gams/engine/model/time_span.py +0 -259
  286. gams/engine/model/token_forward_error.py +0 -255
  287. gams/engine/model/user.py +0 -283
  288. gams/engine/model/user_group_member.py +0 -269
  289. gams/engine/model/user_groups.py +0 -279
  290. gams/engine/model/webhook.py +0 -292
  291. gams/engine/model_utils.py +0 -2037
  292. gamsapi-52.2.0.dist-info/RECORD +0 -248
  293. {gamsapi-52.2.0.dist-info → gamsapi-52.4.0.dist-info}/WHEEL +0 -0
  294. {gamsapi-52.2.0.dist-info → gamsapi-52.4.0.dist-info}/top_level.txt +0 -0
@@ -1,1251 +1,2629 @@
1
+ # coding: utf-8
2
+
1
3
  """
2
4
  GAMS Engine
3
5
 
4
- With GAMS Engine you can register and solve GAMS models. It has a namespace management system, so you can restrict your users to certain models. # noqa: E501
6
+ With GAMS Engine you can register and solve GAMS models. It has a namespace management system, so you can restrict your users to certain models.
5
7
 
6
8
  The version of the OpenAPI document: latest
7
- Generated by: https://openapi-generator.tech
8
- """
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
9
13
 
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
10
18
 
11
- import re # noqa: F401
12
- import sys # noqa: F401
19
+ from pydantic import Field, StrictBool, StrictBytes, StrictStr, field_validator
20
+ from typing import List, Optional, Tuple, Union
21
+ from typing_extensions import Annotated
22
+ from gams.engine.models.hypercube_page import HypercubePage
23
+ from gams.engine.models.hypercube_token import HypercubeToken
24
+ from gams.engine.models.message import Message
13
25
 
14
- from gams.engine.api_client import ApiClient, Endpoint as _Endpoint
15
- from gams.engine.model_utils import ( # noqa: F401
16
- check_allowed_values,
17
- check_validations,
18
- date,
19
- datetime,
20
- file_type,
21
- none_type,
22
- validate_and_convert_types
23
- )
24
- from gams.engine.model.hypercube_page import HypercubePage
25
- from gams.engine.model.hypercube_token import HypercubeToken
26
- from gams.engine.model.message import Message
27
- from gams.engine.model.quota_exceeded import QuotaExceeded
26
+ from gams.engine.api_client import ApiClient, RequestSerialized
27
+ from gams.engine.api_response import ApiResponse
28
+ from gams.engine.rest import RESTResponseType
28
29
 
29
30
 
30
- class HypercubeApi(object):
31
+ class HypercubeApi:
31
32
  """NOTE: This class is auto generated by OpenAPI Generator
32
33
  Ref: https://openapi-generator.tech
33
34
 
34
35
  Do not edit the class manually.
35
36
  """
36
37
 
37
- def __init__(self, api_client=None):
38
+ def __init__(self, api_client=None) -> None:
38
39
  if api_client is None:
39
- api_client = ApiClient()
40
+ api_client = ApiClient.get_default()
40
41
  self.api_client = api_client
41
- self.create_hypercube_endpoint = _Endpoint(
42
- settings={
43
- 'response_type': (HypercubeToken,),
44
- 'auth': [
45
- 'BasicAuth'
46
- ],
47
- 'endpoint_path': '/hypercube/',
48
- 'operation_id': 'create_hypercube',
49
- 'http_method': 'POST',
50
- 'servers': None,
51
- },
52
- params_map={
53
- 'all': [
54
- 'model',
55
- 'namespace',
56
- 'hypercube_file',
57
- 'run',
58
- 'inex_string',
59
- 'arguments',
60
- 'dep_tokens',
61
- 'labels',
62
- 'tag',
63
- 'access_groups',
64
- 'stdout_filename',
65
- 'model_data',
66
- 'data',
67
- 'inex_file',
68
- ],
69
- 'required': [
70
- 'model',
71
- 'namespace',
72
- 'hypercube_file',
73
- ],
74
- 'nullable': [
75
- ],
76
- 'enum': [
77
- ],
78
- 'validation': [
79
- ]
80
- },
81
- root_map={
82
- 'validations': {
83
- },
84
- 'allowed_values': {
85
- },
86
- 'openapi_types': {
87
- 'model':
88
- (str,),
89
- 'namespace':
90
- (str,),
91
- 'hypercube_file':
92
- (file_type,),
93
- 'run':
94
- (str,),
95
- 'inex_string':
96
- (str,),
97
- 'arguments':
98
- ([str],),
99
- 'dep_tokens':
100
- ([str],),
101
- 'labels':
102
- ([str],),
103
- 'tag':
104
- (str,),
105
- 'access_groups':
106
- ([str],),
107
- 'stdout_filename':
108
- (str,),
109
- 'model_data':
110
- (file_type,),
111
- 'data':
112
- (file_type,),
113
- 'inex_file':
114
- (file_type,),
115
- },
116
- 'attribute_map': {
117
- 'model': 'model',
118
- 'namespace': 'namespace',
119
- 'hypercube_file': 'hypercube_file',
120
- 'run': 'run',
121
- 'inex_string': 'inex_string',
122
- 'arguments': 'arguments',
123
- 'dep_tokens': 'dep_tokens',
124
- 'labels': 'labels',
125
- 'tag': 'tag',
126
- 'access_groups': 'access_groups',
127
- 'stdout_filename': 'stdout_filename',
128
- 'model_data': 'model_data',
129
- 'data': 'data',
130
- 'inex_file': 'inex_file',
131
- },
132
- 'location_map': {
133
- 'model': 'query',
134
- 'namespace': 'query',
135
- 'hypercube_file': 'form',
136
- 'run': 'query',
137
- 'inex_string': 'query',
138
- 'arguments': 'query',
139
- 'dep_tokens': 'query',
140
- 'labels': 'query',
141
- 'tag': 'query',
142
- 'access_groups': 'query',
143
- 'stdout_filename': 'query',
144
- 'model_data': 'form',
145
- 'data': 'form',
146
- 'inex_file': 'form',
147
- },
148
- 'collection_format_map': {
149
- 'arguments': 'multi',
150
- 'dep_tokens': 'multi',
151
- 'labels': 'multi',
152
- 'access_groups': 'multi',
153
- }
154
- },
155
- headers_map={
156
- 'accept': [
157
- 'application/json'
158
- ],
159
- 'content_type': [
160
- 'multipart/form-data'
161
- ]
162
- },
163
- api_client=api_client
164
- )
165
- self.delete_hypercube_zip_endpoint = _Endpoint(
166
- settings={
167
- 'response_type': (Message,),
168
- 'auth': [
169
- 'BasicAuth'
170
- ],
171
- 'endpoint_path': '/hypercube/{hypercube_token}/result',
172
- 'operation_id': 'delete_hypercube_zip',
173
- 'http_method': 'DELETE',
174
- 'servers': None,
175
- },
176
- params_map={
177
- 'all': [
178
- 'hypercube_token',
179
- ],
180
- 'required': [
181
- 'hypercube_token',
182
- ],
183
- 'nullable': [
184
- ],
185
- 'enum': [
186
- ],
187
- 'validation': [
188
- ]
189
- },
190
- root_map={
191
- 'validations': {
192
- },
193
- 'allowed_values': {
194
- },
195
- 'openapi_types': {
196
- 'hypercube_token':
197
- (str,),
198
- },
199
- 'attribute_map': {
200
- 'hypercube_token': 'hypercube_token',
201
- },
202
- 'location_map': {
203
- 'hypercube_token': 'path',
204
- },
205
- 'collection_format_map': {
206
- }
207
- },
208
- headers_map={
209
- 'accept': [
210
- 'application/json'
211
- ],
212
- 'content_type': [],
213
- },
214
- api_client=api_client
215
- )
216
- self.get_hypercube_zip_endpoint = _Endpoint(
217
- settings={
218
- 'response_type': (file_type,),
219
- 'auth': [
220
- 'BasicAuth'
221
- ],
222
- 'endpoint_path': '/hypercube/{hypercube_token}/result',
223
- 'operation_id': 'get_hypercube_zip',
224
- 'http_method': 'GET',
225
- 'servers': None,
226
- },
227
- params_map={
228
- 'all': [
229
- 'hypercube_token',
230
- ],
231
- 'required': [
232
- 'hypercube_token',
233
- ],
234
- 'nullable': [
235
- ],
236
- 'enum': [
237
- ],
238
- 'validation': [
239
- ]
240
- },
241
- root_map={
242
- 'validations': {
243
- },
244
- 'allowed_values': {
245
- },
246
- 'openapi_types': {
247
- 'hypercube_token':
248
- (str,),
249
- },
250
- 'attribute_map': {
251
- 'hypercube_token': 'hypercube_token',
252
- },
253
- 'location_map': {
254
- 'hypercube_token': 'path',
255
- },
256
- 'collection_format_map': {
257
- }
258
- },
259
- headers_map={
260
- 'accept': [
261
- 'application/zip'
262
- ],
263
- 'content_type': [],
264
- },
265
- api_client=api_client
266
- )
267
- self.get_hypercube_zip_info_endpoint = _Endpoint(
268
- settings={
269
- 'response_type': None,
270
- 'auth': [
271
- 'BasicAuth'
272
- ],
273
- 'endpoint_path': '/hypercube/{hypercube_token}/result',
274
- 'operation_id': 'get_hypercube_zip_info',
275
- 'http_method': 'HEAD',
276
- 'servers': None,
277
- },
278
- params_map={
279
- 'all': [
280
- 'hypercube_token',
281
- ],
282
- 'required': [
283
- 'hypercube_token',
284
- ],
285
- 'nullable': [
286
- ],
287
- 'enum': [
288
- ],
289
- 'validation': [
290
- ]
291
- },
292
- root_map={
293
- 'validations': {
294
- },
295
- 'allowed_values': {
296
- },
297
- 'openapi_types': {
298
- 'hypercube_token':
299
- (str,),
300
- },
301
- 'attribute_map': {
302
- 'hypercube_token': 'hypercube_token',
303
- },
304
- 'location_map': {
305
- 'hypercube_token': 'path',
306
- },
307
- 'collection_format_map': {
308
- }
309
- },
310
- headers_map={
311
- 'accept': [],
312
- 'content_type': [],
313
- },
314
- api_client=api_client
315
- )
316
- self.kill_hypercube_endpoint = _Endpoint(
317
- settings={
318
- 'response_type': (Message,),
319
- 'auth': [
320
- 'BasicAuth'
321
- ],
322
- 'endpoint_path': '/hypercube/{hypercube_token}',
323
- 'operation_id': 'kill_hypercube',
324
- 'http_method': 'DELETE',
325
- 'servers': None,
326
- },
327
- params_map={
328
- 'all': [
329
- 'hypercube_token',
330
- 'hard_kill',
331
- ],
332
- 'required': [
333
- 'hypercube_token',
334
- ],
335
- 'nullable': [
336
- ],
337
- 'enum': [
338
- ],
339
- 'validation': [
340
- ]
341
- },
342
- root_map={
343
- 'validations': {
344
- },
345
- 'allowed_values': {
346
- },
347
- 'openapi_types': {
348
- 'hypercube_token':
349
- (str,),
350
- 'hard_kill':
351
- (bool,),
352
- },
353
- 'attribute_map': {
354
- 'hypercube_token': 'hypercube_token',
355
- 'hard_kill': 'hard_kill',
356
- },
357
- 'location_map': {
358
- 'hypercube_token': 'path',
359
- 'hard_kill': 'query',
360
- },
361
- 'collection_format_map': {
362
- }
363
- },
364
- headers_map={
365
- 'accept': [
366
- 'application/json'
367
- ],
368
- 'content_type': [],
369
- },
370
- api_client=api_client
371
- )
372
- self.list_hypercubes_endpoint = _Endpoint(
373
- settings={
374
- 'response_type': (HypercubePage,),
375
- 'auth': [
376
- 'BasicAuth'
377
- ],
378
- 'endpoint_path': '/hypercube/',
379
- 'operation_id': 'list_hypercubes',
380
- 'http_method': 'GET',
381
- 'servers': None,
382
- },
383
- params_map={
384
- 'all': [
385
- 'hypercube_token',
386
- 'everyone',
387
- 'page',
388
- 'per_page',
389
- 'x_fields',
390
- 'order_by',
391
- 'order_asc',
392
- 'show_only_active',
393
- ],
394
- 'required': [],
395
- 'nullable': [
396
- ],
397
- 'enum': [
398
- 'order_by',
399
- ],
400
- 'validation': [
401
- 'page',
402
- 'per_page',
403
- ]
404
- },
405
- root_map={
406
- 'validations': {
407
- ('page',): {
408
-
409
- 'inclusive_maximum': 2147483647,
410
- 'inclusive_minimum': 1,
411
- },
412
- ('per_page',): {
413
-
414
- 'inclusive_maximum': 2147483647,
415
- 'inclusive_minimum': 0,
416
- },
417
- },
418
- 'allowed_values': {
419
- ('order_by',): {
420
-
421
- "MODEL": "model",
422
- "NAMESPACE": "namespace",
423
- "FINISHED": "finished",
424
- "JOB_COUNT": "job_count",
425
- "SUBMITTED_AT": "submitted_at",
426
- "USER": "user"
427
- },
428
- },
429
- 'openapi_types': {
430
- 'hypercube_token':
431
- (str,),
432
- 'everyone':
433
- (bool,),
434
- 'page':
435
- (int,),
436
- 'per_page':
437
- (int,),
438
- 'x_fields':
439
- (str,),
440
- 'order_by':
441
- (str,),
442
- 'order_asc':
443
- (bool,),
444
- 'show_only_active':
445
- (bool,),
446
- },
447
- 'attribute_map': {
448
- 'hypercube_token': 'hypercube_token',
449
- 'everyone': 'everyone',
450
- 'page': 'page',
451
- 'per_page': 'per_page',
452
- 'x_fields': 'X-Fields',
453
- 'order_by': 'order_by',
454
- 'order_asc': 'order_asc',
455
- 'show_only_active': 'show_only_active',
456
- },
457
- 'location_map': {
458
- 'hypercube_token': 'query',
459
- 'everyone': 'query',
460
- 'page': 'query',
461
- 'per_page': 'query',
462
- 'x_fields': 'header',
463
- 'order_by': 'query',
464
- 'order_asc': 'query',
465
- 'show_only_active': 'query',
466
- },
467
- 'collection_format_map': {
468
- }
469
- },
470
- headers_map={
471
- 'accept': [
472
- 'application/json'
473
- ],
474
- 'content_type': [],
475
- },
476
- api_client=api_client
477
- )
478
- self.update_hypercube_access_groups_endpoint = _Endpoint(
479
- settings={
480
- 'response_type': (Message,),
481
- 'auth': [
482
- 'BasicAuth'
483
- ],
484
- 'endpoint_path': '/hypercube/{hypercube_token}/access-groups',
485
- 'operation_id': 'update_hypercube_access_groups',
486
- 'http_method': 'PUT',
487
- 'servers': None,
488
- },
489
- params_map={
490
- 'all': [
491
- 'hypercube_token',
492
- 'access_groups',
493
- ],
494
- 'required': [
495
- 'hypercube_token',
496
- ],
497
- 'nullable': [
498
- ],
499
- 'enum': [
500
- ],
501
- 'validation': [
502
- ]
503
- },
504
- root_map={
505
- 'validations': {
506
- },
507
- 'allowed_values': {
508
- },
509
- 'openapi_types': {
510
- 'hypercube_token':
511
- (str,),
512
- 'access_groups':
513
- ([str],),
514
- },
515
- 'attribute_map': {
516
- 'hypercube_token': 'hypercube_token',
517
- 'access_groups': 'access_groups',
518
- },
519
- 'location_map': {
520
- 'hypercube_token': 'path',
521
- 'access_groups': 'query',
522
- },
523
- 'collection_format_map': {
524
- 'access_groups': 'multi',
525
- }
526
- },
527
- headers_map={
528
- 'accept': [
529
- 'application/json'
530
- ],
531
- 'content_type': [],
532
- },
533
- api_client=api_client
534
- )
535
- self.update_hypercube_tag_endpoint = _Endpoint(
536
- settings={
537
- 'response_type': (Message,),
538
- 'auth': [
539
- 'BasicAuth'
540
- ],
541
- 'endpoint_path': '/hypercube/{hypercube_token}/tag',
542
- 'operation_id': 'update_hypercube_tag',
543
- 'http_method': 'PUT',
544
- 'servers': None,
545
- },
546
- params_map={
547
- 'all': [
548
- 'hypercube_token',
549
- 'tag',
550
- ],
551
- 'required': [
552
- 'hypercube_token',
553
- 'tag',
554
- ],
555
- 'nullable': [
556
- ],
557
- 'enum': [
558
- ],
559
- 'validation': [
560
- 'tag',
561
- ]
562
- },
563
- root_map={
564
- 'validations': {
565
- ('tag',): {
566
-
567
- 'regex': {
568
- 'pattern': r'^.{0,255}$', # noqa: E501
569
- },
570
- },
571
- },
572
- 'allowed_values': {
573
- },
574
- 'openapi_types': {
575
- 'hypercube_token':
576
- (str,),
577
- 'tag':
578
- (str,),
579
- },
580
- 'attribute_map': {
581
- 'hypercube_token': 'hypercube_token',
582
- 'tag': 'tag',
583
- },
584
- 'location_map': {
585
- 'hypercube_token': 'path',
586
- 'tag': 'query',
587
- },
588
- 'collection_format_map': {
589
- }
590
- },
591
- headers_map={
592
- 'accept': [
593
- 'application/json'
594
- ],
595
- 'content_type': [],
596
- },
597
- api_client=api_client
598
- )
599
42
 
43
+
44
+ @validate_call
600
45
  def create_hypercube(
46
+ self,
47
+ model: Annotated[StrictStr, Field(description="Name of the model")],
48
+ namespace: Annotated[StrictStr, Field(description="Namespace containing(or will contain) the model")],
49
+ hypercube_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Hypercube description file")],
50
+ run: Annotated[Optional[StrictStr], Field(description="Name of the main gms file with its extension. Will use model + '.gms' if not provided.")] = None,
51
+ inex_string: Annotated[Optional[StrictStr], Field(description="Optional JSON string to filter the contents of the result zip file (inex_file takes precedence if specified)")] = None,
52
+ arguments: Annotated[Optional[List[StrictStr]], Field(description="Arguments that will be passed to GAMS call")] = None,
53
+ dep_tokens: Annotated[Optional[List[StrictStr]], Field(description="Tokens of jobs on which this job depends. The order defines the order in which the results of dependent jobs are extracted.")] = None,
54
+ labels: Annotated[Optional[List[StrictStr]], Field(description="Labels that will be attached to the job in key=value. Currently supported labels are: cpu_request, memory_request, workspace_request, node_selectors, tolerations, instance")] = None,
55
+ tag: Annotated[Optional[StrictStr], Field(description="Human-readable tag to assign to job (at most 255 characters)")] = None,
56
+ access_groups: Annotated[Optional[List[StrictStr]], Field(description="Labels of user groups that should be able to access this job.")] = None,
57
+ priority: Annotated[Optional[StrictStr], Field(description="Job priority. Only available if job priorities feature is enabled. Possible values are: low, medium, high")] = None,
58
+ stdout_filename: Optional[StrictStr] = None,
59
+ model_data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Zip file containing model files, if model is not registered")] = None,
60
+ data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="File containing data in zip")] = None,
61
+ inex_file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Optional JSON file to filter the contents of the result zip file")] = None,
62
+ _request_timeout: Union[
63
+ None,
64
+ Annotated[StrictFloat, Field(gt=0)],
65
+ Tuple[
66
+ Annotated[StrictFloat, Field(gt=0)],
67
+ Annotated[StrictFloat, Field(gt=0)]
68
+ ]
69
+ ] = None,
70
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
71
+ _content_type: Optional[StrictStr] = None,
72
+ _headers: Optional[Dict[StrictStr, Any]] = None,
73
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
74
+ ) -> HypercubeToken:
75
+ """Posts a Hypercube job
76
+
77
+ If the model is a registered model, execute permission for the namespace is required. If model is a temporary model execute and write permission for the namespace is required. When the disk or volume quota reaches 80%, quota_warning is included in the response.
78
+
79
+ :param model: Name of the model (required)
80
+ :type model: str
81
+ :param namespace: Namespace containing(or will contain) the model (required)
82
+ :type namespace: str
83
+ :param hypercube_file: Hypercube description file (required)
84
+ :type hypercube_file: bytearray
85
+ :param run: Name of the main gms file with its extension. Will use model + '.gms' if not provided.
86
+ :type run: str
87
+ :param inex_string: Optional JSON string to filter the contents of the result zip file (inex_file takes precedence if specified)
88
+ :type inex_string: str
89
+ :param arguments: Arguments that will be passed to GAMS call
90
+ :type arguments: List[str]
91
+ :param dep_tokens: Tokens of jobs on which this job depends. The order defines the order in which the results of dependent jobs are extracted.
92
+ :type dep_tokens: List[str]
93
+ :param labels: Labels that will be attached to the job in key=value. Currently supported labels are: cpu_request, memory_request, workspace_request, node_selectors, tolerations, instance
94
+ :type labels: List[str]
95
+ :param tag: Human-readable tag to assign to job (at most 255 characters)
96
+ :type tag: str
97
+ :param access_groups: Labels of user groups that should be able to access this job.
98
+ :type access_groups: List[str]
99
+ :param priority: Job priority. Only available if job priorities feature is enabled. Possible values are: low, medium, high
100
+ :type priority: str
101
+ :param stdout_filename:
102
+ :type stdout_filename: str
103
+ :param model_data: Zip file containing model files, if model is not registered
104
+ :type model_data: bytearray
105
+ :param data: File containing data in zip
106
+ :type data: bytearray
107
+ :param inex_file: Optional JSON file to filter the contents of the result zip file
108
+ :type inex_file: bytearray
109
+ :param _request_timeout: timeout setting for this request. If one
110
+ number provided, it will be total request
111
+ timeout. It can also be a pair (tuple) of
112
+ (connection, read) timeouts.
113
+ :type _request_timeout: int, tuple(int, int), optional
114
+ :param _request_auth: set to override the auth_settings for an a single
115
+ request; this effectively ignores the
116
+ authentication in the spec for a single request.
117
+ :type _request_auth: dict, optional
118
+ :param _content_type: force content-type for the request.
119
+ :type _content_type: str, Optional
120
+ :param _headers: set to override the headers for a single
121
+ request; this effectively ignores the headers
122
+ in the spec for a single request.
123
+ :type _headers: dict, optional
124
+ :param _host_index: set to override the host_index for a single
125
+ request; this effectively ignores the host_index
126
+ in the spec for a single request.
127
+ :type _host_index: int, optional
128
+ :return: Returns the result object.
129
+ """ # noqa: E501
130
+
131
+ _param = self._create_hypercube_serialize(
132
+ model=model,
133
+ namespace=namespace,
134
+ hypercube_file=hypercube_file,
135
+ run=run,
136
+ inex_string=inex_string,
137
+ arguments=arguments,
138
+ dep_tokens=dep_tokens,
139
+ labels=labels,
140
+ tag=tag,
141
+ access_groups=access_groups,
142
+ priority=priority,
143
+ stdout_filename=stdout_filename,
144
+ model_data=model_data,
145
+ data=data,
146
+ inex_file=inex_file,
147
+ _request_auth=_request_auth,
148
+ _content_type=_content_type,
149
+ _headers=_headers,
150
+ _host_index=_host_index
151
+ )
152
+
153
+ _response_types_map: Dict[str, Optional[str]] = {
154
+ '201': "HypercubeToken",
155
+ '400': "Message",
156
+ '402': "QuotaExceeded",
157
+ '403': "Message",
158
+ '404': "Message",
159
+ '500': "Message",
160
+ }
161
+ response_data = self.api_client.call_api(
162
+ *_param,
163
+ _request_timeout=_request_timeout
164
+ )
165
+ response_data.read()
166
+ return self.api_client.response_deserialize(
167
+ response_data=response_data,
168
+ response_types_map=_response_types_map,
169
+ ).data
170
+
171
+
172
+ @validate_call
173
+ def create_hypercube_with_http_info(
174
+ self,
175
+ model: Annotated[StrictStr, Field(description="Name of the model")],
176
+ namespace: Annotated[StrictStr, Field(description="Namespace containing(or will contain) the model")],
177
+ hypercube_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Hypercube description file")],
178
+ run: Annotated[Optional[StrictStr], Field(description="Name of the main gms file with its extension. Will use model + '.gms' if not provided.")] = None,
179
+ inex_string: Annotated[Optional[StrictStr], Field(description="Optional JSON string to filter the contents of the result zip file (inex_file takes precedence if specified)")] = None,
180
+ arguments: Annotated[Optional[List[StrictStr]], Field(description="Arguments that will be passed to GAMS call")] = None,
181
+ dep_tokens: Annotated[Optional[List[StrictStr]], Field(description="Tokens of jobs on which this job depends. The order defines the order in which the results of dependent jobs are extracted.")] = None,
182
+ labels: Annotated[Optional[List[StrictStr]], Field(description="Labels that will be attached to the job in key=value. Currently supported labels are: cpu_request, memory_request, workspace_request, node_selectors, tolerations, instance")] = None,
183
+ tag: Annotated[Optional[StrictStr], Field(description="Human-readable tag to assign to job (at most 255 characters)")] = None,
184
+ access_groups: Annotated[Optional[List[StrictStr]], Field(description="Labels of user groups that should be able to access this job.")] = None,
185
+ priority: Annotated[Optional[StrictStr], Field(description="Job priority. Only available if job priorities feature is enabled. Possible values are: low, medium, high")] = None,
186
+ stdout_filename: Optional[StrictStr] = None,
187
+ model_data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Zip file containing model files, if model is not registered")] = None,
188
+ data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="File containing data in zip")] = None,
189
+ inex_file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Optional JSON file to filter the contents of the result zip file")] = None,
190
+ _request_timeout: Union[
191
+ None,
192
+ Annotated[StrictFloat, Field(gt=0)],
193
+ Tuple[
194
+ Annotated[StrictFloat, Field(gt=0)],
195
+ Annotated[StrictFloat, Field(gt=0)]
196
+ ]
197
+ ] = None,
198
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
199
+ _content_type: Optional[StrictStr] = None,
200
+ _headers: Optional[Dict[StrictStr, Any]] = None,
201
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
202
+ ) -> ApiResponse[HypercubeToken]:
203
+ """Posts a Hypercube job
204
+
205
+ If the model is a registered model, execute permission for the namespace is required. If model is a temporary model execute and write permission for the namespace is required. When the disk or volume quota reaches 80%, quota_warning is included in the response.
206
+
207
+ :param model: Name of the model (required)
208
+ :type model: str
209
+ :param namespace: Namespace containing(or will contain) the model (required)
210
+ :type namespace: str
211
+ :param hypercube_file: Hypercube description file (required)
212
+ :type hypercube_file: bytearray
213
+ :param run: Name of the main gms file with its extension. Will use model + '.gms' if not provided.
214
+ :type run: str
215
+ :param inex_string: Optional JSON string to filter the contents of the result zip file (inex_file takes precedence if specified)
216
+ :type inex_string: str
217
+ :param arguments: Arguments that will be passed to GAMS call
218
+ :type arguments: List[str]
219
+ :param dep_tokens: Tokens of jobs on which this job depends. The order defines the order in which the results of dependent jobs are extracted.
220
+ :type dep_tokens: List[str]
221
+ :param labels: Labels that will be attached to the job in key=value. Currently supported labels are: cpu_request, memory_request, workspace_request, node_selectors, tolerations, instance
222
+ :type labels: List[str]
223
+ :param tag: Human-readable tag to assign to job (at most 255 characters)
224
+ :type tag: str
225
+ :param access_groups: Labels of user groups that should be able to access this job.
226
+ :type access_groups: List[str]
227
+ :param priority: Job priority. Only available if job priorities feature is enabled. Possible values are: low, medium, high
228
+ :type priority: str
229
+ :param stdout_filename:
230
+ :type stdout_filename: str
231
+ :param model_data: Zip file containing model files, if model is not registered
232
+ :type model_data: bytearray
233
+ :param data: File containing data in zip
234
+ :type data: bytearray
235
+ :param inex_file: Optional JSON file to filter the contents of the result zip file
236
+ :type inex_file: bytearray
237
+ :param _request_timeout: timeout setting for this request. If one
238
+ number provided, it will be total request
239
+ timeout. It can also be a pair (tuple) of
240
+ (connection, read) timeouts.
241
+ :type _request_timeout: int, tuple(int, int), optional
242
+ :param _request_auth: set to override the auth_settings for an a single
243
+ request; this effectively ignores the
244
+ authentication in the spec for a single request.
245
+ :type _request_auth: dict, optional
246
+ :param _content_type: force content-type for the request.
247
+ :type _content_type: str, Optional
248
+ :param _headers: set to override the headers for a single
249
+ request; this effectively ignores the headers
250
+ in the spec for a single request.
251
+ :type _headers: dict, optional
252
+ :param _host_index: set to override the host_index for a single
253
+ request; this effectively ignores the host_index
254
+ in the spec for a single request.
255
+ :type _host_index: int, optional
256
+ :return: Returns the result object.
257
+ """ # noqa: E501
258
+
259
+ _param = self._create_hypercube_serialize(
260
+ model=model,
261
+ namespace=namespace,
262
+ hypercube_file=hypercube_file,
263
+ run=run,
264
+ inex_string=inex_string,
265
+ arguments=arguments,
266
+ dep_tokens=dep_tokens,
267
+ labels=labels,
268
+ tag=tag,
269
+ access_groups=access_groups,
270
+ priority=priority,
271
+ stdout_filename=stdout_filename,
272
+ model_data=model_data,
273
+ data=data,
274
+ inex_file=inex_file,
275
+ _request_auth=_request_auth,
276
+ _content_type=_content_type,
277
+ _headers=_headers,
278
+ _host_index=_host_index
279
+ )
280
+
281
+ _response_types_map: Dict[str, Optional[str]] = {
282
+ '201': "HypercubeToken",
283
+ '400': "Message",
284
+ '402': "QuotaExceeded",
285
+ '403': "Message",
286
+ '404': "Message",
287
+ '500': "Message",
288
+ }
289
+ response_data = self.api_client.call_api(
290
+ *_param,
291
+ _request_timeout=_request_timeout
292
+ )
293
+ response_data.read()
294
+ return self.api_client.response_deserialize(
295
+ response_data=response_data,
296
+ response_types_map=_response_types_map,
297
+ )
298
+
299
+
300
+ @validate_call
301
+ def create_hypercube_without_preload_content(
302
+ self,
303
+ model: Annotated[StrictStr, Field(description="Name of the model")],
304
+ namespace: Annotated[StrictStr, Field(description="Namespace containing(or will contain) the model")],
305
+ hypercube_file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Hypercube description file")],
306
+ run: Annotated[Optional[StrictStr], Field(description="Name of the main gms file with its extension. Will use model + '.gms' if not provided.")] = None,
307
+ inex_string: Annotated[Optional[StrictStr], Field(description="Optional JSON string to filter the contents of the result zip file (inex_file takes precedence if specified)")] = None,
308
+ arguments: Annotated[Optional[List[StrictStr]], Field(description="Arguments that will be passed to GAMS call")] = None,
309
+ dep_tokens: Annotated[Optional[List[StrictStr]], Field(description="Tokens of jobs on which this job depends. The order defines the order in which the results of dependent jobs are extracted.")] = None,
310
+ labels: Annotated[Optional[List[StrictStr]], Field(description="Labels that will be attached to the job in key=value. Currently supported labels are: cpu_request, memory_request, workspace_request, node_selectors, tolerations, instance")] = None,
311
+ tag: Annotated[Optional[StrictStr], Field(description="Human-readable tag to assign to job (at most 255 characters)")] = None,
312
+ access_groups: Annotated[Optional[List[StrictStr]], Field(description="Labels of user groups that should be able to access this job.")] = None,
313
+ priority: Annotated[Optional[StrictStr], Field(description="Job priority. Only available if job priorities feature is enabled. Possible values are: low, medium, high")] = None,
314
+ stdout_filename: Optional[StrictStr] = None,
315
+ model_data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Zip file containing model files, if model is not registered")] = None,
316
+ data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="File containing data in zip")] = None,
317
+ inex_file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Optional JSON file to filter the contents of the result zip file")] = None,
318
+ _request_timeout: Union[
319
+ None,
320
+ Annotated[StrictFloat, Field(gt=0)],
321
+ Tuple[
322
+ Annotated[StrictFloat, Field(gt=0)],
323
+ Annotated[StrictFloat, Field(gt=0)]
324
+ ]
325
+ ] = None,
326
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
327
+ _content_type: Optional[StrictStr] = None,
328
+ _headers: Optional[Dict[StrictStr, Any]] = None,
329
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
330
+ ) -> RESTResponseType:
331
+ """Posts a Hypercube job
332
+
333
+ If the model is a registered model, execute permission for the namespace is required. If model is a temporary model execute and write permission for the namespace is required. When the disk or volume quota reaches 80%, quota_warning is included in the response.
334
+
335
+ :param model: Name of the model (required)
336
+ :type model: str
337
+ :param namespace: Namespace containing(or will contain) the model (required)
338
+ :type namespace: str
339
+ :param hypercube_file: Hypercube description file (required)
340
+ :type hypercube_file: bytearray
341
+ :param run: Name of the main gms file with its extension. Will use model + '.gms' if not provided.
342
+ :type run: str
343
+ :param inex_string: Optional JSON string to filter the contents of the result zip file (inex_file takes precedence if specified)
344
+ :type inex_string: str
345
+ :param arguments: Arguments that will be passed to GAMS call
346
+ :type arguments: List[str]
347
+ :param dep_tokens: Tokens of jobs on which this job depends. The order defines the order in which the results of dependent jobs are extracted.
348
+ :type dep_tokens: List[str]
349
+ :param labels: Labels that will be attached to the job in key=value. Currently supported labels are: cpu_request, memory_request, workspace_request, node_selectors, tolerations, instance
350
+ :type labels: List[str]
351
+ :param tag: Human-readable tag to assign to job (at most 255 characters)
352
+ :type tag: str
353
+ :param access_groups: Labels of user groups that should be able to access this job.
354
+ :type access_groups: List[str]
355
+ :param priority: Job priority. Only available if job priorities feature is enabled. Possible values are: low, medium, high
356
+ :type priority: str
357
+ :param stdout_filename:
358
+ :type stdout_filename: str
359
+ :param model_data: Zip file containing model files, if model is not registered
360
+ :type model_data: bytearray
361
+ :param data: File containing data in zip
362
+ :type data: bytearray
363
+ :param inex_file: Optional JSON file to filter the contents of the result zip file
364
+ :type inex_file: bytearray
365
+ :param _request_timeout: timeout setting for this request. If one
366
+ number provided, it will be total request
367
+ timeout. It can also be a pair (tuple) of
368
+ (connection, read) timeouts.
369
+ :type _request_timeout: int, tuple(int, int), optional
370
+ :param _request_auth: set to override the auth_settings for an a single
371
+ request; this effectively ignores the
372
+ authentication in the spec for a single request.
373
+ :type _request_auth: dict, optional
374
+ :param _content_type: force content-type for the request.
375
+ :type _content_type: str, Optional
376
+ :param _headers: set to override the headers for a single
377
+ request; this effectively ignores the headers
378
+ in the spec for a single request.
379
+ :type _headers: dict, optional
380
+ :param _host_index: set to override the host_index for a single
381
+ request; this effectively ignores the host_index
382
+ in the spec for a single request.
383
+ :type _host_index: int, optional
384
+ :return: Returns the result object.
385
+ """ # noqa: E501
386
+
387
+ _param = self._create_hypercube_serialize(
388
+ model=model,
389
+ namespace=namespace,
390
+ hypercube_file=hypercube_file,
391
+ run=run,
392
+ inex_string=inex_string,
393
+ arguments=arguments,
394
+ dep_tokens=dep_tokens,
395
+ labels=labels,
396
+ tag=tag,
397
+ access_groups=access_groups,
398
+ priority=priority,
399
+ stdout_filename=stdout_filename,
400
+ model_data=model_data,
401
+ data=data,
402
+ inex_file=inex_file,
403
+ _request_auth=_request_auth,
404
+ _content_type=_content_type,
405
+ _headers=_headers,
406
+ _host_index=_host_index
407
+ )
408
+
409
+ _response_types_map: Dict[str, Optional[str]] = {
410
+ '201': "HypercubeToken",
411
+ '400': "Message",
412
+ '402': "QuotaExceeded",
413
+ '403': "Message",
414
+ '404': "Message",
415
+ '500': "Message",
416
+ }
417
+ response_data = self.api_client.call_api(
418
+ *_param,
419
+ _request_timeout=_request_timeout
420
+ )
421
+ return response_data.response
422
+
423
+
424
+ def _create_hypercube_serialize(
601
425
  self,
602
426
  model,
603
427
  namespace,
604
428
  hypercube_file,
605
- **kwargs
606
- ):
607
- """Posts a Hypercube job # noqa: E501
608
-
609
- If the model is a registered model, execute permission for the namespace is required. If model is a temporary model execute and write permission for the namespace is required. When the disk or volume quota reaches 80%, quota_warning is included in the response. # noqa: E501
610
- This method makes a synchronous HTTP request by default. To make an
611
- asynchronous HTTP request, please pass async_req=True
612
-
613
- >>> thread = api.create_hypercube(model, namespace, hypercube_file, async_req=True)
614
- >>> result = thread.get()
615
-
616
- Args:
617
- model (str): Name of the model
618
- namespace (str): Namespace containing(or will contain) the model
619
- hypercube_file (file_type): Hypercube description file
620
-
621
- Keyword Args:
622
- run (str): Name of the main gms file with its extension. Will use model + '.gms' if not provided.. [optional]
623
- inex_string (str): Optional JSON string to filter the contents of the result zip file (inex_file takes precedence if specified). [optional]
624
- arguments ([str]): Arguments that will be passed to GAMS call. [optional]
625
- dep_tokens ([str]): Tokens of jobs on which this job depends. The order defines the order in which the results of dependent jobs are extracted.. [optional]
626
- labels ([str]): Labels that will be attached to the job in key=value. Currently supported labels are: cpu_request, memory_request, workspace_request, node_selectors, tolerations, instance. [optional]
627
- tag (str): Human-readable tag to assign to job (at most 255 characters). [optional]
628
- access_groups ([str]): Labels of user groups that should be able to access this job.. [optional]
629
- stdout_filename (str): [optional]
630
- model_data (file_type): Zip file containing model files, if model is not registered. [optional]
631
- data (file_type): File containing data in zip. [optional]
632
- inex_file (file_type): Optional JSON file to filter the contents of the result zip file. [optional]
633
- _return_http_data_only (bool): response data without head status
634
- code and headers. Default is True.
635
- _preload_content (bool): if False, the urllib3.HTTPResponse object
636
- will be returned without reading/decoding response data.
637
- Default is True.
638
- _request_timeout (int/float/tuple): timeout setting for this request. If
639
- one number provided, it will be total request timeout. It can also
640
- be a pair (tuple) of (connection, read) timeouts.
641
- Default is None.
642
- _check_input_type (bool): specifies if type checking
643
- should be done one the data sent to the server.
644
- Default is True.
645
- _check_return_type (bool): specifies if type checking
646
- should be done one the data received from the server.
647
- Default is True.
648
- _spec_property_naming (bool): True if the variable names in the input data
649
- are serialized names, as specified in the OpenAPI document.
650
- False if the variable names in the input data
651
- are pythonic names, e.g. snake case (default)
652
- _content_type (str/None): force body content-type.
653
- Default is None and content-type will be predicted by allowed
654
- content-types and body.
655
- _host_index (int/None): specifies the index of the server
656
- that we want to use.
657
- Default is read from the configuration.
658
- async_req (bool): execute request asynchronously
659
-
660
- Returns:
661
- HypercubeToken
662
- If the method is called asynchronously, returns the request
663
- thread.
664
- """
665
- kwargs['async_req'] = kwargs.get(
666
- 'async_req', False
667
- )
668
- kwargs['_return_http_data_only'] = kwargs.get(
669
- '_return_http_data_only', True
670
- )
671
- kwargs['_preload_content'] = kwargs.get(
672
- '_preload_content', True
673
- )
674
- kwargs['_request_timeout'] = kwargs.get(
675
- '_request_timeout', None
676
- )
677
- kwargs['_check_input_type'] = kwargs.get(
678
- '_check_input_type', True
679
- )
680
- kwargs['_check_return_type'] = kwargs.get(
681
- '_check_return_type', True
682
- )
683
- kwargs['_spec_property_naming'] = kwargs.get(
684
- '_spec_property_naming', False
685
- )
686
- kwargs['_content_type'] = kwargs.get(
687
- '_content_type')
688
- kwargs['_host_index'] = kwargs.get('_host_index')
689
- kwargs['model'] = \
690
- model
691
- kwargs['namespace'] = \
692
- namespace
693
- kwargs['hypercube_file'] = \
694
- hypercube_file
695
- return self.create_hypercube_endpoint.call_with_http_info(**kwargs)
429
+ run,
430
+ inex_string,
431
+ arguments,
432
+ dep_tokens,
433
+ labels,
434
+ tag,
435
+ access_groups,
436
+ priority,
437
+ stdout_filename,
438
+ model_data,
439
+ data,
440
+ inex_file,
441
+ _request_auth,
442
+ _content_type,
443
+ _headers,
444
+ _host_index,
445
+ ) -> RequestSerialized:
446
+
447
+ _host = None
696
448
 
449
+ _collection_formats: Dict[str, str] = {
450
+ 'arguments': 'multi',
451
+ 'dep_tokens': 'multi',
452
+ 'labels': 'multi',
453
+ 'access_groups': 'multi',
454
+ }
455
+
456
+ _path_params: Dict[str, str] = {}
457
+ _query_params: List[Tuple[str, str]] = []
458
+ _header_params: Dict[str, Optional[str]] = _headers or {}
459
+ _form_params: List[Tuple[str, str]] = []
460
+ _files: Dict[
461
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
462
+ ] = {}
463
+ _body_params: Optional[bytes] = None
464
+
465
+ # process the path parameters
466
+ # process the query parameters
467
+ if model is not None:
468
+
469
+ _query_params.append(('model', model))
470
+
471
+ if run is not None:
472
+
473
+ _query_params.append(('run', run))
474
+
475
+ if namespace is not None:
476
+
477
+ _query_params.append(('namespace', namespace))
478
+
479
+ if inex_string is not None:
480
+
481
+ _query_params.append(('inex_string', inex_string))
482
+
483
+ if arguments is not None:
484
+
485
+ _query_params.append(('arguments', arguments))
486
+
487
+ if dep_tokens is not None:
488
+
489
+ _query_params.append(('dep_tokens', dep_tokens))
490
+
491
+ if labels is not None:
492
+
493
+ _query_params.append(('labels', labels))
494
+
495
+ if tag is not None:
496
+
497
+ _query_params.append(('tag', tag))
498
+
499
+ if access_groups is not None:
500
+
501
+ _query_params.append(('access_groups', access_groups))
502
+
503
+ if priority is not None:
504
+
505
+ _query_params.append(('priority', priority))
506
+
507
+ if stdout_filename is not None:
508
+
509
+ _query_params.append(('stdout_filename', stdout_filename))
510
+
511
+ # process the header parameters
512
+ # process the form parameters
513
+ if model_data is not None:
514
+ _files['model_data'] = model_data
515
+ if data is not None:
516
+ _files['data'] = data
517
+ if inex_file is not None:
518
+ _files['inex_file'] = inex_file
519
+ if hypercube_file is not None:
520
+ _files['hypercube_file'] = hypercube_file
521
+ # process the body parameter
522
+
523
+
524
+ # set the HTTP header `Accept`
525
+ if 'Accept' not in _header_params:
526
+ _header_params['Accept'] = self.api_client.select_header_accept(
527
+ [
528
+ 'application/json'
529
+ ]
530
+ )
531
+
532
+ # set the HTTP header `Content-Type`
533
+ if _content_type:
534
+ _header_params['Content-Type'] = _content_type
535
+ else:
536
+ _default_content_type = (
537
+ self.api_client.select_header_content_type(
538
+ [
539
+ 'multipart/form-data'
540
+ ]
541
+ )
542
+ )
543
+ if _default_content_type is not None:
544
+ _header_params['Content-Type'] = _default_content_type
545
+
546
+ # authentication setting
547
+ _auth_settings: List[str] = [
548
+ 'BasicAuth'
549
+ ]
550
+
551
+ return self.api_client.param_serialize(
552
+ method='POST',
553
+ resource_path='/hypercube/',
554
+ path_params=_path_params,
555
+ query_params=_query_params,
556
+ header_params=_header_params,
557
+ body=_body_params,
558
+ post_params=_form_params,
559
+ files=_files,
560
+ auth_settings=_auth_settings,
561
+ collection_formats=_collection_formats,
562
+ _host=_host,
563
+ _request_auth=_request_auth
564
+ )
565
+
566
+
567
+
568
+
569
+ @validate_call
697
570
  def delete_hypercube_zip(
571
+ self,
572
+ hypercube_token: StrictStr,
573
+ _request_timeout: Union[
574
+ None,
575
+ Annotated[StrictFloat, Field(gt=0)],
576
+ Tuple[
577
+ Annotated[StrictFloat, Field(gt=0)],
578
+ Annotated[StrictFloat, Field(gt=0)]
579
+ ]
580
+ ] = None,
581
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
582
+ _content_type: Optional[StrictStr] = None,
583
+ _headers: Optional[Dict[StrictStr, Any]] = None,
584
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
585
+ ) -> Message:
586
+ """Deletes the results of the Hypercube job
587
+
588
+ Job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role.
589
+
590
+ :param hypercube_token: (required)
591
+ :type hypercube_token: str
592
+ :param _request_timeout: timeout setting for this request. If one
593
+ number provided, it will be total request
594
+ timeout. It can also be a pair (tuple) of
595
+ (connection, read) timeouts.
596
+ :type _request_timeout: int, tuple(int, int), optional
597
+ :param _request_auth: set to override the auth_settings for an a single
598
+ request; this effectively ignores the
599
+ authentication in the spec for a single request.
600
+ :type _request_auth: dict, optional
601
+ :param _content_type: force content-type for the request.
602
+ :type _content_type: str, Optional
603
+ :param _headers: set to override the headers for a single
604
+ request; this effectively ignores the headers
605
+ in the spec for a single request.
606
+ :type _headers: dict, optional
607
+ :param _host_index: set to override the host_index for a single
608
+ request; this effectively ignores the host_index
609
+ in the spec for a single request.
610
+ :type _host_index: int, optional
611
+ :return: Returns the result object.
612
+ """ # noqa: E501
613
+
614
+ _param = self._delete_hypercube_zip_serialize(
615
+ hypercube_token=hypercube_token,
616
+ _request_auth=_request_auth,
617
+ _content_type=_content_type,
618
+ _headers=_headers,
619
+ _host_index=_host_index
620
+ )
621
+
622
+ _response_types_map: Dict[str, Optional[str]] = {
623
+ '200': "Message",
624
+ '400': "Message",
625
+ '403': "Message",
626
+ '404': "Message",
627
+ '500': "Message",
628
+ }
629
+ response_data = self.api_client.call_api(
630
+ *_param,
631
+ _request_timeout=_request_timeout
632
+ )
633
+ response_data.read()
634
+ return self.api_client.response_deserialize(
635
+ response_data=response_data,
636
+ response_types_map=_response_types_map,
637
+ ).data
638
+
639
+
640
+ @validate_call
641
+ def delete_hypercube_zip_with_http_info(
642
+ self,
643
+ hypercube_token: StrictStr,
644
+ _request_timeout: Union[
645
+ None,
646
+ Annotated[StrictFloat, Field(gt=0)],
647
+ Tuple[
648
+ Annotated[StrictFloat, Field(gt=0)],
649
+ Annotated[StrictFloat, Field(gt=0)]
650
+ ]
651
+ ] = None,
652
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
653
+ _content_type: Optional[StrictStr] = None,
654
+ _headers: Optional[Dict[StrictStr, Any]] = None,
655
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
656
+ ) -> ApiResponse[Message]:
657
+ """Deletes the results of the Hypercube job
658
+
659
+ Job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role.
660
+
661
+ :param hypercube_token: (required)
662
+ :type hypercube_token: str
663
+ :param _request_timeout: timeout setting for this request. If one
664
+ number provided, it will be total request
665
+ timeout. It can also be a pair (tuple) of
666
+ (connection, read) timeouts.
667
+ :type _request_timeout: int, tuple(int, int), optional
668
+ :param _request_auth: set to override the auth_settings for an a single
669
+ request; this effectively ignores the
670
+ authentication in the spec for a single request.
671
+ :type _request_auth: dict, optional
672
+ :param _content_type: force content-type for the request.
673
+ :type _content_type: str, Optional
674
+ :param _headers: set to override the headers for a single
675
+ request; this effectively ignores the headers
676
+ in the spec for a single request.
677
+ :type _headers: dict, optional
678
+ :param _host_index: set to override the host_index for a single
679
+ request; this effectively ignores the host_index
680
+ in the spec for a single request.
681
+ :type _host_index: int, optional
682
+ :return: Returns the result object.
683
+ """ # noqa: E501
684
+
685
+ _param = self._delete_hypercube_zip_serialize(
686
+ hypercube_token=hypercube_token,
687
+ _request_auth=_request_auth,
688
+ _content_type=_content_type,
689
+ _headers=_headers,
690
+ _host_index=_host_index
691
+ )
692
+
693
+ _response_types_map: Dict[str, Optional[str]] = {
694
+ '200': "Message",
695
+ '400': "Message",
696
+ '403': "Message",
697
+ '404': "Message",
698
+ '500': "Message",
699
+ }
700
+ response_data = self.api_client.call_api(
701
+ *_param,
702
+ _request_timeout=_request_timeout
703
+ )
704
+ response_data.read()
705
+ return self.api_client.response_deserialize(
706
+ response_data=response_data,
707
+ response_types_map=_response_types_map,
708
+ )
709
+
710
+
711
+ @validate_call
712
+ def delete_hypercube_zip_without_preload_content(
713
+ self,
714
+ hypercube_token: StrictStr,
715
+ _request_timeout: Union[
716
+ None,
717
+ Annotated[StrictFloat, Field(gt=0)],
718
+ Tuple[
719
+ Annotated[StrictFloat, Field(gt=0)],
720
+ Annotated[StrictFloat, Field(gt=0)]
721
+ ]
722
+ ] = None,
723
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
724
+ _content_type: Optional[StrictStr] = None,
725
+ _headers: Optional[Dict[StrictStr, Any]] = None,
726
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
727
+ ) -> RESTResponseType:
728
+ """Deletes the results of the Hypercube job
729
+
730
+ Job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role.
731
+
732
+ :param hypercube_token: (required)
733
+ :type hypercube_token: str
734
+ :param _request_timeout: timeout setting for this request. If one
735
+ number provided, it will be total request
736
+ timeout. It can also be a pair (tuple) of
737
+ (connection, read) timeouts.
738
+ :type _request_timeout: int, tuple(int, int), optional
739
+ :param _request_auth: set to override the auth_settings for an a single
740
+ request; this effectively ignores the
741
+ authentication in the spec for a single request.
742
+ :type _request_auth: dict, optional
743
+ :param _content_type: force content-type for the request.
744
+ :type _content_type: str, Optional
745
+ :param _headers: set to override the headers for a single
746
+ request; this effectively ignores the headers
747
+ in the spec for a single request.
748
+ :type _headers: dict, optional
749
+ :param _host_index: set to override the host_index for a single
750
+ request; this effectively ignores the host_index
751
+ in the spec for a single request.
752
+ :type _host_index: int, optional
753
+ :return: Returns the result object.
754
+ """ # noqa: E501
755
+
756
+ _param = self._delete_hypercube_zip_serialize(
757
+ hypercube_token=hypercube_token,
758
+ _request_auth=_request_auth,
759
+ _content_type=_content_type,
760
+ _headers=_headers,
761
+ _host_index=_host_index
762
+ )
763
+
764
+ _response_types_map: Dict[str, Optional[str]] = {
765
+ '200': "Message",
766
+ '400': "Message",
767
+ '403': "Message",
768
+ '404': "Message",
769
+ '500': "Message",
770
+ }
771
+ response_data = self.api_client.call_api(
772
+ *_param,
773
+ _request_timeout=_request_timeout
774
+ )
775
+ return response_data.response
776
+
777
+
778
+ def _delete_hypercube_zip_serialize(
698
779
  self,
699
780
  hypercube_token,
700
- **kwargs
701
- ):
702
- """Deletes the results of the Hypercube job # noqa: E501
703
-
704
- Job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role. # noqa: E501
705
- This method makes a synchronous HTTP request by default. To make an
706
- asynchronous HTTP request, please pass async_req=True
707
-
708
- >>> thread = api.delete_hypercube_zip(hypercube_token, async_req=True)
709
- >>> result = thread.get()
710
-
711
- Args:
712
- hypercube_token (str):
713
-
714
- Keyword Args:
715
- _return_http_data_only (bool): response data without head status
716
- code and headers. Default is True.
717
- _preload_content (bool): if False, the urllib3.HTTPResponse object
718
- will be returned without reading/decoding response data.
719
- Default is True.
720
- _request_timeout (int/float/tuple): timeout setting for this request. If
721
- one number provided, it will be total request timeout. It can also
722
- be a pair (tuple) of (connection, read) timeouts.
723
- Default is None.
724
- _check_input_type (bool): specifies if type checking
725
- should be done one the data sent to the server.
726
- Default is True.
727
- _check_return_type (bool): specifies if type checking
728
- should be done one the data received from the server.
729
- Default is True.
730
- _spec_property_naming (bool): True if the variable names in the input data
731
- are serialized names, as specified in the OpenAPI document.
732
- False if the variable names in the input data
733
- are pythonic names, e.g. snake case (default)
734
- _content_type (str/None): force body content-type.
735
- Default is None and content-type will be predicted by allowed
736
- content-types and body.
737
- _host_index (int/None): specifies the index of the server
738
- that we want to use.
739
- Default is read from the configuration.
740
- async_req (bool): execute request asynchronously
741
-
742
- Returns:
743
- Message
744
- If the method is called asynchronously, returns the request
745
- thread.
746
- """
747
- kwargs['async_req'] = kwargs.get(
748
- 'async_req', False
749
- )
750
- kwargs['_return_http_data_only'] = kwargs.get(
751
- '_return_http_data_only', True
752
- )
753
- kwargs['_preload_content'] = kwargs.get(
754
- '_preload_content', True
755
- )
756
- kwargs['_request_timeout'] = kwargs.get(
757
- '_request_timeout', None
758
- )
759
- kwargs['_check_input_type'] = kwargs.get(
760
- '_check_input_type', True
761
- )
762
- kwargs['_check_return_type'] = kwargs.get(
763
- '_check_return_type', True
764
- )
765
- kwargs['_spec_property_naming'] = kwargs.get(
766
- '_spec_property_naming', False
767
- )
768
- kwargs['_content_type'] = kwargs.get(
769
- '_content_type')
770
- kwargs['_host_index'] = kwargs.get('_host_index')
771
- kwargs['hypercube_token'] = \
772
- hypercube_token
773
- return self.delete_hypercube_zip_endpoint.call_with_http_info(**kwargs)
781
+ _request_auth,
782
+ _content_type,
783
+ _headers,
784
+ _host_index,
785
+ ) -> RequestSerialized:
786
+
787
+ _host = None
788
+
789
+ _collection_formats: Dict[str, str] = {
790
+ }
791
+
792
+ _path_params: Dict[str, str] = {}
793
+ _query_params: List[Tuple[str, str]] = []
794
+ _header_params: Dict[str, Optional[str]] = _headers or {}
795
+ _form_params: List[Tuple[str, str]] = []
796
+ _files: Dict[
797
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
798
+ ] = {}
799
+ _body_params: Optional[bytes] = None
800
+
801
+ # process the path parameters
802
+ if hypercube_token is not None:
803
+ _path_params['hypercube_token'] = hypercube_token
804
+ # process the query parameters
805
+ # process the header parameters
806
+ # process the form parameters
807
+ # process the body parameter
808
+
809
+
810
+ # set the HTTP header `Accept`
811
+ if 'Accept' not in _header_params:
812
+ _header_params['Accept'] = self.api_client.select_header_accept(
813
+ [
814
+ 'application/json'
815
+ ]
816
+ )
774
817
 
818
+
819
+ # authentication setting
820
+ _auth_settings: List[str] = [
821
+ 'BasicAuth'
822
+ ]
823
+
824
+ return self.api_client.param_serialize(
825
+ method='DELETE',
826
+ resource_path='/hypercube/{hypercube_token}/result',
827
+ path_params=_path_params,
828
+ query_params=_query_params,
829
+ header_params=_header_params,
830
+ body=_body_params,
831
+ post_params=_form_params,
832
+ files=_files,
833
+ auth_settings=_auth_settings,
834
+ collection_formats=_collection_formats,
835
+ _host=_host,
836
+ _request_auth=_request_auth
837
+ )
838
+
839
+
840
+
841
+
842
+ @validate_call
775
843
  def get_hypercube_zip(
844
+ self,
845
+ hypercube_token: StrictStr,
846
+ _request_timeout: Union[
847
+ None,
848
+ Annotated[StrictFloat, Field(gt=0)],
849
+ Tuple[
850
+ Annotated[StrictFloat, Field(gt=0)],
851
+ Annotated[StrictFloat, Field(gt=0)]
852
+ ]
853
+ ] = None,
854
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
855
+ _content_type: Optional[StrictStr] = None,
856
+ _headers: Optional[Dict[StrictStr, Any]] = None,
857
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
858
+ ) -> bytearray:
859
+ """Downloads Hypercube job result
860
+
861
+ The job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role.
862
+
863
+ :param hypercube_token: (required)
864
+ :type hypercube_token: str
865
+ :param _request_timeout: timeout setting for this request. If one
866
+ number provided, it will be total request
867
+ timeout. It can also be a pair (tuple) of
868
+ (connection, read) timeouts.
869
+ :type _request_timeout: int, tuple(int, int), optional
870
+ :param _request_auth: set to override the auth_settings for an a single
871
+ request; this effectively ignores the
872
+ authentication in the spec for a single request.
873
+ :type _request_auth: dict, optional
874
+ :param _content_type: force content-type for the request.
875
+ :type _content_type: str, Optional
876
+ :param _headers: set to override the headers for a single
877
+ request; this effectively ignores the headers
878
+ in the spec for a single request.
879
+ :type _headers: dict, optional
880
+ :param _host_index: set to override the host_index for a single
881
+ request; this effectively ignores the host_index
882
+ in the spec for a single request.
883
+ :type _host_index: int, optional
884
+ :return: Returns the result object.
885
+ """ # noqa: E501
886
+
887
+ _param = self._get_hypercube_zip_serialize(
888
+ hypercube_token=hypercube_token,
889
+ _request_auth=_request_auth,
890
+ _content_type=_content_type,
891
+ _headers=_headers,
892
+ _host_index=_host_index
893
+ )
894
+
895
+ _response_types_map: Dict[str, Optional[str]] = {
896
+ '200': "bytearray",
897
+ '403': "Message",
898
+ '404': "Message",
899
+ '500': "Message",
900
+ }
901
+ response_data = self.api_client.call_api(
902
+ *_param,
903
+ _request_timeout=_request_timeout
904
+ )
905
+ response_data.read()
906
+ return self.api_client.response_deserialize(
907
+ response_data=response_data,
908
+ response_types_map=_response_types_map,
909
+ ).data
910
+
911
+
912
+ @validate_call
913
+ def get_hypercube_zip_with_http_info(
914
+ self,
915
+ hypercube_token: StrictStr,
916
+ _request_timeout: Union[
917
+ None,
918
+ Annotated[StrictFloat, Field(gt=0)],
919
+ Tuple[
920
+ Annotated[StrictFloat, Field(gt=0)],
921
+ Annotated[StrictFloat, Field(gt=0)]
922
+ ]
923
+ ] = None,
924
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
925
+ _content_type: Optional[StrictStr] = None,
926
+ _headers: Optional[Dict[StrictStr, Any]] = None,
927
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
928
+ ) -> ApiResponse[bytearray]:
929
+ """Downloads Hypercube job result
930
+
931
+ The job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role.
932
+
933
+ :param hypercube_token: (required)
934
+ :type hypercube_token: str
935
+ :param _request_timeout: timeout setting for this request. If one
936
+ number provided, it will be total request
937
+ timeout. It can also be a pair (tuple) of
938
+ (connection, read) timeouts.
939
+ :type _request_timeout: int, tuple(int, int), optional
940
+ :param _request_auth: set to override the auth_settings for an a single
941
+ request; this effectively ignores the
942
+ authentication in the spec for a single request.
943
+ :type _request_auth: dict, optional
944
+ :param _content_type: force content-type for the request.
945
+ :type _content_type: str, Optional
946
+ :param _headers: set to override the headers for a single
947
+ request; this effectively ignores the headers
948
+ in the spec for a single request.
949
+ :type _headers: dict, optional
950
+ :param _host_index: set to override the host_index for a single
951
+ request; this effectively ignores the host_index
952
+ in the spec for a single request.
953
+ :type _host_index: int, optional
954
+ :return: Returns the result object.
955
+ """ # noqa: E501
956
+
957
+ _param = self._get_hypercube_zip_serialize(
958
+ hypercube_token=hypercube_token,
959
+ _request_auth=_request_auth,
960
+ _content_type=_content_type,
961
+ _headers=_headers,
962
+ _host_index=_host_index
963
+ )
964
+
965
+ _response_types_map: Dict[str, Optional[str]] = {
966
+ '200': "bytearray",
967
+ '403': "Message",
968
+ '404': "Message",
969
+ '500': "Message",
970
+ }
971
+ response_data = self.api_client.call_api(
972
+ *_param,
973
+ _request_timeout=_request_timeout
974
+ )
975
+ response_data.read()
976
+ return self.api_client.response_deserialize(
977
+ response_data=response_data,
978
+ response_types_map=_response_types_map,
979
+ )
980
+
981
+
982
+ @validate_call
983
+ def get_hypercube_zip_without_preload_content(
984
+ self,
985
+ hypercube_token: StrictStr,
986
+ _request_timeout: Union[
987
+ None,
988
+ Annotated[StrictFloat, Field(gt=0)],
989
+ Tuple[
990
+ Annotated[StrictFloat, Field(gt=0)],
991
+ Annotated[StrictFloat, Field(gt=0)]
992
+ ]
993
+ ] = None,
994
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
995
+ _content_type: Optional[StrictStr] = None,
996
+ _headers: Optional[Dict[StrictStr, Any]] = None,
997
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
998
+ ) -> RESTResponseType:
999
+ """Downloads Hypercube job result
1000
+
1001
+ The job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role.
1002
+
1003
+ :param hypercube_token: (required)
1004
+ :type hypercube_token: str
1005
+ :param _request_timeout: timeout setting for this request. If one
1006
+ number provided, it will be total request
1007
+ timeout. It can also be a pair (tuple) of
1008
+ (connection, read) timeouts.
1009
+ :type _request_timeout: int, tuple(int, int), optional
1010
+ :param _request_auth: set to override the auth_settings for an a single
1011
+ request; this effectively ignores the
1012
+ authentication in the spec for a single request.
1013
+ :type _request_auth: dict, optional
1014
+ :param _content_type: force content-type for the request.
1015
+ :type _content_type: str, Optional
1016
+ :param _headers: set to override the headers for a single
1017
+ request; this effectively ignores the headers
1018
+ in the spec for a single request.
1019
+ :type _headers: dict, optional
1020
+ :param _host_index: set to override the host_index for a single
1021
+ request; this effectively ignores the host_index
1022
+ in the spec for a single request.
1023
+ :type _host_index: int, optional
1024
+ :return: Returns the result object.
1025
+ """ # noqa: E501
1026
+
1027
+ _param = self._get_hypercube_zip_serialize(
1028
+ hypercube_token=hypercube_token,
1029
+ _request_auth=_request_auth,
1030
+ _content_type=_content_type,
1031
+ _headers=_headers,
1032
+ _host_index=_host_index
1033
+ )
1034
+
1035
+ _response_types_map: Dict[str, Optional[str]] = {
1036
+ '200': "bytearray",
1037
+ '403': "Message",
1038
+ '404': "Message",
1039
+ '500': "Message",
1040
+ }
1041
+ response_data = self.api_client.call_api(
1042
+ *_param,
1043
+ _request_timeout=_request_timeout
1044
+ )
1045
+ return response_data.response
1046
+
1047
+
1048
+ def _get_hypercube_zip_serialize(
776
1049
  self,
777
1050
  hypercube_token,
778
- **kwargs
779
- ):
780
- """Downloads Hypercube job result # noqa: E501
781
-
782
- The job must belong to the logged in user, an invitee of the logged in user, or logged in user must have admin role. # noqa: E501
783
- This method makes a synchronous HTTP request by default. To make an
784
- asynchronous HTTP request, please pass async_req=True
785
-
786
- >>> thread = api.get_hypercube_zip(hypercube_token, async_req=True)
787
- >>> result = thread.get()
788
-
789
- Args:
790
- hypercube_token (str):
791
-
792
- Keyword Args:
793
- _return_http_data_only (bool): response data without head status
794
- code and headers. Default is True.
795
- _preload_content (bool): if False, the urllib3.HTTPResponse object
796
- will be returned without reading/decoding response data.
797
- Default is True.
798
- _request_timeout (int/float/tuple): timeout setting for this request. If
799
- one number provided, it will be total request timeout. It can also
800
- be a pair (tuple) of (connection, read) timeouts.
801
- Default is None.
802
- _check_input_type (bool): specifies if type checking
803
- should be done one the data sent to the server.
804
- Default is True.
805
- _check_return_type (bool): specifies if type checking
806
- should be done one the data received from the server.
807
- Default is True.
808
- _spec_property_naming (bool): True if the variable names in the input data
809
- are serialized names, as specified in the OpenAPI document.
810
- False if the variable names in the input data
811
- are pythonic names, e.g. snake case (default)
812
- _content_type (str/None): force body content-type.
813
- Default is None and content-type will be predicted by allowed
814
- content-types and body.
815
- _host_index (int/None): specifies the index of the server
816
- that we want to use.
817
- Default is read from the configuration.
818
- async_req (bool): execute request asynchronously
819
-
820
- Returns:
821
- file_type
822
- If the method is called asynchronously, returns the request
823
- thread.
824
- """
825
- kwargs['async_req'] = kwargs.get(
826
- 'async_req', False
827
- )
828
- kwargs['_return_http_data_only'] = kwargs.get(
829
- '_return_http_data_only', True
830
- )
831
- kwargs['_preload_content'] = kwargs.get(
832
- '_preload_content', True
833
- )
834
- kwargs['_request_timeout'] = kwargs.get(
835
- '_request_timeout', None
836
- )
837
- kwargs['_check_input_type'] = kwargs.get(
838
- '_check_input_type', True
839
- )
840
- kwargs['_check_return_type'] = kwargs.get(
841
- '_check_return_type', True
842
- )
843
- kwargs['_spec_property_naming'] = kwargs.get(
844
- '_spec_property_naming', False
845
- )
846
- kwargs['_content_type'] = kwargs.get(
847
- '_content_type')
848
- kwargs['_host_index'] = kwargs.get('_host_index')
849
- kwargs['hypercube_token'] = \
850
- hypercube_token
851
- return self.get_hypercube_zip_endpoint.call_with_http_info(**kwargs)
1051
+ _request_auth,
1052
+ _content_type,
1053
+ _headers,
1054
+ _host_index,
1055
+ ) -> RequestSerialized:
852
1056
 
1057
+ _host = None
1058
+
1059
+ _collection_formats: Dict[str, str] = {
1060
+ }
1061
+
1062
+ _path_params: Dict[str, str] = {}
1063
+ _query_params: List[Tuple[str, str]] = []
1064
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1065
+ _form_params: List[Tuple[str, str]] = []
1066
+ _files: Dict[
1067
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1068
+ ] = {}
1069
+ _body_params: Optional[bytes] = None
1070
+
1071
+ # process the path parameters
1072
+ if hypercube_token is not None:
1073
+ _path_params['hypercube_token'] = hypercube_token
1074
+ # process the query parameters
1075
+ # process the header parameters
1076
+ # process the form parameters
1077
+ # process the body parameter
1078
+
1079
+
1080
+ # set the HTTP header `Accept`
1081
+ if 'Accept' not in _header_params:
1082
+ _header_params['Accept'] = self.api_client.select_header_accept(
1083
+ [
1084
+ 'application/zip'
1085
+ ]
1086
+ )
1087
+
1088
+
1089
+ # authentication setting
1090
+ _auth_settings: List[str] = [
1091
+ 'BasicAuth'
1092
+ ]
1093
+
1094
+ return self.api_client.param_serialize(
1095
+ method='GET',
1096
+ resource_path='/hypercube/{hypercube_token}/result',
1097
+ path_params=_path_params,
1098
+ query_params=_query_params,
1099
+ header_params=_header_params,
1100
+ body=_body_params,
1101
+ post_params=_form_params,
1102
+ files=_files,
1103
+ auth_settings=_auth_settings,
1104
+ collection_formats=_collection_formats,
1105
+ _host=_host,
1106
+ _request_auth=_request_auth
1107
+ )
1108
+
1109
+
1110
+
1111
+
1112
+ @validate_call
853
1113
  def get_hypercube_zip_info(
1114
+ self,
1115
+ hypercube_token: StrictStr,
1116
+ _request_timeout: Union[
1117
+ None,
1118
+ Annotated[StrictFloat, Field(gt=0)],
1119
+ Tuple[
1120
+ Annotated[StrictFloat, Field(gt=0)],
1121
+ Annotated[StrictFloat, Field(gt=0)]
1122
+ ]
1123
+ ] = None,
1124
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1125
+ _content_type: Optional[StrictStr] = None,
1126
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1127
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1128
+ ) -> None:
1129
+ """Gets md5 hash and file size information of Hypercube job result
1130
+
1131
+ The job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role.
1132
+
1133
+ :param hypercube_token: (required)
1134
+ :type hypercube_token: str
1135
+ :param _request_timeout: timeout setting for this request. If one
1136
+ number provided, it will be total request
1137
+ timeout. It can also be a pair (tuple) of
1138
+ (connection, read) timeouts.
1139
+ :type _request_timeout: int, tuple(int, int), optional
1140
+ :param _request_auth: set to override the auth_settings for an a single
1141
+ request; this effectively ignores the
1142
+ authentication in the spec for a single request.
1143
+ :type _request_auth: dict, optional
1144
+ :param _content_type: force content-type for the request.
1145
+ :type _content_type: str, Optional
1146
+ :param _headers: set to override the headers for a single
1147
+ request; this effectively ignores the headers
1148
+ in the spec for a single request.
1149
+ :type _headers: dict, optional
1150
+ :param _host_index: set to override the host_index for a single
1151
+ request; this effectively ignores the host_index
1152
+ in the spec for a single request.
1153
+ :type _host_index: int, optional
1154
+ :return: Returns the result object.
1155
+ """ # noqa: E501
1156
+
1157
+ _param = self._get_hypercube_zip_info_serialize(
1158
+ hypercube_token=hypercube_token,
1159
+ _request_auth=_request_auth,
1160
+ _content_type=_content_type,
1161
+ _headers=_headers,
1162
+ _host_index=_host_index
1163
+ )
1164
+
1165
+ _response_types_map: Dict[str, Optional[str]] = {
1166
+ '200': None,
1167
+ '403': None,
1168
+ '404': None,
1169
+ '500': None,
1170
+ }
1171
+ response_data = self.api_client.call_api(
1172
+ *_param,
1173
+ _request_timeout=_request_timeout
1174
+ )
1175
+ response_data.read()
1176
+ return self.api_client.response_deserialize(
1177
+ response_data=response_data,
1178
+ response_types_map=_response_types_map,
1179
+ ).data
1180
+
1181
+
1182
+ @validate_call
1183
+ def get_hypercube_zip_info_with_http_info(
1184
+ self,
1185
+ hypercube_token: StrictStr,
1186
+ _request_timeout: Union[
1187
+ None,
1188
+ Annotated[StrictFloat, Field(gt=0)],
1189
+ Tuple[
1190
+ Annotated[StrictFloat, Field(gt=0)],
1191
+ Annotated[StrictFloat, Field(gt=0)]
1192
+ ]
1193
+ ] = None,
1194
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1195
+ _content_type: Optional[StrictStr] = None,
1196
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1197
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1198
+ ) -> ApiResponse[None]:
1199
+ """Gets md5 hash and file size information of Hypercube job result
1200
+
1201
+ The job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role.
1202
+
1203
+ :param hypercube_token: (required)
1204
+ :type hypercube_token: str
1205
+ :param _request_timeout: timeout setting for this request. If one
1206
+ number provided, it will be total request
1207
+ timeout. It can also be a pair (tuple) of
1208
+ (connection, read) timeouts.
1209
+ :type _request_timeout: int, tuple(int, int), optional
1210
+ :param _request_auth: set to override the auth_settings for an a single
1211
+ request; this effectively ignores the
1212
+ authentication in the spec for a single request.
1213
+ :type _request_auth: dict, optional
1214
+ :param _content_type: force content-type for the request.
1215
+ :type _content_type: str, Optional
1216
+ :param _headers: set to override the headers for a single
1217
+ request; this effectively ignores the headers
1218
+ in the spec for a single request.
1219
+ :type _headers: dict, optional
1220
+ :param _host_index: set to override the host_index for a single
1221
+ request; this effectively ignores the host_index
1222
+ in the spec for a single request.
1223
+ :type _host_index: int, optional
1224
+ :return: Returns the result object.
1225
+ """ # noqa: E501
1226
+
1227
+ _param = self._get_hypercube_zip_info_serialize(
1228
+ hypercube_token=hypercube_token,
1229
+ _request_auth=_request_auth,
1230
+ _content_type=_content_type,
1231
+ _headers=_headers,
1232
+ _host_index=_host_index
1233
+ )
1234
+
1235
+ _response_types_map: Dict[str, Optional[str]] = {
1236
+ '200': None,
1237
+ '403': None,
1238
+ '404': None,
1239
+ '500': None,
1240
+ }
1241
+ response_data = self.api_client.call_api(
1242
+ *_param,
1243
+ _request_timeout=_request_timeout
1244
+ )
1245
+ response_data.read()
1246
+ return self.api_client.response_deserialize(
1247
+ response_data=response_data,
1248
+ response_types_map=_response_types_map,
1249
+ )
1250
+
1251
+
1252
+ @validate_call
1253
+ def get_hypercube_zip_info_without_preload_content(
1254
+ self,
1255
+ hypercube_token: StrictStr,
1256
+ _request_timeout: Union[
1257
+ None,
1258
+ Annotated[StrictFloat, Field(gt=0)],
1259
+ Tuple[
1260
+ Annotated[StrictFloat, Field(gt=0)],
1261
+ Annotated[StrictFloat, Field(gt=0)]
1262
+ ]
1263
+ ] = None,
1264
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1265
+ _content_type: Optional[StrictStr] = None,
1266
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1267
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1268
+ ) -> RESTResponseType:
1269
+ """Gets md5 hash and file size information of Hypercube job result
1270
+
1271
+ The job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role.
1272
+
1273
+ :param hypercube_token: (required)
1274
+ :type hypercube_token: str
1275
+ :param _request_timeout: timeout setting for this request. If one
1276
+ number provided, it will be total request
1277
+ timeout. It can also be a pair (tuple) of
1278
+ (connection, read) timeouts.
1279
+ :type _request_timeout: int, tuple(int, int), optional
1280
+ :param _request_auth: set to override the auth_settings for an a single
1281
+ request; this effectively ignores the
1282
+ authentication in the spec for a single request.
1283
+ :type _request_auth: dict, optional
1284
+ :param _content_type: force content-type for the request.
1285
+ :type _content_type: str, Optional
1286
+ :param _headers: set to override the headers for a single
1287
+ request; this effectively ignores the headers
1288
+ in the spec for a single request.
1289
+ :type _headers: dict, optional
1290
+ :param _host_index: set to override the host_index for a single
1291
+ request; this effectively ignores the host_index
1292
+ in the spec for a single request.
1293
+ :type _host_index: int, optional
1294
+ :return: Returns the result object.
1295
+ """ # noqa: E501
1296
+
1297
+ _param = self._get_hypercube_zip_info_serialize(
1298
+ hypercube_token=hypercube_token,
1299
+ _request_auth=_request_auth,
1300
+ _content_type=_content_type,
1301
+ _headers=_headers,
1302
+ _host_index=_host_index
1303
+ )
1304
+
1305
+ _response_types_map: Dict[str, Optional[str]] = {
1306
+ '200': None,
1307
+ '403': None,
1308
+ '404': None,
1309
+ '500': None,
1310
+ }
1311
+ response_data = self.api_client.call_api(
1312
+ *_param,
1313
+ _request_timeout=_request_timeout
1314
+ )
1315
+ return response_data.response
1316
+
1317
+
1318
+ def _get_hypercube_zip_info_serialize(
854
1319
  self,
855
1320
  hypercube_token,
856
- **kwargs
857
- ):
858
- """Gets md5 hash and file size information of Hypercube job result # noqa: E501
859
-
860
- The job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role. # noqa: E501
861
- This method makes a synchronous HTTP request by default. To make an
862
- asynchronous HTTP request, please pass async_req=True
863
-
864
- >>> thread = api.get_hypercube_zip_info(hypercube_token, async_req=True)
865
- >>> result = thread.get()
866
-
867
- Args:
868
- hypercube_token (str):
869
-
870
- Keyword Args:
871
- _return_http_data_only (bool): response data without head status
872
- code and headers. Default is True.
873
- _preload_content (bool): if False, the urllib3.HTTPResponse object
874
- will be returned without reading/decoding response data.
875
- Default is True.
876
- _request_timeout (int/float/tuple): timeout setting for this request. If
877
- one number provided, it will be total request timeout. It can also
878
- be a pair (tuple) of (connection, read) timeouts.
879
- Default is None.
880
- _check_input_type (bool): specifies if type checking
881
- should be done one the data sent to the server.
882
- Default is True.
883
- _check_return_type (bool): specifies if type checking
884
- should be done one the data received from the server.
885
- Default is True.
886
- _spec_property_naming (bool): True if the variable names in the input data
887
- are serialized names, as specified in the OpenAPI document.
888
- False if the variable names in the input data
889
- are pythonic names, e.g. snake case (default)
890
- _content_type (str/None): force body content-type.
891
- Default is None and content-type will be predicted by allowed
892
- content-types and body.
893
- _host_index (int/None): specifies the index of the server
894
- that we want to use.
895
- Default is read from the configuration.
896
- async_req (bool): execute request asynchronously
897
-
898
- Returns:
899
- None
900
- If the method is called asynchronously, returns the request
901
- thread.
902
- """
903
- kwargs['async_req'] = kwargs.get(
904
- 'async_req', False
905
- )
906
- kwargs['_return_http_data_only'] = kwargs.get(
907
- '_return_http_data_only', True
908
- )
909
- kwargs['_preload_content'] = kwargs.get(
910
- '_preload_content', True
911
- )
912
- kwargs['_request_timeout'] = kwargs.get(
913
- '_request_timeout', None
914
- )
915
- kwargs['_check_input_type'] = kwargs.get(
916
- '_check_input_type', True
917
- )
918
- kwargs['_check_return_type'] = kwargs.get(
919
- '_check_return_type', True
920
- )
921
- kwargs['_spec_property_naming'] = kwargs.get(
922
- '_spec_property_naming', False
923
- )
924
- kwargs['_content_type'] = kwargs.get(
925
- '_content_type')
926
- kwargs['_host_index'] = kwargs.get('_host_index')
927
- kwargs['hypercube_token'] = \
928
- hypercube_token
929
- return self.get_hypercube_zip_info_endpoint.call_with_http_info(**kwargs)
1321
+ _request_auth,
1322
+ _content_type,
1323
+ _headers,
1324
+ _host_index,
1325
+ ) -> RequestSerialized:
1326
+
1327
+ _host = None
1328
+
1329
+ _collection_formats: Dict[str, str] = {
1330
+ }
930
1331
 
1332
+ _path_params: Dict[str, str] = {}
1333
+ _query_params: List[Tuple[str, str]] = []
1334
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1335
+ _form_params: List[Tuple[str, str]] = []
1336
+ _files: Dict[
1337
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1338
+ ] = {}
1339
+ _body_params: Optional[bytes] = None
1340
+
1341
+ # process the path parameters
1342
+ if hypercube_token is not None:
1343
+ _path_params['hypercube_token'] = hypercube_token
1344
+ # process the query parameters
1345
+ # process the header parameters
1346
+ # process the form parameters
1347
+ # process the body parameter
1348
+
1349
+
1350
+
1351
+
1352
+ # authentication setting
1353
+ _auth_settings: List[str] = [
1354
+ 'BasicAuth'
1355
+ ]
1356
+
1357
+ return self.api_client.param_serialize(
1358
+ method='HEAD',
1359
+ resource_path='/hypercube/{hypercube_token}/result',
1360
+ path_params=_path_params,
1361
+ query_params=_query_params,
1362
+ header_params=_header_params,
1363
+ body=_body_params,
1364
+ post_params=_form_params,
1365
+ files=_files,
1366
+ auth_settings=_auth_settings,
1367
+ collection_formats=_collection_formats,
1368
+ _host=_host,
1369
+ _request_auth=_request_auth
1370
+ )
1371
+
1372
+
1373
+
1374
+
1375
+ @validate_call
931
1376
  def kill_hypercube(
1377
+ self,
1378
+ hypercube_token: StrictStr,
1379
+ hard_kill: Annotated[Optional[StrictBool], Field(description="Sends SIGKILL if true, SIGINT otherwise")] = None,
1380
+ _request_timeout: Union[
1381
+ None,
1382
+ Annotated[StrictFloat, Field(gt=0)],
1383
+ Tuple[
1384
+ Annotated[StrictFloat, Field(gt=0)],
1385
+ Annotated[StrictFloat, Field(gt=0)]
1386
+ ]
1387
+ ] = None,
1388
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1389
+ _content_type: Optional[StrictStr] = None,
1390
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1391
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1392
+ ) -> Message:
1393
+ """Terminates the unfinished jobs that belong to a Hypercube job
1394
+
1395
+ Job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role.
1396
+
1397
+ :param hypercube_token: (required)
1398
+ :type hypercube_token: str
1399
+ :param hard_kill: Sends SIGKILL if true, SIGINT otherwise
1400
+ :type hard_kill: bool
1401
+ :param _request_timeout: timeout setting for this request. If one
1402
+ number provided, it will be total request
1403
+ timeout. It can also be a pair (tuple) of
1404
+ (connection, read) timeouts.
1405
+ :type _request_timeout: int, tuple(int, int), optional
1406
+ :param _request_auth: set to override the auth_settings for an a single
1407
+ request; this effectively ignores the
1408
+ authentication in the spec for a single request.
1409
+ :type _request_auth: dict, optional
1410
+ :param _content_type: force content-type for the request.
1411
+ :type _content_type: str, Optional
1412
+ :param _headers: set to override the headers for a single
1413
+ request; this effectively ignores the headers
1414
+ in the spec for a single request.
1415
+ :type _headers: dict, optional
1416
+ :param _host_index: set to override the host_index for a single
1417
+ request; this effectively ignores the host_index
1418
+ in the spec for a single request.
1419
+ :type _host_index: int, optional
1420
+ :return: Returns the result object.
1421
+ """ # noqa: E501
1422
+
1423
+ _param = self._kill_hypercube_serialize(
1424
+ hypercube_token=hypercube_token,
1425
+ hard_kill=hard_kill,
1426
+ _request_auth=_request_auth,
1427
+ _content_type=_content_type,
1428
+ _headers=_headers,
1429
+ _host_index=_host_index
1430
+ )
1431
+
1432
+ _response_types_map: Dict[str, Optional[str]] = {
1433
+ '200': "Message",
1434
+ '400': "Message",
1435
+ '403': "Message",
1436
+ '404': "Message",
1437
+ '500': "Message",
1438
+ }
1439
+ response_data = self.api_client.call_api(
1440
+ *_param,
1441
+ _request_timeout=_request_timeout
1442
+ )
1443
+ response_data.read()
1444
+ return self.api_client.response_deserialize(
1445
+ response_data=response_data,
1446
+ response_types_map=_response_types_map,
1447
+ ).data
1448
+
1449
+
1450
+ @validate_call
1451
+ def kill_hypercube_with_http_info(
1452
+ self,
1453
+ hypercube_token: StrictStr,
1454
+ hard_kill: Annotated[Optional[StrictBool], Field(description="Sends SIGKILL if true, SIGINT otherwise")] = None,
1455
+ _request_timeout: Union[
1456
+ None,
1457
+ Annotated[StrictFloat, Field(gt=0)],
1458
+ Tuple[
1459
+ Annotated[StrictFloat, Field(gt=0)],
1460
+ Annotated[StrictFloat, Field(gt=0)]
1461
+ ]
1462
+ ] = None,
1463
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1464
+ _content_type: Optional[StrictStr] = None,
1465
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1466
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1467
+ ) -> ApiResponse[Message]:
1468
+ """Terminates the unfinished jobs that belong to a Hypercube job
1469
+
1470
+ Job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role.
1471
+
1472
+ :param hypercube_token: (required)
1473
+ :type hypercube_token: str
1474
+ :param hard_kill: Sends SIGKILL if true, SIGINT otherwise
1475
+ :type hard_kill: bool
1476
+ :param _request_timeout: timeout setting for this request. If one
1477
+ number provided, it will be total request
1478
+ timeout. It can also be a pair (tuple) of
1479
+ (connection, read) timeouts.
1480
+ :type _request_timeout: int, tuple(int, int), optional
1481
+ :param _request_auth: set to override the auth_settings for an a single
1482
+ request; this effectively ignores the
1483
+ authentication in the spec for a single request.
1484
+ :type _request_auth: dict, optional
1485
+ :param _content_type: force content-type for the request.
1486
+ :type _content_type: str, Optional
1487
+ :param _headers: set to override the headers for a single
1488
+ request; this effectively ignores the headers
1489
+ in the spec for a single request.
1490
+ :type _headers: dict, optional
1491
+ :param _host_index: set to override the host_index for a single
1492
+ request; this effectively ignores the host_index
1493
+ in the spec for a single request.
1494
+ :type _host_index: int, optional
1495
+ :return: Returns the result object.
1496
+ """ # noqa: E501
1497
+
1498
+ _param = self._kill_hypercube_serialize(
1499
+ hypercube_token=hypercube_token,
1500
+ hard_kill=hard_kill,
1501
+ _request_auth=_request_auth,
1502
+ _content_type=_content_type,
1503
+ _headers=_headers,
1504
+ _host_index=_host_index
1505
+ )
1506
+
1507
+ _response_types_map: Dict[str, Optional[str]] = {
1508
+ '200': "Message",
1509
+ '400': "Message",
1510
+ '403': "Message",
1511
+ '404': "Message",
1512
+ '500': "Message",
1513
+ }
1514
+ response_data = self.api_client.call_api(
1515
+ *_param,
1516
+ _request_timeout=_request_timeout
1517
+ )
1518
+ response_data.read()
1519
+ return self.api_client.response_deserialize(
1520
+ response_data=response_data,
1521
+ response_types_map=_response_types_map,
1522
+ )
1523
+
1524
+
1525
+ @validate_call
1526
+ def kill_hypercube_without_preload_content(
1527
+ self,
1528
+ hypercube_token: StrictStr,
1529
+ hard_kill: Annotated[Optional[StrictBool], Field(description="Sends SIGKILL if true, SIGINT otherwise")] = None,
1530
+ _request_timeout: Union[
1531
+ None,
1532
+ Annotated[StrictFloat, Field(gt=0)],
1533
+ Tuple[
1534
+ Annotated[StrictFloat, Field(gt=0)],
1535
+ Annotated[StrictFloat, Field(gt=0)]
1536
+ ]
1537
+ ] = None,
1538
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1539
+ _content_type: Optional[StrictStr] = None,
1540
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1541
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1542
+ ) -> RESTResponseType:
1543
+ """Terminates the unfinished jobs that belong to a Hypercube job
1544
+
1545
+ Job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role.
1546
+
1547
+ :param hypercube_token: (required)
1548
+ :type hypercube_token: str
1549
+ :param hard_kill: Sends SIGKILL if true, SIGINT otherwise
1550
+ :type hard_kill: bool
1551
+ :param _request_timeout: timeout setting for this request. If one
1552
+ number provided, it will be total request
1553
+ timeout. It can also be a pair (tuple) of
1554
+ (connection, read) timeouts.
1555
+ :type _request_timeout: int, tuple(int, int), optional
1556
+ :param _request_auth: set to override the auth_settings for an a single
1557
+ request; this effectively ignores the
1558
+ authentication in the spec for a single request.
1559
+ :type _request_auth: dict, optional
1560
+ :param _content_type: force content-type for the request.
1561
+ :type _content_type: str, Optional
1562
+ :param _headers: set to override the headers for a single
1563
+ request; this effectively ignores the headers
1564
+ in the spec for a single request.
1565
+ :type _headers: dict, optional
1566
+ :param _host_index: set to override the host_index for a single
1567
+ request; this effectively ignores the host_index
1568
+ in the spec for a single request.
1569
+ :type _host_index: int, optional
1570
+ :return: Returns the result object.
1571
+ """ # noqa: E501
1572
+
1573
+ _param = self._kill_hypercube_serialize(
1574
+ hypercube_token=hypercube_token,
1575
+ hard_kill=hard_kill,
1576
+ _request_auth=_request_auth,
1577
+ _content_type=_content_type,
1578
+ _headers=_headers,
1579
+ _host_index=_host_index
1580
+ )
1581
+
1582
+ _response_types_map: Dict[str, Optional[str]] = {
1583
+ '200': "Message",
1584
+ '400': "Message",
1585
+ '403': "Message",
1586
+ '404': "Message",
1587
+ '500': "Message",
1588
+ }
1589
+ response_data = self.api_client.call_api(
1590
+ *_param,
1591
+ _request_timeout=_request_timeout
1592
+ )
1593
+ return response_data.response
1594
+
1595
+
1596
+ def _kill_hypercube_serialize(
932
1597
  self,
933
1598
  hypercube_token,
934
- **kwargs
935
- ):
936
- """Terminates the unfinished jobs that belong to a Hypercube job # noqa: E501
937
-
938
- Job must belong to the logged in user, an invitee of the logged in user, or the logged in user must have admin role. # noqa: E501
939
- This method makes a synchronous HTTP request by default. To make an
940
- asynchronous HTTP request, please pass async_req=True
941
-
942
- >>> thread = api.kill_hypercube(hypercube_token, async_req=True)
943
- >>> result = thread.get()
944
-
945
- Args:
946
- hypercube_token (str):
947
-
948
- Keyword Args:
949
- hard_kill (bool): Sends SIGKILL if true, SIGINT otherwise. [optional] if omitted the server will use the default value of False
950
- _return_http_data_only (bool): response data without head status
951
- code and headers. Default is True.
952
- _preload_content (bool): if False, the urllib3.HTTPResponse object
953
- will be returned without reading/decoding response data.
954
- Default is True.
955
- _request_timeout (int/float/tuple): timeout setting for this request. If
956
- one number provided, it will be total request timeout. It can also
957
- be a pair (tuple) of (connection, read) timeouts.
958
- Default is None.
959
- _check_input_type (bool): specifies if type checking
960
- should be done one the data sent to the server.
961
- Default is True.
962
- _check_return_type (bool): specifies if type checking
963
- should be done one the data received from the server.
964
- Default is True.
965
- _spec_property_naming (bool): True if the variable names in the input data
966
- are serialized names, as specified in the OpenAPI document.
967
- False if the variable names in the input data
968
- are pythonic names, e.g. snake case (default)
969
- _content_type (str/None): force body content-type.
970
- Default is None and content-type will be predicted by allowed
971
- content-types and body.
972
- _host_index (int/None): specifies the index of the server
973
- that we want to use.
974
- Default is read from the configuration.
975
- async_req (bool): execute request asynchronously
976
-
977
- Returns:
978
- Message
979
- If the method is called asynchronously, returns the request
980
- thread.
981
- """
982
- kwargs['async_req'] = kwargs.get(
983
- 'async_req', False
984
- )
985
- kwargs['_return_http_data_only'] = kwargs.get(
986
- '_return_http_data_only', True
987
- )
988
- kwargs['_preload_content'] = kwargs.get(
989
- '_preload_content', True
990
- )
991
- kwargs['_request_timeout'] = kwargs.get(
992
- '_request_timeout', None
993
- )
994
- kwargs['_check_input_type'] = kwargs.get(
995
- '_check_input_type', True
996
- )
997
- kwargs['_check_return_type'] = kwargs.get(
998
- '_check_return_type', True
999
- )
1000
- kwargs['_spec_property_naming'] = kwargs.get(
1001
- '_spec_property_naming', False
1002
- )
1003
- kwargs['_content_type'] = kwargs.get(
1004
- '_content_type')
1005
- kwargs['_host_index'] = kwargs.get('_host_index')
1006
- kwargs['hypercube_token'] = \
1007
- hypercube_token
1008
- return self.kill_hypercube_endpoint.call_with_http_info(**kwargs)
1599
+ hard_kill,
1600
+ _request_auth,
1601
+ _content_type,
1602
+ _headers,
1603
+ _host_index,
1604
+ ) -> RequestSerialized:
1605
+
1606
+ _host = None
1607
+
1608
+ _collection_formats: Dict[str, str] = {
1609
+ }
1009
1610
 
1611
+ _path_params: Dict[str, str] = {}
1612
+ _query_params: List[Tuple[str, str]] = []
1613
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1614
+ _form_params: List[Tuple[str, str]] = []
1615
+ _files: Dict[
1616
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1617
+ ] = {}
1618
+ _body_params: Optional[bytes] = None
1619
+
1620
+ # process the path parameters
1621
+ if hypercube_token is not None:
1622
+ _path_params['hypercube_token'] = hypercube_token
1623
+ # process the query parameters
1624
+ if hard_kill is not None:
1625
+
1626
+ _query_params.append(('hard_kill', hard_kill))
1627
+
1628
+ # process the header parameters
1629
+ # process the form parameters
1630
+ # process the body parameter
1631
+
1632
+
1633
+ # set the HTTP header `Accept`
1634
+ if 'Accept' not in _header_params:
1635
+ _header_params['Accept'] = self.api_client.select_header_accept(
1636
+ [
1637
+ 'application/json'
1638
+ ]
1639
+ )
1640
+
1641
+
1642
+ # authentication setting
1643
+ _auth_settings: List[str] = [
1644
+ 'BasicAuth'
1645
+ ]
1646
+
1647
+ return self.api_client.param_serialize(
1648
+ method='DELETE',
1649
+ resource_path='/hypercube/{hypercube_token}',
1650
+ path_params=_path_params,
1651
+ query_params=_query_params,
1652
+ header_params=_header_params,
1653
+ body=_body_params,
1654
+ post_params=_form_params,
1655
+ files=_files,
1656
+ auth_settings=_auth_settings,
1657
+ collection_formats=_collection_formats,
1658
+ _host=_host,
1659
+ _request_auth=_request_auth
1660
+ )
1661
+
1662
+
1663
+
1664
+
1665
+ @validate_call
1010
1666
  def list_hypercubes(
1011
1667
  self,
1012
- **kwargs
1013
- ):
1014
- """Lists the Hypercube jobs sent by the user unless `everyone` flag is set # noqa: E501
1015
-
1016
- If user has admin role and `everyone` flag is set, all Hypercube jobs are listed. If user is not inviter or admin and `everyone` flag is set, all visible Hypercube jobs (Hypercube jobs that were assigned to a user group that user is member of) are listed. If user is inviter and 'everyone' flag is set, Hypercube jobs of all invitees will be listed additionally. If `page` is not one and there are no elements at that page, throws 404. Due to performance issues the fields `result_exists`, `dep_tokens`, `labels` and `access_groups` are only provided for queries for a single Hypercube job. If `show_only_active` flag is set it only shows hypercube jobs that are not finished. `labels.resource_warning`, `labels.instance`, `labels.multiplier`, `access_groups` and `tag` fields are hidden by default for compatibility reasons, please use X-Fields header to get it. For example: X-Fields: \\*, labels{\\*} # noqa: E501
1017
- This method makes a synchronous HTTP request by default. To make an
1018
- asynchronous HTTP request, please pass async_req=True
1019
-
1020
- >>> thread = api.list_hypercubes(async_req=True)
1021
- >>> result = thread.get()
1022
-
1023
-
1024
- Keyword Args:
1025
- hypercube_token (str): Hypercube token to filter. [optional]
1026
- everyone (bool): Can be set by admin/inviter; shows Hypercube submissions of everyone/invitees. [optional]
1027
- page (int): [optional] if omitted the server will use the default value of 1
1028
- per_page (int): [optional] if omitted the server will use the default value of 0
1029
- x_fields (str): [optional]
1030
- order_by (str): [optional] if omitted the server will use the default value of "submitted_at"
1031
- order_asc (bool): [optional] if omitted the server will use the default value of False
1032
- show_only_active (bool): [optional] if omitted the server will use the default value of False
1033
- _return_http_data_only (bool): response data without head status
1034
- code and headers. Default is True.
1035
- _preload_content (bool): if False, the urllib3.HTTPResponse object
1036
- will be returned without reading/decoding response data.
1037
- Default is True.
1038
- _request_timeout (int/float/tuple): timeout setting for this request. If
1039
- one number provided, it will be total request timeout. It can also
1040
- be a pair (tuple) of (connection, read) timeouts.
1041
- Default is None.
1042
- _check_input_type (bool): specifies if type checking
1043
- should be done one the data sent to the server.
1044
- Default is True.
1045
- _check_return_type (bool): specifies if type checking
1046
- should be done one the data received from the server.
1047
- Default is True.
1048
- _spec_property_naming (bool): True if the variable names in the input data
1049
- are serialized names, as specified in the OpenAPI document.
1050
- False if the variable names in the input data
1051
- are pythonic names, e.g. snake case (default)
1052
- _content_type (str/None): force body content-type.
1053
- Default is None and content-type will be predicted by allowed
1054
- content-types and body.
1055
- _host_index (int/None): specifies the index of the server
1056
- that we want to use.
1057
- Default is read from the configuration.
1058
- async_req (bool): execute request asynchronously
1059
-
1060
- Returns:
1061
- HypercubePage
1062
- If the method is called asynchronously, returns the request
1063
- thread.
1064
- """
1065
- kwargs['async_req'] = kwargs.get(
1066
- 'async_req', False
1067
- )
1068
- kwargs['_return_http_data_only'] = kwargs.get(
1069
- '_return_http_data_only', True
1070
- )
1071
- kwargs['_preload_content'] = kwargs.get(
1072
- '_preload_content', True
1073
- )
1074
- kwargs['_request_timeout'] = kwargs.get(
1075
- '_request_timeout', None
1076
- )
1077
- kwargs['_check_input_type'] = kwargs.get(
1078
- '_check_input_type', True
1079
- )
1080
- kwargs['_check_return_type'] = kwargs.get(
1081
- '_check_return_type', True
1082
- )
1083
- kwargs['_spec_property_naming'] = kwargs.get(
1084
- '_spec_property_naming', False
1085
- )
1086
- kwargs['_content_type'] = kwargs.get(
1087
- '_content_type')
1088
- kwargs['_host_index'] = kwargs.get('_host_index')
1089
- return self.list_hypercubes_endpoint.call_with_http_info(**kwargs)
1668
+ hypercube_token: Annotated[Optional[StrictStr], Field(description="Hypercube token to filter")] = None,
1669
+ everyone: Annotated[Optional[StrictBool], Field(description="Can be set by admin/inviter; shows Hypercube submissions of everyone/invitees")] = None,
1670
+ page: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=1)]] = None,
1671
+ per_page: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=0)]] = None,
1672
+ x_fields: Optional[StrictStr] = None,
1673
+ order_by: Optional[StrictStr] = None,
1674
+ order_asc: Optional[StrictBool] = None,
1675
+ show_only_active: Optional[StrictBool] = None,
1676
+ _request_timeout: Union[
1677
+ None,
1678
+ Annotated[StrictFloat, Field(gt=0)],
1679
+ Tuple[
1680
+ Annotated[StrictFloat, Field(gt=0)],
1681
+ Annotated[StrictFloat, Field(gt=0)]
1682
+ ]
1683
+ ] = None,
1684
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1685
+ _content_type: Optional[StrictStr] = None,
1686
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1687
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1688
+ ) -> HypercubePage:
1689
+ """Lists the Hypercube jobs sent by the user unless `everyone` flag is set
1690
+
1691
+ If user has admin role and `everyone` flag is set, all Hypercube jobs are listed. If user is not inviter or admin and `everyone` flag is set, all visible Hypercube jobs (Hypercube jobs that were assigned to a user group that user is member of) are listed. If user is inviter and 'everyone' flag is set, Hypercube jobs of all invitees will be listed additionally. If `page` is not one and there are no elements at that page, throws 404. Due to performance issues the fields `result_exists`, `dep_tokens`, `labels` and `access_groups` are only provided for queries for a single Hypercube job. If `show_only_active` flag is set it only shows hypercube jobs that are not finished. `labels.resource_warning`, `labels.instance`, `labels.multiplier`, `access_groups` and `tag` fields are hidden by default for compatibility reasons, please use X-Fields header to get it. For example: X-Fields: \\*, labels{\\*}
1692
+
1693
+ :param hypercube_token: Hypercube token to filter
1694
+ :type hypercube_token: UUID
1695
+ :param everyone: Can be set by admin/inviter; shows Hypercube submissions of everyone/invitees
1696
+ :type everyone: bool
1697
+ :param page:
1698
+ :type page: int
1699
+ :param per_page:
1700
+ :type per_page: int
1701
+ :param x_fields:
1702
+ :type x_fields: str
1703
+ :param order_by:
1704
+ :type order_by: str
1705
+ :param order_asc:
1706
+ :type order_asc: bool
1707
+ :param show_only_active:
1708
+ :type show_only_active: bool
1709
+ :param _request_timeout: timeout setting for this request. If one
1710
+ number provided, it will be total request
1711
+ timeout. It can also be a pair (tuple) of
1712
+ (connection, read) timeouts.
1713
+ :type _request_timeout: int, tuple(int, int), optional
1714
+ :param _request_auth: set to override the auth_settings for an a single
1715
+ request; this effectively ignores the
1716
+ authentication in the spec for a single request.
1717
+ :type _request_auth: dict, optional
1718
+ :param _content_type: force content-type for the request.
1719
+ :type _content_type: str, Optional
1720
+ :param _headers: set to override the headers for a single
1721
+ request; this effectively ignores the headers
1722
+ in the spec for a single request.
1723
+ :type _headers: dict, optional
1724
+ :param _host_index: set to override the host_index for a single
1725
+ request; this effectively ignores the host_index
1726
+ in the spec for a single request.
1727
+ :type _host_index: int, optional
1728
+ :return: Returns the result object.
1729
+ """ # noqa: E501
1730
+
1731
+ _param = self._list_hypercubes_serialize(
1732
+ hypercube_token=hypercube_token,
1733
+ everyone=everyone,
1734
+ page=page,
1735
+ per_page=per_page,
1736
+ x_fields=x_fields,
1737
+ order_by=order_by,
1738
+ order_asc=order_asc,
1739
+ show_only_active=show_only_active,
1740
+ _request_auth=_request_auth,
1741
+ _content_type=_content_type,
1742
+ _headers=_headers,
1743
+ _host_index=_host_index
1744
+ )
1745
+
1746
+ _response_types_map: Dict[str, Optional[str]] = {
1747
+ '200': "HypercubePage",
1748
+ '400': "Message",
1749
+ '403': "Message",
1750
+ '404': None,
1751
+ '500': "Message",
1752
+ }
1753
+ response_data = self.api_client.call_api(
1754
+ *_param,
1755
+ _request_timeout=_request_timeout
1756
+ )
1757
+ response_data.read()
1758
+ return self.api_client.response_deserialize(
1759
+ response_data=response_data,
1760
+ response_types_map=_response_types_map,
1761
+ ).data
1762
+
1763
+
1764
+ @validate_call
1765
+ def list_hypercubes_with_http_info(
1766
+ self,
1767
+ hypercube_token: Annotated[Optional[StrictStr], Field(description="Hypercube token to filter")] = None,
1768
+ everyone: Annotated[Optional[StrictBool], Field(description="Can be set by admin/inviter; shows Hypercube submissions of everyone/invitees")] = None,
1769
+ page: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=1)]] = None,
1770
+ per_page: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=0)]] = None,
1771
+ x_fields: Optional[StrictStr] = None,
1772
+ order_by: Optional[StrictStr] = None,
1773
+ order_asc: Optional[StrictBool] = None,
1774
+ show_only_active: Optional[StrictBool] = None,
1775
+ _request_timeout: Union[
1776
+ None,
1777
+ Annotated[StrictFloat, Field(gt=0)],
1778
+ Tuple[
1779
+ Annotated[StrictFloat, Field(gt=0)],
1780
+ Annotated[StrictFloat, Field(gt=0)]
1781
+ ]
1782
+ ] = None,
1783
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1784
+ _content_type: Optional[StrictStr] = None,
1785
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1786
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1787
+ ) -> ApiResponse[HypercubePage]:
1788
+ """Lists the Hypercube jobs sent by the user unless `everyone` flag is set
1789
+
1790
+ If user has admin role and `everyone` flag is set, all Hypercube jobs are listed. If user is not inviter or admin and `everyone` flag is set, all visible Hypercube jobs (Hypercube jobs that were assigned to a user group that user is member of) are listed. If user is inviter and 'everyone' flag is set, Hypercube jobs of all invitees will be listed additionally. If `page` is not one and there are no elements at that page, throws 404. Due to performance issues the fields `result_exists`, `dep_tokens`, `labels` and `access_groups` are only provided for queries for a single Hypercube job. If `show_only_active` flag is set it only shows hypercube jobs that are not finished. `labels.resource_warning`, `labels.instance`, `labels.multiplier`, `access_groups` and `tag` fields are hidden by default for compatibility reasons, please use X-Fields header to get it. For example: X-Fields: \\*, labels{\\*}
1791
+
1792
+ :param hypercube_token: Hypercube token to filter
1793
+ :type hypercube_token: UUID
1794
+ :param everyone: Can be set by admin/inviter; shows Hypercube submissions of everyone/invitees
1795
+ :type everyone: bool
1796
+ :param page:
1797
+ :type page: int
1798
+ :param per_page:
1799
+ :type per_page: int
1800
+ :param x_fields:
1801
+ :type x_fields: str
1802
+ :param order_by:
1803
+ :type order_by: str
1804
+ :param order_asc:
1805
+ :type order_asc: bool
1806
+ :param show_only_active:
1807
+ :type show_only_active: bool
1808
+ :param _request_timeout: timeout setting for this request. If one
1809
+ number provided, it will be total request
1810
+ timeout. It can also be a pair (tuple) of
1811
+ (connection, read) timeouts.
1812
+ :type _request_timeout: int, tuple(int, int), optional
1813
+ :param _request_auth: set to override the auth_settings for an a single
1814
+ request; this effectively ignores the
1815
+ authentication in the spec for a single request.
1816
+ :type _request_auth: dict, optional
1817
+ :param _content_type: force content-type for the request.
1818
+ :type _content_type: str, Optional
1819
+ :param _headers: set to override the headers for a single
1820
+ request; this effectively ignores the headers
1821
+ in the spec for a single request.
1822
+ :type _headers: dict, optional
1823
+ :param _host_index: set to override the host_index for a single
1824
+ request; this effectively ignores the host_index
1825
+ in the spec for a single request.
1826
+ :type _host_index: int, optional
1827
+ :return: Returns the result object.
1828
+ """ # noqa: E501
1829
+
1830
+ _param = self._list_hypercubes_serialize(
1831
+ hypercube_token=hypercube_token,
1832
+ everyone=everyone,
1833
+ page=page,
1834
+ per_page=per_page,
1835
+ x_fields=x_fields,
1836
+ order_by=order_by,
1837
+ order_asc=order_asc,
1838
+ show_only_active=show_only_active,
1839
+ _request_auth=_request_auth,
1840
+ _content_type=_content_type,
1841
+ _headers=_headers,
1842
+ _host_index=_host_index
1843
+ )
1844
+
1845
+ _response_types_map: Dict[str, Optional[str]] = {
1846
+ '200': "HypercubePage",
1847
+ '400': "Message",
1848
+ '403': "Message",
1849
+ '404': None,
1850
+ '500': "Message",
1851
+ }
1852
+ response_data = self.api_client.call_api(
1853
+ *_param,
1854
+ _request_timeout=_request_timeout
1855
+ )
1856
+ response_data.read()
1857
+ return self.api_client.response_deserialize(
1858
+ response_data=response_data,
1859
+ response_types_map=_response_types_map,
1860
+ )
1861
+
1862
+
1863
+ @validate_call
1864
+ def list_hypercubes_without_preload_content(
1865
+ self,
1866
+ hypercube_token: Annotated[Optional[StrictStr], Field(description="Hypercube token to filter")] = None,
1867
+ everyone: Annotated[Optional[StrictBool], Field(description="Can be set by admin/inviter; shows Hypercube submissions of everyone/invitees")] = None,
1868
+ page: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=1)]] = None,
1869
+ per_page: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=0)]] = None,
1870
+ x_fields: Optional[StrictStr] = None,
1871
+ order_by: Optional[StrictStr] = None,
1872
+ order_asc: Optional[StrictBool] = None,
1873
+ show_only_active: Optional[StrictBool] = None,
1874
+ _request_timeout: Union[
1875
+ None,
1876
+ Annotated[StrictFloat, Field(gt=0)],
1877
+ Tuple[
1878
+ Annotated[StrictFloat, Field(gt=0)],
1879
+ Annotated[StrictFloat, Field(gt=0)]
1880
+ ]
1881
+ ] = None,
1882
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1883
+ _content_type: Optional[StrictStr] = None,
1884
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1885
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1886
+ ) -> RESTResponseType:
1887
+ """Lists the Hypercube jobs sent by the user unless `everyone` flag is set
1888
+
1889
+ If user has admin role and `everyone` flag is set, all Hypercube jobs are listed. If user is not inviter or admin and `everyone` flag is set, all visible Hypercube jobs (Hypercube jobs that were assigned to a user group that user is member of) are listed. If user is inviter and 'everyone' flag is set, Hypercube jobs of all invitees will be listed additionally. If `page` is not one and there are no elements at that page, throws 404. Due to performance issues the fields `result_exists`, `dep_tokens`, `labels` and `access_groups` are only provided for queries for a single Hypercube job. If `show_only_active` flag is set it only shows hypercube jobs that are not finished. `labels.resource_warning`, `labels.instance`, `labels.multiplier`, `access_groups` and `tag` fields are hidden by default for compatibility reasons, please use X-Fields header to get it. For example: X-Fields: \\*, labels{\\*}
1890
+
1891
+ :param hypercube_token: Hypercube token to filter
1892
+ :type hypercube_token: UUID
1893
+ :param everyone: Can be set by admin/inviter; shows Hypercube submissions of everyone/invitees
1894
+ :type everyone: bool
1895
+ :param page:
1896
+ :type page: int
1897
+ :param per_page:
1898
+ :type per_page: int
1899
+ :param x_fields:
1900
+ :type x_fields: str
1901
+ :param order_by:
1902
+ :type order_by: str
1903
+ :param order_asc:
1904
+ :type order_asc: bool
1905
+ :param show_only_active:
1906
+ :type show_only_active: bool
1907
+ :param _request_timeout: timeout setting for this request. If one
1908
+ number provided, it will be total request
1909
+ timeout. It can also be a pair (tuple) of
1910
+ (connection, read) timeouts.
1911
+ :type _request_timeout: int, tuple(int, int), optional
1912
+ :param _request_auth: set to override the auth_settings for an a single
1913
+ request; this effectively ignores the
1914
+ authentication in the spec for a single request.
1915
+ :type _request_auth: dict, optional
1916
+ :param _content_type: force content-type for the request.
1917
+ :type _content_type: str, Optional
1918
+ :param _headers: set to override the headers for a single
1919
+ request; this effectively ignores the headers
1920
+ in the spec for a single request.
1921
+ :type _headers: dict, optional
1922
+ :param _host_index: set to override the host_index for a single
1923
+ request; this effectively ignores the host_index
1924
+ in the spec for a single request.
1925
+ :type _host_index: int, optional
1926
+ :return: Returns the result object.
1927
+ """ # noqa: E501
1928
+
1929
+ _param = self._list_hypercubes_serialize(
1930
+ hypercube_token=hypercube_token,
1931
+ everyone=everyone,
1932
+ page=page,
1933
+ per_page=per_page,
1934
+ x_fields=x_fields,
1935
+ order_by=order_by,
1936
+ order_asc=order_asc,
1937
+ show_only_active=show_only_active,
1938
+ _request_auth=_request_auth,
1939
+ _content_type=_content_type,
1940
+ _headers=_headers,
1941
+ _host_index=_host_index
1942
+ )
1943
+
1944
+ _response_types_map: Dict[str, Optional[str]] = {
1945
+ '200': "HypercubePage",
1946
+ '400': "Message",
1947
+ '403': "Message",
1948
+ '404': None,
1949
+ '500': "Message",
1950
+ }
1951
+ response_data = self.api_client.call_api(
1952
+ *_param,
1953
+ _request_timeout=_request_timeout
1954
+ )
1955
+ return response_data.response
1956
+
1957
+
1958
+ def _list_hypercubes_serialize(
1959
+ self,
1960
+ hypercube_token,
1961
+ everyone,
1962
+ page,
1963
+ per_page,
1964
+ x_fields,
1965
+ order_by,
1966
+ order_asc,
1967
+ show_only_active,
1968
+ _request_auth,
1969
+ _content_type,
1970
+ _headers,
1971
+ _host_index,
1972
+ ) -> RequestSerialized:
1973
+
1974
+ _host = None
1975
+
1976
+ _collection_formats: Dict[str, str] = {
1977
+ }
1978
+
1979
+ _path_params: Dict[str, str] = {}
1980
+ _query_params: List[Tuple[str, str]] = []
1981
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1982
+ _form_params: List[Tuple[str, str]] = []
1983
+ _files: Dict[
1984
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1985
+ ] = {}
1986
+ _body_params: Optional[bytes] = None
1987
+
1988
+ # process the path parameters
1989
+ # process the query parameters
1990
+ if hypercube_token is not None:
1991
+
1992
+ _query_params.append(('hypercube_token', hypercube_token))
1993
+
1994
+ if everyone is not None:
1995
+
1996
+ _query_params.append(('everyone', everyone))
1997
+
1998
+ if page is not None:
1999
+
2000
+ _query_params.append(('page', page))
2001
+
2002
+ if per_page is not None:
2003
+
2004
+ _query_params.append(('per_page', per_page))
2005
+
2006
+ if order_by is not None:
2007
+
2008
+ _query_params.append(('order_by', order_by))
2009
+
2010
+ if order_asc is not None:
2011
+
2012
+ _query_params.append(('order_asc', order_asc))
2013
+
2014
+ if show_only_active is not None:
2015
+
2016
+ _query_params.append(('show_only_active', show_only_active))
2017
+
2018
+ # process the header parameters
2019
+ if x_fields is not None:
2020
+ _header_params['X-Fields'] = x_fields
2021
+ # process the form parameters
2022
+ # process the body parameter
2023
+
2024
+
2025
+ # set the HTTP header `Accept`
2026
+ if 'Accept' not in _header_params:
2027
+ _header_params['Accept'] = self.api_client.select_header_accept(
2028
+ [
2029
+ 'application/json'
2030
+ ]
2031
+ )
1090
2032
 
2033
+
2034
+ # authentication setting
2035
+ _auth_settings: List[str] = [
2036
+ 'BasicAuth'
2037
+ ]
2038
+
2039
+ return self.api_client.param_serialize(
2040
+ method='GET',
2041
+ resource_path='/hypercube/',
2042
+ path_params=_path_params,
2043
+ query_params=_query_params,
2044
+ header_params=_header_params,
2045
+ body=_body_params,
2046
+ post_params=_form_params,
2047
+ files=_files,
2048
+ auth_settings=_auth_settings,
2049
+ collection_formats=_collection_formats,
2050
+ _host=_host,
2051
+ _request_auth=_request_auth
2052
+ )
2053
+
2054
+
2055
+
2056
+
2057
+ @validate_call
1091
2058
  def update_hypercube_access_groups(
2059
+ self,
2060
+ hypercube_token: StrictStr,
2061
+ access_groups: Annotated[Optional[List[StrictStr]], Field(description="Labels of user groups that should be able to access this job.")] = None,
2062
+ _request_timeout: Union[
2063
+ None,
2064
+ Annotated[StrictFloat, Field(gt=0)],
2065
+ Tuple[
2066
+ Annotated[StrictFloat, Field(gt=0)],
2067
+ Annotated[StrictFloat, Field(gt=0)]
2068
+ ]
2069
+ ] = None,
2070
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2071
+ _content_type: Optional[StrictStr] = None,
2072
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2073
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2074
+ ) -> Message:
2075
+ """Update access groups that can access a Hypercube job
2076
+
2077
+ Can be queried via listHypercubes endpoint.
2078
+
2079
+ :param hypercube_token: (required)
2080
+ :type hypercube_token: str
2081
+ :param access_groups: Labels of user groups that should be able to access this job.
2082
+ :type access_groups: List[str]
2083
+ :param _request_timeout: timeout setting for this request. If one
2084
+ number provided, it will be total request
2085
+ timeout. It can also be a pair (tuple) of
2086
+ (connection, read) timeouts.
2087
+ :type _request_timeout: int, tuple(int, int), optional
2088
+ :param _request_auth: set to override the auth_settings for an a single
2089
+ request; this effectively ignores the
2090
+ authentication in the spec for a single request.
2091
+ :type _request_auth: dict, optional
2092
+ :param _content_type: force content-type for the request.
2093
+ :type _content_type: str, Optional
2094
+ :param _headers: set to override the headers for a single
2095
+ request; this effectively ignores the headers
2096
+ in the spec for a single request.
2097
+ :type _headers: dict, optional
2098
+ :param _host_index: set to override the host_index for a single
2099
+ request; this effectively ignores the host_index
2100
+ in the spec for a single request.
2101
+ :type _host_index: int, optional
2102
+ :return: Returns the result object.
2103
+ """ # noqa: E501
2104
+
2105
+ _param = self._update_hypercube_access_groups_serialize(
2106
+ hypercube_token=hypercube_token,
2107
+ access_groups=access_groups,
2108
+ _request_auth=_request_auth,
2109
+ _content_type=_content_type,
2110
+ _headers=_headers,
2111
+ _host_index=_host_index
2112
+ )
2113
+
2114
+ _response_types_map: Dict[str, Optional[str]] = {
2115
+ '200': "Message",
2116
+ '401': "Message",
2117
+ '403': "Message",
2118
+ '404': "Message",
2119
+ }
2120
+ response_data = self.api_client.call_api(
2121
+ *_param,
2122
+ _request_timeout=_request_timeout
2123
+ )
2124
+ response_data.read()
2125
+ return self.api_client.response_deserialize(
2126
+ response_data=response_data,
2127
+ response_types_map=_response_types_map,
2128
+ ).data
2129
+
2130
+
2131
+ @validate_call
2132
+ def update_hypercube_access_groups_with_http_info(
2133
+ self,
2134
+ hypercube_token: StrictStr,
2135
+ access_groups: Annotated[Optional[List[StrictStr]], Field(description="Labels of user groups that should be able to access this job.")] = None,
2136
+ _request_timeout: Union[
2137
+ None,
2138
+ Annotated[StrictFloat, Field(gt=0)],
2139
+ Tuple[
2140
+ Annotated[StrictFloat, Field(gt=0)],
2141
+ Annotated[StrictFloat, Field(gt=0)]
2142
+ ]
2143
+ ] = None,
2144
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2145
+ _content_type: Optional[StrictStr] = None,
2146
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2147
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2148
+ ) -> ApiResponse[Message]:
2149
+ """Update access groups that can access a Hypercube job
2150
+
2151
+ Can be queried via listHypercubes endpoint.
2152
+
2153
+ :param hypercube_token: (required)
2154
+ :type hypercube_token: str
2155
+ :param access_groups: Labels of user groups that should be able to access this job.
2156
+ :type access_groups: List[str]
2157
+ :param _request_timeout: timeout setting for this request. If one
2158
+ number provided, it will be total request
2159
+ timeout. It can also be a pair (tuple) of
2160
+ (connection, read) timeouts.
2161
+ :type _request_timeout: int, tuple(int, int), optional
2162
+ :param _request_auth: set to override the auth_settings for an a single
2163
+ request; this effectively ignores the
2164
+ authentication in the spec for a single request.
2165
+ :type _request_auth: dict, optional
2166
+ :param _content_type: force content-type for the request.
2167
+ :type _content_type: str, Optional
2168
+ :param _headers: set to override the headers for a single
2169
+ request; this effectively ignores the headers
2170
+ in the spec for a single request.
2171
+ :type _headers: dict, optional
2172
+ :param _host_index: set to override the host_index for a single
2173
+ request; this effectively ignores the host_index
2174
+ in the spec for a single request.
2175
+ :type _host_index: int, optional
2176
+ :return: Returns the result object.
2177
+ """ # noqa: E501
2178
+
2179
+ _param = self._update_hypercube_access_groups_serialize(
2180
+ hypercube_token=hypercube_token,
2181
+ access_groups=access_groups,
2182
+ _request_auth=_request_auth,
2183
+ _content_type=_content_type,
2184
+ _headers=_headers,
2185
+ _host_index=_host_index
2186
+ )
2187
+
2188
+ _response_types_map: Dict[str, Optional[str]] = {
2189
+ '200': "Message",
2190
+ '401': "Message",
2191
+ '403': "Message",
2192
+ '404': "Message",
2193
+ }
2194
+ response_data = self.api_client.call_api(
2195
+ *_param,
2196
+ _request_timeout=_request_timeout
2197
+ )
2198
+ response_data.read()
2199
+ return self.api_client.response_deserialize(
2200
+ response_data=response_data,
2201
+ response_types_map=_response_types_map,
2202
+ )
2203
+
2204
+
2205
+ @validate_call
2206
+ def update_hypercube_access_groups_without_preload_content(
2207
+ self,
2208
+ hypercube_token: StrictStr,
2209
+ access_groups: Annotated[Optional[List[StrictStr]], Field(description="Labels of user groups that should be able to access this job.")] = None,
2210
+ _request_timeout: Union[
2211
+ None,
2212
+ Annotated[StrictFloat, Field(gt=0)],
2213
+ Tuple[
2214
+ Annotated[StrictFloat, Field(gt=0)],
2215
+ Annotated[StrictFloat, Field(gt=0)]
2216
+ ]
2217
+ ] = None,
2218
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2219
+ _content_type: Optional[StrictStr] = None,
2220
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2221
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2222
+ ) -> RESTResponseType:
2223
+ """Update access groups that can access a Hypercube job
2224
+
2225
+ Can be queried via listHypercubes endpoint.
2226
+
2227
+ :param hypercube_token: (required)
2228
+ :type hypercube_token: str
2229
+ :param access_groups: Labels of user groups that should be able to access this job.
2230
+ :type access_groups: List[str]
2231
+ :param _request_timeout: timeout setting for this request. If one
2232
+ number provided, it will be total request
2233
+ timeout. It can also be a pair (tuple) of
2234
+ (connection, read) timeouts.
2235
+ :type _request_timeout: int, tuple(int, int), optional
2236
+ :param _request_auth: set to override the auth_settings for an a single
2237
+ request; this effectively ignores the
2238
+ authentication in the spec for a single request.
2239
+ :type _request_auth: dict, optional
2240
+ :param _content_type: force content-type for the request.
2241
+ :type _content_type: str, Optional
2242
+ :param _headers: set to override the headers for a single
2243
+ request; this effectively ignores the headers
2244
+ in the spec for a single request.
2245
+ :type _headers: dict, optional
2246
+ :param _host_index: set to override the host_index for a single
2247
+ request; this effectively ignores the host_index
2248
+ in the spec for a single request.
2249
+ :type _host_index: int, optional
2250
+ :return: Returns the result object.
2251
+ """ # noqa: E501
2252
+
2253
+ _param = self._update_hypercube_access_groups_serialize(
2254
+ hypercube_token=hypercube_token,
2255
+ access_groups=access_groups,
2256
+ _request_auth=_request_auth,
2257
+ _content_type=_content_type,
2258
+ _headers=_headers,
2259
+ _host_index=_host_index
2260
+ )
2261
+
2262
+ _response_types_map: Dict[str, Optional[str]] = {
2263
+ '200': "Message",
2264
+ '401': "Message",
2265
+ '403': "Message",
2266
+ '404': "Message",
2267
+ }
2268
+ response_data = self.api_client.call_api(
2269
+ *_param,
2270
+ _request_timeout=_request_timeout
2271
+ )
2272
+ return response_data.response
2273
+
2274
+
2275
+ def _update_hypercube_access_groups_serialize(
1092
2276
  self,
1093
2277
  hypercube_token,
1094
- **kwargs
1095
- ):
1096
- """Update access groups that can access a Hypercube job # noqa: E501
1097
-
1098
- Can be queried via listHypercubes endpoint. # noqa: E501
1099
- This method makes a synchronous HTTP request by default. To make an
1100
- asynchronous HTTP request, please pass async_req=True
1101
-
1102
- >>> thread = api.update_hypercube_access_groups(hypercube_token, async_req=True)
1103
- >>> result = thread.get()
1104
-
1105
- Args:
1106
- hypercube_token (str):
1107
-
1108
- Keyword Args:
1109
- access_groups ([str]): Labels of user groups that should be able to access this job.. [optional]
1110
- _return_http_data_only (bool): response data without head status
1111
- code and headers. Default is True.
1112
- _preload_content (bool): if False, the urllib3.HTTPResponse object
1113
- will be returned without reading/decoding response data.
1114
- Default is True.
1115
- _request_timeout (int/float/tuple): timeout setting for this request. If
1116
- one number provided, it will be total request timeout. It can also
1117
- be a pair (tuple) of (connection, read) timeouts.
1118
- Default is None.
1119
- _check_input_type (bool): specifies if type checking
1120
- should be done one the data sent to the server.
1121
- Default is True.
1122
- _check_return_type (bool): specifies if type checking
1123
- should be done one the data received from the server.
1124
- Default is True.
1125
- _spec_property_naming (bool): True if the variable names in the input data
1126
- are serialized names, as specified in the OpenAPI document.
1127
- False if the variable names in the input data
1128
- are pythonic names, e.g. snake case (default)
1129
- _content_type (str/None): force body content-type.
1130
- Default is None and content-type will be predicted by allowed
1131
- content-types and body.
1132
- _host_index (int/None): specifies the index of the server
1133
- that we want to use.
1134
- Default is read from the configuration.
1135
- async_req (bool): execute request asynchronously
1136
-
1137
- Returns:
1138
- Message
1139
- If the method is called asynchronously, returns the request
1140
- thread.
1141
- """
1142
- kwargs['async_req'] = kwargs.get(
1143
- 'async_req', False
1144
- )
1145
- kwargs['_return_http_data_only'] = kwargs.get(
1146
- '_return_http_data_only', True
1147
- )
1148
- kwargs['_preload_content'] = kwargs.get(
1149
- '_preload_content', True
1150
- )
1151
- kwargs['_request_timeout'] = kwargs.get(
1152
- '_request_timeout', None
1153
- )
1154
- kwargs['_check_input_type'] = kwargs.get(
1155
- '_check_input_type', True
1156
- )
1157
- kwargs['_check_return_type'] = kwargs.get(
1158
- '_check_return_type', True
1159
- )
1160
- kwargs['_spec_property_naming'] = kwargs.get(
1161
- '_spec_property_naming', False
1162
- )
1163
- kwargs['_content_type'] = kwargs.get(
1164
- '_content_type')
1165
- kwargs['_host_index'] = kwargs.get('_host_index')
1166
- kwargs['hypercube_token'] = \
1167
- hypercube_token
1168
- return self.update_hypercube_access_groups_endpoint.call_with_http_info(**kwargs)
2278
+ access_groups,
2279
+ _request_auth,
2280
+ _content_type,
2281
+ _headers,
2282
+ _host_index,
2283
+ ) -> RequestSerialized:
2284
+
2285
+ _host = None
1169
2286
 
2287
+ _collection_formats: Dict[str, str] = {
2288
+ 'access_groups': 'multi',
2289
+ }
2290
+
2291
+ _path_params: Dict[str, str] = {}
2292
+ _query_params: List[Tuple[str, str]] = []
2293
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2294
+ _form_params: List[Tuple[str, str]] = []
2295
+ _files: Dict[
2296
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2297
+ ] = {}
2298
+ _body_params: Optional[bytes] = None
2299
+
2300
+ # process the path parameters
2301
+ if hypercube_token is not None:
2302
+ _path_params['hypercube_token'] = hypercube_token
2303
+ # process the query parameters
2304
+ if access_groups is not None:
2305
+
2306
+ _query_params.append(('access_groups', access_groups))
2307
+
2308
+ # process the header parameters
2309
+ # process the form parameters
2310
+ # process the body parameter
2311
+
2312
+
2313
+ # set the HTTP header `Accept`
2314
+ if 'Accept' not in _header_params:
2315
+ _header_params['Accept'] = self.api_client.select_header_accept(
2316
+ [
2317
+ 'application/json'
2318
+ ]
2319
+ )
2320
+
2321
+
2322
+ # authentication setting
2323
+ _auth_settings: List[str] = [
2324
+ 'BasicAuth'
2325
+ ]
2326
+
2327
+ return self.api_client.param_serialize(
2328
+ method='PUT',
2329
+ resource_path='/hypercube/{hypercube_token}/access-groups',
2330
+ path_params=_path_params,
2331
+ query_params=_query_params,
2332
+ header_params=_header_params,
2333
+ body=_body_params,
2334
+ post_params=_form_params,
2335
+ files=_files,
2336
+ auth_settings=_auth_settings,
2337
+ collection_formats=_collection_formats,
2338
+ _host=_host,
2339
+ _request_auth=_request_auth
2340
+ )
2341
+
2342
+
2343
+
2344
+
2345
+ @validate_call
1170
2346
  def update_hypercube_tag(
2347
+ self,
2348
+ hypercube_token: StrictStr,
2349
+ tag: Annotated[str, Field(strict=True, description="Human-readable tag to assign to job (at most 255 characters)")],
2350
+ _request_timeout: Union[
2351
+ None,
2352
+ Annotated[StrictFloat, Field(gt=0)],
2353
+ Tuple[
2354
+ Annotated[StrictFloat, Field(gt=0)],
2355
+ Annotated[StrictFloat, Field(gt=0)]
2356
+ ]
2357
+ ] = None,
2358
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2359
+ _content_type: Optional[StrictStr] = None,
2360
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2361
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2362
+ ) -> Message:
2363
+ """Update human-readable tag of a Hypercube job
2364
+
2365
+ Stored in `tag` field. Can be queried via listHypercubes endpoint.
2366
+
2367
+ :param hypercube_token: (required)
2368
+ :type hypercube_token: str
2369
+ :param tag: Human-readable tag to assign to job (at most 255 characters) (required)
2370
+ :type tag: str
2371
+ :param _request_timeout: timeout setting for this request. If one
2372
+ number provided, it will be total request
2373
+ timeout. It can also be a pair (tuple) of
2374
+ (connection, read) timeouts.
2375
+ :type _request_timeout: int, tuple(int, int), optional
2376
+ :param _request_auth: set to override the auth_settings for an a single
2377
+ request; this effectively ignores the
2378
+ authentication in the spec for a single request.
2379
+ :type _request_auth: dict, optional
2380
+ :param _content_type: force content-type for the request.
2381
+ :type _content_type: str, Optional
2382
+ :param _headers: set to override the headers for a single
2383
+ request; this effectively ignores the headers
2384
+ in the spec for a single request.
2385
+ :type _headers: dict, optional
2386
+ :param _host_index: set to override the host_index for a single
2387
+ request; this effectively ignores the host_index
2388
+ in the spec for a single request.
2389
+ :type _host_index: int, optional
2390
+ :return: Returns the result object.
2391
+ """ # noqa: E501
2392
+
2393
+ _param = self._update_hypercube_tag_serialize(
2394
+ hypercube_token=hypercube_token,
2395
+ tag=tag,
2396
+ _request_auth=_request_auth,
2397
+ _content_type=_content_type,
2398
+ _headers=_headers,
2399
+ _host_index=_host_index
2400
+ )
2401
+
2402
+ _response_types_map: Dict[str, Optional[str]] = {
2403
+ '200': "Message",
2404
+ '401': "Message",
2405
+ '403': "Message",
2406
+ '404': "Message",
2407
+ }
2408
+ response_data = self.api_client.call_api(
2409
+ *_param,
2410
+ _request_timeout=_request_timeout
2411
+ )
2412
+ response_data.read()
2413
+ return self.api_client.response_deserialize(
2414
+ response_data=response_data,
2415
+ response_types_map=_response_types_map,
2416
+ ).data
2417
+
2418
+
2419
+ @validate_call
2420
+ def update_hypercube_tag_with_http_info(
2421
+ self,
2422
+ hypercube_token: StrictStr,
2423
+ tag: Annotated[str, Field(strict=True, description="Human-readable tag to assign to job (at most 255 characters)")],
2424
+ _request_timeout: Union[
2425
+ None,
2426
+ Annotated[StrictFloat, Field(gt=0)],
2427
+ Tuple[
2428
+ Annotated[StrictFloat, Field(gt=0)],
2429
+ Annotated[StrictFloat, Field(gt=0)]
2430
+ ]
2431
+ ] = None,
2432
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2433
+ _content_type: Optional[StrictStr] = None,
2434
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2435
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2436
+ ) -> ApiResponse[Message]:
2437
+ """Update human-readable tag of a Hypercube job
2438
+
2439
+ Stored in `tag` field. Can be queried via listHypercubes endpoint.
2440
+
2441
+ :param hypercube_token: (required)
2442
+ :type hypercube_token: str
2443
+ :param tag: Human-readable tag to assign to job (at most 255 characters) (required)
2444
+ :type tag: str
2445
+ :param _request_timeout: timeout setting for this request. If one
2446
+ number provided, it will be total request
2447
+ timeout. It can also be a pair (tuple) of
2448
+ (connection, read) timeouts.
2449
+ :type _request_timeout: int, tuple(int, int), optional
2450
+ :param _request_auth: set to override the auth_settings for an a single
2451
+ request; this effectively ignores the
2452
+ authentication in the spec for a single request.
2453
+ :type _request_auth: dict, optional
2454
+ :param _content_type: force content-type for the request.
2455
+ :type _content_type: str, Optional
2456
+ :param _headers: set to override the headers for a single
2457
+ request; this effectively ignores the headers
2458
+ in the spec for a single request.
2459
+ :type _headers: dict, optional
2460
+ :param _host_index: set to override the host_index for a single
2461
+ request; this effectively ignores the host_index
2462
+ in the spec for a single request.
2463
+ :type _host_index: int, optional
2464
+ :return: Returns the result object.
2465
+ """ # noqa: E501
2466
+
2467
+ _param = self._update_hypercube_tag_serialize(
2468
+ hypercube_token=hypercube_token,
2469
+ tag=tag,
2470
+ _request_auth=_request_auth,
2471
+ _content_type=_content_type,
2472
+ _headers=_headers,
2473
+ _host_index=_host_index
2474
+ )
2475
+
2476
+ _response_types_map: Dict[str, Optional[str]] = {
2477
+ '200': "Message",
2478
+ '401': "Message",
2479
+ '403': "Message",
2480
+ '404': "Message",
2481
+ }
2482
+ response_data = self.api_client.call_api(
2483
+ *_param,
2484
+ _request_timeout=_request_timeout
2485
+ )
2486
+ response_data.read()
2487
+ return self.api_client.response_deserialize(
2488
+ response_data=response_data,
2489
+ response_types_map=_response_types_map,
2490
+ )
2491
+
2492
+
2493
+ @validate_call
2494
+ def update_hypercube_tag_without_preload_content(
2495
+ self,
2496
+ hypercube_token: StrictStr,
2497
+ tag: Annotated[str, Field(strict=True, description="Human-readable tag to assign to job (at most 255 characters)")],
2498
+ _request_timeout: Union[
2499
+ None,
2500
+ Annotated[StrictFloat, Field(gt=0)],
2501
+ Tuple[
2502
+ Annotated[StrictFloat, Field(gt=0)],
2503
+ Annotated[StrictFloat, Field(gt=0)]
2504
+ ]
2505
+ ] = None,
2506
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2507
+ _content_type: Optional[StrictStr] = None,
2508
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2509
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2510
+ ) -> RESTResponseType:
2511
+ """Update human-readable tag of a Hypercube job
2512
+
2513
+ Stored in `tag` field. Can be queried via listHypercubes endpoint.
2514
+
2515
+ :param hypercube_token: (required)
2516
+ :type hypercube_token: str
2517
+ :param tag: Human-readable tag to assign to job (at most 255 characters) (required)
2518
+ :type tag: str
2519
+ :param _request_timeout: timeout setting for this request. If one
2520
+ number provided, it will be total request
2521
+ timeout. It can also be a pair (tuple) of
2522
+ (connection, read) timeouts.
2523
+ :type _request_timeout: int, tuple(int, int), optional
2524
+ :param _request_auth: set to override the auth_settings for an a single
2525
+ request; this effectively ignores the
2526
+ authentication in the spec for a single request.
2527
+ :type _request_auth: dict, optional
2528
+ :param _content_type: force content-type for the request.
2529
+ :type _content_type: str, Optional
2530
+ :param _headers: set to override the headers for a single
2531
+ request; this effectively ignores the headers
2532
+ in the spec for a single request.
2533
+ :type _headers: dict, optional
2534
+ :param _host_index: set to override the host_index for a single
2535
+ request; this effectively ignores the host_index
2536
+ in the spec for a single request.
2537
+ :type _host_index: int, optional
2538
+ :return: Returns the result object.
2539
+ """ # noqa: E501
2540
+
2541
+ _param = self._update_hypercube_tag_serialize(
2542
+ hypercube_token=hypercube_token,
2543
+ tag=tag,
2544
+ _request_auth=_request_auth,
2545
+ _content_type=_content_type,
2546
+ _headers=_headers,
2547
+ _host_index=_host_index
2548
+ )
2549
+
2550
+ _response_types_map: Dict[str, Optional[str]] = {
2551
+ '200': "Message",
2552
+ '401': "Message",
2553
+ '403': "Message",
2554
+ '404': "Message",
2555
+ }
2556
+ response_data = self.api_client.call_api(
2557
+ *_param,
2558
+ _request_timeout=_request_timeout
2559
+ )
2560
+ return response_data.response
2561
+
2562
+
2563
+ def _update_hypercube_tag_serialize(
1171
2564
  self,
1172
2565
  hypercube_token,
1173
2566
  tag,
1174
- **kwargs
1175
- ):
1176
- """Update human-readable tag of a Hypercube job # noqa: E501
1177
-
1178
- Stored in `tag` field. Can be queried via listHypercubes endpoint. # noqa: E501
1179
- This method makes a synchronous HTTP request by default. To make an
1180
- asynchronous HTTP request, please pass async_req=True
1181
-
1182
- >>> thread = api.update_hypercube_tag(hypercube_token, tag, async_req=True)
1183
- >>> result = thread.get()
1184
-
1185
- Args:
1186
- hypercube_token (str):
1187
- tag (str): Human-readable tag to assign to job (at most 255 characters)
1188
-
1189
- Keyword Args:
1190
- _return_http_data_only (bool): response data without head status
1191
- code and headers. Default is True.
1192
- _preload_content (bool): if False, the urllib3.HTTPResponse object
1193
- will be returned without reading/decoding response data.
1194
- Default is True.
1195
- _request_timeout (int/float/tuple): timeout setting for this request. If
1196
- one number provided, it will be total request timeout. It can also
1197
- be a pair (tuple) of (connection, read) timeouts.
1198
- Default is None.
1199
- _check_input_type (bool): specifies if type checking
1200
- should be done one the data sent to the server.
1201
- Default is True.
1202
- _check_return_type (bool): specifies if type checking
1203
- should be done one the data received from the server.
1204
- Default is True.
1205
- _spec_property_naming (bool): True if the variable names in the input data
1206
- are serialized names, as specified in the OpenAPI document.
1207
- False if the variable names in the input data
1208
- are pythonic names, e.g. snake case (default)
1209
- _content_type (str/None): force body content-type.
1210
- Default is None and content-type will be predicted by allowed
1211
- content-types and body.
1212
- _host_index (int/None): specifies the index of the server
1213
- that we want to use.
1214
- Default is read from the configuration.
1215
- async_req (bool): execute request asynchronously
1216
-
1217
- Returns:
1218
- Message
1219
- If the method is called asynchronously, returns the request
1220
- thread.
1221
- """
1222
- kwargs['async_req'] = kwargs.get(
1223
- 'async_req', False
1224
- )
1225
- kwargs['_return_http_data_only'] = kwargs.get(
1226
- '_return_http_data_only', True
1227
- )
1228
- kwargs['_preload_content'] = kwargs.get(
1229
- '_preload_content', True
1230
- )
1231
- kwargs['_request_timeout'] = kwargs.get(
1232
- '_request_timeout', None
1233
- )
1234
- kwargs['_check_input_type'] = kwargs.get(
1235
- '_check_input_type', True
1236
- )
1237
- kwargs['_check_return_type'] = kwargs.get(
1238
- '_check_return_type', True
1239
- )
1240
- kwargs['_spec_property_naming'] = kwargs.get(
1241
- '_spec_property_naming', False
1242
- )
1243
- kwargs['_content_type'] = kwargs.get(
1244
- '_content_type')
1245
- kwargs['_host_index'] = kwargs.get('_host_index')
1246
- kwargs['hypercube_token'] = \
1247
- hypercube_token
1248
- kwargs['tag'] = \
1249
- tag
1250
- return self.update_hypercube_tag_endpoint.call_with_http_info(**kwargs)
2567
+ _request_auth,
2568
+ _content_type,
2569
+ _headers,
2570
+ _host_index,
2571
+ ) -> RequestSerialized:
2572
+
2573
+ _host = None
2574
+
2575
+ _collection_formats: Dict[str, str] = {
2576
+ }
2577
+
2578
+ _path_params: Dict[str, str] = {}
2579
+ _query_params: List[Tuple[str, str]] = []
2580
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2581
+ _form_params: List[Tuple[str, str]] = []
2582
+ _files: Dict[
2583
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2584
+ ] = {}
2585
+ _body_params: Optional[bytes] = None
2586
+
2587
+ # process the path parameters
2588
+ if hypercube_token is not None:
2589
+ _path_params['hypercube_token'] = hypercube_token
2590
+ # process the query parameters
2591
+ if tag is not None:
2592
+
2593
+ _query_params.append(('tag', tag))
2594
+
2595
+ # process the header parameters
2596
+ # process the form parameters
2597
+ # process the body parameter
2598
+
2599
+
2600
+ # set the HTTP header `Accept`
2601
+ if 'Accept' not in _header_params:
2602
+ _header_params['Accept'] = self.api_client.select_header_accept(
2603
+ [
2604
+ 'application/json'
2605
+ ]
2606
+ )
2607
+
2608
+
2609
+ # authentication setting
2610
+ _auth_settings: List[str] = [
2611
+ 'BasicAuth'
2612
+ ]
2613
+
2614
+ return self.api_client.param_serialize(
2615
+ method='PUT',
2616
+ resource_path='/hypercube/{hypercube_token}/tag',
2617
+ path_params=_path_params,
2618
+ query_params=_query_params,
2619
+ header_params=_header_params,
2620
+ body=_body_params,
2621
+ post_params=_form_params,
2622
+ files=_files,
2623
+ auth_settings=_auth_settings,
2624
+ collection_formats=_collection_formats,
2625
+ _host=_host,
2626
+ _request_auth=_request_auth
2627
+ )
2628
+
1251
2629