gamsapi 52.5.0__cp312-cp312-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 (257) hide show
  1. gams/__init__.py +27 -0
  2. gams/_version.py +1 -0
  3. gams/connect/__init__.py +28 -0
  4. gams/connect/agents/__init__.py +24 -0
  5. gams/connect/agents/_excel/__init__.py +32 -0
  6. gams/connect/agents/_excel/excelagent.py +312 -0
  7. gams/connect/agents/_excel/workbook.py +155 -0
  8. gams/connect/agents/_sqlconnectors/__init__.py +42 -0
  9. gams/connect/agents/_sqlconnectors/_accesshandler.py +211 -0
  10. gams/connect/agents/_sqlconnectors/_databasehandler.py +250 -0
  11. gams/connect/agents/_sqlconnectors/_mysqlhandler.py +168 -0
  12. gams/connect/agents/_sqlconnectors/_postgreshandler.py +131 -0
  13. gams/connect/agents/_sqlconnectors/_pyodbchandler.py +112 -0
  14. gams/connect/agents/_sqlconnectors/_sqlalchemyhandler.py +74 -0
  15. gams/connect/agents/_sqlconnectors/_sqlitehandler.py +262 -0
  16. gams/connect/agents/_sqlconnectors/_sqlserverhandler.py +179 -0
  17. gams/connect/agents/concatenate.py +440 -0
  18. gams/connect/agents/connectagent.py +743 -0
  19. gams/connect/agents/csvreader.py +675 -0
  20. gams/connect/agents/csvwriter.py +151 -0
  21. gams/connect/agents/domainwriter.py +143 -0
  22. gams/connect/agents/excelreader.py +756 -0
  23. gams/connect/agents/excelwriter.py +467 -0
  24. gams/connect/agents/filter.py +223 -0
  25. gams/connect/agents/gamsreader.py +112 -0
  26. gams/connect/agents/gamswriter.py +239 -0
  27. gams/connect/agents/gdxreader.py +109 -0
  28. gams/connect/agents/gdxwriter.py +146 -0
  29. gams/connect/agents/labelmanipulator.py +303 -0
  30. gams/connect/agents/projection.py +539 -0
  31. gams/connect/agents/pythoncode.py +71 -0
  32. gams/connect/agents/rawcsvreader.py +248 -0
  33. gams/connect/agents/rawexcelreader.py +312 -0
  34. gams/connect/agents/schema/CSVReader.yaml +92 -0
  35. gams/connect/agents/schema/CSVWriter.yaml +44 -0
  36. gams/connect/agents/schema/Concatenate.yaml +52 -0
  37. gams/connect/agents/schema/DomainWriter.yaml +25 -0
  38. gams/connect/agents/schema/ExcelReader.yaml +121 -0
  39. gams/connect/agents/schema/ExcelWriter.yaml +78 -0
  40. gams/connect/agents/schema/Filter.yaml +74 -0
  41. gams/connect/agents/schema/GAMSReader.yaml +20 -0
  42. gams/connect/agents/schema/GAMSWriter.yaml +47 -0
  43. gams/connect/agents/schema/GDXReader.yaml +23 -0
  44. gams/connect/agents/schema/GDXWriter.yaml +32 -0
  45. gams/connect/agents/schema/LabelManipulator.yaml +99 -0
  46. gams/connect/agents/schema/Projection.yaml +24 -0
  47. gams/connect/agents/schema/PythonCode.yaml +6 -0
  48. gams/connect/agents/schema/RawCSVReader.yaml +34 -0
  49. gams/connect/agents/schema/RawExcelReader.yaml +42 -0
  50. gams/connect/agents/schema/SQLReader.yaml +75 -0
  51. gams/connect/agents/schema/SQLWriter.yaml +103 -0
  52. gams/connect/agents/sqlreader.py +301 -0
  53. gams/connect/agents/sqlwriter.py +276 -0
  54. gams/connect/connectdatabase.py +275 -0
  55. gams/connect/connectvalidator.py +93 -0
  56. gams/connect/errors.py +34 -0
  57. gams/control/__init__.py +136 -0
  58. gams/control/database.py +2231 -0
  59. gams/control/execution.py +1900 -0
  60. gams/control/options.py +2792 -0
  61. gams/control/workspace.py +1198 -0
  62. gams/core/__init__.py +24 -0
  63. gams/core/cfg/__init__.py +26 -0
  64. gams/core/cfg/_cfgmcc.cp312-win_amd64.pyd +0 -0
  65. gams/core/cfg/cfgmcc.py +519 -0
  66. gams/core/dct/__init__.py +26 -0
  67. gams/core/dct/_dctmcc.cp312-win_amd64.pyd +0 -0
  68. gams/core/dct/dctmcc.py +574 -0
  69. gams/core/embedded/__init__.py +26 -0
  70. gams/core/embedded/gamsemb.py +1024 -0
  71. gams/core/emp/__init__.py +24 -0
  72. gams/core/emp/emplexer.py +89 -0
  73. gams/core/emp/empyacc.py +281 -0
  74. gams/core/gdx/__init__.py +26 -0
  75. gams/core/gdx/_gdxcc.cp312-win_amd64.pyd +0 -0
  76. gams/core/gdx/gdxcc.py +866 -0
  77. gams/core/gev/__init__.py +26 -0
  78. gams/core/gev/_gevmcc.cp312-win_amd64.pyd +0 -0
  79. gams/core/gev/gevmcc.py +855 -0
  80. gams/core/gmd/__init__.py +26 -0
  81. gams/core/gmd/_gmdcc.cp312-win_amd64.pyd +0 -0
  82. gams/core/gmd/gmdcc.py +917 -0
  83. gams/core/gmo/__init__.py +26 -0
  84. gams/core/gmo/_gmomcc.cp312-win_amd64.pyd +0 -0
  85. gams/core/gmo/gmomcc.py +2046 -0
  86. gams/core/idx/__init__.py +26 -0
  87. gams/core/idx/_idxcc.cp312-win_amd64.pyd +0 -0
  88. gams/core/idx/idxcc.py +510 -0
  89. gams/core/numpy/__init__.py +29 -0
  90. gams/core/numpy/_gams2numpy.cp312-win_amd64.pyd +0 -0
  91. gams/core/numpy/gams2numpy.py +1048 -0
  92. gams/core/opt/__init__.py +26 -0
  93. gams/core/opt/_optcc.cp312-win_amd64.pyd +0 -0
  94. gams/core/opt/optcc.py +840 -0
  95. gams/engine/__init__.py +204 -0
  96. gams/engine/api/__init__.py +13 -0
  97. gams/engine/api/auth_api.py +7653 -0
  98. gams/engine/api/cleanup_api.py +751 -0
  99. gams/engine/api/default_api.py +887 -0
  100. gams/engine/api/hypercube_api.py +2629 -0
  101. gams/engine/api/jobs_api.py +5229 -0
  102. gams/engine/api/licenses_api.py +2220 -0
  103. gams/engine/api/namespaces_api.py +7783 -0
  104. gams/engine/api/usage_api.py +5627 -0
  105. gams/engine/api/users_api.py +5931 -0
  106. gams/engine/api_client.py +804 -0
  107. gams/engine/api_response.py +21 -0
  108. gams/engine/configuration.py +601 -0
  109. gams/engine/exceptions.py +216 -0
  110. gams/engine/models/__init__.py +86 -0
  111. gams/engine/models/bad_input.py +89 -0
  112. gams/engine/models/cleanable_job_result.py +104 -0
  113. gams/engine/models/cleanable_job_result_page.py +113 -0
  114. gams/engine/models/engine_license.py +107 -0
  115. gams/engine/models/files_not_found.py +93 -0
  116. gams/engine/models/forwarded_token_response.py +112 -0
  117. gams/engine/models/generic_key_value_pair.py +89 -0
  118. gams/engine/models/hypercube.py +160 -0
  119. gams/engine/models/hypercube_page.py +111 -0
  120. gams/engine/models/hypercube_summary.py +91 -0
  121. gams/engine/models/hypercube_token.py +97 -0
  122. gams/engine/models/identity_provider.py +107 -0
  123. gams/engine/models/identity_provider_ldap.py +121 -0
  124. gams/engine/models/identity_provider_oauth2.py +146 -0
  125. gams/engine/models/identity_provider_oauth2_scope.py +89 -0
  126. gams/engine/models/identity_provider_oauth2_with_secret.py +152 -0
  127. gams/engine/models/identity_provider_oidc.py +133 -0
  128. gams/engine/models/identity_provider_oidc_with_secret.py +143 -0
  129. gams/engine/models/inex.py +91 -0
  130. gams/engine/models/invitation.py +136 -0
  131. gams/engine/models/invitation_quota.py +106 -0
  132. gams/engine/models/invitation_token.py +87 -0
  133. gams/engine/models/job.py +165 -0
  134. gams/engine/models/job_no_text_entry.py +138 -0
  135. gams/engine/models/job_no_text_entry_page.py +111 -0
  136. gams/engine/models/license.py +91 -0
  137. gams/engine/models/log_piece.py +96 -0
  138. gams/engine/models/message.py +87 -0
  139. gams/engine/models/message_and_token.py +99 -0
  140. gams/engine/models/message_with_webhook_id.py +89 -0
  141. gams/engine/models/model_auth_token.py +87 -0
  142. gams/engine/models/model_configuration.py +125 -0
  143. gams/engine/models/model_default_instance.py +99 -0
  144. gams/engine/models/model_default_user_instance.py +98 -0
  145. gams/engine/models/model_hypercube_job.py +106 -0
  146. gams/engine/models/model_hypercube_usage.py +130 -0
  147. gams/engine/models/model_instance_info.py +116 -0
  148. gams/engine/models/model_instance_info_full.py +123 -0
  149. gams/engine/models/model_instance_pool_info.py +112 -0
  150. gams/engine/models/model_job_labels.py +179 -0
  151. gams/engine/models/model_job_usage.py +133 -0
  152. gams/engine/models/model_pool_usage.py +124 -0
  153. gams/engine/models/model_usage.py +115 -0
  154. gams/engine/models/model_user.py +96 -0
  155. gams/engine/models/model_userinstance_info.py +119 -0
  156. gams/engine/models/model_userinstancepool_info.py +95 -0
  157. gams/engine/models/model_version.py +91 -0
  158. gams/engine/models/models.py +120 -0
  159. gams/engine/models/namespace.py +104 -0
  160. gams/engine/models/namespace_quota.py +96 -0
  161. gams/engine/models/namespace_with_permission.py +96 -0
  162. gams/engine/models/not_found.py +91 -0
  163. gams/engine/models/password_policy.py +97 -0
  164. gams/engine/models/perm_and_username.py +89 -0
  165. gams/engine/models/quota.py +117 -0
  166. gams/engine/models/quota_exceeded.py +97 -0
  167. gams/engine/models/status_code_meaning.py +89 -0
  168. gams/engine/models/stream_entry.py +89 -0
  169. gams/engine/models/system_wide_license.py +92 -0
  170. gams/engine/models/text_entries.py +87 -0
  171. gams/engine/models/text_entry.py +101 -0
  172. gams/engine/models/time_span.py +95 -0
  173. gams/engine/models/time_span_pool_worker.py +99 -0
  174. gams/engine/models/token_forward_error.py +87 -0
  175. gams/engine/models/user.py +127 -0
  176. gams/engine/models/user_group_member.py +96 -0
  177. gams/engine/models/user_groups.py +108 -0
  178. gams/engine/models/vapid_info.py +87 -0
  179. gams/engine/models/webhook.py +138 -0
  180. gams/engine/models/webhook_parameterized_event.py +99 -0
  181. gams/engine/py.typed +0 -0
  182. gams/engine/rest.py +258 -0
  183. gams/magic/__init__.py +32 -0
  184. gams/magic/gams_magic.py +142 -0
  185. gams/magic/interactive.py +402 -0
  186. gams/tools/__init__.py +30 -0
  187. gams/tools/errors.py +34 -0
  188. gams/tools/toolcollection/__init__.py +24 -0
  189. gams/tools/toolcollection/alg/__init__.py +24 -0
  190. gams/tools/toolcollection/alg/rank.py +51 -0
  191. gams/tools/toolcollection/data/__init__.py +24 -0
  192. gams/tools/toolcollection/data/csvread.py +444 -0
  193. gams/tools/toolcollection/data/csvwrite.py +311 -0
  194. gams/tools/toolcollection/data/exceldump.py +47 -0
  195. gams/tools/toolcollection/data/sqlitewrite.py +276 -0
  196. gams/tools/toolcollection/gdxservice/__init__.py +24 -0
  197. gams/tools/toolcollection/gdxservice/gdxencoding.py +104 -0
  198. gams/tools/toolcollection/gdxservice/gdxrename.py +94 -0
  199. gams/tools/toolcollection/linalg/__init__.py +24 -0
  200. gams/tools/toolcollection/linalg/cholesky.py +57 -0
  201. gams/tools/toolcollection/linalg/eigenvalue.py +56 -0
  202. gams/tools/toolcollection/linalg/eigenvector.py +58 -0
  203. gams/tools/toolcollection/linalg/invert.py +55 -0
  204. gams/tools/toolcollection/linalg/ols.py +138 -0
  205. gams/tools/toolcollection/tooltemplate.py +321 -0
  206. gams/tools/toolcollection/win32/__init__.py +24 -0
  207. gams/tools/toolcollection/win32/excelmerge.py +93 -0
  208. gams/tools/toolcollection/win32/exceltalk.py +76 -0
  209. gams/tools/toolcollection/win32/msappavail.py +49 -0
  210. gams/tools/toolcollection/win32/shellexecute.py +54 -0
  211. gams/tools/tools.py +116 -0
  212. gams/transfer/__init__.py +35 -0
  213. gams/transfer/_abcs/__init__.py +37 -0
  214. gams/transfer/_abcs/container_abcs.py +433 -0
  215. gams/transfer/_internals/__init__.py +63 -0
  216. gams/transfer/_internals/algorithms.py +436 -0
  217. gams/transfer/_internals/casepreservingdict.py +124 -0
  218. gams/transfer/_internals/constants.py +270 -0
  219. gams/transfer/_internals/domainviolation.py +103 -0
  220. gams/transfer/_internals/specialvalues.py +172 -0
  221. gams/transfer/containers/__init__.py +26 -0
  222. gams/transfer/containers/_container.py +1794 -0
  223. gams/transfer/containers/_io/__init__.py +28 -0
  224. gams/transfer/containers/_io/containers.py +164 -0
  225. gams/transfer/containers/_io/gdx.py +1029 -0
  226. gams/transfer/containers/_io/gmd.py +872 -0
  227. gams/transfer/containers/_mixins/__init__.py +26 -0
  228. gams/transfer/containers/_mixins/ccc.py +1274 -0
  229. gams/transfer/syms/__init__.py +33 -0
  230. gams/transfer/syms/_methods/__init__.py +24 -0
  231. gams/transfer/syms/_methods/tables.py +120 -0
  232. gams/transfer/syms/_methods/toDict.py +115 -0
  233. gams/transfer/syms/_methods/toList.py +83 -0
  234. gams/transfer/syms/_methods/toValue.py +60 -0
  235. gams/transfer/syms/_mixins/__init__.py +32 -0
  236. gams/transfer/syms/_mixins/equals.py +626 -0
  237. gams/transfer/syms/_mixins/generateRecords.py +499 -0
  238. gams/transfer/syms/_mixins/pivot.py +313 -0
  239. gams/transfer/syms/_mixins/pve.py +627 -0
  240. gams/transfer/syms/_mixins/sa.py +27 -0
  241. gams/transfer/syms/_mixins/sapve.py +27 -0
  242. gams/transfer/syms/_mixins/saua.py +27 -0
  243. gams/transfer/syms/_mixins/sauapve.py +199 -0
  244. gams/transfer/syms/_mixins/spve.py +1528 -0
  245. gams/transfer/syms/_mixins/ve.py +936 -0
  246. gams/transfer/syms/container_syms/__init__.py +31 -0
  247. gams/transfer/syms/container_syms/_alias.py +984 -0
  248. gams/transfer/syms/container_syms/_equation.py +333 -0
  249. gams/transfer/syms/container_syms/_parameter.py +973 -0
  250. gams/transfer/syms/container_syms/_set.py +604 -0
  251. gams/transfer/syms/container_syms/_universe_alias.py +461 -0
  252. gams/transfer/syms/container_syms/_variable.py +321 -0
  253. gamsapi-52.5.0.dist-info/METADATA +150 -0
  254. gamsapi-52.5.0.dist-info/RECORD +257 -0
  255. gamsapi-52.5.0.dist-info/WHEEL +5 -0
  256. gamsapi-52.5.0.dist-info/licenses/LICENSE +22 -0
  257. gamsapi-52.5.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2629 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ GAMS Engine
5
+
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.
7
+
8
+ The version of the OpenAPI document: latest
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
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
18
+
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
25
+
26
+ from gams.engine.api_client import ApiClient, RequestSerialized
27
+ from gams.engine.api_response import ApiResponse
28
+ from gams.engine.rest import RESTResponseType
29
+
30
+
31
+ class HypercubeApi:
32
+ """NOTE: This class is auto generated by OpenAPI Generator
33
+ Ref: https://openapi-generator.tech
34
+
35
+ Do not edit the class manually.
36
+ """
37
+
38
+ def __init__(self, api_client=None) -> None:
39
+ if api_client is None:
40
+ api_client = ApiClient.get_default()
41
+ self.api_client = api_client
42
+
43
+
44
+ @validate_call
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(
425
+ self,
426
+ model,
427
+ namespace,
428
+ hypercube_file,
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
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
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(
779
+ self,
780
+ hypercube_token,
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
+ )
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
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(
1049
+ self,
1050
+ hypercube_token,
1051
+ _request_auth,
1052
+ _content_type,
1053
+ _headers,
1054
+ _host_index,
1055
+ ) -> RequestSerialized:
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
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(
1319
+ self,
1320
+ hypercube_token,
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
+ }
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
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(
1597
+ self,
1598
+ hypercube_token,
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
+ }
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
1666
+ def list_hypercubes(
1667
+ self,
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
+ )
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
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(
2276
+ self,
2277
+ hypercube_token,
2278
+ access_groups,
2279
+ _request_auth,
2280
+ _content_type,
2281
+ _headers,
2282
+ _host_index,
2283
+ ) -> RequestSerialized:
2284
+
2285
+ _host = None
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
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(
2564
+ self,
2565
+ hypercube_token,
2566
+ tag,
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
+
2629
+