cosmotech-api 3.2.6.dev0__py3-none-any.whl → 3.3.4__py3-none-any.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.

Potentially problematic release.


This version of cosmotech-api might be problematic. Click here for more details.

Files changed (259) hide show
  1. cosmotech_api/__init__.py +49 -3
  2. cosmotech_api/api/__init__.py +3 -0
  3. cosmotech_api/api/connector_api.py +285 -26
  4. cosmotech_api/api/dataset_api.py +264 -233
  5. cosmotech_api/api/meta_api.py +281 -0
  6. cosmotech_api/api/organization_api.py +968 -89
  7. cosmotech_api/api/run_api.py +55 -47
  8. cosmotech_api/api/runner_api.py +109 -96
  9. cosmotech_api/api/scenario_api.py +6558 -3259
  10. cosmotech_api/api/scenariorun_api.py +4044 -1987
  11. cosmotech_api/api/scenariorunresult_api.py +1 -1
  12. cosmotech_api/api/solution_api.py +1143 -473
  13. cosmotech_api/api/twingraph_api.py +4152 -2084
  14. cosmotech_api/api/validator_api.py +1 -1
  15. cosmotech_api/api/workspace_api.py +428 -114
  16. cosmotech_api/api_client.py +59 -29
  17. cosmotech_api/configuration.py +29 -7
  18. cosmotech_api/exceptions.py +1 -1
  19. cosmotech_api/model/component_role_permissions.py +1 -1
  20. cosmotech_api/model/connector.py +1 -1
  21. cosmotech_api/model/connector_parameter.py +1 -1
  22. cosmotech_api/model/connector_parameter_group.py +1 -1
  23. cosmotech_api/model/container_resource_size_info.py +1 -1
  24. cosmotech_api/model/container_resource_sizing.py +1 -1
  25. cosmotech_api/model/dataset.py +1 -1
  26. cosmotech_api/model/dataset_access_control.py +1 -1
  27. cosmotech_api/model/dataset_compatibility.py +1 -1
  28. cosmotech_api/model/dataset_connector.py +1 -1
  29. cosmotech_api/model/dataset_copy_parameters.py +1 -1
  30. cosmotech_api/model/dataset_role.py +1 -1
  31. cosmotech_api/model/dataset_search.py +1 -1
  32. cosmotech_api/model/dataset_security.py +1 -1
  33. cosmotech_api/model/dataset_source_type.py +1 -1
  34. cosmotech_api/model/dataset_twin_graph_hash.py +1 -1
  35. cosmotech_api/model/dataset_twin_graph_info.py +1 -1
  36. cosmotech_api/model/dataset_twin_graph_query.py +1 -1
  37. cosmotech_api/model/delete_historical_data.py +1 -1
  38. cosmotech_api/model/file_upload_metadata.py +1 -1
  39. cosmotech_api/model/file_upload_validation.py +1 -1
  40. cosmotech_api/model/graph_properties.py +1 -1
  41. cosmotech_api/model/organization.py +1 -1
  42. cosmotech_api/model/organization_access_control.py +1 -1
  43. cosmotech_api/model/organization_role.py +1 -1
  44. cosmotech_api/model/organization_security.py +1 -1
  45. cosmotech_api/model/organization_service.py +1 -1
  46. cosmotech_api/model/organization_services.py +1 -1
  47. cosmotech_api/model/resource_size_info.py +1 -1
  48. cosmotech_api/model/run.py +1 -1
  49. cosmotech_api/model/run_container.py +1 -1
  50. cosmotech_api/model/run_container_artifact.py +1 -1
  51. cosmotech_api/model/run_container_logs.py +1 -1
  52. cosmotech_api/model/run_logs.py +1 -1
  53. cosmotech_api/model/run_resource_requested.py +1 -1
  54. cosmotech_api/model/run_search.py +1 -1
  55. cosmotech_api/model/run_start_containers.py +1 -1
  56. cosmotech_api/model/run_state.py +1 -1
  57. cosmotech_api/model/run_status.py +1 -1
  58. cosmotech_api/model/run_status_node.py +1 -1
  59. cosmotech_api/model/run_template.py +1 -1
  60. cosmotech_api/model/run_template_handler_id.py +1 -1
  61. cosmotech_api/model/run_template_orchestrator.py +1 -1
  62. cosmotech_api/model/run_template_parameter.py +1 -1
  63. cosmotech_api/model/run_template_parameter_group.py +1 -1
  64. cosmotech_api/model/run_template_parameter_value.py +1 -1
  65. cosmotech_api/model/run_template_resource_sizing.py +1 -1
  66. cosmotech_api/model/run_template_step_source.py +1 -1
  67. cosmotech_api/model/runner.py +1 -1
  68. cosmotech_api/model/runner_access_control.py +1 -1
  69. cosmotech_api/model/runner_changed_parameter_value.py +1 -1
  70. cosmotech_api/model/runner_comparison_result.py +1 -1
  71. cosmotech_api/model/runner_data_download_info.py +1 -1
  72. cosmotech_api/model/runner_data_download_job.py +1 -1
  73. cosmotech_api/model/runner_job_state.py +1 -1
  74. cosmotech_api/model/runner_last_run.py +1 -1
  75. cosmotech_api/model/runner_resource_sizing.py +1 -1
  76. cosmotech_api/model/runner_role.py +1 -1
  77. cosmotech_api/model/runner_run_template_parameter_value.py +1 -1
  78. cosmotech_api/model/runner_security.py +1 -1
  79. cosmotech_api/model/runner_validation_status.py +1 -1
  80. cosmotech_api/model/scenario.py +1 -1
  81. cosmotech_api/model/scenario_access_control.py +1 -1
  82. cosmotech_api/model/scenario_changed_parameter_value.py +1 -1
  83. cosmotech_api/model/scenario_comparison_result.py +1 -1
  84. cosmotech_api/model/scenario_data_download_info.py +1 -1
  85. cosmotech_api/model/scenario_data_download_job.py +1 -1
  86. cosmotech_api/model/scenario_job_state.py +1 -1
  87. cosmotech_api/model/scenario_last_run.py +1 -1
  88. cosmotech_api/model/scenario_resource_sizing.py +1 -1
  89. cosmotech_api/model/scenario_role.py +1 -1
  90. cosmotech_api/model/scenario_run.py +1 -1
  91. cosmotech_api/model/scenario_run_container.py +1 -1
  92. cosmotech_api/model/scenario_run_container_artifact.py +1 -1
  93. cosmotech_api/model/scenario_run_container_logs.py +1 -1
  94. cosmotech_api/model/scenario_run_logs.py +1 -1
  95. cosmotech_api/model/scenario_run_resource_requested.py +1 -1
  96. cosmotech_api/model/scenario_run_result.py +1 -1
  97. cosmotech_api/model/scenario_run_search.py +1 -1
  98. cosmotech_api/model/scenario_run_start_containers.py +1 -1
  99. cosmotech_api/model/scenario_run_state.py +1 -1
  100. cosmotech_api/model/scenario_run_status.py +1 -1
  101. cosmotech_api/model/scenario_run_status_node.py +1 -1
  102. cosmotech_api/model/scenario_run_template_parameter_value.py +1 -1
  103. cosmotech_api/model/scenario_security.py +1 -1
  104. cosmotech_api/model/scenario_validation_status.py +1 -1
  105. cosmotech_api/model/solution.py +1 -1
  106. cosmotech_api/model/solution_access_control.py +1 -1
  107. cosmotech_api/model/solution_role.py +1 -1
  108. cosmotech_api/model/solution_security.py +1 -1
  109. cosmotech_api/model/source_info.py +1 -1
  110. cosmotech_api/model/sub_dataset_graph_query.py +1 -1
  111. cosmotech_api/model/translated_labels.py +1 -1
  112. cosmotech_api/model/twin_graph_batch_result.py +1 -1
  113. cosmotech_api/model/twin_graph_hash.py +1 -1
  114. cosmotech_api/model/twin_graph_query.py +1 -1
  115. cosmotech_api/model/validator.py +1 -1
  116. cosmotech_api/model/validator_run.py +1 -1
  117. cosmotech_api/model/workspace.py +1 -1
  118. cosmotech_api/model/workspace_access_control.py +1 -1
  119. cosmotech_api/model/workspace_file.py +1 -1
  120. cosmotech_api/model/workspace_role.py +1 -1
  121. cosmotech_api/model/workspace_secret.py +1 -1
  122. cosmotech_api/model/workspace_security.py +1 -1
  123. cosmotech_api/model/workspace_solution.py +1 -1
  124. cosmotech_api/model/workspace_web_app.py +1 -1
  125. cosmotech_api/model_utils.py +1 -1
  126. cosmotech_api/models/__init__.py +46 -3
  127. cosmotech_api/models/about_info.py +92 -0
  128. cosmotech_api/models/about_info_version.py +100 -0
  129. cosmotech_api/models/component_role_permissions.py +7 -7
  130. cosmotech_api/models/connector.py +15 -11
  131. cosmotech_api/models/connector_parameter.py +7 -7
  132. cosmotech_api/models/connector_parameter_group.py +10 -10
  133. cosmotech_api/models/container_resource_size_info.py +7 -7
  134. cosmotech_api/models/container_resource_sizing.py +7 -7
  135. cosmotech_api/models/created_run.py +7 -7
  136. cosmotech_api/models/dataset.py +10 -10
  137. cosmotech_api/models/dataset_access_control.py +7 -7
  138. cosmotech_api/models/dataset_compatibility.py +7 -7
  139. cosmotech_api/models/dataset_connector.py +7 -7
  140. cosmotech_api/models/dataset_copy_parameters.py +7 -7
  141. cosmotech_api/models/dataset_role.py +7 -7
  142. cosmotech_api/models/dataset_search.py +7 -7
  143. cosmotech_api/models/dataset_security.py +10 -10
  144. cosmotech_api/models/dataset_source_type.py +1 -1
  145. cosmotech_api/models/dataset_twin_graph_hash.py +7 -7
  146. cosmotech_api/models/dataset_twin_graph_info.py +7 -7
  147. cosmotech_api/models/dataset_twin_graph_query.py +7 -7
  148. cosmotech_api/models/delete_historical_data.py +7 -7
  149. cosmotech_api/models/file_upload_metadata.py +7 -7
  150. cosmotech_api/models/file_upload_validation.py +13 -13
  151. cosmotech_api/models/graph_properties.py +7 -7
  152. cosmotech_api/models/ingestion_status_enum.py +1 -1
  153. cosmotech_api/models/io_types_enum.py +1 -1
  154. cosmotech_api/models/organization.py +14 -8
  155. cosmotech_api/models/organization_access_control.py +7 -7
  156. cosmotech_api/models/organization_create_request.py +95 -0
  157. cosmotech_api/models/organization_role.py +7 -7
  158. cosmotech_api/models/organization_security.py +10 -10
  159. cosmotech_api/models/organization_service.py +7 -7
  160. cosmotech_api/models/organization_services.py +7 -7
  161. cosmotech_api/models/organization_update_request.py +89 -0
  162. cosmotech_api/models/query_result.py +7 -7
  163. cosmotech_api/models/resource_size_info.py +7 -7
  164. cosmotech_api/models/run.py +13 -13
  165. cosmotech_api/models/run_container.py +19 -9
  166. cosmotech_api/models/run_container_artifact.py +7 -7
  167. cosmotech_api/models/run_container_logs.py +7 -7
  168. cosmotech_api/models/run_data.py +7 -7
  169. cosmotech_api/models/run_data_query.py +7 -7
  170. cosmotech_api/models/run_logs.py +27 -22
  171. cosmotech_api/models/run_logs_entry.py +7 -7
  172. cosmotech_api/models/run_resource_requested.py +7 -7
  173. cosmotech_api/models/run_search.py +7 -7
  174. cosmotech_api/models/run_search_state.py +1 -1
  175. cosmotech_api/models/run_start_containers.py +10 -10
  176. cosmotech_api/models/run_state.py +1 -1
  177. cosmotech_api/models/run_status.py +10 -10
  178. cosmotech_api/models/run_status_node.py +7 -7
  179. cosmotech_api/models/run_template.py +7 -7
  180. cosmotech_api/models/run_template_handler_id.py +1 -1
  181. cosmotech_api/models/run_template_orchestrator.py +1 -1
  182. cosmotech_api/models/run_template_parameter.py +7 -7
  183. cosmotech_api/models/run_template_parameter_group.py +7 -7
  184. cosmotech_api/models/run_template_parameter_value.py +7 -7
  185. cosmotech_api/models/run_template_resource_sizing.py +7 -7
  186. cosmotech_api/models/run_template_step_source.py +1 -1
  187. cosmotech_api/models/runner.py +33 -14
  188. cosmotech_api/models/runner_access_control.py +7 -7
  189. cosmotech_api/models/runner_changed_parameter_value.py +7 -7
  190. cosmotech_api/models/runner_comparison_result.py +10 -10
  191. cosmotech_api/models/runner_create_request.py +154 -0
  192. cosmotech_api/models/runner_data_download_info.py +12 -9
  193. cosmotech_api/models/runner_data_download_job.py +7 -7
  194. cosmotech_api/models/runner_job_state.py +1 -1
  195. cosmotech_api/models/runner_last_run.py +7 -7
  196. cosmotech_api/models/runner_parent_last_run.py +7 -7
  197. cosmotech_api/models/runner_resource_sizing.py +7 -7
  198. cosmotech_api/models/runner_role.py +7 -7
  199. cosmotech_api/models/runner_root_last_run.py +7 -7
  200. cosmotech_api/models/runner_run_template_parameter_value.py +7 -7
  201. cosmotech_api/models/runner_security.py +10 -10
  202. cosmotech_api/models/runner_update_request.py +123 -0
  203. cosmotech_api/models/runner_validation_status.py +1 -1
  204. cosmotech_api/models/scenario.py +11 -11
  205. cosmotech_api/models/scenario_access_control.py +7 -7
  206. cosmotech_api/models/scenario_changed_parameter_value.py +7 -7
  207. cosmotech_api/models/scenario_comparison_result.py +10 -10
  208. cosmotech_api/models/scenario_data_download_info.py +7 -7
  209. cosmotech_api/models/scenario_data_download_job.py +7 -7
  210. cosmotech_api/models/scenario_job_state.py +1 -1
  211. cosmotech_api/models/scenario_last_run.py +7 -7
  212. cosmotech_api/models/scenario_resource_sizing.py +7 -7
  213. cosmotech_api/models/scenario_role.py +7 -7
  214. cosmotech_api/models/scenario_run.py +13 -13
  215. cosmotech_api/models/scenario_run_container.py +10 -10
  216. cosmotech_api/models/scenario_run_container_artifact.py +7 -7
  217. cosmotech_api/models/scenario_run_container_logs.py +7 -7
  218. cosmotech_api/models/scenario_run_logs.py +10 -10
  219. cosmotech_api/models/scenario_run_resource_requested.py +7 -7
  220. cosmotech_api/models/scenario_run_search.py +7 -7
  221. cosmotech_api/models/scenario_run_search_state.py +1 -1
  222. cosmotech_api/models/scenario_run_start_containers.py +10 -10
  223. cosmotech_api/models/scenario_run_state.py +1 -1
  224. cosmotech_api/models/scenario_run_status.py +10 -10
  225. cosmotech_api/models/scenario_run_status_node.py +7 -7
  226. cosmotech_api/models/scenario_run_template_parameter_value.py +7 -7
  227. cosmotech_api/models/scenario_security.py +10 -10
  228. cosmotech_api/models/scenario_validation_status.py +1 -1
  229. cosmotech_api/models/send_run_data_request.py +7 -7
  230. cosmotech_api/models/solution.py +17 -17
  231. cosmotech_api/models/solution_access_control.py +7 -7
  232. cosmotech_api/models/solution_create_request.py +143 -0
  233. cosmotech_api/models/solution_role.py +7 -7
  234. cosmotech_api/models/solution_security.py +10 -10
  235. cosmotech_api/models/solution_update_request.py +107 -0
  236. cosmotech_api/models/source_info.py +7 -7
  237. cosmotech_api/models/sub_dataset_graph_query.py +7 -7
  238. cosmotech_api/models/twin_graph_batch_result.py +7 -7
  239. cosmotech_api/models/twin_graph_hash.py +7 -7
  240. cosmotech_api/models/twin_graph_query.py +7 -7
  241. cosmotech_api/models/twincache_status_enum.py +1 -1
  242. cosmotech_api/models/validator.py +7 -7
  243. cosmotech_api/models/workspace.py +8 -8
  244. cosmotech_api/models/workspace_access_control.py +7 -7
  245. cosmotech_api/models/workspace_create_request.py +117 -0
  246. cosmotech_api/models/workspace_file.py +7 -7
  247. cosmotech_api/models/workspace_role.py +7 -7
  248. cosmotech_api/models/workspace_secret.py +11 -13
  249. cosmotech_api/models/workspace_security.py +10 -10
  250. cosmotech_api/models/workspace_solution.py +7 -7
  251. cosmotech_api/models/workspace_update_request.py +109 -0
  252. cosmotech_api/models/workspace_web_app.py +7 -7
  253. cosmotech_api/rest.py +3 -1
  254. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.3.4.dist-info}/METADATA +13 -5
  255. cosmotech_api-3.3.4.dist-info/RECORD +273 -0
  256. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.3.4.dist-info}/WHEEL +1 -1
  257. cosmotech_api-3.2.6.dev0.dist-info/RECORD +0 -262
  258. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.3.4.dist-info}/LICENSE +0 -0
  259. {cosmotech_api-3.2.6.dev0.dist-info → cosmotech_api-3.3.4.dist-info}/top_level.txt +0 -0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Cosmo Tech Platform API
7
7
 
8
- The version of the OpenAPI document: 4.0.0-onprem.7
8
+ The version of the OpenAPI document: 3.3.4
9
9
  Contact: platform@cosmotech.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -17,10 +17,11 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
17
17
  from typing import Any, Dict, List, Optional, Tuple, Union
18
18
  from typing_extensions import Annotated
19
19
 
20
- from pydantic import Field, StrictInt, StrictStr
21
- from typing import List, Optional
20
+ from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr
21
+ from typing import List, Optional, Union
22
22
  from typing_extensions import Annotated
23
23
  from cosmotech_api.models.run_template import RunTemplate
24
+ from cosmotech_api.models.run_template_handler_id import RunTemplateHandlerId
24
25
  from cosmotech_api.models.run_template_parameter import RunTemplateParameter
25
26
  from cosmotech_api.models.run_template_parameter_group import RunTemplateParameterGroup
26
27
  from cosmotech_api.models.solution import Solution
@@ -291,7 +292,7 @@ class SolutionApi:
291
292
  _query_params: List[Tuple[str, str]] = []
292
293
  _header_params: Dict[str, Optional[str]] = _headers or {}
293
294
  _form_params: List[Tuple[str, str]] = []
294
- _files: Dict[str, str] = {}
295
+ _files: Dict[str, Union[str, bytes]] = {}
295
296
  _body_params: Optional[bytes] = None
296
297
 
297
298
  # process the path parameters
@@ -308,11 +309,12 @@ class SolutionApi:
308
309
 
309
310
 
310
311
  # set the HTTP header `Accept`
311
- _header_params['Accept'] = self.api_client.select_header_accept(
312
- [
313
- 'application/json'
314
- ]
315
- )
312
+ if 'Accept' not in _header_params:
313
+ _header_params['Accept'] = self.api_client.select_header_accept(
314
+ [
315
+ 'application/json'
316
+ ]
317
+ )
316
318
 
317
319
  # set the HTTP header `Content-Type`
318
320
  if _content_type:
@@ -321,7 +323,8 @@ class SolutionApi:
321
323
  _default_content_type = (
322
324
  self.api_client.select_header_content_type(
323
325
  [
324
- 'application/json'
326
+ 'application/json',
327
+ 'application/yaml'
325
328
  ]
326
329
  )
327
330
  )
@@ -596,7 +599,7 @@ class SolutionApi:
596
599
  _query_params: List[Tuple[str, str]] = []
597
600
  _header_params: Dict[str, Optional[str]] = _headers or {}
598
601
  _form_params: List[Tuple[str, str]] = []
599
- _files: Dict[str, str] = {}
602
+ _files: Dict[str, Union[str, bytes]] = {}
600
603
  _body_params: Optional[bytes] = None
601
604
 
602
605
  # process the path parameters
@@ -613,11 +616,12 @@ class SolutionApi:
613
616
 
614
617
 
615
618
  # set the HTTP header `Accept`
616
- _header_params['Accept'] = self.api_client.select_header_accept(
617
- [
618
- 'application/json'
619
- ]
620
- )
619
+ if 'Accept' not in _header_params:
620
+ _header_params['Accept'] = self.api_client.select_header_accept(
621
+ [
622
+ 'application/json'
623
+ ]
624
+ )
621
625
 
622
626
  # set the HTTP header `Content-Type`
623
627
  if _content_type:
@@ -626,7 +630,8 @@ class SolutionApi:
626
630
  _default_content_type = (
627
631
  self.api_client.select_header_content_type(
628
632
  [
629
- 'application/json'
633
+ 'application/json',
634
+ 'application/yaml'
630
635
  ]
631
636
  )
632
637
  )
@@ -901,7 +906,7 @@ class SolutionApi:
901
906
  _query_params: List[Tuple[str, str]] = []
902
907
  _header_params: Dict[str, Optional[str]] = _headers or {}
903
908
  _form_params: List[Tuple[str, str]] = []
904
- _files: Dict[str, str] = {}
909
+ _files: Dict[str, Union[str, bytes]] = {}
905
910
  _body_params: Optional[bytes] = None
906
911
 
907
912
  # process the path parameters
@@ -918,11 +923,12 @@ class SolutionApi:
918
923
 
919
924
 
920
925
  # set the HTTP header `Accept`
921
- _header_params['Accept'] = self.api_client.select_header_accept(
922
- [
923
- 'application/json'
924
- ]
925
- )
926
+ if 'Accept' not in _header_params:
927
+ _header_params['Accept'] = self.api_client.select_header_accept(
928
+ [
929
+ 'application/json'
930
+ ]
931
+ )
926
932
 
927
933
  # set the HTTP header `Content-Type`
928
934
  if _content_type:
@@ -931,7 +937,8 @@ class SolutionApi:
931
937
  _default_content_type = (
932
938
  self.api_client.select_header_content_type(
933
939
  [
934
- 'application/json'
940
+ 'application/json',
941
+ 'application/yaml'
935
942
  ]
936
943
  )
937
944
  )
@@ -1202,7 +1209,7 @@ class SolutionApi:
1202
1209
  _query_params: List[Tuple[str, str]] = []
1203
1210
  _header_params: Dict[str, Optional[str]] = _headers or {}
1204
1211
  _form_params: List[Tuple[str, str]] = []
1205
- _files: Dict[str, str] = {}
1212
+ _files: Dict[str, Union[str, bytes]] = {}
1206
1213
  _body_params: Optional[bytes] = None
1207
1214
 
1208
1215
  # process the path parameters
@@ -1219,11 +1226,12 @@ class SolutionApi:
1219
1226
 
1220
1227
 
1221
1228
  # set the HTTP header `Accept`
1222
- _header_params['Accept'] = self.api_client.select_header_accept(
1223
- [
1224
- 'application/json'
1225
- ]
1226
- )
1229
+ if 'Accept' not in _header_params:
1230
+ _header_params['Accept'] = self.api_client.select_header_accept(
1231
+ [
1232
+ 'application/json'
1233
+ ]
1234
+ )
1227
1235
 
1228
1236
  # set the HTTP header `Content-Type`
1229
1237
  if _content_type:
@@ -1491,7 +1499,7 @@ class SolutionApi:
1491
1499
  _query_params: List[Tuple[str, str]] = []
1492
1500
  _header_params: Dict[str, Optional[str]] = _headers or {}
1493
1501
  _form_params: List[Tuple[str, str]] = []
1494
- _files: Dict[str, str] = {}
1502
+ _files: Dict[str, Union[str, bytes]] = {}
1495
1503
  _body_params: Optional[bytes] = None
1496
1504
 
1497
1505
  # process the path parameters
@@ -1506,11 +1514,12 @@ class SolutionApi:
1506
1514
 
1507
1515
 
1508
1516
  # set the HTTP header `Accept`
1509
- _header_params['Accept'] = self.api_client.select_header_accept(
1510
- [
1511
- 'application/json'
1512
- ]
1513
- )
1517
+ if 'Accept' not in _header_params:
1518
+ _header_params['Accept'] = self.api_client.select_header_accept(
1519
+ [
1520
+ 'application/json'
1521
+ ]
1522
+ )
1514
1523
 
1515
1524
  # set the HTTP header `Content-Type`
1516
1525
  if _content_type:
@@ -1778,7 +1787,7 @@ class SolutionApi:
1778
1787
  _query_params: List[Tuple[str, str]] = []
1779
1788
  _header_params: Dict[str, Optional[str]] = _headers or {}
1780
1789
  _form_params: List[Tuple[str, str]] = []
1781
- _files: Dict[str, str] = {}
1790
+ _files: Dict[str, Union[str, bytes]] = {}
1782
1791
  _body_params: Optional[bytes] = None
1783
1792
 
1784
1793
  # process the path parameters
@@ -2058,7 +2067,7 @@ class SolutionApi:
2058
2067
  _query_params: List[Tuple[str, str]] = []
2059
2068
  _header_params: Dict[str, Optional[str]] = _headers or {}
2060
2069
  _form_params: List[Tuple[str, str]] = []
2061
- _files: Dict[str, str] = {}
2070
+ _files: Dict[str, Union[str, bytes]] = {}
2062
2071
  _body_params: Optional[bytes] = None
2063
2072
 
2064
2073
  # process the path parameters
@@ -2100,11 +2109,12 @@ class SolutionApi:
2100
2109
 
2101
2110
 
2102
2111
  @validate_call
2103
- def find_all_solutions(
2112
+ def download_run_template_handler(
2104
2113
  self,
2105
2114
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2106
- page: Annotated[Optional[StrictInt], Field(description="page number to query (first page is at index 0)")] = None,
2107
- size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2115
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2116
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
2117
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
2108
2118
  _request_timeout: Union[
2109
2119
  None,
2110
2120
  Annotated[StrictFloat, Field(gt=0)],
@@ -2117,16 +2127,18 @@ class SolutionApi:
2117
2127
  _content_type: Optional[StrictStr] = None,
2118
2128
  _headers: Optional[Dict[StrictStr, Any]] = None,
2119
2129
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2120
- ) -> List[Solution]:
2121
- """List all Solutions
2130
+ ) -> bytearray:
2131
+ """Download a Run Template step handler zip file
2122
2132
 
2123
2133
 
2124
2134
  :param organization_id: the Organization identifier (required)
2125
2135
  :type organization_id: str
2126
- :param page: page number to query (first page is at index 0)
2127
- :type page: int
2128
- :param size: amount of result by page
2129
- :type size: int
2136
+ :param solution_id: the Solution identifier (required)
2137
+ :type solution_id: str
2138
+ :param run_template_id: the Run Template identifier (required)
2139
+ :type run_template_id: str
2140
+ :param handler_id: the Handler identifier (required)
2141
+ :type handler_id: RunTemplateHandlerId
2130
2142
  :param _request_timeout: timeout setting for this request. If one
2131
2143
  number provided, it will be total request
2132
2144
  timeout. It can also be a pair (tuple) of
@@ -2149,10 +2161,11 @@ class SolutionApi:
2149
2161
  :return: Returns the result object.
2150
2162
  """ # noqa: E501
2151
2163
 
2152
- _param = self._find_all_solutions_serialize(
2164
+ _param = self._download_run_template_handler_serialize(
2153
2165
  organization_id=organization_id,
2154
- page=page,
2155
- size=size,
2166
+ solution_id=solution_id,
2167
+ run_template_id=run_template_id,
2168
+ handler_id=handler_id,
2156
2169
  _request_auth=_request_auth,
2157
2170
  _content_type=_content_type,
2158
2171
  _headers=_headers,
@@ -2160,7 +2173,8 @@ class SolutionApi:
2160
2173
  )
2161
2174
 
2162
2175
  _response_types_map: Dict[str, Optional[str]] = {
2163
- '200': "List[Solution]",
2176
+ '200': "bytearray",
2177
+ '404': None,
2164
2178
  }
2165
2179
  response_data = self.api_client.call_api(
2166
2180
  *_param,
@@ -2174,11 +2188,12 @@ class SolutionApi:
2174
2188
 
2175
2189
 
2176
2190
  @validate_call
2177
- def find_all_solutions_with_http_info(
2191
+ def download_run_template_handler_with_http_info(
2178
2192
  self,
2179
2193
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2180
- page: Annotated[Optional[StrictInt], Field(description="page number to query (first page is at index 0)")] = None,
2181
- size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2194
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2195
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
2196
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
2182
2197
  _request_timeout: Union[
2183
2198
  None,
2184
2199
  Annotated[StrictFloat, Field(gt=0)],
@@ -2191,16 +2206,18 @@ class SolutionApi:
2191
2206
  _content_type: Optional[StrictStr] = None,
2192
2207
  _headers: Optional[Dict[StrictStr, Any]] = None,
2193
2208
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2194
- ) -> ApiResponse[List[Solution]]:
2195
- """List all Solutions
2209
+ ) -> ApiResponse[bytearray]:
2210
+ """Download a Run Template step handler zip file
2196
2211
 
2197
2212
 
2198
2213
  :param organization_id: the Organization identifier (required)
2199
2214
  :type organization_id: str
2200
- :param page: page number to query (first page is at index 0)
2201
- :type page: int
2202
- :param size: amount of result by page
2203
- :type size: int
2215
+ :param solution_id: the Solution identifier (required)
2216
+ :type solution_id: str
2217
+ :param run_template_id: the Run Template identifier (required)
2218
+ :type run_template_id: str
2219
+ :param handler_id: the Handler identifier (required)
2220
+ :type handler_id: RunTemplateHandlerId
2204
2221
  :param _request_timeout: timeout setting for this request. If one
2205
2222
  number provided, it will be total request
2206
2223
  timeout. It can also be a pair (tuple) of
@@ -2223,10 +2240,11 @@ class SolutionApi:
2223
2240
  :return: Returns the result object.
2224
2241
  """ # noqa: E501
2225
2242
 
2226
- _param = self._find_all_solutions_serialize(
2243
+ _param = self._download_run_template_handler_serialize(
2227
2244
  organization_id=organization_id,
2228
- page=page,
2229
- size=size,
2245
+ solution_id=solution_id,
2246
+ run_template_id=run_template_id,
2247
+ handler_id=handler_id,
2230
2248
  _request_auth=_request_auth,
2231
2249
  _content_type=_content_type,
2232
2250
  _headers=_headers,
@@ -2234,7 +2252,8 @@ class SolutionApi:
2234
2252
  )
2235
2253
 
2236
2254
  _response_types_map: Dict[str, Optional[str]] = {
2237
- '200': "List[Solution]",
2255
+ '200': "bytearray",
2256
+ '404': None,
2238
2257
  }
2239
2258
  response_data = self.api_client.call_api(
2240
2259
  *_param,
@@ -2248,11 +2267,12 @@ class SolutionApi:
2248
2267
 
2249
2268
 
2250
2269
  @validate_call
2251
- def find_all_solutions_without_preload_content(
2270
+ def download_run_template_handler_without_preload_content(
2252
2271
  self,
2253
2272
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2254
- page: Annotated[Optional[StrictInt], Field(description="page number to query (first page is at index 0)")] = None,
2255
- size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2273
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2274
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
2275
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
2256
2276
  _request_timeout: Union[
2257
2277
  None,
2258
2278
  Annotated[StrictFloat, Field(gt=0)],
@@ -2266,15 +2286,17 @@ class SolutionApi:
2266
2286
  _headers: Optional[Dict[StrictStr, Any]] = None,
2267
2287
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2268
2288
  ) -> RESTResponseType:
2269
- """List all Solutions
2289
+ """Download a Run Template step handler zip file
2270
2290
 
2271
2291
 
2272
2292
  :param organization_id: the Organization identifier (required)
2273
2293
  :type organization_id: str
2274
- :param page: page number to query (first page is at index 0)
2275
- :type page: int
2276
- :param size: amount of result by page
2277
- :type size: int
2294
+ :param solution_id: the Solution identifier (required)
2295
+ :type solution_id: str
2296
+ :param run_template_id: the Run Template identifier (required)
2297
+ :type run_template_id: str
2298
+ :param handler_id: the Handler identifier (required)
2299
+ :type handler_id: RunTemplateHandlerId
2278
2300
  :param _request_timeout: timeout setting for this request. If one
2279
2301
  number provided, it will be total request
2280
2302
  timeout. It can also be a pair (tuple) of
@@ -2297,10 +2319,11 @@ class SolutionApi:
2297
2319
  :return: Returns the result object.
2298
2320
  """ # noqa: E501
2299
2321
 
2300
- _param = self._find_all_solutions_serialize(
2322
+ _param = self._download_run_template_handler_serialize(
2301
2323
  organization_id=organization_id,
2302
- page=page,
2303
- size=size,
2324
+ solution_id=solution_id,
2325
+ run_template_id=run_template_id,
2326
+ handler_id=handler_id,
2304
2327
  _request_auth=_request_auth,
2305
2328
  _content_type=_content_type,
2306
2329
  _headers=_headers,
@@ -2308,7 +2331,8 @@ class SolutionApi:
2308
2331
  )
2309
2332
 
2310
2333
  _response_types_map: Dict[str, Optional[str]] = {
2311
- '200': "List[Solution]",
2334
+ '200': "bytearray",
2335
+ '404': None,
2312
2336
  }
2313
2337
  response_data = self.api_client.call_api(
2314
2338
  *_param,
@@ -2317,11 +2341,12 @@ class SolutionApi:
2317
2341
  return response_data.response
2318
2342
 
2319
2343
 
2320
- def _find_all_solutions_serialize(
2344
+ def _download_run_template_handler_serialize(
2321
2345
  self,
2322
2346
  organization_id,
2323
- page,
2324
- size,
2347
+ solution_id,
2348
+ run_template_id,
2349
+ handler_id,
2325
2350
  _request_auth,
2326
2351
  _content_type,
2327
2352
  _headers,
@@ -2337,32 +2362,31 @@ class SolutionApi:
2337
2362
  _query_params: List[Tuple[str, str]] = []
2338
2363
  _header_params: Dict[str, Optional[str]] = _headers or {}
2339
2364
  _form_params: List[Tuple[str, str]] = []
2340
- _files: Dict[str, str] = {}
2365
+ _files: Dict[str, Union[str, bytes]] = {}
2341
2366
  _body_params: Optional[bytes] = None
2342
2367
 
2343
2368
  # process the path parameters
2344
2369
  if organization_id is not None:
2345
2370
  _path_params['organization_id'] = organization_id
2371
+ if solution_id is not None:
2372
+ _path_params['solution_id'] = solution_id
2373
+ if run_template_id is not None:
2374
+ _path_params['run_template_id'] = run_template_id
2375
+ if handler_id is not None:
2376
+ _path_params['handler_id'] = handler_id.value
2346
2377
  # process the query parameters
2347
- if page is not None:
2348
-
2349
- _query_params.append(('page', page))
2350
-
2351
- if size is not None:
2352
-
2353
- _query_params.append(('size', size))
2354
-
2355
2378
  # process the header parameters
2356
2379
  # process the form parameters
2357
2380
  # process the body parameter
2358
2381
 
2359
2382
 
2360
2383
  # set the HTTP header `Accept`
2361
- _header_params['Accept'] = self.api_client.select_header_accept(
2362
- [
2363
- 'application/json'
2364
- ]
2365
- )
2384
+ if 'Accept' not in _header_params:
2385
+ _header_params['Accept'] = self.api_client.select_header_accept(
2386
+ [
2387
+ 'application/octet-stream'
2388
+ ]
2389
+ )
2366
2390
 
2367
2391
 
2368
2392
  # authentication setting
@@ -2372,7 +2396,7 @@ class SolutionApi:
2372
2396
 
2373
2397
  return self.api_client.param_serialize(
2374
2398
  method='GET',
2375
- resource_path='/organizations/{organization_id}/solutions',
2399
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runtemplates/{run_template_id}/handlers/{handler_id}/download',
2376
2400
  path_params=_path_params,
2377
2401
  query_params=_query_params,
2378
2402
  header_params=_header_params,
@@ -2389,10 +2413,11 @@ class SolutionApi:
2389
2413
 
2390
2414
 
2391
2415
  @validate_call
2392
- def find_solution_by_id(
2416
+ def find_all_solutions(
2393
2417
  self,
2394
2418
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2395
- solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2419
+ page: Annotated[Optional[StrictInt], Field(description="page number to query")] = None,
2420
+ size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2396
2421
  _request_timeout: Union[
2397
2422
  None,
2398
2423
  Annotated[StrictFloat, Field(gt=0)],
@@ -2405,14 +2430,16 @@ class SolutionApi:
2405
2430
  _content_type: Optional[StrictStr] = None,
2406
2431
  _headers: Optional[Dict[StrictStr, Any]] = None,
2407
2432
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2408
- ) -> Solution:
2409
- """Get the details of a solution
2433
+ ) -> List[Solution]:
2434
+ """List all Solutions
2410
2435
 
2411
2436
 
2412
2437
  :param organization_id: the Organization identifier (required)
2413
2438
  :type organization_id: str
2414
- :param solution_id: the Solution identifier (required)
2415
- :type solution_id: str
2439
+ :param page: page number to query
2440
+ :type page: int
2441
+ :param size: amount of result by page
2442
+ :type size: int
2416
2443
  :param _request_timeout: timeout setting for this request. If one
2417
2444
  number provided, it will be total request
2418
2445
  timeout. It can also be a pair (tuple) of
@@ -2435,9 +2462,10 @@ class SolutionApi:
2435
2462
  :return: Returns the result object.
2436
2463
  """ # noqa: E501
2437
2464
 
2438
- _param = self._find_solution_by_id_serialize(
2465
+ _param = self._find_all_solutions_serialize(
2439
2466
  organization_id=organization_id,
2440
- solution_id=solution_id,
2467
+ page=page,
2468
+ size=size,
2441
2469
  _request_auth=_request_auth,
2442
2470
  _content_type=_content_type,
2443
2471
  _headers=_headers,
@@ -2445,8 +2473,7 @@ class SolutionApi:
2445
2473
  )
2446
2474
 
2447
2475
  _response_types_map: Dict[str, Optional[str]] = {
2448
- '200': "Solution",
2449
- '404': None,
2476
+ '200': "List[Solution]",
2450
2477
  }
2451
2478
  response_data = self.api_client.call_api(
2452
2479
  *_param,
@@ -2460,10 +2487,11 @@ class SolutionApi:
2460
2487
 
2461
2488
 
2462
2489
  @validate_call
2463
- def find_solution_by_id_with_http_info(
2490
+ def find_all_solutions_with_http_info(
2464
2491
  self,
2465
2492
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2466
- solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2493
+ page: Annotated[Optional[StrictInt], Field(description="page number to query")] = None,
2494
+ size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2467
2495
  _request_timeout: Union[
2468
2496
  None,
2469
2497
  Annotated[StrictFloat, Field(gt=0)],
@@ -2476,14 +2504,16 @@ class SolutionApi:
2476
2504
  _content_type: Optional[StrictStr] = None,
2477
2505
  _headers: Optional[Dict[StrictStr, Any]] = None,
2478
2506
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2479
- ) -> ApiResponse[Solution]:
2480
- """Get the details of a solution
2507
+ ) -> ApiResponse[List[Solution]]:
2508
+ """List all Solutions
2481
2509
 
2482
2510
 
2483
2511
  :param organization_id: the Organization identifier (required)
2484
2512
  :type organization_id: str
2485
- :param solution_id: the Solution identifier (required)
2486
- :type solution_id: str
2513
+ :param page: page number to query
2514
+ :type page: int
2515
+ :param size: amount of result by page
2516
+ :type size: int
2487
2517
  :param _request_timeout: timeout setting for this request. If one
2488
2518
  number provided, it will be total request
2489
2519
  timeout. It can also be a pair (tuple) of
@@ -2506,9 +2536,10 @@ class SolutionApi:
2506
2536
  :return: Returns the result object.
2507
2537
  """ # noqa: E501
2508
2538
 
2509
- _param = self._find_solution_by_id_serialize(
2539
+ _param = self._find_all_solutions_serialize(
2510
2540
  organization_id=organization_id,
2511
- solution_id=solution_id,
2541
+ page=page,
2542
+ size=size,
2512
2543
  _request_auth=_request_auth,
2513
2544
  _content_type=_content_type,
2514
2545
  _headers=_headers,
@@ -2516,8 +2547,7 @@ class SolutionApi:
2516
2547
  )
2517
2548
 
2518
2549
  _response_types_map: Dict[str, Optional[str]] = {
2519
- '200': "Solution",
2520
- '404': None,
2550
+ '200': "List[Solution]",
2521
2551
  }
2522
2552
  response_data = self.api_client.call_api(
2523
2553
  *_param,
@@ -2531,10 +2561,11 @@ class SolutionApi:
2531
2561
 
2532
2562
 
2533
2563
  @validate_call
2534
- def find_solution_by_id_without_preload_content(
2564
+ def find_all_solutions_without_preload_content(
2535
2565
  self,
2536
2566
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2537
- solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2567
+ page: Annotated[Optional[StrictInt], Field(description="page number to query")] = None,
2568
+ size: Annotated[Optional[StrictInt], Field(description="amount of result by page")] = None,
2538
2569
  _request_timeout: Union[
2539
2570
  None,
2540
2571
  Annotated[StrictFloat, Field(gt=0)],
@@ -2548,13 +2579,15 @@ class SolutionApi:
2548
2579
  _headers: Optional[Dict[StrictStr, Any]] = None,
2549
2580
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2550
2581
  ) -> RESTResponseType:
2551
- """Get the details of a solution
2582
+ """List all Solutions
2552
2583
 
2553
2584
 
2554
2585
  :param organization_id: the Organization identifier (required)
2555
2586
  :type organization_id: str
2556
- :param solution_id: the Solution identifier (required)
2557
- :type solution_id: str
2587
+ :param page: page number to query
2588
+ :type page: int
2589
+ :param size: amount of result by page
2590
+ :type size: int
2558
2591
  :param _request_timeout: timeout setting for this request. If one
2559
2592
  number provided, it will be total request
2560
2593
  timeout. It can also be a pair (tuple) of
@@ -2577,9 +2610,10 @@ class SolutionApi:
2577
2610
  :return: Returns the result object.
2578
2611
  """ # noqa: E501
2579
2612
 
2580
- _param = self._find_solution_by_id_serialize(
2613
+ _param = self._find_all_solutions_serialize(
2581
2614
  organization_id=organization_id,
2582
- solution_id=solution_id,
2615
+ page=page,
2616
+ size=size,
2583
2617
  _request_auth=_request_auth,
2584
2618
  _content_type=_content_type,
2585
2619
  _headers=_headers,
@@ -2587,8 +2621,7 @@ class SolutionApi:
2587
2621
  )
2588
2622
 
2589
2623
  _response_types_map: Dict[str, Optional[str]] = {
2590
- '200': "Solution",
2591
- '404': None,
2624
+ '200': "List[Solution]",
2592
2625
  }
2593
2626
  response_data = self.api_client.call_api(
2594
2627
  *_param,
@@ -2597,10 +2630,11 @@ class SolutionApi:
2597
2630
  return response_data.response
2598
2631
 
2599
2632
 
2600
- def _find_solution_by_id_serialize(
2633
+ def _find_all_solutions_serialize(
2601
2634
  self,
2602
2635
  organization_id,
2603
- solution_id,
2636
+ page,
2637
+ size,
2604
2638
  _request_auth,
2605
2639
  _content_type,
2606
2640
  _headers,
@@ -2616,26 +2650,33 @@ class SolutionApi:
2616
2650
  _query_params: List[Tuple[str, str]] = []
2617
2651
  _header_params: Dict[str, Optional[str]] = _headers or {}
2618
2652
  _form_params: List[Tuple[str, str]] = []
2619
- _files: Dict[str, str] = {}
2653
+ _files: Dict[str, Union[str, bytes]] = {}
2620
2654
  _body_params: Optional[bytes] = None
2621
2655
 
2622
2656
  # process the path parameters
2623
2657
  if organization_id is not None:
2624
2658
  _path_params['organization_id'] = organization_id
2625
- if solution_id is not None:
2626
- _path_params['solution_id'] = solution_id
2627
2659
  # process the query parameters
2660
+ if page is not None:
2661
+
2662
+ _query_params.append(('page', page))
2663
+
2664
+ if size is not None:
2665
+
2666
+ _query_params.append(('size', size))
2667
+
2628
2668
  # process the header parameters
2629
2669
  # process the form parameters
2630
2670
  # process the body parameter
2631
2671
 
2632
2672
 
2633
2673
  # set the HTTP header `Accept`
2634
- _header_params['Accept'] = self.api_client.select_header_accept(
2635
- [
2636
- 'application/json'
2637
- ]
2638
- )
2674
+ if 'Accept' not in _header_params:
2675
+ _header_params['Accept'] = self.api_client.select_header_accept(
2676
+ [
2677
+ 'application/json'
2678
+ ]
2679
+ )
2639
2680
 
2640
2681
 
2641
2682
  # authentication setting
@@ -2645,7 +2686,7 @@ class SolutionApi:
2645
2686
 
2646
2687
  return self.api_client.param_serialize(
2647
2688
  method='GET',
2648
- resource_path='/organizations/{organization_id}/solutions/{solution_id}',
2689
+ resource_path='/organizations/{organization_id}/solutions',
2649
2690
  path_params=_path_params,
2650
2691
  query_params=_query_params,
2651
2692
  header_params=_header_params,
@@ -2662,11 +2703,10 @@ class SolutionApi:
2662
2703
 
2663
2704
 
2664
2705
  @validate_call
2665
- def get_solution_access_control(
2706
+ def find_solution_by_id(
2666
2707
  self,
2667
2708
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2668
2709
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2669
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2670
2710
  _request_timeout: Union[
2671
2711
  None,
2672
2712
  Annotated[StrictFloat, Field(gt=0)],
@@ -2679,16 +2719,14 @@ class SolutionApi:
2679
2719
  _content_type: Optional[StrictStr] = None,
2680
2720
  _headers: Optional[Dict[StrictStr, Any]] = None,
2681
2721
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2682
- ) -> SolutionAccessControl:
2683
- """Get a control access for the Solution
2722
+ ) -> Solution:
2723
+ """Get the details of a solution
2684
2724
 
2685
2725
 
2686
2726
  :param organization_id: the Organization identifier (required)
2687
2727
  :type organization_id: str
2688
2728
  :param solution_id: the Solution identifier (required)
2689
2729
  :type solution_id: str
2690
- :param identity_id: the User identifier (required)
2691
- :type identity_id: str
2692
2730
  :param _request_timeout: timeout setting for this request. If one
2693
2731
  number provided, it will be total request
2694
2732
  timeout. It can also be a pair (tuple) of
@@ -2711,10 +2749,9 @@ class SolutionApi:
2711
2749
  :return: Returns the result object.
2712
2750
  """ # noqa: E501
2713
2751
 
2714
- _param = self._get_solution_access_control_serialize(
2752
+ _param = self._find_solution_by_id_serialize(
2715
2753
  organization_id=organization_id,
2716
2754
  solution_id=solution_id,
2717
- identity_id=identity_id,
2718
2755
  _request_auth=_request_auth,
2719
2756
  _content_type=_content_type,
2720
2757
  _headers=_headers,
@@ -2722,7 +2759,7 @@ class SolutionApi:
2722
2759
  )
2723
2760
 
2724
2761
  _response_types_map: Dict[str, Optional[str]] = {
2725
- '200': "SolutionAccessControl",
2762
+ '200': "Solution",
2726
2763
  '404': None,
2727
2764
  }
2728
2765
  response_data = self.api_client.call_api(
@@ -2737,11 +2774,10 @@ class SolutionApi:
2737
2774
 
2738
2775
 
2739
2776
  @validate_call
2740
- def get_solution_access_control_with_http_info(
2777
+ def find_solution_by_id_with_http_info(
2741
2778
  self,
2742
2779
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2743
2780
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2744
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2745
2781
  _request_timeout: Union[
2746
2782
  None,
2747
2783
  Annotated[StrictFloat, Field(gt=0)],
@@ -2754,16 +2790,14 @@ class SolutionApi:
2754
2790
  _content_type: Optional[StrictStr] = None,
2755
2791
  _headers: Optional[Dict[StrictStr, Any]] = None,
2756
2792
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2757
- ) -> ApiResponse[SolutionAccessControl]:
2758
- """Get a control access for the Solution
2793
+ ) -> ApiResponse[Solution]:
2794
+ """Get the details of a solution
2759
2795
 
2760
2796
 
2761
2797
  :param organization_id: the Organization identifier (required)
2762
2798
  :type organization_id: str
2763
2799
  :param solution_id: the Solution identifier (required)
2764
2800
  :type solution_id: str
2765
- :param identity_id: the User identifier (required)
2766
- :type identity_id: str
2767
2801
  :param _request_timeout: timeout setting for this request. If one
2768
2802
  number provided, it will be total request
2769
2803
  timeout. It can also be a pair (tuple) of
@@ -2786,10 +2820,9 @@ class SolutionApi:
2786
2820
  :return: Returns the result object.
2787
2821
  """ # noqa: E501
2788
2822
 
2789
- _param = self._get_solution_access_control_serialize(
2823
+ _param = self._find_solution_by_id_serialize(
2790
2824
  organization_id=organization_id,
2791
2825
  solution_id=solution_id,
2792
- identity_id=identity_id,
2793
2826
  _request_auth=_request_auth,
2794
2827
  _content_type=_content_type,
2795
2828
  _headers=_headers,
@@ -2797,7 +2830,7 @@ class SolutionApi:
2797
2830
  )
2798
2831
 
2799
2832
  _response_types_map: Dict[str, Optional[str]] = {
2800
- '200': "SolutionAccessControl",
2833
+ '200': "Solution",
2801
2834
  '404': None,
2802
2835
  }
2803
2836
  response_data = self.api_client.call_api(
@@ -2812,11 +2845,10 @@ class SolutionApi:
2812
2845
 
2813
2846
 
2814
2847
  @validate_call
2815
- def get_solution_access_control_without_preload_content(
2848
+ def find_solution_by_id_without_preload_content(
2816
2849
  self,
2817
2850
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2818
2851
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2819
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2820
2852
  _request_timeout: Union[
2821
2853
  None,
2822
2854
  Annotated[StrictFloat, Field(gt=0)],
@@ -2830,15 +2862,13 @@ class SolutionApi:
2830
2862
  _headers: Optional[Dict[StrictStr, Any]] = None,
2831
2863
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2832
2864
  ) -> RESTResponseType:
2833
- """Get a control access for the Solution
2865
+ """Get the details of a solution
2834
2866
 
2835
2867
 
2836
2868
  :param organization_id: the Organization identifier (required)
2837
2869
  :type organization_id: str
2838
2870
  :param solution_id: the Solution identifier (required)
2839
2871
  :type solution_id: str
2840
- :param identity_id: the User identifier (required)
2841
- :type identity_id: str
2842
2872
  :param _request_timeout: timeout setting for this request. If one
2843
2873
  number provided, it will be total request
2844
2874
  timeout. It can also be a pair (tuple) of
@@ -2861,10 +2891,9 @@ class SolutionApi:
2861
2891
  :return: Returns the result object.
2862
2892
  """ # noqa: E501
2863
2893
 
2864
- _param = self._get_solution_access_control_serialize(
2894
+ _param = self._find_solution_by_id_serialize(
2865
2895
  organization_id=organization_id,
2866
2896
  solution_id=solution_id,
2867
- identity_id=identity_id,
2868
2897
  _request_auth=_request_auth,
2869
2898
  _content_type=_content_type,
2870
2899
  _headers=_headers,
@@ -2872,7 +2901,7 @@ class SolutionApi:
2872
2901
  )
2873
2902
 
2874
2903
  _response_types_map: Dict[str, Optional[str]] = {
2875
- '200': "SolutionAccessControl",
2904
+ '200': "Solution",
2876
2905
  '404': None,
2877
2906
  }
2878
2907
  response_data = self.api_client.call_api(
@@ -2882,11 +2911,10 @@ class SolutionApi:
2882
2911
  return response_data.response
2883
2912
 
2884
2913
 
2885
- def _get_solution_access_control_serialize(
2914
+ def _find_solution_by_id_serialize(
2886
2915
  self,
2887
2916
  organization_id,
2888
2917
  solution_id,
2889
- identity_id,
2890
2918
  _request_auth,
2891
2919
  _content_type,
2892
2920
  _headers,
@@ -2902,7 +2930,7 @@ class SolutionApi:
2902
2930
  _query_params: List[Tuple[str, str]] = []
2903
2931
  _header_params: Dict[str, Optional[str]] = _headers or {}
2904
2932
  _form_params: List[Tuple[str, str]] = []
2905
- _files: Dict[str, str] = {}
2933
+ _files: Dict[str, Union[str, bytes]] = {}
2906
2934
  _body_params: Optional[bytes] = None
2907
2935
 
2908
2936
  # process the path parameters
@@ -2910,8 +2938,6 @@ class SolutionApi:
2910
2938
  _path_params['organization_id'] = organization_id
2911
2939
  if solution_id is not None:
2912
2940
  _path_params['solution_id'] = solution_id
2913
- if identity_id is not None:
2914
- _path_params['identity_id'] = identity_id
2915
2941
  # process the query parameters
2916
2942
  # process the header parameters
2917
2943
  # process the form parameters
@@ -2919,11 +2945,12 @@ class SolutionApi:
2919
2945
 
2920
2946
 
2921
2947
  # set the HTTP header `Accept`
2922
- _header_params['Accept'] = self.api_client.select_header_accept(
2923
- [
2924
- 'application/json'
2925
- ]
2926
- )
2948
+ if 'Accept' not in _header_params:
2949
+ _header_params['Accept'] = self.api_client.select_header_accept(
2950
+ [
2951
+ 'application/json'
2952
+ ]
2953
+ )
2927
2954
 
2928
2955
 
2929
2956
  # authentication setting
@@ -2933,7 +2960,7 @@ class SolutionApi:
2933
2960
 
2934
2961
  return self.api_client.param_serialize(
2935
2962
  method='GET',
2936
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
2963
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}',
2937
2964
  path_params=_path_params,
2938
2965
  query_params=_query_params,
2939
2966
  header_params=_header_params,
@@ -2950,10 +2977,11 @@ class SolutionApi:
2950
2977
 
2951
2978
 
2952
2979
  @validate_call
2953
- def get_solution_security(
2980
+ def get_solution_access_control(
2954
2981
  self,
2955
2982
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
2956
2983
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
2984
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
2957
2985
  _request_timeout: Union[
2958
2986
  None,
2959
2987
  Annotated[StrictFloat, Field(gt=0)],
@@ -2966,14 +2994,16 @@ class SolutionApi:
2966
2994
  _content_type: Optional[StrictStr] = None,
2967
2995
  _headers: Optional[Dict[StrictStr, Any]] = None,
2968
2996
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2969
- ) -> SolutionSecurity:
2970
- """Get the Solution security information
2997
+ ) -> SolutionAccessControl:
2998
+ """Get a control access for the Solution
2971
2999
 
2972
3000
 
2973
3001
  :param organization_id: the Organization identifier (required)
2974
3002
  :type organization_id: str
2975
3003
  :param solution_id: the Solution identifier (required)
2976
3004
  :type solution_id: str
3005
+ :param identity_id: the User identifier (required)
3006
+ :type identity_id: str
2977
3007
  :param _request_timeout: timeout setting for this request. If one
2978
3008
  number provided, it will be total request
2979
3009
  timeout. It can also be a pair (tuple) of
@@ -2996,9 +3026,10 @@ class SolutionApi:
2996
3026
  :return: Returns the result object.
2997
3027
  """ # noqa: E501
2998
3028
 
2999
- _param = self._get_solution_security_serialize(
3029
+ _param = self._get_solution_access_control_serialize(
3000
3030
  organization_id=organization_id,
3001
3031
  solution_id=solution_id,
3032
+ identity_id=identity_id,
3002
3033
  _request_auth=_request_auth,
3003
3034
  _content_type=_content_type,
3004
3035
  _headers=_headers,
@@ -3006,7 +3037,7 @@ class SolutionApi:
3006
3037
  )
3007
3038
 
3008
3039
  _response_types_map: Dict[str, Optional[str]] = {
3009
- '200': "SolutionSecurity",
3040
+ '200': "SolutionAccessControl",
3010
3041
  '404': None,
3011
3042
  }
3012
3043
  response_data = self.api_client.call_api(
@@ -3021,10 +3052,11 @@ class SolutionApi:
3021
3052
 
3022
3053
 
3023
3054
  @validate_call
3024
- def get_solution_security_with_http_info(
3055
+ def get_solution_access_control_with_http_info(
3025
3056
  self,
3026
3057
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3027
3058
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
3059
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
3028
3060
  _request_timeout: Union[
3029
3061
  None,
3030
3062
  Annotated[StrictFloat, Field(gt=0)],
@@ -3037,14 +3069,16 @@ class SolutionApi:
3037
3069
  _content_type: Optional[StrictStr] = None,
3038
3070
  _headers: Optional[Dict[StrictStr, Any]] = None,
3039
3071
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3040
- ) -> ApiResponse[SolutionSecurity]:
3041
- """Get the Solution security information
3072
+ ) -> ApiResponse[SolutionAccessControl]:
3073
+ """Get a control access for the Solution
3042
3074
 
3043
3075
 
3044
3076
  :param organization_id: the Organization identifier (required)
3045
3077
  :type organization_id: str
3046
3078
  :param solution_id: the Solution identifier (required)
3047
3079
  :type solution_id: str
3080
+ :param identity_id: the User identifier (required)
3081
+ :type identity_id: str
3048
3082
  :param _request_timeout: timeout setting for this request. If one
3049
3083
  number provided, it will be total request
3050
3084
  timeout. It can also be a pair (tuple) of
@@ -3067,9 +3101,10 @@ class SolutionApi:
3067
3101
  :return: Returns the result object.
3068
3102
  """ # noqa: E501
3069
3103
 
3070
- _param = self._get_solution_security_serialize(
3104
+ _param = self._get_solution_access_control_serialize(
3071
3105
  organization_id=organization_id,
3072
3106
  solution_id=solution_id,
3107
+ identity_id=identity_id,
3073
3108
  _request_auth=_request_auth,
3074
3109
  _content_type=_content_type,
3075
3110
  _headers=_headers,
@@ -3077,7 +3112,7 @@ class SolutionApi:
3077
3112
  )
3078
3113
 
3079
3114
  _response_types_map: Dict[str, Optional[str]] = {
3080
- '200': "SolutionSecurity",
3115
+ '200': "SolutionAccessControl",
3081
3116
  '404': None,
3082
3117
  }
3083
3118
  response_data = self.api_client.call_api(
@@ -3092,10 +3127,11 @@ class SolutionApi:
3092
3127
 
3093
3128
 
3094
3129
  @validate_call
3095
- def get_solution_security_without_preload_content(
3130
+ def get_solution_access_control_without_preload_content(
3096
3131
  self,
3097
3132
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3098
3133
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
3134
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
3099
3135
  _request_timeout: Union[
3100
3136
  None,
3101
3137
  Annotated[StrictFloat, Field(gt=0)],
@@ -3109,13 +3145,15 @@ class SolutionApi:
3109
3145
  _headers: Optional[Dict[StrictStr, Any]] = None,
3110
3146
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3111
3147
  ) -> RESTResponseType:
3112
- """Get the Solution security information
3148
+ """Get a control access for the Solution
3113
3149
 
3114
3150
 
3115
3151
  :param organization_id: the Organization identifier (required)
3116
3152
  :type organization_id: str
3117
3153
  :param solution_id: the Solution identifier (required)
3118
3154
  :type solution_id: str
3155
+ :param identity_id: the User identifier (required)
3156
+ :type identity_id: str
3119
3157
  :param _request_timeout: timeout setting for this request. If one
3120
3158
  number provided, it will be total request
3121
3159
  timeout. It can also be a pair (tuple) of
@@ -3138,9 +3176,10 @@ class SolutionApi:
3138
3176
  :return: Returns the result object.
3139
3177
  """ # noqa: E501
3140
3178
 
3141
- _param = self._get_solution_security_serialize(
3179
+ _param = self._get_solution_access_control_serialize(
3142
3180
  organization_id=organization_id,
3143
3181
  solution_id=solution_id,
3182
+ identity_id=identity_id,
3144
3183
  _request_auth=_request_auth,
3145
3184
  _content_type=_content_type,
3146
3185
  _headers=_headers,
@@ -3148,7 +3187,7 @@ class SolutionApi:
3148
3187
  )
3149
3188
 
3150
3189
  _response_types_map: Dict[str, Optional[str]] = {
3151
- '200': "SolutionSecurity",
3190
+ '200': "SolutionAccessControl",
3152
3191
  '404': None,
3153
3192
  }
3154
3193
  response_data = self.api_client.call_api(
@@ -3158,10 +3197,11 @@ class SolutionApi:
3158
3197
  return response_data.response
3159
3198
 
3160
3199
 
3161
- def _get_solution_security_serialize(
3200
+ def _get_solution_access_control_serialize(
3162
3201
  self,
3163
3202
  organization_id,
3164
3203
  solution_id,
3204
+ identity_id,
3165
3205
  _request_auth,
3166
3206
  _content_type,
3167
3207
  _headers,
@@ -3177,7 +3217,7 @@ class SolutionApi:
3177
3217
  _query_params: List[Tuple[str, str]] = []
3178
3218
  _header_params: Dict[str, Optional[str]] = _headers or {}
3179
3219
  _form_params: List[Tuple[str, str]] = []
3180
- _files: Dict[str, str] = {}
3220
+ _files: Dict[str, Union[str, bytes]] = {}
3181
3221
  _body_params: Optional[bytes] = None
3182
3222
 
3183
3223
  # process the path parameters
@@ -3185,6 +3225,8 @@ class SolutionApi:
3185
3225
  _path_params['organization_id'] = organization_id
3186
3226
  if solution_id is not None:
3187
3227
  _path_params['solution_id'] = solution_id
3228
+ if identity_id is not None:
3229
+ _path_params['identity_id'] = identity_id
3188
3230
  # process the query parameters
3189
3231
  # process the header parameters
3190
3232
  # process the form parameters
@@ -3192,11 +3234,12 @@ class SolutionApi:
3192
3234
 
3193
3235
 
3194
3236
  # set the HTTP header `Accept`
3195
- _header_params['Accept'] = self.api_client.select_header_accept(
3196
- [
3197
- 'application/json'
3198
- ]
3199
- )
3237
+ if 'Accept' not in _header_params:
3238
+ _header_params['Accept'] = self.api_client.select_header_accept(
3239
+ [
3240
+ 'application/json'
3241
+ ]
3242
+ )
3200
3243
 
3201
3244
 
3202
3245
  # authentication setting
@@ -3206,7 +3249,7 @@ class SolutionApi:
3206
3249
 
3207
3250
  return self.api_client.param_serialize(
3208
3251
  method='GET',
3209
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security',
3252
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
3210
3253
  path_params=_path_params,
3211
3254
  query_params=_query_params,
3212
3255
  header_params=_header_params,
@@ -3223,7 +3266,7 @@ class SolutionApi:
3223
3266
 
3224
3267
 
3225
3268
  @validate_call
3226
- def get_solution_security_users(
3269
+ def get_solution_security(
3227
3270
  self,
3228
3271
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3229
3272
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3239,8 +3282,8 @@ class SolutionApi:
3239
3282
  _content_type: Optional[StrictStr] = None,
3240
3283
  _headers: Optional[Dict[StrictStr, Any]] = None,
3241
3284
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3242
- ) -> List[str]:
3243
- """Get the Solution security users list
3285
+ ) -> SolutionSecurity:
3286
+ """Get the Solution security information
3244
3287
 
3245
3288
 
3246
3289
  :param organization_id: the Organization identifier (required)
@@ -3269,7 +3312,7 @@ class SolutionApi:
3269
3312
  :return: Returns the result object.
3270
3313
  """ # noqa: E501
3271
3314
 
3272
- _param = self._get_solution_security_users_serialize(
3315
+ _param = self._get_solution_security_serialize(
3273
3316
  organization_id=organization_id,
3274
3317
  solution_id=solution_id,
3275
3318
  _request_auth=_request_auth,
@@ -3279,7 +3322,7 @@ class SolutionApi:
3279
3322
  )
3280
3323
 
3281
3324
  _response_types_map: Dict[str, Optional[str]] = {
3282
- '200': "List[str]",
3325
+ '200': "SolutionSecurity",
3283
3326
  '404': None,
3284
3327
  }
3285
3328
  response_data = self.api_client.call_api(
@@ -3294,7 +3337,7 @@ class SolutionApi:
3294
3337
 
3295
3338
 
3296
3339
  @validate_call
3297
- def get_solution_security_users_with_http_info(
3340
+ def get_solution_security_with_http_info(
3298
3341
  self,
3299
3342
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3300
3343
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3310,8 +3353,8 @@ class SolutionApi:
3310
3353
  _content_type: Optional[StrictStr] = None,
3311
3354
  _headers: Optional[Dict[StrictStr, Any]] = None,
3312
3355
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3313
- ) -> ApiResponse[List[str]]:
3314
- """Get the Solution security users list
3356
+ ) -> ApiResponse[SolutionSecurity]:
3357
+ """Get the Solution security information
3315
3358
 
3316
3359
 
3317
3360
  :param organization_id: the Organization identifier (required)
@@ -3340,7 +3383,7 @@ class SolutionApi:
3340
3383
  :return: Returns the result object.
3341
3384
  """ # noqa: E501
3342
3385
 
3343
- _param = self._get_solution_security_users_serialize(
3386
+ _param = self._get_solution_security_serialize(
3344
3387
  organization_id=organization_id,
3345
3388
  solution_id=solution_id,
3346
3389
  _request_auth=_request_auth,
@@ -3350,7 +3393,7 @@ class SolutionApi:
3350
3393
  )
3351
3394
 
3352
3395
  _response_types_map: Dict[str, Optional[str]] = {
3353
- '200': "List[str]",
3396
+ '200': "SolutionSecurity",
3354
3397
  '404': None,
3355
3398
  }
3356
3399
  response_data = self.api_client.call_api(
@@ -3365,7 +3408,7 @@ class SolutionApi:
3365
3408
 
3366
3409
 
3367
3410
  @validate_call
3368
- def get_solution_security_users_without_preload_content(
3411
+ def get_solution_security_without_preload_content(
3369
3412
  self,
3370
3413
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3371
3414
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3382,7 +3425,7 @@ class SolutionApi:
3382
3425
  _headers: Optional[Dict[StrictStr, Any]] = None,
3383
3426
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3384
3427
  ) -> RESTResponseType:
3385
- """Get the Solution security users list
3428
+ """Get the Solution security information
3386
3429
 
3387
3430
 
3388
3431
  :param organization_id: the Organization identifier (required)
@@ -3411,7 +3454,7 @@ class SolutionApi:
3411
3454
  :return: Returns the result object.
3412
3455
  """ # noqa: E501
3413
3456
 
3414
- _param = self._get_solution_security_users_serialize(
3457
+ _param = self._get_solution_security_serialize(
3415
3458
  organization_id=organization_id,
3416
3459
  solution_id=solution_id,
3417
3460
  _request_auth=_request_auth,
@@ -3421,7 +3464,7 @@ class SolutionApi:
3421
3464
  )
3422
3465
 
3423
3466
  _response_types_map: Dict[str, Optional[str]] = {
3424
- '200': "List[str]",
3467
+ '200': "SolutionSecurity",
3425
3468
  '404': None,
3426
3469
  }
3427
3470
  response_data = self.api_client.call_api(
@@ -3431,7 +3474,7 @@ class SolutionApi:
3431
3474
  return response_data.response
3432
3475
 
3433
3476
 
3434
- def _get_solution_security_users_serialize(
3477
+ def _get_solution_security_serialize(
3435
3478
  self,
3436
3479
  organization_id,
3437
3480
  solution_id,
@@ -3450,7 +3493,7 @@ class SolutionApi:
3450
3493
  _query_params: List[Tuple[str, str]] = []
3451
3494
  _header_params: Dict[str, Optional[str]] = _headers or {}
3452
3495
  _form_params: List[Tuple[str, str]] = []
3453
- _files: Dict[str, str] = {}
3496
+ _files: Dict[str, Union[str, bytes]] = {}
3454
3497
  _body_params: Optional[bytes] = None
3455
3498
 
3456
3499
  # process the path parameters
@@ -3465,11 +3508,12 @@ class SolutionApi:
3465
3508
 
3466
3509
 
3467
3510
  # set the HTTP header `Accept`
3468
- _header_params['Accept'] = self.api_client.select_header_accept(
3469
- [
3470
- 'application/json'
3471
- ]
3472
- )
3511
+ if 'Accept' not in _header_params:
3512
+ _header_params['Accept'] = self.api_client.select_header_accept(
3513
+ [
3514
+ 'application/json'
3515
+ ]
3516
+ )
3473
3517
 
3474
3518
 
3475
3519
  # authentication setting
@@ -3479,7 +3523,7 @@ class SolutionApi:
3479
3523
 
3480
3524
  return self.api_client.param_serialize(
3481
3525
  method='GET',
3482
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/users',
3526
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security',
3483
3527
  path_params=_path_params,
3484
3528
  query_params=_query_params,
3485
3529
  header_params=_header_params,
@@ -3496,7 +3540,7 @@ class SolutionApi:
3496
3540
 
3497
3541
 
3498
3542
  @validate_call
3499
- def remove_all_run_templates(
3543
+ def get_solution_security_users(
3500
3544
  self,
3501
3545
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3502
3546
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3512,8 +3556,8 @@ class SolutionApi:
3512
3556
  _content_type: Optional[StrictStr] = None,
3513
3557
  _headers: Optional[Dict[StrictStr, Any]] = None,
3514
3558
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3515
- ) -> None:
3516
- """Remove all Run Templates from the Solution specified
3559
+ ) -> List[str]:
3560
+ """Get the Solution security users list
3517
3561
 
3518
3562
 
3519
3563
  :param organization_id: the Organization identifier (required)
@@ -3542,7 +3586,7 @@ class SolutionApi:
3542
3586
  :return: Returns the result object.
3543
3587
  """ # noqa: E501
3544
3588
 
3545
- _param = self._remove_all_run_templates_serialize(
3589
+ _param = self._get_solution_security_users_serialize(
3546
3590
  organization_id=organization_id,
3547
3591
  solution_id=solution_id,
3548
3592
  _request_auth=_request_auth,
@@ -3552,7 +3596,7 @@ class SolutionApi:
3552
3596
  )
3553
3597
 
3554
3598
  _response_types_map: Dict[str, Optional[str]] = {
3555
- '204': None,
3599
+ '200': "List[str]",
3556
3600
  '404': None,
3557
3601
  }
3558
3602
  response_data = self.api_client.call_api(
@@ -3567,7 +3611,7 @@ class SolutionApi:
3567
3611
 
3568
3612
 
3569
3613
  @validate_call
3570
- def remove_all_run_templates_with_http_info(
3614
+ def get_solution_security_users_with_http_info(
3571
3615
  self,
3572
3616
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3573
3617
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3583,8 +3627,8 @@ class SolutionApi:
3583
3627
  _content_type: Optional[StrictStr] = None,
3584
3628
  _headers: Optional[Dict[StrictStr, Any]] = None,
3585
3629
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3586
- ) -> ApiResponse[None]:
3587
- """Remove all Run Templates from the Solution specified
3630
+ ) -> ApiResponse[List[str]]:
3631
+ """Get the Solution security users list
3588
3632
 
3589
3633
 
3590
3634
  :param organization_id: the Organization identifier (required)
@@ -3613,7 +3657,7 @@ class SolutionApi:
3613
3657
  :return: Returns the result object.
3614
3658
  """ # noqa: E501
3615
3659
 
3616
- _param = self._remove_all_run_templates_serialize(
3660
+ _param = self._get_solution_security_users_serialize(
3617
3661
  organization_id=organization_id,
3618
3662
  solution_id=solution_id,
3619
3663
  _request_auth=_request_auth,
@@ -3623,7 +3667,7 @@ class SolutionApi:
3623
3667
  )
3624
3668
 
3625
3669
  _response_types_map: Dict[str, Optional[str]] = {
3626
- '204': None,
3670
+ '200': "List[str]",
3627
3671
  '404': None,
3628
3672
  }
3629
3673
  response_data = self.api_client.call_api(
@@ -3638,7 +3682,7 @@ class SolutionApi:
3638
3682
 
3639
3683
 
3640
3684
  @validate_call
3641
- def remove_all_run_templates_without_preload_content(
3685
+ def get_solution_security_users_without_preload_content(
3642
3686
  self,
3643
3687
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3644
3688
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3655,7 +3699,7 @@ class SolutionApi:
3655
3699
  _headers: Optional[Dict[StrictStr, Any]] = None,
3656
3700
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3657
3701
  ) -> RESTResponseType:
3658
- """Remove all Run Templates from the Solution specified
3702
+ """Get the Solution security users list
3659
3703
 
3660
3704
 
3661
3705
  :param organization_id: the Organization identifier (required)
@@ -3684,7 +3728,7 @@ class SolutionApi:
3684
3728
  :return: Returns the result object.
3685
3729
  """ # noqa: E501
3686
3730
 
3687
- _param = self._remove_all_run_templates_serialize(
3731
+ _param = self._get_solution_security_users_serialize(
3688
3732
  organization_id=organization_id,
3689
3733
  solution_id=solution_id,
3690
3734
  _request_auth=_request_auth,
@@ -3694,7 +3738,7 @@ class SolutionApi:
3694
3738
  )
3695
3739
 
3696
3740
  _response_types_map: Dict[str, Optional[str]] = {
3697
- '204': None,
3741
+ '200': "List[str]",
3698
3742
  '404': None,
3699
3743
  }
3700
3744
  response_data = self.api_client.call_api(
@@ -3704,7 +3748,7 @@ class SolutionApi:
3704
3748
  return response_data.response
3705
3749
 
3706
3750
 
3707
- def _remove_all_run_templates_serialize(
3751
+ def _get_solution_security_users_serialize(
3708
3752
  self,
3709
3753
  organization_id,
3710
3754
  solution_id,
@@ -3723,7 +3767,7 @@ class SolutionApi:
3723
3767
  _query_params: List[Tuple[str, str]] = []
3724
3768
  _header_params: Dict[str, Optional[str]] = _headers or {}
3725
3769
  _form_params: List[Tuple[str, str]] = []
3726
- _files: Dict[str, str] = {}
3770
+ _files: Dict[str, Union[str, bytes]] = {}
3727
3771
  _body_params: Optional[bytes] = None
3728
3772
 
3729
3773
  # process the path parameters
@@ -3737,6 +3781,13 @@ class SolutionApi:
3737
3781
  # process the body parameter
3738
3782
 
3739
3783
 
3784
+ # set the HTTP header `Accept`
3785
+ if 'Accept' not in _header_params:
3786
+ _header_params['Accept'] = self.api_client.select_header_accept(
3787
+ [
3788
+ 'application/json'
3789
+ ]
3790
+ )
3740
3791
 
3741
3792
 
3742
3793
  # authentication setting
@@ -3745,8 +3796,8 @@ class SolutionApi:
3745
3796
  ]
3746
3797
 
3747
3798
  return self.api_client.param_serialize(
3748
- method='DELETE',
3749
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates',
3799
+ method='GET',
3800
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/users',
3750
3801
  path_params=_path_params,
3751
3802
  query_params=_query_params,
3752
3803
  header_params=_header_params,
@@ -3763,7 +3814,7 @@ class SolutionApi:
3763
3814
 
3764
3815
 
3765
3816
  @validate_call
3766
- def remove_all_solution_parameter_groups(
3817
+ def remove_all_run_templates(
3767
3818
  self,
3768
3819
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3769
3820
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3780,7 +3831,7 @@ class SolutionApi:
3780
3831
  _headers: Optional[Dict[StrictStr, Any]] = None,
3781
3832
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3782
3833
  ) -> None:
3783
- """Remove all Parameter Groups from the Solution specified
3834
+ """Remove all Run Templates from the Solution specified
3784
3835
 
3785
3836
 
3786
3837
  :param organization_id: the Organization identifier (required)
@@ -3809,7 +3860,7 @@ class SolutionApi:
3809
3860
  :return: Returns the result object.
3810
3861
  """ # noqa: E501
3811
3862
 
3812
- _param = self._remove_all_solution_parameter_groups_serialize(
3863
+ _param = self._remove_all_run_templates_serialize(
3813
3864
  organization_id=organization_id,
3814
3865
  solution_id=solution_id,
3815
3866
  _request_auth=_request_auth,
@@ -3834,7 +3885,7 @@ class SolutionApi:
3834
3885
 
3835
3886
 
3836
3887
  @validate_call
3837
- def remove_all_solution_parameter_groups_with_http_info(
3888
+ def remove_all_run_templates_with_http_info(
3838
3889
  self,
3839
3890
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3840
3891
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3851,7 +3902,7 @@ class SolutionApi:
3851
3902
  _headers: Optional[Dict[StrictStr, Any]] = None,
3852
3903
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3853
3904
  ) -> ApiResponse[None]:
3854
- """Remove all Parameter Groups from the Solution specified
3905
+ """Remove all Run Templates from the Solution specified
3855
3906
 
3856
3907
 
3857
3908
  :param organization_id: the Organization identifier (required)
@@ -3880,7 +3931,7 @@ class SolutionApi:
3880
3931
  :return: Returns the result object.
3881
3932
  """ # noqa: E501
3882
3933
 
3883
- _param = self._remove_all_solution_parameter_groups_serialize(
3934
+ _param = self._remove_all_run_templates_serialize(
3884
3935
  organization_id=organization_id,
3885
3936
  solution_id=solution_id,
3886
3937
  _request_auth=_request_auth,
@@ -3905,7 +3956,7 @@ class SolutionApi:
3905
3956
 
3906
3957
 
3907
3958
  @validate_call
3908
- def remove_all_solution_parameter_groups_without_preload_content(
3959
+ def remove_all_run_templates_without_preload_content(
3909
3960
  self,
3910
3961
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
3911
3962
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -3922,7 +3973,7 @@ class SolutionApi:
3922
3973
  _headers: Optional[Dict[StrictStr, Any]] = None,
3923
3974
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3924
3975
  ) -> RESTResponseType:
3925
- """Remove all Parameter Groups from the Solution specified
3976
+ """Remove all Run Templates from the Solution specified
3926
3977
 
3927
3978
 
3928
3979
  :param organization_id: the Organization identifier (required)
@@ -3951,7 +4002,7 @@ class SolutionApi:
3951
4002
  :return: Returns the result object.
3952
4003
  """ # noqa: E501
3953
4004
 
3954
- _param = self._remove_all_solution_parameter_groups_serialize(
4005
+ _param = self._remove_all_run_templates_serialize(
3955
4006
  organization_id=organization_id,
3956
4007
  solution_id=solution_id,
3957
4008
  _request_auth=_request_auth,
@@ -3971,7 +4022,7 @@ class SolutionApi:
3971
4022
  return response_data.response
3972
4023
 
3973
4024
 
3974
- def _remove_all_solution_parameter_groups_serialize(
4025
+ def _remove_all_run_templates_serialize(
3975
4026
  self,
3976
4027
  organization_id,
3977
4028
  solution_id,
@@ -3990,7 +4041,7 @@ class SolutionApi:
3990
4041
  _query_params: List[Tuple[str, str]] = []
3991
4042
  _header_params: Dict[str, Optional[str]] = _headers or {}
3992
4043
  _form_params: List[Tuple[str, str]] = []
3993
- _files: Dict[str, str] = {}
4044
+ _files: Dict[str, Union[str, bytes]] = {}
3994
4045
  _body_params: Optional[bytes] = None
3995
4046
 
3996
4047
  # process the path parameters
@@ -4013,7 +4064,7 @@ class SolutionApi:
4013
4064
 
4014
4065
  return self.api_client.param_serialize(
4015
4066
  method='DELETE',
4016
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameterGroups',
4067
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates',
4017
4068
  path_params=_path_params,
4018
4069
  query_params=_query_params,
4019
4070
  header_params=_header_params,
@@ -4030,7 +4081,7 @@ class SolutionApi:
4030
4081
 
4031
4082
 
4032
4083
  @validate_call
4033
- def remove_all_solution_parameters(
4084
+ def remove_all_solution_parameter_groups(
4034
4085
  self,
4035
4086
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4036
4087
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -4047,7 +4098,7 @@ class SolutionApi:
4047
4098
  _headers: Optional[Dict[StrictStr, Any]] = None,
4048
4099
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4049
4100
  ) -> None:
4050
- """Remove all Parameters from the Solution specified
4101
+ """Remove all Parameter Groups from the Solution specified
4051
4102
 
4052
4103
 
4053
4104
  :param organization_id: the Organization identifier (required)
@@ -4076,7 +4127,7 @@ class SolutionApi:
4076
4127
  :return: Returns the result object.
4077
4128
  """ # noqa: E501
4078
4129
 
4079
- _param = self._remove_all_solution_parameters_serialize(
4130
+ _param = self._remove_all_solution_parameter_groups_serialize(
4080
4131
  organization_id=organization_id,
4081
4132
  solution_id=solution_id,
4082
4133
  _request_auth=_request_auth,
@@ -4101,7 +4152,7 @@ class SolutionApi:
4101
4152
 
4102
4153
 
4103
4154
  @validate_call
4104
- def remove_all_solution_parameters_with_http_info(
4155
+ def remove_all_solution_parameter_groups_with_http_info(
4105
4156
  self,
4106
4157
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4107
4158
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -4118,7 +4169,7 @@ class SolutionApi:
4118
4169
  _headers: Optional[Dict[StrictStr, Any]] = None,
4119
4170
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4120
4171
  ) -> ApiResponse[None]:
4121
- """Remove all Parameters from the Solution specified
4172
+ """Remove all Parameter Groups from the Solution specified
4122
4173
 
4123
4174
 
4124
4175
  :param organization_id: the Organization identifier (required)
@@ -4147,7 +4198,7 @@ class SolutionApi:
4147
4198
  :return: Returns the result object.
4148
4199
  """ # noqa: E501
4149
4200
 
4150
- _param = self._remove_all_solution_parameters_serialize(
4201
+ _param = self._remove_all_solution_parameter_groups_serialize(
4151
4202
  organization_id=organization_id,
4152
4203
  solution_id=solution_id,
4153
4204
  _request_auth=_request_auth,
@@ -4172,7 +4223,7 @@ class SolutionApi:
4172
4223
 
4173
4224
 
4174
4225
  @validate_call
4175
- def remove_all_solution_parameters_without_preload_content(
4226
+ def remove_all_solution_parameter_groups_without_preload_content(
4176
4227
  self,
4177
4228
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4178
4229
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
@@ -4189,7 +4240,7 @@ class SolutionApi:
4189
4240
  _headers: Optional[Dict[StrictStr, Any]] = None,
4190
4241
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4191
4242
  ) -> RESTResponseType:
4192
- """Remove all Parameters from the Solution specified
4243
+ """Remove all Parameter Groups from the Solution specified
4193
4244
 
4194
4245
 
4195
4246
  :param organization_id: the Organization identifier (required)
@@ -4218,7 +4269,7 @@ class SolutionApi:
4218
4269
  :return: Returns the result object.
4219
4270
  """ # noqa: E501
4220
4271
 
4221
- _param = self._remove_all_solution_parameters_serialize(
4272
+ _param = self._remove_all_solution_parameter_groups_serialize(
4222
4273
  organization_id=organization_id,
4223
4274
  solution_id=solution_id,
4224
4275
  _request_auth=_request_auth,
@@ -4238,7 +4289,7 @@ class SolutionApi:
4238
4289
  return response_data.response
4239
4290
 
4240
4291
 
4241
- def _remove_all_solution_parameters_serialize(
4292
+ def _remove_all_solution_parameter_groups_serialize(
4242
4293
  self,
4243
4294
  organization_id,
4244
4295
  solution_id,
@@ -4257,7 +4308,7 @@ class SolutionApi:
4257
4308
  _query_params: List[Tuple[str, str]] = []
4258
4309
  _header_params: Dict[str, Optional[str]] = _headers or {}
4259
4310
  _form_params: List[Tuple[str, str]] = []
4260
- _files: Dict[str, str] = {}
4311
+ _files: Dict[str, Union[str, bytes]] = {}
4261
4312
  _body_params: Optional[bytes] = None
4262
4313
 
4263
4314
  # process the path parameters
@@ -4280,7 +4331,7 @@ class SolutionApi:
4280
4331
 
4281
4332
  return self.api_client.param_serialize(
4282
4333
  method='DELETE',
4283
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameters',
4334
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameterGroups',
4284
4335
  path_params=_path_params,
4285
4336
  query_params=_query_params,
4286
4337
  header_params=_header_params,
@@ -4297,11 +4348,10 @@ class SolutionApi:
4297
4348
 
4298
4349
 
4299
4350
  @validate_call
4300
- def remove_solution_access_control(
4351
+ def remove_all_solution_parameters(
4301
4352
  self,
4302
4353
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4303
4354
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4304
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4305
4355
  _request_timeout: Union[
4306
4356
  None,
4307
4357
  Annotated[StrictFloat, Field(gt=0)],
@@ -4315,15 +4365,13 @@ class SolutionApi:
4315
4365
  _headers: Optional[Dict[StrictStr, Any]] = None,
4316
4366
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4317
4367
  ) -> None:
4318
- """Remove the specified access from the given Organization Solution
4368
+ """Remove all Parameters from the Solution specified
4319
4369
 
4320
4370
 
4321
4371
  :param organization_id: the Organization identifier (required)
4322
4372
  :type organization_id: str
4323
4373
  :param solution_id: the Solution identifier (required)
4324
4374
  :type solution_id: str
4325
- :param identity_id: the User identifier (required)
4326
- :type identity_id: str
4327
4375
  :param _request_timeout: timeout setting for this request. If one
4328
4376
  number provided, it will be total request
4329
4377
  timeout. It can also be a pair (tuple) of
@@ -4346,10 +4394,9 @@ class SolutionApi:
4346
4394
  :return: Returns the result object.
4347
4395
  """ # noqa: E501
4348
4396
 
4349
- _param = self._remove_solution_access_control_serialize(
4397
+ _param = self._remove_all_solution_parameters_serialize(
4350
4398
  organization_id=organization_id,
4351
4399
  solution_id=solution_id,
4352
- identity_id=identity_id,
4353
4400
  _request_auth=_request_auth,
4354
4401
  _content_type=_content_type,
4355
4402
  _headers=_headers,
@@ -4372,11 +4419,10 @@ class SolutionApi:
4372
4419
 
4373
4420
 
4374
4421
  @validate_call
4375
- def remove_solution_access_control_with_http_info(
4422
+ def remove_all_solution_parameters_with_http_info(
4376
4423
  self,
4377
4424
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4378
4425
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4379
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4380
4426
  _request_timeout: Union[
4381
4427
  None,
4382
4428
  Annotated[StrictFloat, Field(gt=0)],
@@ -4390,15 +4436,13 @@ class SolutionApi:
4390
4436
  _headers: Optional[Dict[StrictStr, Any]] = None,
4391
4437
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4392
4438
  ) -> ApiResponse[None]:
4393
- """Remove the specified access from the given Organization Solution
4439
+ """Remove all Parameters from the Solution specified
4394
4440
 
4395
4441
 
4396
4442
  :param organization_id: the Organization identifier (required)
4397
4443
  :type organization_id: str
4398
4444
  :param solution_id: the Solution identifier (required)
4399
4445
  :type solution_id: str
4400
- :param identity_id: the User identifier (required)
4401
- :type identity_id: str
4402
4446
  :param _request_timeout: timeout setting for this request. If one
4403
4447
  number provided, it will be total request
4404
4448
  timeout. It can also be a pair (tuple) of
@@ -4421,10 +4465,9 @@ class SolutionApi:
4421
4465
  :return: Returns the result object.
4422
4466
  """ # noqa: E501
4423
4467
 
4424
- _param = self._remove_solution_access_control_serialize(
4468
+ _param = self._remove_all_solution_parameters_serialize(
4425
4469
  organization_id=organization_id,
4426
4470
  solution_id=solution_id,
4427
- identity_id=identity_id,
4428
4471
  _request_auth=_request_auth,
4429
4472
  _content_type=_content_type,
4430
4473
  _headers=_headers,
@@ -4447,11 +4490,10 @@ class SolutionApi:
4447
4490
 
4448
4491
 
4449
4492
  @validate_call
4450
- def remove_solution_access_control_without_preload_content(
4493
+ def remove_all_solution_parameters_without_preload_content(
4451
4494
  self,
4452
4495
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4453
4496
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4454
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4455
4497
  _request_timeout: Union[
4456
4498
  None,
4457
4499
  Annotated[StrictFloat, Field(gt=0)],
@@ -4465,15 +4507,13 @@ class SolutionApi:
4465
4507
  _headers: Optional[Dict[StrictStr, Any]] = None,
4466
4508
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4467
4509
  ) -> RESTResponseType:
4468
- """Remove the specified access from the given Organization Solution
4510
+ """Remove all Parameters from the Solution specified
4469
4511
 
4470
4512
 
4471
4513
  :param organization_id: the Organization identifier (required)
4472
4514
  :type organization_id: str
4473
4515
  :param solution_id: the Solution identifier (required)
4474
4516
  :type solution_id: str
4475
- :param identity_id: the User identifier (required)
4476
- :type identity_id: str
4477
4517
  :param _request_timeout: timeout setting for this request. If one
4478
4518
  number provided, it will be total request
4479
4519
  timeout. It can also be a pair (tuple) of
@@ -4496,10 +4536,9 @@ class SolutionApi:
4496
4536
  :return: Returns the result object.
4497
4537
  """ # noqa: E501
4498
4538
 
4499
- _param = self._remove_solution_access_control_serialize(
4539
+ _param = self._remove_all_solution_parameters_serialize(
4500
4540
  organization_id=organization_id,
4501
4541
  solution_id=solution_id,
4502
- identity_id=identity_id,
4503
4542
  _request_auth=_request_auth,
4504
4543
  _content_type=_content_type,
4505
4544
  _headers=_headers,
@@ -4517,11 +4556,10 @@ class SolutionApi:
4517
4556
  return response_data.response
4518
4557
 
4519
4558
 
4520
- def _remove_solution_access_control_serialize(
4559
+ def _remove_all_solution_parameters_serialize(
4521
4560
  self,
4522
4561
  organization_id,
4523
4562
  solution_id,
4524
- identity_id,
4525
4563
  _request_auth,
4526
4564
  _content_type,
4527
4565
  _headers,
@@ -4537,7 +4575,7 @@ class SolutionApi:
4537
4575
  _query_params: List[Tuple[str, str]] = []
4538
4576
  _header_params: Dict[str, Optional[str]] = _headers or {}
4539
4577
  _form_params: List[Tuple[str, str]] = []
4540
- _files: Dict[str, str] = {}
4578
+ _files: Dict[str, Union[str, bytes]] = {}
4541
4579
  _body_params: Optional[bytes] = None
4542
4580
 
4543
4581
  # process the path parameters
@@ -4545,8 +4583,6 @@ class SolutionApi:
4545
4583
  _path_params['organization_id'] = organization_id
4546
4584
  if solution_id is not None:
4547
4585
  _path_params['solution_id'] = solution_id
4548
- if identity_id is not None:
4549
- _path_params['identity_id'] = identity_id
4550
4586
  # process the query parameters
4551
4587
  # process the header parameters
4552
4588
  # process the form parameters
@@ -4562,7 +4598,7 @@ class SolutionApi:
4562
4598
 
4563
4599
  return self.api_client.param_serialize(
4564
4600
  method='DELETE',
4565
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
4601
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/parameters',
4566
4602
  path_params=_path_params,
4567
4603
  query_params=_query_params,
4568
4604
  header_params=_header_params,
@@ -4579,11 +4615,11 @@ class SolutionApi:
4579
4615
 
4580
4616
 
4581
4617
  @validate_call
4582
- def set_solution_default_security(
4618
+ def remove_solution_access_control(
4583
4619
  self,
4584
4620
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4585
4621
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4586
- solution_role: Annotated[SolutionRole, Field(description="This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution.")],
4622
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4587
4623
  _request_timeout: Union[
4588
4624
  None,
4589
4625
  Annotated[StrictFloat, Field(gt=0)],
@@ -4596,16 +4632,16 @@ class SolutionApi:
4596
4632
  _content_type: Optional[StrictStr] = None,
4597
4633
  _headers: Optional[Dict[StrictStr, Any]] = None,
4598
4634
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4599
- ) -> SolutionSecurity:
4600
- """Set the Solution default security
4635
+ ) -> None:
4636
+ """Remove the specified access from the given Organization Solution
4601
4637
 
4602
4638
 
4603
4639
  :param organization_id: the Organization identifier (required)
4604
4640
  :type organization_id: str
4605
4641
  :param solution_id: the Solution identifier (required)
4606
4642
  :type solution_id: str
4607
- :param solution_role: This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution. (required)
4608
- :type solution_role: SolutionRole
4643
+ :param identity_id: the User identifier (required)
4644
+ :type identity_id: str
4609
4645
  :param _request_timeout: timeout setting for this request. If one
4610
4646
  number provided, it will be total request
4611
4647
  timeout. It can also be a pair (tuple) of
@@ -4628,10 +4664,10 @@ class SolutionApi:
4628
4664
  :return: Returns the result object.
4629
4665
  """ # noqa: E501
4630
4666
 
4631
- _param = self._set_solution_default_security_serialize(
4667
+ _param = self._remove_solution_access_control_serialize(
4632
4668
  organization_id=organization_id,
4633
4669
  solution_id=solution_id,
4634
- solution_role=solution_role,
4670
+ identity_id=identity_id,
4635
4671
  _request_auth=_request_auth,
4636
4672
  _content_type=_content_type,
4637
4673
  _headers=_headers,
@@ -4639,7 +4675,7 @@ class SolutionApi:
4639
4675
  )
4640
4676
 
4641
4677
  _response_types_map: Dict[str, Optional[str]] = {
4642
- '201': "SolutionSecurity",
4678
+ '204': None,
4643
4679
  '404': None,
4644
4680
  }
4645
4681
  response_data = self.api_client.call_api(
@@ -4654,11 +4690,11 @@ class SolutionApi:
4654
4690
 
4655
4691
 
4656
4692
  @validate_call
4657
- def set_solution_default_security_with_http_info(
4693
+ def remove_solution_access_control_with_http_info(
4658
4694
  self,
4659
4695
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4660
4696
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4661
- solution_role: Annotated[SolutionRole, Field(description="This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution.")],
4697
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4662
4698
  _request_timeout: Union[
4663
4699
  None,
4664
4700
  Annotated[StrictFloat, Field(gt=0)],
@@ -4671,16 +4707,16 @@ class SolutionApi:
4671
4707
  _content_type: Optional[StrictStr] = None,
4672
4708
  _headers: Optional[Dict[StrictStr, Any]] = None,
4673
4709
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4674
- ) -> ApiResponse[SolutionSecurity]:
4675
- """Set the Solution default security
4710
+ ) -> ApiResponse[None]:
4711
+ """Remove the specified access from the given Organization Solution
4676
4712
 
4677
4713
 
4678
4714
  :param organization_id: the Organization identifier (required)
4679
4715
  :type organization_id: str
4680
4716
  :param solution_id: the Solution identifier (required)
4681
4717
  :type solution_id: str
4682
- :param solution_role: This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution. (required)
4683
- :type solution_role: SolutionRole
4718
+ :param identity_id: the User identifier (required)
4719
+ :type identity_id: str
4684
4720
  :param _request_timeout: timeout setting for this request. If one
4685
4721
  number provided, it will be total request
4686
4722
  timeout. It can also be a pair (tuple) of
@@ -4703,10 +4739,10 @@ class SolutionApi:
4703
4739
  :return: Returns the result object.
4704
4740
  """ # noqa: E501
4705
4741
 
4706
- _param = self._set_solution_default_security_serialize(
4742
+ _param = self._remove_solution_access_control_serialize(
4707
4743
  organization_id=organization_id,
4708
4744
  solution_id=solution_id,
4709
- solution_role=solution_role,
4745
+ identity_id=identity_id,
4710
4746
  _request_auth=_request_auth,
4711
4747
  _content_type=_content_type,
4712
4748
  _headers=_headers,
@@ -4714,7 +4750,7 @@ class SolutionApi:
4714
4750
  )
4715
4751
 
4716
4752
  _response_types_map: Dict[str, Optional[str]] = {
4717
- '201': "SolutionSecurity",
4753
+ '204': None,
4718
4754
  '404': None,
4719
4755
  }
4720
4756
  response_data = self.api_client.call_api(
@@ -4729,11 +4765,11 @@ class SolutionApi:
4729
4765
 
4730
4766
 
4731
4767
  @validate_call
4732
- def set_solution_default_security_without_preload_content(
4768
+ def remove_solution_access_control_without_preload_content(
4733
4769
  self,
4734
4770
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4735
4771
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4736
- solution_role: Annotated[SolutionRole, Field(description="This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution.")],
4772
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
4737
4773
  _request_timeout: Union[
4738
4774
  None,
4739
4775
  Annotated[StrictFloat, Field(gt=0)],
@@ -4747,15 +4783,15 @@ class SolutionApi:
4747
4783
  _headers: Optional[Dict[StrictStr, Any]] = None,
4748
4784
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4749
4785
  ) -> RESTResponseType:
4750
- """Set the Solution default security
4786
+ """Remove the specified access from the given Organization Solution
4751
4787
 
4752
4788
 
4753
4789
  :param organization_id: the Organization identifier (required)
4754
4790
  :type organization_id: str
4755
4791
  :param solution_id: the Solution identifier (required)
4756
4792
  :type solution_id: str
4757
- :param solution_role: This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution. (required)
4758
- :type solution_role: SolutionRole
4793
+ :param identity_id: the User identifier (required)
4794
+ :type identity_id: str
4759
4795
  :param _request_timeout: timeout setting for this request. If one
4760
4796
  number provided, it will be total request
4761
4797
  timeout. It can also be a pair (tuple) of
@@ -4778,10 +4814,10 @@ class SolutionApi:
4778
4814
  :return: Returns the result object.
4779
4815
  """ # noqa: E501
4780
4816
 
4781
- _param = self._set_solution_default_security_serialize(
4817
+ _param = self._remove_solution_access_control_serialize(
4782
4818
  organization_id=organization_id,
4783
4819
  solution_id=solution_id,
4784
- solution_role=solution_role,
4820
+ identity_id=identity_id,
4785
4821
  _request_auth=_request_auth,
4786
4822
  _content_type=_content_type,
4787
4823
  _headers=_headers,
@@ -4789,7 +4825,7 @@ class SolutionApi:
4789
4825
  )
4790
4826
 
4791
4827
  _response_types_map: Dict[str, Optional[str]] = {
4792
- '201': "SolutionSecurity",
4828
+ '204': None,
4793
4829
  '404': None,
4794
4830
  }
4795
4831
  response_data = self.api_client.call_api(
@@ -4799,11 +4835,11 @@ class SolutionApi:
4799
4835
  return response_data.response
4800
4836
 
4801
4837
 
4802
- def _set_solution_default_security_serialize(
4838
+ def _remove_solution_access_control_serialize(
4803
4839
  self,
4804
4840
  organization_id,
4805
4841
  solution_id,
4806
- solution_role,
4842
+ identity_id,
4807
4843
  _request_auth,
4808
4844
  _content_type,
4809
4845
  _headers,
@@ -4819,7 +4855,7 @@ class SolutionApi:
4819
4855
  _query_params: List[Tuple[str, str]] = []
4820
4856
  _header_params: Dict[str, Optional[str]] = _headers or {}
4821
4857
  _form_params: List[Tuple[str, str]] = []
4822
- _files: Dict[str, str] = {}
4858
+ _files: Dict[str, Union[str, bytes]] = {}
4823
4859
  _body_params: Optional[bytes] = None
4824
4860
 
4825
4861
  # process the path parameters
@@ -4827,35 +4863,15 @@ class SolutionApi:
4827
4863
  _path_params['organization_id'] = organization_id
4828
4864
  if solution_id is not None:
4829
4865
  _path_params['solution_id'] = solution_id
4866
+ if identity_id is not None:
4867
+ _path_params['identity_id'] = identity_id
4830
4868
  # process the query parameters
4831
4869
  # process the header parameters
4832
4870
  # process the form parameters
4833
4871
  # process the body parameter
4834
- if solution_role is not None:
4835
- _body_params = solution_role
4836
4872
 
4837
4873
 
4838
- # set the HTTP header `Accept`
4839
- _header_params['Accept'] = self.api_client.select_header_accept(
4840
- [
4841
- 'application/json'
4842
- ]
4843
- )
4844
4874
 
4845
- # set the HTTP header `Content-Type`
4846
- if _content_type:
4847
- _header_params['Content-Type'] = _content_type
4848
- else:
4849
- _default_content_type = (
4850
- self.api_client.select_header_content_type(
4851
- [
4852
- 'application/json',
4853
- 'application/yaml'
4854
- ]
4855
- )
4856
- )
4857
- if _default_content_type is not None:
4858
- _header_params['Content-Type'] = _default_content_type
4859
4875
 
4860
4876
  # authentication setting
4861
4877
  _auth_settings: List[str] = [
@@ -4863,7 +4879,310 @@ class SolutionApi:
4863
4879
  ]
4864
4880
 
4865
4881
  return self.api_client.param_serialize(
4866
- method='POST',
4882
+ method='DELETE',
4883
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
4884
+ path_params=_path_params,
4885
+ query_params=_query_params,
4886
+ header_params=_header_params,
4887
+ body=_body_params,
4888
+ post_params=_form_params,
4889
+ files=_files,
4890
+ auth_settings=_auth_settings,
4891
+ collection_formats=_collection_formats,
4892
+ _host=_host,
4893
+ _request_auth=_request_auth
4894
+ )
4895
+
4896
+
4897
+
4898
+
4899
+ @validate_call
4900
+ def set_solution_default_security(
4901
+ self,
4902
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4903
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4904
+ solution_role: Annotated[SolutionRole, Field(description="This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution.")],
4905
+ _request_timeout: Union[
4906
+ None,
4907
+ Annotated[StrictFloat, Field(gt=0)],
4908
+ Tuple[
4909
+ Annotated[StrictFloat, Field(gt=0)],
4910
+ Annotated[StrictFloat, Field(gt=0)]
4911
+ ]
4912
+ ] = None,
4913
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4914
+ _content_type: Optional[StrictStr] = None,
4915
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4916
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4917
+ ) -> SolutionSecurity:
4918
+ """Set the Solution default security
4919
+
4920
+
4921
+ :param organization_id: the Organization identifier (required)
4922
+ :type organization_id: str
4923
+ :param solution_id: the Solution identifier (required)
4924
+ :type solution_id: str
4925
+ :param solution_role: This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution. (required)
4926
+ :type solution_role: SolutionRole
4927
+ :param _request_timeout: timeout setting for this request. If one
4928
+ number provided, it will be total request
4929
+ timeout. It can also be a pair (tuple) of
4930
+ (connection, read) timeouts.
4931
+ :type _request_timeout: int, tuple(int, int), optional
4932
+ :param _request_auth: set to override the auth_settings for an a single
4933
+ request; this effectively ignores the
4934
+ authentication in the spec for a single request.
4935
+ :type _request_auth: dict, optional
4936
+ :param _content_type: force content-type for the request.
4937
+ :type _content_type: str, Optional
4938
+ :param _headers: set to override the headers for a single
4939
+ request; this effectively ignores the headers
4940
+ in the spec for a single request.
4941
+ :type _headers: dict, optional
4942
+ :param _host_index: set to override the host_index for a single
4943
+ request; this effectively ignores the host_index
4944
+ in the spec for a single request.
4945
+ :type _host_index: int, optional
4946
+ :return: Returns the result object.
4947
+ """ # noqa: E501
4948
+
4949
+ _param = self._set_solution_default_security_serialize(
4950
+ organization_id=organization_id,
4951
+ solution_id=solution_id,
4952
+ solution_role=solution_role,
4953
+ _request_auth=_request_auth,
4954
+ _content_type=_content_type,
4955
+ _headers=_headers,
4956
+ _host_index=_host_index
4957
+ )
4958
+
4959
+ _response_types_map: Dict[str, Optional[str]] = {
4960
+ '201': "SolutionSecurity",
4961
+ '404': None,
4962
+ }
4963
+ response_data = self.api_client.call_api(
4964
+ *_param,
4965
+ _request_timeout=_request_timeout
4966
+ )
4967
+ response_data.read()
4968
+ return self.api_client.response_deserialize(
4969
+ response_data=response_data,
4970
+ response_types_map=_response_types_map,
4971
+ ).data
4972
+
4973
+
4974
+ @validate_call
4975
+ def set_solution_default_security_with_http_info(
4976
+ self,
4977
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4978
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4979
+ solution_role: Annotated[SolutionRole, Field(description="This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution.")],
4980
+ _request_timeout: Union[
4981
+ None,
4982
+ Annotated[StrictFloat, Field(gt=0)],
4983
+ Tuple[
4984
+ Annotated[StrictFloat, Field(gt=0)],
4985
+ Annotated[StrictFloat, Field(gt=0)]
4986
+ ]
4987
+ ] = None,
4988
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4989
+ _content_type: Optional[StrictStr] = None,
4990
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4991
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4992
+ ) -> ApiResponse[SolutionSecurity]:
4993
+ """Set the Solution default security
4994
+
4995
+
4996
+ :param organization_id: the Organization identifier (required)
4997
+ :type organization_id: str
4998
+ :param solution_id: the Solution identifier (required)
4999
+ :type solution_id: str
5000
+ :param solution_role: This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution. (required)
5001
+ :type solution_role: SolutionRole
5002
+ :param _request_timeout: timeout setting for this request. If one
5003
+ number provided, it will be total request
5004
+ timeout. It can also be a pair (tuple) of
5005
+ (connection, read) timeouts.
5006
+ :type _request_timeout: int, tuple(int, int), optional
5007
+ :param _request_auth: set to override the auth_settings for an a single
5008
+ request; this effectively ignores the
5009
+ authentication in the spec for a single request.
5010
+ :type _request_auth: dict, optional
5011
+ :param _content_type: force content-type for the request.
5012
+ :type _content_type: str, Optional
5013
+ :param _headers: set to override the headers for a single
5014
+ request; this effectively ignores the headers
5015
+ in the spec for a single request.
5016
+ :type _headers: dict, optional
5017
+ :param _host_index: set to override the host_index for a single
5018
+ request; this effectively ignores the host_index
5019
+ in the spec for a single request.
5020
+ :type _host_index: int, optional
5021
+ :return: Returns the result object.
5022
+ """ # noqa: E501
5023
+
5024
+ _param = self._set_solution_default_security_serialize(
5025
+ organization_id=organization_id,
5026
+ solution_id=solution_id,
5027
+ solution_role=solution_role,
5028
+ _request_auth=_request_auth,
5029
+ _content_type=_content_type,
5030
+ _headers=_headers,
5031
+ _host_index=_host_index
5032
+ )
5033
+
5034
+ _response_types_map: Dict[str, Optional[str]] = {
5035
+ '201': "SolutionSecurity",
5036
+ '404': None,
5037
+ }
5038
+ response_data = self.api_client.call_api(
5039
+ *_param,
5040
+ _request_timeout=_request_timeout
5041
+ )
5042
+ response_data.read()
5043
+ return self.api_client.response_deserialize(
5044
+ response_data=response_data,
5045
+ response_types_map=_response_types_map,
5046
+ )
5047
+
5048
+
5049
+ @validate_call
5050
+ def set_solution_default_security_without_preload_content(
5051
+ self,
5052
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5053
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5054
+ solution_role: Annotated[SolutionRole, Field(description="This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution.")],
5055
+ _request_timeout: Union[
5056
+ None,
5057
+ Annotated[StrictFloat, Field(gt=0)],
5058
+ Tuple[
5059
+ Annotated[StrictFloat, Field(gt=0)],
5060
+ Annotated[StrictFloat, Field(gt=0)]
5061
+ ]
5062
+ ] = None,
5063
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5064
+ _content_type: Optional[StrictStr] = None,
5065
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5066
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5067
+ ) -> RESTResponseType:
5068
+ """Set the Solution default security
5069
+
5070
+
5071
+ :param organization_id: the Organization identifier (required)
5072
+ :type organization_id: str
5073
+ :param solution_id: the Solution identifier (required)
5074
+ :type solution_id: str
5075
+ :param solution_role: This change the solution default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the solution. (required)
5076
+ :type solution_role: SolutionRole
5077
+ :param _request_timeout: timeout setting for this request. If one
5078
+ number provided, it will be total request
5079
+ timeout. It can also be a pair (tuple) of
5080
+ (connection, read) timeouts.
5081
+ :type _request_timeout: int, tuple(int, int), optional
5082
+ :param _request_auth: set to override the auth_settings for an a single
5083
+ request; this effectively ignores the
5084
+ authentication in the spec for a single request.
5085
+ :type _request_auth: dict, optional
5086
+ :param _content_type: force content-type for the request.
5087
+ :type _content_type: str, Optional
5088
+ :param _headers: set to override the headers for a single
5089
+ request; this effectively ignores the headers
5090
+ in the spec for a single request.
5091
+ :type _headers: dict, optional
5092
+ :param _host_index: set to override the host_index for a single
5093
+ request; this effectively ignores the host_index
5094
+ in the spec for a single request.
5095
+ :type _host_index: int, optional
5096
+ :return: Returns the result object.
5097
+ """ # noqa: E501
5098
+
5099
+ _param = self._set_solution_default_security_serialize(
5100
+ organization_id=organization_id,
5101
+ solution_id=solution_id,
5102
+ solution_role=solution_role,
5103
+ _request_auth=_request_auth,
5104
+ _content_type=_content_type,
5105
+ _headers=_headers,
5106
+ _host_index=_host_index
5107
+ )
5108
+
5109
+ _response_types_map: Dict[str, Optional[str]] = {
5110
+ '201': "SolutionSecurity",
5111
+ '404': None,
5112
+ }
5113
+ response_data = self.api_client.call_api(
5114
+ *_param,
5115
+ _request_timeout=_request_timeout
5116
+ )
5117
+ return response_data.response
5118
+
5119
+
5120
+ def _set_solution_default_security_serialize(
5121
+ self,
5122
+ organization_id,
5123
+ solution_id,
5124
+ solution_role,
5125
+ _request_auth,
5126
+ _content_type,
5127
+ _headers,
5128
+ _host_index,
5129
+ ) -> RequestSerialized:
5130
+
5131
+ _host = None
5132
+
5133
+ _collection_formats: Dict[str, str] = {
5134
+ }
5135
+
5136
+ _path_params: Dict[str, str] = {}
5137
+ _query_params: List[Tuple[str, str]] = []
5138
+ _header_params: Dict[str, Optional[str]] = _headers or {}
5139
+ _form_params: List[Tuple[str, str]] = []
5140
+ _files: Dict[str, Union[str, bytes]] = {}
5141
+ _body_params: Optional[bytes] = None
5142
+
5143
+ # process the path parameters
5144
+ if organization_id is not None:
5145
+ _path_params['organization_id'] = organization_id
5146
+ if solution_id is not None:
5147
+ _path_params['solution_id'] = solution_id
5148
+ # process the query parameters
5149
+ # process the header parameters
5150
+ # process the form parameters
5151
+ # process the body parameter
5152
+ if solution_role is not None:
5153
+ _body_params = solution_role
5154
+
5155
+
5156
+ # set the HTTP header `Accept`
5157
+ if 'Accept' not in _header_params:
5158
+ _header_params['Accept'] = self.api_client.select_header_accept(
5159
+ [
5160
+ 'application/json'
5161
+ ]
5162
+ )
5163
+
5164
+ # set the HTTP header `Content-Type`
5165
+ if _content_type:
5166
+ _header_params['Content-Type'] = _content_type
5167
+ else:
5168
+ _default_content_type = (
5169
+ self.api_client.select_header_content_type(
5170
+ [
5171
+ 'application/json',
5172
+ 'application/yaml'
5173
+ ]
5174
+ )
5175
+ )
5176
+ if _default_content_type is not None:
5177
+ _header_params['Content-Type'] = _default_content_type
5178
+
5179
+ # authentication setting
5180
+ _auth_settings: List[str] = [
5181
+ 'oAuth2AuthCode'
5182
+ ]
5183
+
5184
+ return self.api_client.param_serialize(
5185
+ method='POST',
4867
5186
  resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/default',
4868
5187
  path_params=_path_params,
4869
5188
  query_params=_query_params,
@@ -4881,11 +5200,318 @@ class SolutionApi:
4881
5200
 
4882
5201
 
4883
5202
  @validate_call
4884
- def update_solution(
5203
+ def update_solution(
5204
+ self,
5205
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5206
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5207
+ solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update : - id - runTemplates - security ")],
5208
+ _request_timeout: Union[
5209
+ None,
5210
+ Annotated[StrictFloat, Field(gt=0)],
5211
+ Tuple[
5212
+ Annotated[StrictFloat, Field(gt=0)],
5213
+ Annotated[StrictFloat, Field(gt=0)]
5214
+ ]
5215
+ ] = None,
5216
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5217
+ _content_type: Optional[StrictStr] = None,
5218
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5219
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5220
+ ) -> Solution:
5221
+ """Update a solution
5222
+
5223
+
5224
+ :param organization_id: the Organization identifier (required)
5225
+ :type organization_id: str
5226
+ :param solution_id: the Solution identifier (required)
5227
+ :type solution_id: str
5228
+ :param solution: the new Solution details. This endpoint can't be used to update : - id - runTemplates - security (required)
5229
+ :type solution: Solution
5230
+ :param _request_timeout: timeout setting for this request. If one
5231
+ number provided, it will be total request
5232
+ timeout. It can also be a pair (tuple) of
5233
+ (connection, read) timeouts.
5234
+ :type _request_timeout: int, tuple(int, int), optional
5235
+ :param _request_auth: set to override the auth_settings for an a single
5236
+ request; this effectively ignores the
5237
+ authentication in the spec for a single request.
5238
+ :type _request_auth: dict, optional
5239
+ :param _content_type: force content-type for the request.
5240
+ :type _content_type: str, Optional
5241
+ :param _headers: set to override the headers for a single
5242
+ request; this effectively ignores the headers
5243
+ in the spec for a single request.
5244
+ :type _headers: dict, optional
5245
+ :param _host_index: set to override the host_index for a single
5246
+ request; this effectively ignores the host_index
5247
+ in the spec for a single request.
5248
+ :type _host_index: int, optional
5249
+ :return: Returns the result object.
5250
+ """ # noqa: E501
5251
+
5252
+ _param = self._update_solution_serialize(
5253
+ organization_id=organization_id,
5254
+ solution_id=solution_id,
5255
+ solution=solution,
5256
+ _request_auth=_request_auth,
5257
+ _content_type=_content_type,
5258
+ _headers=_headers,
5259
+ _host_index=_host_index
5260
+ )
5261
+
5262
+ _response_types_map: Dict[str, Optional[str]] = {
5263
+ '200': "Solution",
5264
+ '400': None,
5265
+ '404': None,
5266
+ }
5267
+ response_data = self.api_client.call_api(
5268
+ *_param,
5269
+ _request_timeout=_request_timeout
5270
+ )
5271
+ response_data.read()
5272
+ return self.api_client.response_deserialize(
5273
+ response_data=response_data,
5274
+ response_types_map=_response_types_map,
5275
+ ).data
5276
+
5277
+
5278
+ @validate_call
5279
+ def update_solution_with_http_info(
5280
+ self,
5281
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5282
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5283
+ solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update : - id - runTemplates - security ")],
5284
+ _request_timeout: Union[
5285
+ None,
5286
+ Annotated[StrictFloat, Field(gt=0)],
5287
+ Tuple[
5288
+ Annotated[StrictFloat, Field(gt=0)],
5289
+ Annotated[StrictFloat, Field(gt=0)]
5290
+ ]
5291
+ ] = None,
5292
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5293
+ _content_type: Optional[StrictStr] = None,
5294
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5295
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5296
+ ) -> ApiResponse[Solution]:
5297
+ """Update a solution
5298
+
5299
+
5300
+ :param organization_id: the Organization identifier (required)
5301
+ :type organization_id: str
5302
+ :param solution_id: the Solution identifier (required)
5303
+ :type solution_id: str
5304
+ :param solution: the new Solution details. This endpoint can't be used to update : - id - runTemplates - security (required)
5305
+ :type solution: Solution
5306
+ :param _request_timeout: timeout setting for this request. If one
5307
+ number provided, it will be total request
5308
+ timeout. It can also be a pair (tuple) of
5309
+ (connection, read) timeouts.
5310
+ :type _request_timeout: int, tuple(int, int), optional
5311
+ :param _request_auth: set to override the auth_settings for an a single
5312
+ request; this effectively ignores the
5313
+ authentication in the spec for a single request.
5314
+ :type _request_auth: dict, optional
5315
+ :param _content_type: force content-type for the request.
5316
+ :type _content_type: str, Optional
5317
+ :param _headers: set to override the headers for a single
5318
+ request; this effectively ignores the headers
5319
+ in the spec for a single request.
5320
+ :type _headers: dict, optional
5321
+ :param _host_index: set to override the host_index for a single
5322
+ request; this effectively ignores the host_index
5323
+ in the spec for a single request.
5324
+ :type _host_index: int, optional
5325
+ :return: Returns the result object.
5326
+ """ # noqa: E501
5327
+
5328
+ _param = self._update_solution_serialize(
5329
+ organization_id=organization_id,
5330
+ solution_id=solution_id,
5331
+ solution=solution,
5332
+ _request_auth=_request_auth,
5333
+ _content_type=_content_type,
5334
+ _headers=_headers,
5335
+ _host_index=_host_index
5336
+ )
5337
+
5338
+ _response_types_map: Dict[str, Optional[str]] = {
5339
+ '200': "Solution",
5340
+ '400': None,
5341
+ '404': None,
5342
+ }
5343
+ response_data = self.api_client.call_api(
5344
+ *_param,
5345
+ _request_timeout=_request_timeout
5346
+ )
5347
+ response_data.read()
5348
+ return self.api_client.response_deserialize(
5349
+ response_data=response_data,
5350
+ response_types_map=_response_types_map,
5351
+ )
5352
+
5353
+
5354
+ @validate_call
5355
+ def update_solution_without_preload_content(
5356
+ self,
5357
+ organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5358
+ solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5359
+ solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update : - id - runTemplates - security ")],
5360
+ _request_timeout: Union[
5361
+ None,
5362
+ Annotated[StrictFloat, Field(gt=0)],
5363
+ Tuple[
5364
+ Annotated[StrictFloat, Field(gt=0)],
5365
+ Annotated[StrictFloat, Field(gt=0)]
5366
+ ]
5367
+ ] = None,
5368
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5369
+ _content_type: Optional[StrictStr] = None,
5370
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5371
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5372
+ ) -> RESTResponseType:
5373
+ """Update a solution
5374
+
5375
+
5376
+ :param organization_id: the Organization identifier (required)
5377
+ :type organization_id: str
5378
+ :param solution_id: the Solution identifier (required)
5379
+ :type solution_id: str
5380
+ :param solution: the new Solution details. This endpoint can't be used to update : - id - runTemplates - security (required)
5381
+ :type solution: Solution
5382
+ :param _request_timeout: timeout setting for this request. If one
5383
+ number provided, it will be total request
5384
+ timeout. It can also be a pair (tuple) of
5385
+ (connection, read) timeouts.
5386
+ :type _request_timeout: int, tuple(int, int), optional
5387
+ :param _request_auth: set to override the auth_settings for an a single
5388
+ request; this effectively ignores the
5389
+ authentication in the spec for a single request.
5390
+ :type _request_auth: dict, optional
5391
+ :param _content_type: force content-type for the request.
5392
+ :type _content_type: str, Optional
5393
+ :param _headers: set to override the headers for a single
5394
+ request; this effectively ignores the headers
5395
+ in the spec for a single request.
5396
+ :type _headers: dict, optional
5397
+ :param _host_index: set to override the host_index for a single
5398
+ request; this effectively ignores the host_index
5399
+ in the spec for a single request.
5400
+ :type _host_index: int, optional
5401
+ :return: Returns the result object.
5402
+ """ # noqa: E501
5403
+
5404
+ _param = self._update_solution_serialize(
5405
+ organization_id=organization_id,
5406
+ solution_id=solution_id,
5407
+ solution=solution,
5408
+ _request_auth=_request_auth,
5409
+ _content_type=_content_type,
5410
+ _headers=_headers,
5411
+ _host_index=_host_index
5412
+ )
5413
+
5414
+ _response_types_map: Dict[str, Optional[str]] = {
5415
+ '200': "Solution",
5416
+ '400': None,
5417
+ '404': None,
5418
+ }
5419
+ response_data = self.api_client.call_api(
5420
+ *_param,
5421
+ _request_timeout=_request_timeout
5422
+ )
5423
+ return response_data.response
5424
+
5425
+
5426
+ def _update_solution_serialize(
5427
+ self,
5428
+ organization_id,
5429
+ solution_id,
5430
+ solution,
5431
+ _request_auth,
5432
+ _content_type,
5433
+ _headers,
5434
+ _host_index,
5435
+ ) -> RequestSerialized:
5436
+
5437
+ _host = None
5438
+
5439
+ _collection_formats: Dict[str, str] = {
5440
+ }
5441
+
5442
+ _path_params: Dict[str, str] = {}
5443
+ _query_params: List[Tuple[str, str]] = []
5444
+ _header_params: Dict[str, Optional[str]] = _headers or {}
5445
+ _form_params: List[Tuple[str, str]] = []
5446
+ _files: Dict[str, Union[str, bytes]] = {}
5447
+ _body_params: Optional[bytes] = None
5448
+
5449
+ # process the path parameters
5450
+ if organization_id is not None:
5451
+ _path_params['organization_id'] = organization_id
5452
+ if solution_id is not None:
5453
+ _path_params['solution_id'] = solution_id
5454
+ # process the query parameters
5455
+ # process the header parameters
5456
+ # process the form parameters
5457
+ # process the body parameter
5458
+ if solution is not None:
5459
+ _body_params = solution
5460
+
5461
+
5462
+ # set the HTTP header `Accept`
5463
+ if 'Accept' not in _header_params:
5464
+ _header_params['Accept'] = self.api_client.select_header_accept(
5465
+ [
5466
+ 'application/json'
5467
+ ]
5468
+ )
5469
+
5470
+ # set the HTTP header `Content-Type`
5471
+ if _content_type:
5472
+ _header_params['Content-Type'] = _content_type
5473
+ else:
5474
+ _default_content_type = (
5475
+ self.api_client.select_header_content_type(
5476
+ [
5477
+ 'application/json',
5478
+ 'application/yaml'
5479
+ ]
5480
+ )
5481
+ )
5482
+ if _default_content_type is not None:
5483
+ _header_params['Content-Type'] = _default_content_type
5484
+
5485
+ # authentication setting
5486
+ _auth_settings: List[str] = [
5487
+ 'oAuth2AuthCode'
5488
+ ]
5489
+
5490
+ return self.api_client.param_serialize(
5491
+ method='PATCH',
5492
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}',
5493
+ path_params=_path_params,
5494
+ query_params=_query_params,
5495
+ header_params=_header_params,
5496
+ body=_body_params,
5497
+ post_params=_form_params,
5498
+ files=_files,
5499
+ auth_settings=_auth_settings,
5500
+ collection_formats=_collection_formats,
5501
+ _host=_host,
5502
+ _request_auth=_request_auth
5503
+ )
5504
+
5505
+
5506
+
5507
+
5508
+ @validate_call
5509
+ def update_solution_access_control(
4885
5510
  self,
4886
5511
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4887
5512
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4888
- solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update security")],
5513
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5514
+ solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
4889
5515
  _request_timeout: Union[
4890
5516
  None,
4891
5517
  Annotated[StrictFloat, Field(gt=0)],
@@ -4898,16 +5524,18 @@ class SolutionApi:
4898
5524
  _content_type: Optional[StrictStr] = None,
4899
5525
  _headers: Optional[Dict[StrictStr, Any]] = None,
4900
5526
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4901
- ) -> Solution:
4902
- """Update a solution
5527
+ ) -> SolutionAccessControl:
5528
+ """Update the specified access to User for a Solution
4903
5529
 
4904
5530
 
4905
5531
  :param organization_id: the Organization identifier (required)
4906
5532
  :type organization_id: str
4907
5533
  :param solution_id: the Solution identifier (required)
4908
5534
  :type solution_id: str
4909
- :param solution: the new Solution details. This endpoint can't be used to update security (required)
4910
- :type solution: Solution
5535
+ :param identity_id: the User identifier (required)
5536
+ :type identity_id: str
5537
+ :param solution_role: The new Solution Access Control (required)
5538
+ :type solution_role: SolutionRole
4911
5539
  :param _request_timeout: timeout setting for this request. If one
4912
5540
  number provided, it will be total request
4913
5541
  timeout. It can also be a pair (tuple) of
@@ -4930,10 +5558,11 @@ class SolutionApi:
4930
5558
  :return: Returns the result object.
4931
5559
  """ # noqa: E501
4932
5560
 
4933
- _param = self._update_solution_serialize(
5561
+ _param = self._update_solution_access_control_serialize(
4934
5562
  organization_id=organization_id,
4935
5563
  solution_id=solution_id,
4936
- solution=solution,
5564
+ identity_id=identity_id,
5565
+ solution_role=solution_role,
4937
5566
  _request_auth=_request_auth,
4938
5567
  _content_type=_content_type,
4939
5568
  _headers=_headers,
@@ -4941,8 +5570,7 @@ class SolutionApi:
4941
5570
  )
4942
5571
 
4943
5572
  _response_types_map: Dict[str, Optional[str]] = {
4944
- '200': "Solution",
4945
- '400': None,
5573
+ '200': "SolutionAccessControl",
4946
5574
  '404': None,
4947
5575
  }
4948
5576
  response_data = self.api_client.call_api(
@@ -4957,11 +5585,12 @@ class SolutionApi:
4957
5585
 
4958
5586
 
4959
5587
  @validate_call
4960
- def update_solution_with_http_info(
5588
+ def update_solution_access_control_with_http_info(
4961
5589
  self,
4962
5590
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
4963
5591
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
4964
- solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update security")],
5592
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5593
+ solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
4965
5594
  _request_timeout: Union[
4966
5595
  None,
4967
5596
  Annotated[StrictFloat, Field(gt=0)],
@@ -4974,16 +5603,18 @@ class SolutionApi:
4974
5603
  _content_type: Optional[StrictStr] = None,
4975
5604
  _headers: Optional[Dict[StrictStr, Any]] = None,
4976
5605
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4977
- ) -> ApiResponse[Solution]:
4978
- """Update a solution
5606
+ ) -> ApiResponse[SolutionAccessControl]:
5607
+ """Update the specified access to User for a Solution
4979
5608
 
4980
5609
 
4981
5610
  :param organization_id: the Organization identifier (required)
4982
5611
  :type organization_id: str
4983
5612
  :param solution_id: the Solution identifier (required)
4984
5613
  :type solution_id: str
4985
- :param solution: the new Solution details. This endpoint can't be used to update security (required)
4986
- :type solution: Solution
5614
+ :param identity_id: the User identifier (required)
5615
+ :type identity_id: str
5616
+ :param solution_role: The new Solution Access Control (required)
5617
+ :type solution_role: SolutionRole
4987
5618
  :param _request_timeout: timeout setting for this request. If one
4988
5619
  number provided, it will be total request
4989
5620
  timeout. It can also be a pair (tuple) of
@@ -5006,10 +5637,11 @@ class SolutionApi:
5006
5637
  :return: Returns the result object.
5007
5638
  """ # noqa: E501
5008
5639
 
5009
- _param = self._update_solution_serialize(
5640
+ _param = self._update_solution_access_control_serialize(
5010
5641
  organization_id=organization_id,
5011
5642
  solution_id=solution_id,
5012
- solution=solution,
5643
+ identity_id=identity_id,
5644
+ solution_role=solution_role,
5013
5645
  _request_auth=_request_auth,
5014
5646
  _content_type=_content_type,
5015
5647
  _headers=_headers,
@@ -5017,8 +5649,7 @@ class SolutionApi:
5017
5649
  )
5018
5650
 
5019
5651
  _response_types_map: Dict[str, Optional[str]] = {
5020
- '200': "Solution",
5021
- '400': None,
5652
+ '200': "SolutionAccessControl",
5022
5653
  '404': None,
5023
5654
  }
5024
5655
  response_data = self.api_client.call_api(
@@ -5033,11 +5664,12 @@ class SolutionApi:
5033
5664
 
5034
5665
 
5035
5666
  @validate_call
5036
- def update_solution_without_preload_content(
5667
+ def update_solution_access_control_without_preload_content(
5037
5668
  self,
5038
5669
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5039
5670
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5040
- solution: Annotated[Solution, Field(description="the new Solution details. This endpoint can't be used to update security")],
5671
+ identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5672
+ solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
5041
5673
  _request_timeout: Union[
5042
5674
  None,
5043
5675
  Annotated[StrictFloat, Field(gt=0)],
@@ -5051,15 +5683,17 @@ class SolutionApi:
5051
5683
  _headers: Optional[Dict[StrictStr, Any]] = None,
5052
5684
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5053
5685
  ) -> RESTResponseType:
5054
- """Update a solution
5686
+ """Update the specified access to User for a Solution
5055
5687
 
5056
5688
 
5057
5689
  :param organization_id: the Organization identifier (required)
5058
5690
  :type organization_id: str
5059
5691
  :param solution_id: the Solution identifier (required)
5060
5692
  :type solution_id: str
5061
- :param solution: the new Solution details. This endpoint can't be used to update security (required)
5062
- :type solution: Solution
5693
+ :param identity_id: the User identifier (required)
5694
+ :type identity_id: str
5695
+ :param solution_role: The new Solution Access Control (required)
5696
+ :type solution_role: SolutionRole
5063
5697
  :param _request_timeout: timeout setting for this request. If one
5064
5698
  number provided, it will be total request
5065
5699
  timeout. It can also be a pair (tuple) of
@@ -5082,10 +5716,11 @@ class SolutionApi:
5082
5716
  :return: Returns the result object.
5083
5717
  """ # noqa: E501
5084
5718
 
5085
- _param = self._update_solution_serialize(
5719
+ _param = self._update_solution_access_control_serialize(
5086
5720
  organization_id=organization_id,
5087
5721
  solution_id=solution_id,
5088
- solution=solution,
5722
+ identity_id=identity_id,
5723
+ solution_role=solution_role,
5089
5724
  _request_auth=_request_auth,
5090
5725
  _content_type=_content_type,
5091
5726
  _headers=_headers,
@@ -5093,8 +5728,7 @@ class SolutionApi:
5093
5728
  )
5094
5729
 
5095
5730
  _response_types_map: Dict[str, Optional[str]] = {
5096
- '200': "Solution",
5097
- '400': None,
5731
+ '200': "SolutionAccessControl",
5098
5732
  '404': None,
5099
5733
  }
5100
5734
  response_data = self.api_client.call_api(
@@ -5104,11 +5738,12 @@ class SolutionApi:
5104
5738
  return response_data.response
5105
5739
 
5106
5740
 
5107
- def _update_solution_serialize(
5741
+ def _update_solution_access_control_serialize(
5108
5742
  self,
5109
5743
  organization_id,
5110
5744
  solution_id,
5111
- solution,
5745
+ identity_id,
5746
+ solution_role,
5112
5747
  _request_auth,
5113
5748
  _content_type,
5114
5749
  _headers,
@@ -5124,7 +5759,7 @@ class SolutionApi:
5124
5759
  _query_params: List[Tuple[str, str]] = []
5125
5760
  _header_params: Dict[str, Optional[str]] = _headers or {}
5126
5761
  _form_params: List[Tuple[str, str]] = []
5127
- _files: Dict[str, str] = {}
5762
+ _files: Dict[str, Union[str, bytes]] = {}
5128
5763
  _body_params: Optional[bytes] = None
5129
5764
 
5130
5765
  # process the path parameters
@@ -5132,20 +5767,23 @@ class SolutionApi:
5132
5767
  _path_params['organization_id'] = organization_id
5133
5768
  if solution_id is not None:
5134
5769
  _path_params['solution_id'] = solution_id
5770
+ if identity_id is not None:
5771
+ _path_params['identity_id'] = identity_id
5135
5772
  # process the query parameters
5136
5773
  # process the header parameters
5137
5774
  # process the form parameters
5138
5775
  # process the body parameter
5139
- if solution is not None:
5140
- _body_params = solution
5776
+ if solution_role is not None:
5777
+ _body_params = solution_role
5141
5778
 
5142
5779
 
5143
5780
  # set the HTTP header `Accept`
5144
- _header_params['Accept'] = self.api_client.select_header_accept(
5145
- [
5146
- 'application/json'
5147
- ]
5148
- )
5781
+ if 'Accept' not in _header_params:
5782
+ _header_params['Accept'] = self.api_client.select_header_accept(
5783
+ [
5784
+ 'application/json'
5785
+ ]
5786
+ )
5149
5787
 
5150
5788
  # set the HTTP header `Content-Type`
5151
5789
  if _content_type:
@@ -5169,7 +5807,7 @@ class SolutionApi:
5169
5807
 
5170
5808
  return self.api_client.param_serialize(
5171
5809
  method='PATCH',
5172
- resource_path='/organizations/{organization_id}/solutions/{solution_id}',
5810
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
5173
5811
  path_params=_path_params,
5174
5812
  query_params=_query_params,
5175
5813
  header_params=_header_params,
@@ -5186,12 +5824,12 @@ class SolutionApi:
5186
5824
 
5187
5825
 
5188
5826
  @validate_call
5189
- def update_solution_access_control(
5827
+ def update_solution_run_template(
5190
5828
  self,
5191
5829
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5192
5830
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5193
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5194
- solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
5831
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5832
+ run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
5195
5833
  _request_timeout: Union[
5196
5834
  None,
5197
5835
  Annotated[StrictFloat, Field(gt=0)],
@@ -5204,18 +5842,18 @@ class SolutionApi:
5204
5842
  _content_type: Optional[StrictStr] = None,
5205
5843
  _headers: Optional[Dict[StrictStr, Any]] = None,
5206
5844
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5207
- ) -> SolutionAccessControl:
5208
- """Update the specified access to User for a Solution
5845
+ ) -> List[RunTemplate]:
5846
+ """Update the specified Solution Run Template
5209
5847
 
5210
5848
 
5211
5849
  :param organization_id: the Organization identifier (required)
5212
5850
  :type organization_id: str
5213
5851
  :param solution_id: the Solution identifier (required)
5214
5852
  :type solution_id: str
5215
- :param identity_id: the User identifier (required)
5216
- :type identity_id: str
5217
- :param solution_role: The new Solution Access Control (required)
5218
- :type solution_role: SolutionRole
5853
+ :param run_template_id: the Run Template identifier (required)
5854
+ :type run_template_id: str
5855
+ :param run_template: the Run Templates (required)
5856
+ :type run_template: RunTemplate
5219
5857
  :param _request_timeout: timeout setting for this request. If one
5220
5858
  number provided, it will be total request
5221
5859
  timeout. It can also be a pair (tuple) of
@@ -5238,11 +5876,11 @@ class SolutionApi:
5238
5876
  :return: Returns the result object.
5239
5877
  """ # noqa: E501
5240
5878
 
5241
- _param = self._update_solution_access_control_serialize(
5879
+ _param = self._update_solution_run_template_serialize(
5242
5880
  organization_id=organization_id,
5243
5881
  solution_id=solution_id,
5244
- identity_id=identity_id,
5245
- solution_role=solution_role,
5882
+ run_template_id=run_template_id,
5883
+ run_template=run_template,
5246
5884
  _request_auth=_request_auth,
5247
5885
  _content_type=_content_type,
5248
5886
  _headers=_headers,
@@ -5250,7 +5888,8 @@ class SolutionApi:
5250
5888
  )
5251
5889
 
5252
5890
  _response_types_map: Dict[str, Optional[str]] = {
5253
- '200': "SolutionAccessControl",
5891
+ '200': "List[RunTemplate]",
5892
+ '400': None,
5254
5893
  '404': None,
5255
5894
  }
5256
5895
  response_data = self.api_client.call_api(
@@ -5265,12 +5904,12 @@ class SolutionApi:
5265
5904
 
5266
5905
 
5267
5906
  @validate_call
5268
- def update_solution_access_control_with_http_info(
5907
+ def update_solution_run_template_with_http_info(
5269
5908
  self,
5270
5909
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5271
5910
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5272
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5273
- solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
5911
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5912
+ run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
5274
5913
  _request_timeout: Union[
5275
5914
  None,
5276
5915
  Annotated[StrictFloat, Field(gt=0)],
@@ -5283,18 +5922,18 @@ class SolutionApi:
5283
5922
  _content_type: Optional[StrictStr] = None,
5284
5923
  _headers: Optional[Dict[StrictStr, Any]] = None,
5285
5924
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5286
- ) -> ApiResponse[SolutionAccessControl]:
5287
- """Update the specified access to User for a Solution
5925
+ ) -> ApiResponse[List[RunTemplate]]:
5926
+ """Update the specified Solution Run Template
5288
5927
 
5289
5928
 
5290
5929
  :param organization_id: the Organization identifier (required)
5291
5930
  :type organization_id: str
5292
5931
  :param solution_id: the Solution identifier (required)
5293
5932
  :type solution_id: str
5294
- :param identity_id: the User identifier (required)
5295
- :type identity_id: str
5296
- :param solution_role: The new Solution Access Control (required)
5297
- :type solution_role: SolutionRole
5933
+ :param run_template_id: the Run Template identifier (required)
5934
+ :type run_template_id: str
5935
+ :param run_template: the Run Templates (required)
5936
+ :type run_template: RunTemplate
5298
5937
  :param _request_timeout: timeout setting for this request. If one
5299
5938
  number provided, it will be total request
5300
5939
  timeout. It can also be a pair (tuple) of
@@ -5317,11 +5956,11 @@ class SolutionApi:
5317
5956
  :return: Returns the result object.
5318
5957
  """ # noqa: E501
5319
5958
 
5320
- _param = self._update_solution_access_control_serialize(
5959
+ _param = self._update_solution_run_template_serialize(
5321
5960
  organization_id=organization_id,
5322
5961
  solution_id=solution_id,
5323
- identity_id=identity_id,
5324
- solution_role=solution_role,
5962
+ run_template_id=run_template_id,
5963
+ run_template=run_template,
5325
5964
  _request_auth=_request_auth,
5326
5965
  _content_type=_content_type,
5327
5966
  _headers=_headers,
@@ -5329,7 +5968,8 @@ class SolutionApi:
5329
5968
  )
5330
5969
 
5331
5970
  _response_types_map: Dict[str, Optional[str]] = {
5332
- '200': "SolutionAccessControl",
5971
+ '200': "List[RunTemplate]",
5972
+ '400': None,
5333
5973
  '404': None,
5334
5974
  }
5335
5975
  response_data = self.api_client.call_api(
@@ -5344,12 +5984,12 @@ class SolutionApi:
5344
5984
 
5345
5985
 
5346
5986
  @validate_call
5347
- def update_solution_access_control_without_preload_content(
5987
+ def update_solution_run_template_without_preload_content(
5348
5988
  self,
5349
5989
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5350
5990
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5351
- identity_id: Annotated[StrictStr, Field(description="the User identifier")],
5352
- solution_role: Annotated[SolutionRole, Field(description="The new Solution Access Control")],
5991
+ run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5992
+ run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
5353
5993
  _request_timeout: Union[
5354
5994
  None,
5355
5995
  Annotated[StrictFloat, Field(gt=0)],
@@ -5363,17 +6003,17 @@ class SolutionApi:
5363
6003
  _headers: Optional[Dict[StrictStr, Any]] = None,
5364
6004
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5365
6005
  ) -> RESTResponseType:
5366
- """Update the specified access to User for a Solution
6006
+ """Update the specified Solution Run Template
5367
6007
 
5368
6008
 
5369
6009
  :param organization_id: the Organization identifier (required)
5370
6010
  :type organization_id: str
5371
6011
  :param solution_id: the Solution identifier (required)
5372
6012
  :type solution_id: str
5373
- :param identity_id: the User identifier (required)
5374
- :type identity_id: str
5375
- :param solution_role: The new Solution Access Control (required)
5376
- :type solution_role: SolutionRole
6013
+ :param run_template_id: the Run Template identifier (required)
6014
+ :type run_template_id: str
6015
+ :param run_template: the Run Templates (required)
6016
+ :type run_template: RunTemplate
5377
6017
  :param _request_timeout: timeout setting for this request. If one
5378
6018
  number provided, it will be total request
5379
6019
  timeout. It can also be a pair (tuple) of
@@ -5396,11 +6036,11 @@ class SolutionApi:
5396
6036
  :return: Returns the result object.
5397
6037
  """ # noqa: E501
5398
6038
 
5399
- _param = self._update_solution_access_control_serialize(
6039
+ _param = self._update_solution_run_template_serialize(
5400
6040
  organization_id=organization_id,
5401
6041
  solution_id=solution_id,
5402
- identity_id=identity_id,
5403
- solution_role=solution_role,
6042
+ run_template_id=run_template_id,
6043
+ run_template=run_template,
5404
6044
  _request_auth=_request_auth,
5405
6045
  _content_type=_content_type,
5406
6046
  _headers=_headers,
@@ -5408,7 +6048,8 @@ class SolutionApi:
5408
6048
  )
5409
6049
 
5410
6050
  _response_types_map: Dict[str, Optional[str]] = {
5411
- '200': "SolutionAccessControl",
6051
+ '200': "List[RunTemplate]",
6052
+ '400': None,
5412
6053
  '404': None,
5413
6054
  }
5414
6055
  response_data = self.api_client.call_api(
@@ -5418,12 +6059,12 @@ class SolutionApi:
5418
6059
  return response_data.response
5419
6060
 
5420
6061
 
5421
- def _update_solution_access_control_serialize(
6062
+ def _update_solution_run_template_serialize(
5422
6063
  self,
5423
6064
  organization_id,
5424
6065
  solution_id,
5425
- identity_id,
5426
- solution_role,
6066
+ run_template_id,
6067
+ run_template,
5427
6068
  _request_auth,
5428
6069
  _content_type,
5429
6070
  _headers,
@@ -5439,7 +6080,7 @@ class SolutionApi:
5439
6080
  _query_params: List[Tuple[str, str]] = []
5440
6081
  _header_params: Dict[str, Optional[str]] = _headers or {}
5441
6082
  _form_params: List[Tuple[str, str]] = []
5442
- _files: Dict[str, str] = {}
6083
+ _files: Dict[str, Union[str, bytes]] = {}
5443
6084
  _body_params: Optional[bytes] = None
5444
6085
 
5445
6086
  # process the path parameters
@@ -5447,22 +6088,23 @@ class SolutionApi:
5447
6088
  _path_params['organization_id'] = organization_id
5448
6089
  if solution_id is not None:
5449
6090
  _path_params['solution_id'] = solution_id
5450
- if identity_id is not None:
5451
- _path_params['identity_id'] = identity_id
6091
+ if run_template_id is not None:
6092
+ _path_params['run_template_id'] = run_template_id
5452
6093
  # process the query parameters
5453
6094
  # process the header parameters
5454
6095
  # process the form parameters
5455
6096
  # process the body parameter
5456
- if solution_role is not None:
5457
- _body_params = solution_role
6097
+ if run_template is not None:
6098
+ _body_params = run_template
5458
6099
 
5459
6100
 
5460
6101
  # set the HTTP header `Accept`
5461
- _header_params['Accept'] = self.api_client.select_header_accept(
5462
- [
5463
- 'application/json'
5464
- ]
5465
- )
6102
+ if 'Accept' not in _header_params:
6103
+ _header_params['Accept'] = self.api_client.select_header_accept(
6104
+ [
6105
+ 'application/json'
6106
+ ]
6107
+ )
5466
6108
 
5467
6109
  # set the HTTP header `Content-Type`
5468
6110
  if _content_type:
@@ -5471,7 +6113,8 @@ class SolutionApi:
5471
6113
  _default_content_type = (
5472
6114
  self.api_client.select_header_content_type(
5473
6115
  [
5474
- 'application/json'
6116
+ 'application/json',
6117
+ 'application/yaml'
5475
6118
  ]
5476
6119
  )
5477
6120
  )
@@ -5485,7 +6128,7 @@ class SolutionApi:
5485
6128
 
5486
6129
  return self.api_client.param_serialize(
5487
6130
  method='PATCH',
5488
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/security/access/{identity_id}',
6131
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates/{run_template_id}',
5489
6132
  path_params=_path_params,
5490
6133
  query_params=_query_params,
5491
6134
  header_params=_header_params,
@@ -5502,12 +6145,14 @@ class SolutionApi:
5502
6145
 
5503
6146
 
5504
6147
  @validate_call
5505
- def update_solution_run_template(
6148
+ def upload_run_template_handler(
5506
6149
  self,
5507
6150
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5508
6151
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5509
6152
  run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5510
- run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
6153
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
6154
+ body: Union[StrictBytes, StrictStr],
6155
+ overwrite: Annotated[Optional[StrictBool], Field(description="whether to overwrite any existing handler resource")] = None,
5511
6156
  _request_timeout: Union[
5512
6157
  None,
5513
6158
  Annotated[StrictFloat, Field(gt=0)],
@@ -5520,8 +6165,8 @@ class SolutionApi:
5520
6165
  _content_type: Optional[StrictStr] = None,
5521
6166
  _headers: Optional[Dict[StrictStr, Any]] = None,
5522
6167
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5523
- ) -> List[RunTemplate]:
5524
- """Update the specified Solution Run Template
6168
+ ) -> None:
6169
+ """Upload a Run Template step handler zip file
5525
6170
 
5526
6171
 
5527
6172
  :param organization_id: the Organization identifier (required)
@@ -5530,8 +6175,12 @@ class SolutionApi:
5530
6175
  :type solution_id: str
5531
6176
  :param run_template_id: the Run Template identifier (required)
5532
6177
  :type run_template_id: str
5533
- :param run_template: the Run Templates (required)
5534
- :type run_template: RunTemplate
6178
+ :param handler_id: the Handler identifier (required)
6179
+ :type handler_id: RunTemplateHandlerId
6180
+ :param body: (required)
6181
+ :type body: bytearray
6182
+ :param overwrite: whether to overwrite any existing handler resource
6183
+ :type overwrite: bool
5535
6184
  :param _request_timeout: timeout setting for this request. If one
5536
6185
  number provided, it will be total request
5537
6186
  timeout. It can also be a pair (tuple) of
@@ -5554,11 +6203,13 @@ class SolutionApi:
5554
6203
  :return: Returns the result object.
5555
6204
  """ # noqa: E501
5556
6205
 
5557
- _param = self._update_solution_run_template_serialize(
6206
+ _param = self._upload_run_template_handler_serialize(
5558
6207
  organization_id=organization_id,
5559
6208
  solution_id=solution_id,
5560
6209
  run_template_id=run_template_id,
5561
- run_template=run_template,
6210
+ handler_id=handler_id,
6211
+ body=body,
6212
+ overwrite=overwrite,
5562
6213
  _request_auth=_request_auth,
5563
6214
  _content_type=_content_type,
5564
6215
  _headers=_headers,
@@ -5566,9 +6217,8 @@ class SolutionApi:
5566
6217
  )
5567
6218
 
5568
6219
  _response_types_map: Dict[str, Optional[str]] = {
5569
- '200': "List[RunTemplate]",
6220
+ '201': None,
5570
6221
  '400': None,
5571
- '404': None,
5572
6222
  }
5573
6223
  response_data = self.api_client.call_api(
5574
6224
  *_param,
@@ -5582,12 +6232,14 @@ class SolutionApi:
5582
6232
 
5583
6233
 
5584
6234
  @validate_call
5585
- def update_solution_run_template_with_http_info(
6235
+ def upload_run_template_handler_with_http_info(
5586
6236
  self,
5587
6237
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5588
6238
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5589
6239
  run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5590
- run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
6240
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
6241
+ body: Union[StrictBytes, StrictStr],
6242
+ overwrite: Annotated[Optional[StrictBool], Field(description="whether to overwrite any existing handler resource")] = None,
5591
6243
  _request_timeout: Union[
5592
6244
  None,
5593
6245
  Annotated[StrictFloat, Field(gt=0)],
@@ -5600,8 +6252,8 @@ class SolutionApi:
5600
6252
  _content_type: Optional[StrictStr] = None,
5601
6253
  _headers: Optional[Dict[StrictStr, Any]] = None,
5602
6254
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5603
- ) -> ApiResponse[List[RunTemplate]]:
5604
- """Update the specified Solution Run Template
6255
+ ) -> ApiResponse[None]:
6256
+ """Upload a Run Template step handler zip file
5605
6257
 
5606
6258
 
5607
6259
  :param organization_id: the Organization identifier (required)
@@ -5610,8 +6262,12 @@ class SolutionApi:
5610
6262
  :type solution_id: str
5611
6263
  :param run_template_id: the Run Template identifier (required)
5612
6264
  :type run_template_id: str
5613
- :param run_template: the Run Templates (required)
5614
- :type run_template: RunTemplate
6265
+ :param handler_id: the Handler identifier (required)
6266
+ :type handler_id: RunTemplateHandlerId
6267
+ :param body: (required)
6268
+ :type body: bytearray
6269
+ :param overwrite: whether to overwrite any existing handler resource
6270
+ :type overwrite: bool
5615
6271
  :param _request_timeout: timeout setting for this request. If one
5616
6272
  number provided, it will be total request
5617
6273
  timeout. It can also be a pair (tuple) of
@@ -5634,11 +6290,13 @@ class SolutionApi:
5634
6290
  :return: Returns the result object.
5635
6291
  """ # noqa: E501
5636
6292
 
5637
- _param = self._update_solution_run_template_serialize(
6293
+ _param = self._upload_run_template_handler_serialize(
5638
6294
  organization_id=organization_id,
5639
6295
  solution_id=solution_id,
5640
6296
  run_template_id=run_template_id,
5641
- run_template=run_template,
6297
+ handler_id=handler_id,
6298
+ body=body,
6299
+ overwrite=overwrite,
5642
6300
  _request_auth=_request_auth,
5643
6301
  _content_type=_content_type,
5644
6302
  _headers=_headers,
@@ -5646,9 +6304,8 @@ class SolutionApi:
5646
6304
  )
5647
6305
 
5648
6306
  _response_types_map: Dict[str, Optional[str]] = {
5649
- '200': "List[RunTemplate]",
6307
+ '201': None,
5650
6308
  '400': None,
5651
- '404': None,
5652
6309
  }
5653
6310
  response_data = self.api_client.call_api(
5654
6311
  *_param,
@@ -5662,12 +6319,14 @@ class SolutionApi:
5662
6319
 
5663
6320
 
5664
6321
  @validate_call
5665
- def update_solution_run_template_without_preload_content(
6322
+ def upload_run_template_handler_without_preload_content(
5666
6323
  self,
5667
6324
  organization_id: Annotated[StrictStr, Field(description="the Organization identifier")],
5668
6325
  solution_id: Annotated[StrictStr, Field(description="the Solution identifier")],
5669
6326
  run_template_id: Annotated[StrictStr, Field(description="the Run Template identifier")],
5670
- run_template: Annotated[RunTemplate, Field(description="the Run Templates")],
6327
+ handler_id: Annotated[RunTemplateHandlerId, Field(description="the Handler identifier")],
6328
+ body: Union[StrictBytes, StrictStr],
6329
+ overwrite: Annotated[Optional[StrictBool], Field(description="whether to overwrite any existing handler resource")] = None,
5671
6330
  _request_timeout: Union[
5672
6331
  None,
5673
6332
  Annotated[StrictFloat, Field(gt=0)],
@@ -5681,7 +6340,7 @@ class SolutionApi:
5681
6340
  _headers: Optional[Dict[StrictStr, Any]] = None,
5682
6341
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5683
6342
  ) -> RESTResponseType:
5684
- """Update the specified Solution Run Template
6343
+ """Upload a Run Template step handler zip file
5685
6344
 
5686
6345
 
5687
6346
  :param organization_id: the Organization identifier (required)
@@ -5690,8 +6349,12 @@ class SolutionApi:
5690
6349
  :type solution_id: str
5691
6350
  :param run_template_id: the Run Template identifier (required)
5692
6351
  :type run_template_id: str
5693
- :param run_template: the Run Templates (required)
5694
- :type run_template: RunTemplate
6352
+ :param handler_id: the Handler identifier (required)
6353
+ :type handler_id: RunTemplateHandlerId
6354
+ :param body: (required)
6355
+ :type body: bytearray
6356
+ :param overwrite: whether to overwrite any existing handler resource
6357
+ :type overwrite: bool
5695
6358
  :param _request_timeout: timeout setting for this request. If one
5696
6359
  number provided, it will be total request
5697
6360
  timeout. It can also be a pair (tuple) of
@@ -5714,11 +6377,13 @@ class SolutionApi:
5714
6377
  :return: Returns the result object.
5715
6378
  """ # noqa: E501
5716
6379
 
5717
- _param = self._update_solution_run_template_serialize(
6380
+ _param = self._upload_run_template_handler_serialize(
5718
6381
  organization_id=organization_id,
5719
6382
  solution_id=solution_id,
5720
6383
  run_template_id=run_template_id,
5721
- run_template=run_template,
6384
+ handler_id=handler_id,
6385
+ body=body,
6386
+ overwrite=overwrite,
5722
6387
  _request_auth=_request_auth,
5723
6388
  _content_type=_content_type,
5724
6389
  _headers=_headers,
@@ -5726,9 +6391,8 @@ class SolutionApi:
5726
6391
  )
5727
6392
 
5728
6393
  _response_types_map: Dict[str, Optional[str]] = {
5729
- '200': "List[RunTemplate]",
6394
+ '201': None,
5730
6395
  '400': None,
5731
- '404': None,
5732
6396
  }
5733
6397
  response_data = self.api_client.call_api(
5734
6398
  *_param,
@@ -5737,12 +6401,14 @@ class SolutionApi:
5737
6401
  return response_data.response
5738
6402
 
5739
6403
 
5740
- def _update_solution_run_template_serialize(
6404
+ def _upload_run_template_handler_serialize(
5741
6405
  self,
5742
6406
  organization_id,
5743
6407
  solution_id,
5744
6408
  run_template_id,
5745
- run_template,
6409
+ handler_id,
6410
+ body,
6411
+ overwrite,
5746
6412
  _request_auth,
5747
6413
  _content_type,
5748
6414
  _headers,
@@ -5758,7 +6424,7 @@ class SolutionApi:
5758
6424
  _query_params: List[Tuple[str, str]] = []
5759
6425
  _header_params: Dict[str, Optional[str]] = _headers or {}
5760
6426
  _form_params: List[Tuple[str, str]] = []
5761
- _files: Dict[str, str] = {}
6427
+ _files: Dict[str, Union[str, bytes]] = {}
5762
6428
  _body_params: Optional[bytes] = None
5763
6429
 
5764
6430
  # process the path parameters
@@ -5768,20 +6434,25 @@ class SolutionApi:
5768
6434
  _path_params['solution_id'] = solution_id
5769
6435
  if run_template_id is not None:
5770
6436
  _path_params['run_template_id'] = run_template_id
6437
+ if handler_id is not None:
6438
+ _path_params['handler_id'] = handler_id.value
5771
6439
  # process the query parameters
6440
+ if overwrite is not None:
6441
+
6442
+ _query_params.append(('overwrite', overwrite))
6443
+
5772
6444
  # process the header parameters
5773
6445
  # process the form parameters
5774
6446
  # process the body parameter
5775
- if run_template is not None:
5776
- _body_params = run_template
6447
+ if body is not None:
6448
+ # convert to byte array if the input is a file name (str)
6449
+ if isinstance(body, str):
6450
+ with open(body, "rb") as _fp:
6451
+ _body_params = _fp.read()
6452
+ else:
6453
+ _body_params = body
5777
6454
 
5778
6455
 
5779
- # set the HTTP header `Accept`
5780
- _header_params['Accept'] = self.api_client.select_header_accept(
5781
- [
5782
- 'application/json'
5783
- ]
5784
- )
5785
6456
 
5786
6457
  # set the HTTP header `Content-Type`
5787
6458
  if _content_type:
@@ -5790,8 +6461,7 @@ class SolutionApi:
5790
6461
  _default_content_type = (
5791
6462
  self.api_client.select_header_content_type(
5792
6463
  [
5793
- 'application/json',
5794
- 'application/yaml'
6464
+ 'application/octet-stream'
5795
6465
  ]
5796
6466
  )
5797
6467
  )
@@ -5804,8 +6474,8 @@ class SolutionApi:
5804
6474
  ]
5805
6475
 
5806
6476
  return self.api_client.param_serialize(
5807
- method='PATCH',
5808
- resource_path='/organizations/{organization_id}/solutions/{solution_id}/runTemplates/{run_template_id}',
6477
+ method='POST',
6478
+ resource_path='/organizations/{organization_id}/solutions/{solution_id}/runtemplates/{run_template_id}/handlers/{handler_id}/upload',
5809
6479
  path_params=_path_params,
5810
6480
  query_params=_query_params,
5811
6481
  header_params=_header_params,